eslint-plugin-package-json 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/rules/order-properties.js +1 -1
- package/lib/rules/order-properties.js.map +1 -1
- package/lib/rules/order-properties.mjs +1 -1
- package/lib/rules/order-properties.mjs.map +1 -1
- package/lib/tests/rules/ruleTester.d.mts +6 -5
- package/lib/tests/rules/ruleTester.d.ts +6 -5
- package/lib/tests/rules/ruleTester.js +13 -0
- package/lib/tests/rules/ruleTester.js.map +1 -1
- package/lib/tests/rules/ruleTester.mjs +13 -0
- package/lib/tests/rules/ruleTester.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -82,7 +82,7 @@ var order_properties_default = (0, import_createRule.createRule)({
|
|
|
82
82
|
const orderedKeys = Object.keys(orderedSource);
|
|
83
83
|
const { properties } = ast.body[0].expression;
|
|
84
84
|
for (let i = 0; i < properties.length; i += 1) {
|
|
85
|
-
if (properties[i].value !== orderedKeys[i]) {
|
|
85
|
+
if (properties[i].key.value !== orderedKeys[i]) {
|
|
86
86
|
context.report({
|
|
87
87
|
fix(fixer) {
|
|
88
88
|
return fixer.replaceText(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/rules/order-properties.ts"],"sourcesContent":["import sortPackageJson from \"sort-package-json\";\n\nimport { createRule } from \"../createRule.js\";\n\nconst standardOrderLegacy = [\n\t\"name\",\n\t\"version\",\n\t\"private\",\n\t\"publishConfig\",\n\t\"description\",\n\t\"main\",\n\t\"exports\",\n\t\"browser\",\n\t\"files\",\n\t\"bin\",\n\t\"directories\",\n\t\"man\",\n\t\"scripts\",\n\t\"repository\",\n\t\"keywords\",\n\t\"author\",\n\t\"license\",\n\t\"bugs\",\n\t\"homepage\",\n\t\"config\",\n\t\"dependencies\",\n\t\"devDependencies\",\n\t\"peerDependencies\",\n\t\"optionalDependencies\",\n\t\"bundledDependencies\",\n\t\"engines\",\n\t\"os\",\n\t\"cpu\",\n];\n\ntype Order = \"legacy\" | \"sort-package-json\";\n\ntype Options = [{ order: Order }?];\n\nexport default createRule<Options>({\n\tcreate(context) {\n\t\treturn {\n\t\t\t\"Program:exit\"() {\n\t\t\t\tconst { ast, text } = context.sourceCode;\n\n\t\t\t\tconst options = {\n\t\t\t\t\torder: \"sort-package-json\",\n\t\t\t\t\t...context.options[0],\n\t\t\t\t} satisfies Options[0];\n\n\t\t\t\tconst requiredOrder =\n\t\t\t\t\toptions.order === \"legacy\"\n\t\t\t\t\t\t? standardOrderLegacy\n\t\t\t\t\t\t: options.order;\n\t\t\t\tconst orderedSource = sortPackageJson(\n\t\t\t\t\tJSON.parse(text) as object,\n\t\t\t\t\trequiredOrder === \"sort-package-json\"\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tsortOrder: requiredOrder,\n\t\t\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tconst orderedKeys = Object.keys(orderedSource);\n\n\t\t\t\tconst { properties } = ast.body[0].expression;\n\n\t\t\t\tfor (let i = 0; i < properties.length; i += 1) {\n\t\t\t\t\tif (properties[i].value !== orderedKeys[i]) {\n\t\t\t\t\t\tcontext.report({\n\t\t\t\t\t\t\tfix(fixer) {\n\t\t\t\t\t\t\t\treturn fixer.replaceText(\n\t\t\t\t\t\t\t\t\tcontext.sourceCode.ast,\n\t\t\t\t\t\t\t\t\tJSON.stringify(orderedSource, null, 2) +\n\t\t\t\t\t\t\t\t\t\t`\\n`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\t\"Package top-level properties are not ordered in the npm standard way. Run the ESLint auto-fixer to correct.\",\n\t\t\t\t\t\t\tnode: context.sourceCode.ast,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t},\n\n\tmeta: {\n\t\tdocs: {\n\t\t\tcategory: \"Best Practices\",\n\t\t\tdescription:\n\t\t\t\t\"Package properties must be declared in standard order\",\n\t\t\trecommended: true,\n\t\t},\n\t\tfixable: \"code\",\n\t\tschema: [\n\t\t\t{\n\t\t\t\tproperties: {\n\t\t\t\t\torder: {\n\t\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tenum: [\"legacy\", \"sort-package-json\"],\n\t\t\t\t\t\t\t\ttype: [\"string\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\ttype: [\"string\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttype: [\"array\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: \"object\",\n\t\t\t},\n\t\t],\n\t},\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"sources":["../../src/rules/order-properties.ts"],"sourcesContent":["import type { AST as JsonAST } from \"jsonc-eslint-parser\";\n\nimport sortPackageJson from \"sort-package-json\";\n\nimport { createRule } from \"../createRule.js\";\n\nconst standardOrderLegacy = [\n\t\"name\",\n\t\"version\",\n\t\"private\",\n\t\"publishConfig\",\n\t\"description\",\n\t\"main\",\n\t\"exports\",\n\t\"browser\",\n\t\"files\",\n\t\"bin\",\n\t\"directories\",\n\t\"man\",\n\t\"scripts\",\n\t\"repository\",\n\t\"keywords\",\n\t\"author\",\n\t\"license\",\n\t\"bugs\",\n\t\"homepage\",\n\t\"config\",\n\t\"dependencies\",\n\t\"devDependencies\",\n\t\"peerDependencies\",\n\t\"optionalDependencies\",\n\t\"bundledDependencies\",\n\t\"engines\",\n\t\"os\",\n\t\"cpu\",\n];\n\ntype Order = \"legacy\" | \"sort-package-json\";\n\ntype Options = [{ order: Order }?];\n\nexport default createRule<Options>({\n\tcreate(context) {\n\t\treturn {\n\t\t\t\"Program:exit\"() {\n\t\t\t\tconst { ast, text } = context.sourceCode;\n\n\t\t\t\tconst options = {\n\t\t\t\t\torder: \"sort-package-json\",\n\t\t\t\t\t...context.options[0],\n\t\t\t\t} satisfies Options[0];\n\n\t\t\t\tconst requiredOrder =\n\t\t\t\t\toptions.order === \"legacy\"\n\t\t\t\t\t\t? standardOrderLegacy\n\t\t\t\t\t\t: options.order;\n\t\t\t\tconst orderedSource = sortPackageJson(\n\t\t\t\t\tJSON.parse(text) as object,\n\t\t\t\t\trequiredOrder === \"sort-package-json\"\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tsortOrder: requiredOrder,\n\t\t\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tconst orderedKeys = Object.keys(orderedSource);\n\n\t\t\t\tconst { properties } = ast.body[0].expression;\n\n\t\t\t\tfor (let i = 0; i < properties.length; i += 1) {\n\t\t\t\t\tif (\n\t\t\t\t\t\t(properties[i].key as JsonAST.JSONStringLiteral)\n\t\t\t\t\t\t\t.value !== orderedKeys[i]\n\t\t\t\t\t) {\n\t\t\t\t\t\tcontext.report({\n\t\t\t\t\t\t\tfix(fixer) {\n\t\t\t\t\t\t\t\treturn fixer.replaceText(\n\t\t\t\t\t\t\t\t\tcontext.sourceCode.ast,\n\t\t\t\t\t\t\t\t\tJSON.stringify(orderedSource, null, 2) +\n\t\t\t\t\t\t\t\t\t\t`\\n`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\t\"Package top-level properties are not ordered in the npm standard way. Run the ESLint auto-fixer to correct.\",\n\t\t\t\t\t\t\tnode: context.sourceCode.ast,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t},\n\n\tmeta: {\n\t\tdocs: {\n\t\t\tcategory: \"Best Practices\",\n\t\t\tdescription:\n\t\t\t\t\"Package properties must be declared in standard order\",\n\t\t\trecommended: true,\n\t\t},\n\t\tfixable: \"code\",\n\t\tschema: [\n\t\t\t{\n\t\t\t\tproperties: {\n\t\t\t\t\torder: {\n\t\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tenum: [\"legacy\", \"sort-package-json\"],\n\t\t\t\t\t\t\t\ttype: [\"string\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\ttype: [\"string\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttype: [\"array\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: \"object\",\n\t\t\t},\n\t\t],\n\t},\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,+BAA4B;AAE5B,wBAA2B;AAE3B,MAAM,sBAAsB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAMA,IAAO,+BAAQ,8BAAoB;AAAA,EAClC,OAAO,SAAS;AACf,WAAO;AAAA,MACN,iBAAiB;AAChB,cAAM,EAAE,KAAK,KAAK,IAAI,QAAQ;AAE9B,cAAM,UAAU;AAAA,UACf,OAAO;AAAA,UACP,GAAG,QAAQ,QAAQ,CAAC;AAAA,QACrB;AAEA,cAAM,gBACL,QAAQ,UAAU,WACf,sBACA,QAAQ;AACZ,cAAM,oBAAgB,yBAAAA;AAAA,UACrB,KAAK,MAAM,IAAI;AAAA,UACf,kBAAkB,sBACf,SACA;AAAA,YACA,WAAW;AAAA,UACZ;AAAA,QACH;AACA,cAAM,cAAc,OAAO,KAAK,aAAa;AAE7C,cAAM,EAAE,WAAW,IAAI,IAAI,KAAK,CAAC,EAAE;AAEnC,iBAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK,GAAG;AAC9C,cACE,WAAW,CAAC,EAAE,IACb,UAAU,YAAY,CAAC,GACxB;AACD,oBAAQ,OAAO;AAAA,cACd,IAAI,OAAO;AACV,uBAAO,MAAM;AAAA,kBACZ,QAAQ,WAAW;AAAA,kBACnB,KAAK,UAAU,eAAe,MAAM,CAAC,IACpC;AAAA;AAAA,gBACF;AAAA,cACD;AAAA,cACA,SACC;AAAA,cACD,MAAM,QAAQ,WAAW;AAAA,YAC1B,CAAC;AAAA,UACF;AAEA;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM;AAAA,IACL,MAAM;AAAA,MACL,UAAU;AAAA,MACV,aACC;AAAA,MACD,aAAa;AAAA,IACd;AAAA,IACA,SAAS;AAAA,IACT,QAAQ;AAAA,MACP;AAAA,QACC,YAAY;AAAA,UACX,OAAO;AAAA,YACN,OAAO;AAAA,cACN;AAAA,gBACC,MAAM,CAAC,UAAU,mBAAmB;AAAA,gBACpC,MAAM,CAAC,QAAQ;AAAA,cAChB;AAAA,cACA;AAAA,gBACC,OAAO;AAAA,kBACN,MAAM,CAAC,QAAQ;AAAA,gBAChB;AAAA,gBACA,MAAM,CAAC,OAAO;AAAA,cACf;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,QACA,MAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":["sortPackageJson"]}
|
|
@@ -49,7 +49,7 @@ var order_properties_default = createRule({
|
|
|
49
49
|
const orderedKeys = Object.keys(orderedSource);
|
|
50
50
|
const { properties } = ast.body[0].expression;
|
|
51
51
|
for (let i = 0; i < properties.length; i += 1) {
|
|
52
|
-
if (properties[i].value !== orderedKeys[i]) {
|
|
52
|
+
if (properties[i].key.value !== orderedKeys[i]) {
|
|
53
53
|
context.report({
|
|
54
54
|
fix(fixer) {
|
|
55
55
|
return fixer.replaceText(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/rules/order-properties.ts"],"sourcesContent":["import sortPackageJson from \"sort-package-json\";\n\nimport { createRule } from \"../createRule.js\";\n\nconst standardOrderLegacy = [\n\t\"name\",\n\t\"version\",\n\t\"private\",\n\t\"publishConfig\",\n\t\"description\",\n\t\"main\",\n\t\"exports\",\n\t\"browser\",\n\t\"files\",\n\t\"bin\",\n\t\"directories\",\n\t\"man\",\n\t\"scripts\",\n\t\"repository\",\n\t\"keywords\",\n\t\"author\",\n\t\"license\",\n\t\"bugs\",\n\t\"homepage\",\n\t\"config\",\n\t\"dependencies\",\n\t\"devDependencies\",\n\t\"peerDependencies\",\n\t\"optionalDependencies\",\n\t\"bundledDependencies\",\n\t\"engines\",\n\t\"os\",\n\t\"cpu\",\n];\n\ntype Order = \"legacy\" | \"sort-package-json\";\n\ntype Options = [{ order: Order }?];\n\nexport default createRule<Options>({\n\tcreate(context) {\n\t\treturn {\n\t\t\t\"Program:exit\"() {\n\t\t\t\tconst { ast, text } = context.sourceCode;\n\n\t\t\t\tconst options = {\n\t\t\t\t\torder: \"sort-package-json\",\n\t\t\t\t\t...context.options[0],\n\t\t\t\t} satisfies Options[0];\n\n\t\t\t\tconst requiredOrder =\n\t\t\t\t\toptions.order === \"legacy\"\n\t\t\t\t\t\t? standardOrderLegacy\n\t\t\t\t\t\t: options.order;\n\t\t\t\tconst orderedSource = sortPackageJson(\n\t\t\t\t\tJSON.parse(text) as object,\n\t\t\t\t\trequiredOrder === \"sort-package-json\"\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tsortOrder: requiredOrder,\n\t\t\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tconst orderedKeys = Object.keys(orderedSource);\n\n\t\t\t\tconst { properties } = ast.body[0].expression;\n\n\t\t\t\tfor (let i = 0; i < properties.length; i += 1) {\n\t\t\t\t\tif (properties[i].value !== orderedKeys[i]) {\n\t\t\t\t\t\tcontext.report({\n\t\t\t\t\t\t\tfix(fixer) {\n\t\t\t\t\t\t\t\treturn fixer.replaceText(\n\t\t\t\t\t\t\t\t\tcontext.sourceCode.ast,\n\t\t\t\t\t\t\t\t\tJSON.stringify(orderedSource, null, 2) +\n\t\t\t\t\t\t\t\t\t\t`\\n`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\t\"Package top-level properties are not ordered in the npm standard way. Run the ESLint auto-fixer to correct.\",\n\t\t\t\t\t\t\tnode: context.sourceCode.ast,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t},\n\n\tmeta: {\n\t\tdocs: {\n\t\t\tcategory: \"Best Practices\",\n\t\t\tdescription:\n\t\t\t\t\"Package properties must be declared in standard order\",\n\t\t\trecommended: true,\n\t\t},\n\t\tfixable: \"code\",\n\t\tschema: [\n\t\t\t{\n\t\t\t\tproperties: {\n\t\t\t\t\torder: {\n\t\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tenum: [\"legacy\", \"sort-package-json\"],\n\t\t\t\t\t\t\t\ttype: [\"string\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\ttype: [\"string\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttype: [\"array\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: \"object\",\n\t\t\t},\n\t\t],\n\t},\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/rules/order-properties.ts"],"sourcesContent":["import type { AST as JsonAST } from \"jsonc-eslint-parser\";\n\nimport sortPackageJson from \"sort-package-json\";\n\nimport { createRule } from \"../createRule.js\";\n\nconst standardOrderLegacy = [\n\t\"name\",\n\t\"version\",\n\t\"private\",\n\t\"publishConfig\",\n\t\"description\",\n\t\"main\",\n\t\"exports\",\n\t\"browser\",\n\t\"files\",\n\t\"bin\",\n\t\"directories\",\n\t\"man\",\n\t\"scripts\",\n\t\"repository\",\n\t\"keywords\",\n\t\"author\",\n\t\"license\",\n\t\"bugs\",\n\t\"homepage\",\n\t\"config\",\n\t\"dependencies\",\n\t\"devDependencies\",\n\t\"peerDependencies\",\n\t\"optionalDependencies\",\n\t\"bundledDependencies\",\n\t\"engines\",\n\t\"os\",\n\t\"cpu\",\n];\n\ntype Order = \"legacy\" | \"sort-package-json\";\n\ntype Options = [{ order: Order }?];\n\nexport default createRule<Options>({\n\tcreate(context) {\n\t\treturn {\n\t\t\t\"Program:exit\"() {\n\t\t\t\tconst { ast, text } = context.sourceCode;\n\n\t\t\t\tconst options = {\n\t\t\t\t\torder: \"sort-package-json\",\n\t\t\t\t\t...context.options[0],\n\t\t\t\t} satisfies Options[0];\n\n\t\t\t\tconst requiredOrder =\n\t\t\t\t\toptions.order === \"legacy\"\n\t\t\t\t\t\t? standardOrderLegacy\n\t\t\t\t\t\t: options.order;\n\t\t\t\tconst orderedSource = sortPackageJson(\n\t\t\t\t\tJSON.parse(text) as object,\n\t\t\t\t\trequiredOrder === \"sort-package-json\"\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tsortOrder: requiredOrder,\n\t\t\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tconst orderedKeys = Object.keys(orderedSource);\n\n\t\t\t\tconst { properties } = ast.body[0].expression;\n\n\t\t\t\tfor (let i = 0; i < properties.length; i += 1) {\n\t\t\t\t\tif (\n\t\t\t\t\t\t(properties[i].key as JsonAST.JSONStringLiteral)\n\t\t\t\t\t\t\t.value !== orderedKeys[i]\n\t\t\t\t\t) {\n\t\t\t\t\t\tcontext.report({\n\t\t\t\t\t\t\tfix(fixer) {\n\t\t\t\t\t\t\t\treturn fixer.replaceText(\n\t\t\t\t\t\t\t\t\tcontext.sourceCode.ast,\n\t\t\t\t\t\t\t\t\tJSON.stringify(orderedSource, null, 2) +\n\t\t\t\t\t\t\t\t\t\t`\\n`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\t\"Package top-level properties are not ordered in the npm standard way. Run the ESLint auto-fixer to correct.\",\n\t\t\t\t\t\t\tnode: context.sourceCode.ast,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t},\n\n\tmeta: {\n\t\tdocs: {\n\t\t\tcategory: \"Best Practices\",\n\t\t\tdescription:\n\t\t\t\t\"Package properties must be declared in standard order\",\n\t\t\trecommended: true,\n\t\t},\n\t\tfixable: \"code\",\n\t\tschema: [\n\t\t\t{\n\t\t\t\tproperties: {\n\t\t\t\t\torder: {\n\t\t\t\t\t\tanyOf: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tenum: [\"legacy\", \"sort-package-json\"],\n\t\t\t\t\t\t\t\ttype: [\"string\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\titems: {\n\t\t\t\t\t\t\t\t\ttype: [\"string\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\ttype: [\"array\"],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\ttype: \"object\",\n\t\t\t},\n\t\t],\n\t},\n});\n"],"mappings":"AAEA,OAAO,qBAAqB;AAE5B,SAAS,kBAAkB;AAE3B,MAAM,sBAAsB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAMA,IAAO,2BAAQ,WAAoB;AAAA,EAClC,OAAO,SAAS;AACf,WAAO;AAAA,MACN,iBAAiB;AAChB,cAAM,EAAE,KAAK,KAAK,IAAI,QAAQ;AAE9B,cAAM,UAAU;AAAA,UACf,OAAO;AAAA,UACP,GAAG,QAAQ,QAAQ,CAAC;AAAA,QACrB;AAEA,cAAM,gBACL,QAAQ,UAAU,WACf,sBACA,QAAQ;AACZ,cAAM,gBAAgB;AAAA,UACrB,KAAK,MAAM,IAAI;AAAA,UACf,kBAAkB,sBACf,SACA;AAAA,YACA,WAAW;AAAA,UACZ;AAAA,QACH;AACA,cAAM,cAAc,OAAO,KAAK,aAAa;AAE7C,cAAM,EAAE,WAAW,IAAI,IAAI,KAAK,CAAC,EAAE;AAEnC,iBAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK,GAAG;AAC9C,cACE,WAAW,CAAC,EAAE,IACb,UAAU,YAAY,CAAC,GACxB;AACD,oBAAQ,OAAO;AAAA,cACd,IAAI,OAAO;AACV,uBAAO,MAAM;AAAA,kBACZ,QAAQ,WAAW;AAAA,kBACnB,KAAK,UAAU,eAAe,MAAM,CAAC,IACpC;AAAA;AAAA,gBACF;AAAA,cACD;AAAA,cACA,SACC;AAAA,cACD,MAAM,QAAQ,WAAW;AAAA,YAC1B,CAAC;AAAA,UACF;AAEA;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM;AAAA,IACL,MAAM;AAAA,MACL,UAAU;AAAA,MACV,aACC;AAAA,MACD,aAAa;AAAA,IACd;AAAA,IACA,SAAS;AAAA,IACT,QAAQ;AAAA,MACP;AAAA,QACC,YAAY;AAAA,UACX,OAAO;AAAA,YACN,OAAO;AAAA,cACN;AAAA,gBACC,MAAM,CAAC,UAAU,mBAAmB;AAAA,gBACpC,MAAM,CAAC,QAAQ;AAAA,cAChB;AAAA,cACA;AAAA,gBACC,OAAO;AAAA,kBACN,MAAM,CAAC,QAAQ;AAAA,gBAChB;AAAA,gBACA,MAAM,CAAC,OAAO;AAAA,cACf;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,QACA,MAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
|
|
@@ -3,12 +3,13 @@ import { PackageJsonRuleModule } from '../../createRule.mjs';
|
|
|
3
3
|
import 'estree';
|
|
4
4
|
import 'jsonc-eslint-parser';
|
|
5
5
|
|
|
6
|
+
type JsonRuleTesterRun = (name: string, rule: PackageJsonRuleModule, tests: {
|
|
7
|
+
invalid?: RuleTester.InvalidTestCase[] | undefined;
|
|
8
|
+
valid?: (RuleTester.ValidTestCase | string)[] | undefined;
|
|
9
|
+
}) => void;
|
|
6
10
|
type JsonRuleTester = RuleTester & {
|
|
7
|
-
run:
|
|
8
|
-
invalid?: RuleTester.InvalidTestCase[] | undefined;
|
|
9
|
-
valid?: (RuleTester.ValidTestCase | string)[] | undefined;
|
|
10
|
-
}) => void;
|
|
11
|
+
run: JsonRuleTesterRun;
|
|
11
12
|
};
|
|
12
13
|
declare const ruleTester: JsonRuleTester;
|
|
13
14
|
|
|
14
|
-
export { type JsonRuleTester, ruleTester };
|
|
15
|
+
export { type JsonRuleTester, type JsonRuleTesterRun, ruleTester };
|
|
@@ -3,12 +3,13 @@ import { PackageJsonRuleModule } from '../../createRule.js';
|
|
|
3
3
|
import 'estree';
|
|
4
4
|
import 'jsonc-eslint-parser';
|
|
5
5
|
|
|
6
|
+
type JsonRuleTesterRun = (name: string, rule: PackageJsonRuleModule, tests: {
|
|
7
|
+
invalid?: RuleTester.InvalidTestCase[] | undefined;
|
|
8
|
+
valid?: (RuleTester.ValidTestCase | string)[] | undefined;
|
|
9
|
+
}) => void;
|
|
6
10
|
type JsonRuleTester = RuleTester & {
|
|
7
|
-
run:
|
|
8
|
-
invalid?: RuleTester.InvalidTestCase[] | undefined;
|
|
9
|
-
valid?: (RuleTester.ValidTestCase | string)[] | undefined;
|
|
10
|
-
}) => void;
|
|
11
|
+
run: JsonRuleTesterRun;
|
|
11
12
|
};
|
|
12
13
|
declare const ruleTester: JsonRuleTester;
|
|
13
14
|
|
|
14
|
-
export { type JsonRuleTester, ruleTester };
|
|
15
|
+
export { type JsonRuleTester, type JsonRuleTesterRun, ruleTester };
|
|
@@ -35,6 +35,19 @@ var import_eslint = require("eslint");
|
|
|
35
35
|
const ruleTester = new import_eslint.RuleTester({
|
|
36
36
|
parser: require.resolve("jsonc-eslint-parser")
|
|
37
37
|
});
|
|
38
|
+
const originalRun = ruleTester.run;
|
|
39
|
+
ruleTester.run = (name, rule, tests) => {
|
|
40
|
+
originalRun.call(ruleTester, name, rule, {
|
|
41
|
+
invalid: tests.invalid?.map((test) => ({
|
|
42
|
+
filename: "package.json",
|
|
43
|
+
...test
|
|
44
|
+
})),
|
|
45
|
+
valid: tests.valid?.map((test) => ({
|
|
46
|
+
filename: "package.json",
|
|
47
|
+
...typeof test === "string" ? { code: test } : { ...test }
|
|
48
|
+
}))
|
|
49
|
+
});
|
|
50
|
+
};
|
|
38
51
|
// Annotate the CommonJS export names for ESM import in node:
|
|
39
52
|
0 && (module.exports = {
|
|
40
53
|
ruleTester
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/tests/rules/ruleTester.ts"],"sourcesContent":["import { RuleTester } from \"eslint\";\n\nimport type { PackageJsonRuleModule } from \"../../createRule.js\";\n\nexport type
|
|
1
|
+
{"version":3,"sources":["../../../src/tests/rules/ruleTester.ts"],"sourcesContent":["import { RuleTester } from \"eslint\";\n\nimport type { PackageJsonRuleModule } from \"../../createRule.js\";\n\nexport type JsonRuleTesterRun = (\n\tname: string,\n\trule: PackageJsonRuleModule,\n\ttests: {\n\t\tinvalid?: RuleTester.InvalidTestCase[] | undefined;\n\t\tvalid?: (RuleTester.ValidTestCase | string)[] | undefined;\n\t},\n) => void;\n\nexport type JsonRuleTester = RuleTester & {\n\trun: JsonRuleTesterRun;\n};\n\nexport const ruleTester = new RuleTester({\n\tparser: require.resolve(\"jsonc-eslint-parser\"),\n}) as JsonRuleTester;\n\nconst originalRun = ruleTester.run;\n\nruleTester.run = (name, rule, tests) => {\n\toriginalRun.call(ruleTester, name, rule as PackageJsonRuleModule, {\n\t\tinvalid: tests.invalid?.map((test) => ({\n\t\t\tfilename: \"package.json\",\n\t\t\t...test,\n\t\t})),\n\t\tvalid: tests.valid?.map((test) => ({\n\t\t\tfilename: \"package.json\",\n\t\t\t...(typeof test === \"string\" ? { code: test } : { ...test }),\n\t\t})),\n\t});\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAiBpB,MAAM,aAAa,IAAI,yBAAW;AAAA,EACxC,QAAQ,gBAAgB,qBAAqB;AAC9C,CAAC;AAED,MAAM,cAAc,WAAW;AAE/B,WAAW,MAAM,CAAC,MAAM,MAAM,UAAU;AACvC,cAAY,KAAK,YAAY,MAAM,MAA+B;AAAA,IACjE,SAAS,MAAM,SAAS,IAAI,CAAC,UAAU;AAAA,MACtC,UAAU;AAAA,MACV,GAAG;AAAA,IACJ,EAAE;AAAA,IACF,OAAO,MAAM,OAAO,IAAI,CAAC,UAAU;AAAA,MAClC,UAAU;AAAA,MACV,GAAI,OAAO,SAAS,WAAW,EAAE,MAAM,KAAK,IAAI,EAAE,GAAG,KAAK;AAAA,IAC3D,EAAE;AAAA,EACH,CAAC;AACF;","names":[]}
|
|
@@ -2,6 +2,19 @@ import { RuleTester } from "eslint";
|
|
|
2
2
|
const ruleTester = new RuleTester({
|
|
3
3
|
parser: require.resolve("jsonc-eslint-parser")
|
|
4
4
|
});
|
|
5
|
+
const originalRun = ruleTester.run;
|
|
6
|
+
ruleTester.run = (name, rule, tests) => {
|
|
7
|
+
originalRun.call(ruleTester, name, rule, {
|
|
8
|
+
invalid: tests.invalid?.map((test) => ({
|
|
9
|
+
filename: "package.json",
|
|
10
|
+
...test
|
|
11
|
+
})),
|
|
12
|
+
valid: tests.valid?.map((test) => ({
|
|
13
|
+
filename: "package.json",
|
|
14
|
+
...typeof test === "string" ? { code: test } : { ...test }
|
|
15
|
+
}))
|
|
16
|
+
});
|
|
17
|
+
};
|
|
5
18
|
export {
|
|
6
19
|
ruleTester
|
|
7
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/tests/rules/ruleTester.ts"],"sourcesContent":["import { RuleTester } from \"eslint\";\n\nimport type { PackageJsonRuleModule } from \"../../createRule.js\";\n\nexport type
|
|
1
|
+
{"version":3,"sources":["../../../src/tests/rules/ruleTester.ts"],"sourcesContent":["import { RuleTester } from \"eslint\";\n\nimport type { PackageJsonRuleModule } from \"../../createRule.js\";\n\nexport type JsonRuleTesterRun = (\n\tname: string,\n\trule: PackageJsonRuleModule,\n\ttests: {\n\t\tinvalid?: RuleTester.InvalidTestCase[] | undefined;\n\t\tvalid?: (RuleTester.ValidTestCase | string)[] | undefined;\n\t},\n) => void;\n\nexport type JsonRuleTester = RuleTester & {\n\trun: JsonRuleTesterRun;\n};\n\nexport const ruleTester = new RuleTester({\n\tparser: require.resolve(\"jsonc-eslint-parser\"),\n}) as JsonRuleTester;\n\nconst originalRun = ruleTester.run;\n\nruleTester.run = (name, rule, tests) => {\n\toriginalRun.call(ruleTester, name, rule as PackageJsonRuleModule, {\n\t\tinvalid: tests.invalid?.map((test) => ({\n\t\t\tfilename: \"package.json\",\n\t\t\t...test,\n\t\t})),\n\t\tvalid: tests.valid?.map((test) => ({\n\t\t\tfilename: \"package.json\",\n\t\t\t...(typeof test === \"string\" ? { code: test } : { ...test }),\n\t\t})),\n\t});\n};\n"],"mappings":"AAAA,SAAS,kBAAkB;AAiBpB,MAAM,aAAa,IAAI,WAAW;AAAA,EACxC,QAAQ,gBAAgB,qBAAqB;AAC9C,CAAC;AAED,MAAM,cAAc,WAAW;AAE/B,WAAW,MAAM,CAAC,MAAM,MAAM,UAAU;AACvC,cAAY,KAAK,YAAY,MAAM,MAA+B;AAAA,IACjE,SAAS,MAAM,SAAS,IAAI,CAAC,UAAU;AAAA,MACtC,UAAU;AAAA,MACV,GAAG;AAAA,IACJ,EAAE;AAAA,IACF,OAAO,MAAM,OAAO,IAAI,CAAC,UAAU;AAAA,MAClC,UAAU;AAAA,MACV,GAAI,OAAO,SAAS,WAAW,EAAE,MAAM,KAAK,IAAI,EAAE,GAAG,KAAK;AAAA,IAC3D,EAAE;AAAA,EACH,CAAC;AACF;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-package-json",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.1",
|
|
4
4
|
"description": "Rules for consistent, readable, and valid package.json files. 🗂️",
|
|
5
5
|
"homepage": "https://github.com/JoshuaKGoldberg/eslint-plugin-package-json#readme",
|
|
6
6
|
"bugs": {
|