@gearbox-built/bolts
v0.3.0
Published
Bolts is a versatile TS & JS utility library designed to streamline your Next.js / Sanity / Rack & Pinion development workflow.
Downloads
210
Keywords
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/bolts
Usage
// 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 test
oryarn 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.