{"id":26018,"library":"npm-package-json-lint-config-tc","title":"npm-package-json-lint-config-tc","description":"Shareable configuration for npm-package-json-lint (v10) enforcing TC's project conventions on package.json files. Current stable version: 10.0.2. Release cadence: follows major versions of underlying linter. Key differentiators: opinionated rules optimized for TC projects, strict requirements on license, version, and repository fields. Requires Node >=22 and npm-package-json-lint as a peer dependency.","status":"active","version":"10.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/tclindner/npm-package-json-lint-config-tc","tags":["javascript","lint","linter","package.json","audit","auditor","npm-package-json-lint","npm-package-json-lintconfig","npm-package-json-lint-config"],"install":[{"cmd":"npm install npm-package-json-lint-config-tc","lang":"bash","label":"npm"},{"cmd":"yarn add npm-package-json-lint-config-tc","lang":"bash","label":"yarn"},{"cmd":"pnpm add npm-package-json-lint-config-tc","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required to lint package.json files","package":"npm-package-json-lint","optional":false}],"imports":[{"note":"Config is used via extends in a JSON config file, not imported directly in code.","wrong":"require('npm-package-json-lint-config-tc')","symbol":"config","correct":"extends: 'npm-package-json-lint-config-tc' in .npmpackagejsonlintrc.json"},{"note":"The package exports a plain object; both ESM and CJS work, but the typical usage is via 'extends' in config file.","wrong":"const config = require('npm-package-json-lint-config-tc')","symbol":"config","correct":"import config from 'npm-package-json-lint-config-tc'"},{"note":"Override rules in your own config file; do not mutate the shared config object.","wrong":"Modifying the config object directly","symbol":"rules","correct":"Use 'rules' in .npmpackagejsonlintrc.json to override specific rules"}],"quickstart":{"code":"// .npmpackagejsonlintrc.json\n{\n  \"extends\": \"npm-package-json-lint-config-tc\"\n}\n\n// Then run:\n// npx npm-package-json-lint . --config .npmpackagejsonlintrc.json\n","lang":"json","description":"Extend the shareable config in .npmpackagejsonlintrc.json and run the linter."},"warnings":[{"fix":"Upgrade Node.js to v22 or later.","message":"Node 18 dropped in v10.0.0","severity":"breaking","affected_versions":">=10.0.0"},{"fix":"Ensure npm-package-json-lint@^10.0.0 is installed.","message":"Peer dependency npm-package-json-lint must be v10.x for config v10","severity":"breaking","affected_versions":">=10.0.0"},{"fix":"Upgrade Node.js to v18 or later for v8-v9, v20+ for v10.","message":"Node 16 dropped in v8.0.0","severity":"breaking","affected_versions":">=8.0.0"},{"fix":"Upgrade Node.js to v16 or later (v18+ recommended).","message":"Node 14 dropped in v7.0.0","severity":"breaking","affected_versions":">=7.0.0"},{"fix":"Use ESM imports if possible, or stick to 'extends' in config file.","message":"Using require() in CJS is still supported but may be deprecated in future","severity":"deprecated","affected_versions":"*"},{"fix":"Use JSON format for the config file.","message":"Config only works with .npmpackagejsonlintrc.json, not .js or .yaml","severity":"gotcha","affected_versions":"*"}],"env_vars":null,"search_vec":"'10.0.2':28 '22':55 'audit':70 'auditor':71 'cadenc':30 'config':6,87 'configur':9 'convent':21 'current':25 'depend':65 'differenti':38 'enforc':17 'field':52 'file':24 'follow':31 'javascript':66 'json':4,14,60,75,80,85 'key':37 'licens':48 'lint':5,15,61,67,76,86 'lintconfig':81 'linter':36,68 'major':32 'node':54 'npm':2,12,58,73,78,83 'npm-package-json-lint':11,57,72 'npm-package-json-lint-config':82 'npm-package-json-lint-config-tc':1 'npm-package-json-lintconfig':77 'opinion':39 'optim':41 'packag':3,13,59,74,79,84 'package.json':23,69 'peer':64 'project':20,44 'releas':29 'repositori':51 'requir':46,53 'rule':40 'shareabl':8 'stabl':26 'strict':45 'tc':7,18,43 'under':35 'v10':16 'version':27,33,49","created_at":"2026-05-01T13:47:46.313861+00:00","updated_at":"2026-05-01T13:47:46.313861+00:00","problems":[{"fix":"Run: npm install --save-dev npm-package-json-lint npm-package-json-lint-config-tc","cause":"Missing or incorrect peer dependency npm-package-json-lint or config not installed.","error":"Error: Cannot find module 'npm-package-json-lint-config-tc'"},{"fix":"Check rule names in npm-package-json-lint docs and ensure your .npmpackagejsonlintrc.json has correct structure.","cause":"Override rule syntax is wrong; must be a valid npm-package-json-lint rule.","error":"Error: Configuration for rule \"valid-values-author\" is invalid"},{"fix":"Ensure .npmpackagejsonlintrc.json is valid JSON and contains: { \"extends\": \"npm-package-json-lint-config-tc\" }","cause":"Config file may be misformatted or missing quotes.","error":"The \"extends\" value \"npm-package-json-lint-config-tc\" is not a valid string or array."},{"fix":"Install compatible version: npm install npm-package-json-lint@^10.0.0","cause":"Installed npm-package-json-lint version does not satisfy peer dependency.","error":"npm ERR! code ERESOLVE\nnpm ERR! Could not resolve dependency: peer npm-package-json-lint@\"^10.0.0\""}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/tclindner/npm-package-json-lint-config-tc","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/npm-package-json-lint-config-tc","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops","testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-05-01","next_check":"2026-07-30","install_tag":null}}