diff --git a/.eslintrc.json b/.eslintrc.json index 84e4c9e..b878f49 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -23,6 +23,13 @@ "env": { "jest": true } + }, + { + "files": ["package.json"], + "plugins": ["json-files"], + "rules": { + "json-files/sort-package-json": "error" + } } ] } diff --git a/package.json b/package.json index 417f0a1..3cceaa2 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "type": "module", "scripts": { "bundle": "tsc && ncc build dist/main.mjs -o main", - "check": "sort-package-json && prettier --write . !main !README.md && eslint src", + "check": "sort-package-json && prettier --write . !main !README.md && eslint src package.json", "test": "tsc && jest" }, "dependencies": { @@ -19,6 +19,7 @@ "@vercel/ncc": "^0.38.1", "eslint": "^8.55.0", "eslint-config-prettier": "^9.1.0", + "eslint-plugin-json-files": "^4.1.0", "eslint-plugin-tsdoc": "^0.2.17", "jest": "^29.7.0", "prettier": "^3.1.0", diff --git a/yarn.lock b/yarn.lock index 1dcc239..49f7fb6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -68,6 +68,16 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.16.0": + version: 7.23.5 + resolution: "@babel/code-frame@npm:7.23.5" + dependencies: + "@babel/highlight": "npm:^7.23.4" + chalk: "npm:^2.4.2" + checksum: a10e843595ddd9f97faa99917414813c06214f4d9205294013e20c70fbdf4f943760da37dec1d998bf3e6fc20fa2918a47c0e987a7e458663feb7698063ad7c6 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.22.9": version: 7.23.3 resolution: "@babel/compat-data@npm:7.23.3" @@ -241,6 +251,17 @@ __metadata: languageName: node linkType: hard +"@babel/highlight@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/highlight@npm:7.23.4" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.22.20" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + checksum: fbff9fcb2f5539289c3c097d130e852afd10d89a3a08ac0b5ebebbc055cc84a4bcc3dcfed463d488cde12dd0902ef1858279e31d7349b2e8cee43913744bda33 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.3": version: 7.23.3 resolution: "@babel/parser@npm:7.23.3" @@ -518,6 +539,13 @@ __metadata: languageName: node linkType: hard +"@humanwhocodes/momoa@npm:^2.0.2": + version: 2.0.4 + resolution: "@humanwhocodes/momoa@npm:2.0.4" + checksum: ff081fb5239eb23ae40c59bd51e8128d34b043be3b7c2adb2522cdff51b01ec3129e57d5a24a1eb3a082159d5b41fddfbaffc4cf46cae4fe11a51393f60424fd + languageName: node + linkType: hard + "@humanwhocodes/object-schema@npm:^2.0.1": version: 2.0.1 resolution: "@humanwhocodes/object-schema@npm:2.0.1" @@ -972,6 +1000,16 @@ __metadata: languageName: node linkType: hard +"@types/glob@npm:^7.1.1": + version: 7.2.0 + resolution: "@types/glob@npm:7.2.0" + dependencies: + "@types/minimatch": "npm:*" + "@types/node": "npm:*" + checksum: a8eb5d5cb5c48fc58c7ca3ff1e1ddf771ee07ca5043da6e4871e6757b4472e2e73b4cfef2644c38983174a4bc728c73f8da02845c28a1212f98cabd293ecae98 + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.3": version: 4.1.9 resolution: "@types/graceful-fs@npm:4.1.9" @@ -1013,6 +1051,13 @@ __metadata: languageName: node linkType: hard +"@types/minimatch@npm:*": + version: 5.1.2 + resolution: "@types/minimatch@npm:5.1.2" + checksum: 83cf1c11748891b714e129de0585af4c55dd4c2cafb1f1d5233d79246e5e1e19d1b5ad9e8db449667b3ffa2b6c80125c429dbee1054e9efb45758dbc4e118562 + languageName: node + linkType: hard + "@types/node@npm:*": version: 20.9.2 resolution: "@types/node@npm:20.9.2" @@ -1257,6 +1302,18 @@ __metadata: languageName: node linkType: hard +"ajv@npm:^8.2.0": + version: 8.12.0 + resolution: "ajv@npm:8.12.0" + dependencies: + fast-deep-equal: "npm:^3.1.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + uri-js: "npm:^4.2.2" + checksum: ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e + languageName: node + linkType: hard + "ansi-escapes@npm:^4.2.1": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" @@ -1428,6 +1485,21 @@ __metadata: languageName: node linkType: hard +"better-ajv-errors@npm:^1.2.0": + version: 1.2.0 + resolution: "better-ajv-errors@npm:1.2.0" + dependencies: + "@babel/code-frame": "npm:^7.16.0" + "@humanwhocodes/momoa": "npm:^2.0.2" + chalk: "npm:^4.1.2" + jsonpointer: "npm:^5.0.0" + leven: "npm:^3.1.0 < 4" + peerDependencies: + ajv: 4.11.8 - 8 + checksum: 42bdb63d2e1ec3b8aea234ccad777313750d015f0b0fbcf7dc4471ef412c3a93604d4b702d70ad66e03f2d52a57b131357458ffec7cae083f3b120100c17d36a + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -1545,7 +1617,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0": +"chalk@npm:^4.0.0, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -1614,6 +1686,7 @@ __metadata: "@vercel/ncc": "npm:^0.38.1" eslint: "npm:^8.55.0" eslint-config-prettier: "npm:^9.1.0" + eslint-plugin-json-files: "npm:^4.1.0" eslint-plugin-tsdoc: "npm:^0.2.17" jest: "npm:^29.7.0" prettier: "npm:^3.1.0" @@ -1748,6 +1821,13 @@ __metadata: languageName: node linkType: hard +"detect-indent@npm:^6.0.0": + version: 6.1.0 + resolution: "detect-indent@npm:6.1.0" + checksum: dd83cdeda9af219cf77f5e9a0dc31d828c045337386cfb55ce04fad94ba872ee7957336834154f7647b89b899c3c7acc977c57a79b7c776b506240993f97acc7 + languageName: node + linkType: hard + "detect-indent@npm:^7.0.1": version: 7.0.1 resolution: "detect-indent@npm:7.0.1" @@ -1755,7 +1835,7 @@ __metadata: languageName: node linkType: hard -"detect-newline@npm:^3.0.0": +"detect-newline@npm:3.1.0, detect-newline@npm:^3.0.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" checksum: c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d @@ -1900,6 +1980,21 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-json-files@npm:^4.1.0": + version: 4.1.0 + resolution: "eslint-plugin-json-files@npm:4.1.0" + dependencies: + ajv: "npm:^8.2.0" + better-ajv-errors: "npm:^1.2.0" + requireindex: "npm:^1.2.0" + semver: "npm:^7.0.0" + sort-package-json: "npm:^1.22.1" + peerDependencies: + eslint: ">=5" + checksum: 273956ce07d03df683d9104c92d509f18e880df2d753a741ac30525842bb8321fadfe097f5a177da216b21e99e8b9ef50ded03407b0be10d1de1a06e5c0d8d87 + languageName: node + linkType: hard + "eslint-plugin-tsdoc@npm:^0.2.17": version: 0.2.17 resolution: "eslint-plugin-tsdoc@npm:0.2.17" @@ -2079,7 +2174,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": +"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -2276,6 +2371,13 @@ __metadata: languageName: node linkType: hard +"git-hooks-list@npm:1.0.3": + version: 1.0.3 + resolution: "git-hooks-list@npm:1.0.3" + checksum: f64565f2887bdb5079af5aa6924a8ad28066006abec0b2d37479a89a1e1defb77f2f967c558c895dc7ece0b5829f27b83d0ee35fc7624ae26fe619ed4389086c + languageName: node + linkType: hard + "git-hooks-list@npm:^3.0.0": version: 3.1.0 resolution: "git-hooks-list@npm:3.1.0" @@ -2346,6 +2448,22 @@ __metadata: languageName: node linkType: hard +"globby@npm:10.0.0": + version: 10.0.0 + resolution: "globby@npm:10.0.0" + dependencies: + "@types/glob": "npm:^7.1.1" + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.0.3" + glob: "npm:^7.1.3" + ignore: "npm:^5.1.1" + merge2: "npm:^1.2.3" + slash: "npm:^3.0.0" + checksum: d5ea5e2e1187ae410a5ef23e5933ed1f2570546424d3c9f18ca48b94ff3ec04b3931fb1acc83967fa5d7cfa0513639af279d93291388c1702e1f336df74338be + languageName: node + linkType: hard + "globby@npm:^11.1.0": version: 11.1.0 resolution: "globby@npm:11.1.0" @@ -2460,7 +2578,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.2.0, ignore@npm:^5.2.4": +"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4": version: 5.3.0 resolution: "ignore@npm:5.3.0" checksum: dc06bea5c23aae65d0725a957a0638b57e235ae4568dda51ca142053ed2c352de7e3bc93a69b2b32ac31966a1952e9a93c5ef2e2ab7c6b06aef9808f6b55b571 @@ -2594,6 +2712,13 @@ __metadata: languageName: node linkType: hard +"is-plain-obj@npm:2.1.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: e5c9814cdaa627a9ad0a0964ded0e0491bfd9ace405c49a5d63c88b30a162f1512c069d5b80997893c4d0181eadc3fed02b4ab4b81059aba5620bfcdfdeb9c53 + languageName: node + linkType: hard + "is-plain-obj@npm:^4.1.0": version: 4.1.0 resolution: "is-plain-obj@npm:4.1.0" @@ -3206,6 +3331,13 @@ __metadata: languageName: node linkType: hard +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" @@ -3222,6 +3354,13 @@ __metadata: languageName: node linkType: hard +"jsonpointer@npm:^5.0.0": + version: 5.0.1 + resolution: "jsonpointer@npm:5.0.1" + checksum: 89929e58b400fcb96928c0504fcf4fc3f919d81e9543ceb055df125538470ee25290bb4984251e172e6ef8fcc55761eb998c118da763a82051ad89d4cb073fe7 + languageName: node + linkType: hard + "keyv@npm:^4.5.3": version: 4.5.4 resolution: "keyv@npm:4.5.4" @@ -3238,7 +3377,7 @@ __metadata: languageName: node linkType: hard -"leven@npm:^3.1.0": +"leven@npm:^3.1.0, leven@npm:^3.1.0 < 4": version: 3.1.0 resolution: "leven@npm:3.1.0" checksum: cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df @@ -3356,7 +3495,7 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": +"merge2@npm:^1.2.3, merge2@npm:^1.3.0, merge2@npm:^1.4.1": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb @@ -3842,6 +3981,20 @@ __metadata: languageName: node linkType: hard +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"requireindex@npm:^1.2.0": + version: 1.2.0 + resolution: "requireindex@npm:1.2.0" + checksum: 7fb42aed73bf8de9acc4d6716cf07acc7fbe180e58729433bafcf702e76e7bb10e54f8266c06bfec62d752e0ac14d50e8758833de539e6f4e2cd642077866153 + languageName: node + linkType: hard + "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -3968,7 +4121,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4": +"semver@npm:^7.0.0, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -4065,6 +4218,22 @@ __metadata: languageName: node linkType: hard +"sort-package-json@npm:^1.22.1": + version: 1.57.0 + resolution: "sort-package-json@npm:1.57.0" + dependencies: + detect-indent: "npm:^6.0.0" + detect-newline: "npm:3.1.0" + git-hooks-list: "npm:1.0.3" + globby: "npm:10.0.0" + is-plain-obj: "npm:2.1.0" + sort-object-keys: "npm:^1.1.3" + bin: + sort-package-json: cli.js + checksum: 3b78190cf5d63f40d732fca25d9b6a8625560e14e32301e9915c0457212c32e703cb5193f82a45ca434eeb55c99c49b2d726c257660fe9374ca565a8c19d56bc + languageName: node + linkType: hard + "sort-package-json@npm:^2.6.0": version: 2.6.0 resolution: "sort-package-json@npm:2.6.0"