{"id":25604,"library":"formula-lint","title":"Formula Lint","description":"Formula Lint is a CLI tool that provides a unified linting setup for JavaScript/TypeScript projects, built on ESLint with preconfigured rules for React, TypeScript, and formatting. Version 0.1.1 is the current stable release, targeted at developers who want to add consistent code standards to any project in minutes. It generates flat ESLint configs (eslint.config.js) automatically, integrates with VSCode for on-save fixing, and supports CI/CD via GitHub Actions. The tool requires Node.js >= 18.0.0, ships TypeScript definitions, and is distributed as a global npm package.","status":"active","version":"0.1.1","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","eslint","cli","formula","lint","global","typescript"],"install":[{"cmd":"npm install formula-lint","lang":"bash","label":"npm"},{"cmd":"yarn add formula-lint","lang":"bash","label":"yarn"},{"cmd":"pnpm add formula-lint","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core linting engine; formula-lint depends on ESLint for all linting functionality.","package":"eslint","optional":false},{"reason":"Shared ESLint config package imported by the generated eslint.config.js","package":"@formula/lint-config","optional":false}],"imports":[{"note":"ESM-only; CommonJS require will fail. The package is ESM-only since v0.1.x.","wrong":"const formula = require('@formula/lint-config')","symbol":"default (initialization function)","correct":"import formula from '@formula/lint-config'"},{"note":"The CLI command does not accept --overwrite; use --force instead.","wrong":"formula init --overwrite","symbol":"init (CLI command)","correct":"formula init [--force] [--verbose]"},{"note":"The lint command is not a subcommand of any package script; it's invoked directly via the global CLI.","wrong":"formula run lint","symbol":"lint (CLI command)","correct":"formula lint [files...] [--fix] [--format <format>] [--max-warnings <n>] [--verbose]"},{"note":"eslint.config.js must use ESM export default; CommonJS module.exports is not supported.","wrong":"module.exports = formula({ react: true })","symbol":"formula function (config export)","correct":"export default formula({ react: true, typescript: true, formatters: true, ignores: [], rules: {} })"}],"quickstart":{"code":"npm install -g formula-lint\ncd /path/to/your/project\nformula init\n# after init, edit eslint.config.js as needed\nformula lint --fix\nformula lint --format json","lang":"javascript","description":"Install globally, initialize project config, then run lint with auto-fix and JSON output."},"warnings":[{"fix":"Use import statements and ensure your project uses ESM or has TypeScript configured to handle ES modules.","message":"ESM-only package: formula-lint and @formula/lint-config do not support CommonJS require().","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"If you need legacy config, do not use formula-lint; or manually convert the flat config to .eslintrc.","message":"Flat config required: formula-lint generates eslint.config.js (flat config), not the legacy .eslintrc format.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Pin version of @formula/lint-config in package.json if stability is needed.","message":"The @formula/lint-config package may be updated separately; breaking changes there can affect your project.","severity":"deprecated","affected_versions":">=0.1.0"},{"fix":"Install with npm install -g formula-lint, or use npx formula-lint for local installs.","message":"Global installation recommended: if you install formula-lint locally, the CLI may not be in PATH.","severity":"gotcha","affected_versions":"ALL"},{"fix":"Update Node.js to version 18 or later.","message":"Node.js >= 18 required: older Node versions will fail with syntax errors due to ESM features.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Install the ESLint extension from the VSCode marketplace.","message":"VSCode ESLint plugin must be installed separately for editor integration.","severity":"gotcha","affected_versions":"ALL"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `npm install -g @formula/lint-config` or add it to your project dependencies: `npm install --save-dev @formula/lint-config`","cause":"The package @formula/lint-config is not installed; formula-lint expects it as a peer dependency.","error":"Cannot find module '@formula/lint-config'"},{"fix":"Enable typescript: true in the formula config if using TS, or ensure your project uses valid ES syntax.","cause":"The generated eslint.config.js may need Babel for certain syntax; formula-lint expects TypeScript or modern JS.","error":"Error: Requires Babel to transform but it is not configured"},{"fix":"Install globally: `npm install -g formula-lint`.","cause":"formula-lint is not installed or not in PATH.","error":"formula: command not found"},{"fix":"Install @formula/lint-config: `npm install --save-dev @formula/lint-config`","cause":"The flat config import of @formula/lint-config fails if the package is not installed or module resolution fails.","error":"ESLint couldn't find the config 'formula' to extend from."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}