@gearbox-built/bolts
v1.0.0
Published
Bolts is a versatile TS & JS utility library designed to streamline your Next.js / Sanity / Rack & Pinion development workflow.
Readme
⚡️ Bolts
Bolts 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.
Installation
# npm
npm install @gearbox-built/bolts
# yarn
yarn add @gearbox-built/boltsUsage
// 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 datasetsbuildPatches– patch mutations from a list of documentsmergePatches— merges patches with the same id into a single patchbuildMutations- mutations from a list of documentsgenerateMutationItems– 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:
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.
Code Style: Follow the existing code style and conventions using eslint and prettier to keep the codebase clean and consistent.
Documentation: Update the relevant documentation (e.g., JSDoc comments, usage examples,
/docs) to reflect your changes.
Pull Request Checklist:
- Ensure all tests pass by running
npm testoryarn test. - Confirm your changes do not break the build.
- Include a clear and concise description of your changes in the pull request.
Thank you for helping improve Bolts! Contributions with well-tested code make the library robust and reliable for everyone. 🎉
License
MIT © Gearbox Development Inc.
