Bolts is a versatile TS & JS utility library designed to streamline your Next.js / Sanity / Rack & Pinion development workflow.
npm install @gearbox-built/boltsBolts is a versatile TS & JS utility library designed to streamline your Next.js / Sanity / Rack & Pinion development workflow. Inspired by the flexibility of tools like lodash and react-use, Bolts provides a curated set of reusable functions and hooks we often reach for at Gearbox.
``shnpm
npm install @gearbox-built/bolts
Usage
`tsx
// All the Bolt⚡️
import { generateSlug, batchCommit } from '@gearbox-built/bolts'// Only Sanity ⚡️
import { batchCommit } from '@gearbox-built/bolts/sanity'
// Sans Sanity ⚡️
import { generateSlug } from '@gearbox-built/bolts/utils'
// Node.js / CommonJS
import { generateSlug } from '@gearbox-built/bolts/cjs/utils'
`
Utilities
- Sanity
batchCommit — batch mutation operations for Sanity datasets
- buildPatches – patch mutations from a list of documents
- mergePatches — merges patches with the same id into a single patch
- buildMutations - mutations from a list of documents
- generateMutationItems – mutations for each type of operation
- General
generateSlug — generates a URL-friendly slug using Gearbox defaults.
- findPaths — traverse an array of objects with a condition function and return the paths of matches.
- splitArrayInHalf — splits an array into two halves.
- getPlatformNameByUrl — extracts the platform name from a URL by parsing its hostname.
- Typing
Truthy — type guard function to filter out falsy values.
Contibuting
To maintain the quality and reliability of Bolts utilities, all contributions must follow these guidelines:
1. Write Tests: All new features and bug fixes must include basic Jest unit tests to ensure correctness and prevent regressions.
- Write tests that cover the core functionality of your utility.
- If adding or modifying functionality, ensure existing tests still pass.
- Use descriptive test cases to document expected behavior.
2. Code Style: Follow the existing code style and conventions using eslint and prettier to keep the codebase clean and consistent.
3. Documentation: Update the relevant documentation (e.g., JSDoc comments, usage examples,
/docs) to reflect your changes.$3
- Ensure all tests pass by running
npm test or yarn test`.Thank you for helping improve Bolts! Contributions with well-tested code make the library robust and reliable for everyone. 🎉
MIT © Gearbox Development Inc.