Registry / testing / pickier

pickier

JSON →
library0.1.23jsnpmunverified

pickier is a fast, unified linter and formatter built on top of oxlint and prettier, written in Rust and exposed via a CLI and Node.js API. Version 0.1.23 is the latest stable release, with active development and frequent minor updates. It differentiates itself by being 10x faster than ESLint and Prettier combined, leveraging oxc for linting and formatting. Supports JavaScript, TypeScript, JSX, TSX, JSON, and more. Designed for modern monorepos and CI pipelines. Requires Node.js >= 18 or Bun. Ships TypeScript types. Not a replacement for editors yet, but focuses on speed for pre-commit hooks and CI.

npm install pickier
INSTALL
IMPORT
SIG · PICKIER
P
pickier
testingjavascriptv0.1.23
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

pickier
import pickier from 'pickier'
const pickier = require('pickier')
ESM-only; use dynamic import or top-level await in CJS. Types included.
lint
import { lint } from 'pickier'
import lint from 'pickier/lint'
Named export from main entry. Incorrect subpath import.
format
import { format } from 'pickier'
const format = require('pickier').format
ESM-only; Named export.
type
import type { PickierOptions } from 'pickier'
TypeScript users should import types with 'import type' for better tree-shaking.

Shows how to programmatically lint and format files with pickier, using the default API. Runs on provided file patterns or defaults to 'src'.

import { lint, format } from 'pickier'; const args = process.argv.slice(2); const files = args.length ? args : ['src']; // Lint files const lintResult = await lint({ files, fix: false }); console.log(lintResult); // Format files const formatResult = await format({ files, check: false }); console.log(formatResult);
pickier --version
Debug
Known issues
breakingv0.1.0 changed the default export from an object to a function. Any code using `const pickier = require('pickier'); pickier.lint(...)` will break.
fix
Update to `import pickier from 'pickier'; pickier.lint(...)` or use named exports.
affects: <0.1.0
deprecatedThe `--fix` flag in CLI is deprecated; use `--lint-fix` or `--format` explicitly.
fix
Replace `--fix` with `--lint-fix` for lint auto-fix or `--format` for formatting.
affects: >=0.1.15 <0.1.20
gotchapickier does not format files in place unless the `write` option is true. By default, format() returns the formatted string without writing.
fix
Pass `write: true` to format() to overwrite files.
affects: >=0.1.0
gotchaThe configuration file must be named `.pickiarrc` or `pickier.config.js` (no `.ts` support yet).
fix
Use `.pickiarrc` (JSON) or `pickier.config.js` (CommonJS/ESM).
affects: <0.1.23
breakingv0.1.18 removed support for Node.js < 18. The package now requires Node >= 18 or Bun.
fix
Upgrade Node.js to 18+ or use Bun.
affects: <0.1.18
Errors
Common errors & fixes
SyntaxError: Named export 'lint' not found. The requested module 'pickier' is a CommonJS module which may not support all module.exports as named exports.
Using named import on a CJS module without proper interop, or wrong import syntax.
fix
Use `import pickier from 'pickier'` then call `pickier.lint()` or ensure the module is ESM (pickier is ESM).
Error: Cannot find module '.pickiarrc'
Missing or misnamed configuration file.
fix
Create a `.pickiarrc` file (JSON) or `pickier.config.js` in the project root.
TypeError: pickier is not a function
Using default import when module exports are named, or wrong version.
fix
Use `import pickier from 'pickier'` (default export is a function) or use named exports `import { lint, format } from 'pickier'`.
Upgrade
Version history
0.1.23latest on npm
Audit
Dependencies
oxlintrequiredpickier uses oxlint under the hood for linting rules
Agent activity
2 hits · last 30 days
node
2
Resources
pickier — npm install pickier · libregistry