@checkdigit/eslint-plugin 6.4.0-PR.72-8a17 → 6.4.0-PR.72-6c8a

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.
@@ -24,6 +24,77 @@ __export(src_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(src_exports);
26
26
 
27
+ // package.json
28
+ var package_default = { name: "@checkdigit/eslint-plugin", version: "6.4.0-PR.72-6c8a", description: "Check Digit eslint plugins", keywords: ["eslint", "eslintplugin"], homepage: "https://github.com/checkdigit/eslint-plugin#readme", bugs: { url: "https://github.com/checkdigit/eslint-plugin/issues" }, repository: { type: "git", url: "https://github.com/checkdigit/eslint-plugin" }, license: "MIT", author: "Check Digit, LLC", sideEffects: false, type: "module", exports: { ".": { types: "./dist-types/index.d.ts", require: "./dist-cjs/index.cjs", import: "./dist-mjs/index.mjs", default: "./dist-mjs/index.mjs" } }, files: ["src", "dist-types", "dist-cjs", "dist-mjs", "!src/**/*.test.ts", "!src/**/*.spec.ts", "!dist-types/**/*.test.d.ts", "!dist-types/**/*.spec.d.ts", "!dist-cjs/**/*.test.cjs", "!dist-cjs/**/*.spec.cjs", "!dist-mjs/**/*.test.mjs", "!dist-mjs/**/*.spec.mjs", "SECURITY.md"], scripts: { "build:dist-cjs": 'rimraf dist-cjs && npx builder --type=commonjs --sourceMap --entryPoint=index.ts --outDir=dist-cjs --outFile=index.cjs && echo "module.exports = module.exports.default;" >> dist-cjs/index.cjs && node dist-cjs/index.cjs', "build:dist-mjs": "rimraf dist-mjs && npx builder --type=module --sourceMap --outDir=dist-mjs && node dist-mjs/index.mjs", "build:dist-types": "rimraf dist-types && npx builder --type=types --outDir=dist-types", "ci:compile": "tsc --noEmit", "ci:coverage": 'NODE_OPTIONS="--disable-warning ExperimentalWarning --experimental-vm-modules" jest --coverage=true', "ci:lint": "npm run lint", "ci:style": "npm run prettier", "ci:test": 'NODE_OPTIONS="--disable-warning ExperimentalWarning --experimental-vm-modules" jest --coverage=false', lint: "eslint --max-warnings 0 --ignore-path .gitignore .", "lint:fix": "eslint --ignore-path .gitignore . --fix", prepublishOnly: "npm run build:dist-types && npm run build:dist-cjs && npm run build:dist-mjs", prettier: "prettier --ignore-path .gitignore --list-different .", "prettier:fix": "prettier --ignore-path .gitignore --write .", test: "npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style" }, prettier: "@checkdigit/prettier-config", jest: { preset: "@checkdigit/jest-config" }, devDependencies: { "@checkdigit/jest-config": "^6.0.2", "@checkdigit/prettier-config": "^5.5.0", "@checkdigit/typescript-config": "^6.0.0", "@types/eslint": "^8.56.10", "@typescript-eslint/eslint-plugin": "^7.16.0", "@typescript-eslint/parser": "^7.16.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-eslint-plugin": "^6.2.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-no-only-tests": "^3.1.0", "eslint-plugin-no-secrets": "^1.0.2", "eslint-plugin-node": "^11.1.0", "eslint-plugin-sonarjs": "^0.24.0" }, peerDependencies: { eslint: ">=8 <9" }, engines: { node: ">=20.13" } };
29
+
30
+ // src/get-documentation-url.ts
31
+ function getDocumentationUrl(ruleId2) {
32
+ return `${package_default.repository.url}/blob/v${package_default.version}/docs/rules/${ruleId2}.md`;
33
+ }
34
+
35
+ // src/invalid-json-stringify.ts
36
+ var ruleId = "invalid-json-stringify";
37
+ var INVALID_JSON_STRINGIFY = "INVALID_JSON_STRINGIFY";
38
+ var DEFAULT_OPTIONS = ["error|.*Error"];
39
+ var invalid_json_stringify_default = {
40
+ meta: {
41
+ type: "problem",
42
+ docs: {
43
+ description: "Serializing objects with JSON.stringify() can lose information for certain data payload (e.g. Error). This rule disallows serializing such objects by matching the name of the first parameter passed to JSON.stringify() using Regexp pattern.",
44
+ url: getDocumentationUrl(ruleId)
45
+ },
46
+ schema: [
47
+ {
48
+ type: "array",
49
+ items: {
50
+ description: "Regular expression pattern to match the name of the first parameter of JSON.stringify().",
51
+ type: "string",
52
+ minItems: 1
53
+ }
54
+ }
55
+ ],
56
+ messages: {
57
+ [INVALID_JSON_STRINGIFY]: `Serializing paremeter "{{ parameterName }}" with JSON.stringify can potentially lose information.`
58
+ },
59
+ fixable: "code",
60
+ hasSuggestions: true
61
+ },
62
+ create(context) {
63
+ const options = context.options[0] ?? DEFAULT_OPTIONS;
64
+ const invalidParameterNamePatterns = options.map((option) => new RegExp(option, "u"));
65
+ return {
66
+ CallExpression(node) {
67
+ if (node.callee.type === "MemberExpression" && node.callee.object.type === "Identifier" && node.callee.object.name === "JSON" && node.callee.property.type === "Identifier" && node.callee.property.name === "stringify") {
68
+ const argument = node.arguments[0];
69
+ if (argument !== void 0 && argument.type === "Identifier") {
70
+ invalidParameterNamePatterns.some((invalidParameterNamePattern) => {
71
+ if (invalidParameterNamePattern.test(argument.name)) {
72
+ context.report({
73
+ node,
74
+ messageId: INVALID_JSON_STRINGIFY,
75
+ data: {
76
+ parameterName: argument.name
77
+ },
78
+ suggest: [
79
+ {
80
+ desc: `Replace JSON.stringify(${argument.name}) with String(${argument.name}).`,
81
+ fix(fixer) {
82
+ return fixer.replaceText(node, `String(${argument.name})`);
83
+ }
84
+ }
85
+ ]
86
+ });
87
+ return true;
88
+ }
89
+ return false;
90
+ });
91
+ }
92
+ }
93
+ }
94
+ };
95
+ }
96
+ };
97
+
27
98
  // src/file-path-comment.ts
28
99
  var file_path_comment_default = {
29
100
  meta: {
@@ -105,67 +176,6 @@ var file_path_comment_default = {
105
176
  }
106
177
  };
107
178
 
108
- // package.json
109
- var package_default = { name: "@checkdigit/eslint-plugin", version: "6.4.0-PR.72-8a17", description: "Check Digit eslint plugins", keywords: ["eslint", "eslintplugin"], homepage: "https://github.com/checkdigit/eslint-plugin#readme", bugs: { url: "https://github.com/checkdigit/eslint-plugin/issues" }, repository: { type: "git", url: "https://github.com/checkdigit/eslint-plugin" }, license: "MIT", author: "Check Digit, LLC", sideEffects: false, type: "module", exports: { ".": { types: "./dist-types/index.d.ts", require: "./dist-cjs/index.cjs", import: "./dist-mjs/index.mjs", default: "./dist-mjs/index.mjs" } }, files: ["src", "dist-types", "dist-cjs", "dist-mjs", "!src/**/*.test.ts", "!src/**/*.spec.ts", "!dist-types/**/*.test.d.ts", "!dist-types/**/*.spec.d.ts", "!dist-cjs/**/*.test.cjs", "!dist-cjs/**/*.spec.cjs", "!dist-mjs/**/*.test.mjs", "!dist-mjs/**/*.spec.mjs", "SECURITY.md"], scripts: { "build:dist-cjs": 'rimraf dist-cjs && npx builder --type=commonjs --sourceMap --entryPoint=index.ts --outDir=dist-cjs --outFile=index.cjs && echo "module.exports = module.exports.default;" >> dist-cjs/index.cjs && node dist-cjs/index.cjs', "build:dist-mjs": "rimraf dist-mjs && npx builder --type=module --sourceMap --outDir=dist-mjs && node dist-mjs/index.mjs", "build:dist-types": "rimraf dist-types && npx builder --type=types --outDir=dist-types", "ci:compile": "tsc --noEmit", "ci:coverage": 'NODE_OPTIONS="--disable-warning ExperimentalWarning --experimental-vm-modules" jest --coverage=true', "ci:lint": "npm run lint", "ci:style": "npm run prettier", "ci:test": 'NODE_OPTIONS="--disable-warning ExperimentalWarning --experimental-vm-modules" jest --coverage=false', lint: "eslint --max-warnings 0 --ignore-path .gitignore .", "lint:fix": "eslint --ignore-path .gitignore . --fix", prepublishOnly: "npm run build:dist-types && npm run build:dist-cjs && npm run build:dist-mjs", prettier: "prettier --ignore-path .gitignore --list-different .", "prettier:fix": "prettier --ignore-path .gitignore --write .", test: "npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style" }, prettier: "@checkdigit/prettier-config", jest: { preset: "@checkdigit/jest-config" }, devDependencies: { "@checkdigit/jest-config": "^6.0.2", "@checkdigit/prettier-config": "^5.5.0", "@checkdigit/typescript-config": "^6.0.0", "@types/eslint": "^8.56.10", "@typescript-eslint/eslint-plugin": "^7.16.0", "@typescript-eslint/parser": "^7.16.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-eslint-plugin": "^6.2.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-no-only-tests": "^3.1.0", "eslint-plugin-no-secrets": "^1.0.2", "eslint-plugin-node": "^11.1.0", "eslint-plugin-sonarjs": "^0.24.0" }, peerDependencies: { eslint: ">=8 <9" }, engines: { node: ">=20.13" } };
110
-
111
- // src/get-documentation-url.ts
112
- function getDocumentationUrl(ruleId2) {
113
- return `${package_default.repository.url}/blob/v${package_default.version}/docs/rules/${ruleId2}.md`;
114
- }
115
-
116
- // src/invalid-json-stringify.ts
117
- var INVALID_JSON_STRINGIFY = "INVALID_JSON_STRINGIFY";
118
- var ruleId = "invalid-json-stringify";
119
- var DEFAULT_OPTIONS = ["error|.*Error"];
120
- var invalid_json_stringify_default = {
121
- meta: {
122
- type: "problem",
123
- docs: {
124
- description: "Serializing objects with JSON.stringify() can lose information for certain data payload (e.g. Error). This rule disallows serializing such objects by matching the name of the first parameter passed to JSON.stringify() using Regexp pattern.",
125
- url: getDocumentationUrl(ruleId)
126
- },
127
- schema: [
128
- {
129
- type: "array",
130
- items: {
131
- description: "Regular expression pattern to match the name of the first parameter of JSON.stringify().",
132
- type: "string",
133
- minItems: 1
134
- }
135
- }
136
- ],
137
- messages: {
138
- [INVALID_JSON_STRINGIFY]: `Serializing paremeter "{{ parameterName }}" with JSON.stringify can potentially lose information.`
139
- }
140
- },
141
- create(context) {
142
- const options = context.options[0] ?? DEFAULT_OPTIONS;
143
- const invalidParameterNamePatterns = options.map((option) => new RegExp(option, "u"));
144
- return {
145
- CallExpression(node) {
146
- if (node.callee.type === "MemberExpression" && node.callee.object.type === "Identifier" && node.callee.object.name === "JSON" && node.callee.property.type === "Identifier" && node.callee.property.name === "stringify") {
147
- const argument = node.arguments[0];
148
- if (argument !== void 0 && argument.type === "Identifier") {
149
- invalidParameterNamePatterns.some((invalidParameterNamePattern) => {
150
- if (invalidParameterNamePattern.test(argument.name)) {
151
- context.report({
152
- node,
153
- messageId: INVALID_JSON_STRINGIFY,
154
- data: {
155
- parameterName: argument.name
156
- }
157
- });
158
- return true;
159
- }
160
- return false;
161
- });
162
- }
163
- }
164
- }
165
- };
166
- }
167
- };
168
-
169
179
  // src/no-card-numbers.ts
170
180
  var CARD_NUMBER_FOUND = "CARD_NUMBER_FOUND";
171
181
  var CARD_NUMBERS_FOUND = "CARD_NUMBERS_FOUND";
@@ -755,7 +765,7 @@ var src_default = {
755
765
  "regular-expression-comment": regular_expression_comment_default,
756
766
  "require-assert-predicate-rejects-throws": require_assert_predicate_rejects_throws_default,
757
767
  "object-literal-response": object_literal_response_default,
758
- "invalid-json-stringify": invalid_json_stringify_default
768
+ [ruleId]: invalid_json_stringify_default
759
769
  },
760
770
  configs: {
761
771
  all: {
@@ -769,7 +779,7 @@ var src_default = {
769
779
  "@checkdigit/require-assert-predicate-rejects-throws": "error",
770
780
  "@checkdigit/object-literal-response": "error",
771
781
  "@checkdigit/no-test-import": "error",
772
- "@checkdigit/invalid-json-stringify": "error"
782
+ [`@checkdigit/${ruleId}`]: "error"
773
783
  }
774
784
  },
775
785
  recommended: {
@@ -783,10 +793,10 @@ var src_default = {
783
793
  "@checkdigit/require-assert-predicate-rejects-throws": "error",
784
794
  "@checkdigit/object-literal-response": "error",
785
795
  "@checkdigit/no-test-import": "error",
786
- "@checkdigit/invalid-json-stringify": "error"
796
+ [`@checkdigit/${ruleId}`]: "error"
787
797
  }
788
798
  }
789
799
  }
790
800
  };
791
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIiwgIi4uL3NyYy9maWxlLXBhdGgtY29tbWVudC50cyIsICIuLi9wYWNrYWdlLmpzb24iLCAiLi4vc3JjL2dldC1kb2N1bWVudGF0aW9uLXVybC50cyIsICIuLi9zcmMvaW52YWxpZC1qc29uLXN0cmluZ2lmeS50cyIsICIuLi9zcmMvbm8tY2FyZC1udW1iZXJzLnRzIiwgIi4uL3NyYy9uby10ZXN0LWltcG9ydC50cyIsICIuLi9zcmMvbm8tdXVpZC50cyIsICIuLi9zcmMvbm8td2FsbGFieS1jb21tZW50LnRzIiwgIi4uL3NyYy9vYmplY3QtbGl0ZXJhbC1yZXNwb25zZS50cyIsICIuLi9zcmMvcmVndWxhci1leHByZXNzaW9uLWNvbW1lbnQudHMiLCAiLi4vc3JjL3JlcXVpcmUtYXNzZXJ0LXByZWRpY2F0ZS1yZWplY3RzLXRocm93cy50cyIsICIuLi9zcmMvcmVxdWlyZS1zdHJpY3QtYXNzZXJ0LnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7QUNVQSxJQUFPLDRCQUFRO0FBQUEsRUFDYixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsTUFDYixLQUFLO0FBQUEsSUFDUDtBQUFBLElBQ0EsU0FBUztBQUFBLEVBQ1g7QUFBQSxFQUNBLE9BQU8sU0FBUztBQUNkLFVBQU0sWUFBWSxRQUFRLFdBQVcsU0FBUyxFQUFFLENBQUM7QUFDakQsVUFBTSxlQUFlLFFBQVEsU0FBUyxNQUFNLE1BQU0sRUFBRSxDQUFDO0FBRXJELFFBQUksY0FBYyxVQUFhLGlCQUFpQixRQUFXO0FBQ3pELGFBQU8sQ0FBQztBQUFBLElBQ1Y7QUFFQSxRQUFJLENBQUMsVUFBVSxXQUFXLElBQUksR0FBRztBQUMvQixVQUFJLFVBQVUsV0FBVyxJQUFJLEdBQUc7QUFDOUIsZ0JBQVEsT0FBTztBQUFBLFVBQ2IsS0FBSztB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Q0FBaUM7QUFBQSxRQUNqQyx1QkFBdUI7QUFBQSxRQUN2QixxQ0FBcUM7QUFBQSxRQUNyQyxrQ0FBa0M7QUFBQSxRQUNsQywwQ0FBMEM7QUFBQSxRQUMxQyx1REFBdUQ7QUFBQSxRQUN2RCx1Q0FBdUM7QUFBQSxRQUN2Qyw4QkFBOEI7QUFBQSxRQUM5QixzQ0FBc0M7QUFBQSxNQUN4QztBQUFBLElBQ0Y7QUFBQSxJQUNBLGFBQWE7QUFBQSxNQUNYLE9BQU87QUFBQSxRQUNMLCtCQUErQjtBQUFBLFFBQy9CLGlDQUFpQztBQUFBLFFBQ2pDLHVCQUF1QjtBQUFBLFFBQ3ZCLHFDQUFxQztBQUFBLFFBQ3JDLGtDQUFrQztBQUFBLFFBQ2xDLDBDQUEwQztBQUFBLFFBQzFDLHVEQUF1RDtBQUFBLFFBQ3ZELHVDQUF1QztBQUFBLFFBQ3ZDLDhCQUE4QjtBQUFBLFFBQzlCLHNDQUFzQztBQUFBLE1BQ3hDO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFsicnVsZUlkIiwgIkRFRkFVTFRfT1BUSU9OUyJdCn0K
801
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIiwgIi4uL3BhY2thZ2UuanNvbiIsICIuLi9zcmMvZ2V0LWRvY3VtZW50YXRpb24tdXJsLnRzIiwgIi4uL3NyYy9pbnZhbGlkLWpzb24tc3RyaW5naWZ5LnRzIiwgIi4uL3NyYy9maWxlLXBhdGgtY29tbWVudC50cyIsICIuLi9zcmMvbm8tY2FyZC1udW1iZXJzLnRzIiwgIi4uL3NyYy9uby10ZXN0LWltcG9ydC50cyIsICIuLi9zcmMvbm8tdXVpZC50cyIsICIuLi9zcmMvbm8td2FsbGFieS1jb21tZW50LnRzIiwgIi4uL3NyYy9vYmplY3QtbGl0ZXJhbC1yZXNwb25zZS50cyIsICIuLi9zcmMvcmVndWxhci1leHByZXNzaW9uLWNvbW1lbnQudHMiLCAiLi4vc3JjL3JlcXVpcmUtYXNzZXJ0LXByZWRpY2F0ZS1yZWplY3RzLXRocm93cy50cyIsICIuLi9zcmMvcmVxdWlyZS1zdHJpY3QtYXNzZXJ0LnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7QUNBQSx3QkFBQyxNQUFPLDZCQUE0QixTQUFVLG9CQUFtQixhQUFjLDhCQUE2QixVQUFXLENBQUMsVUFBUyxjQUFjLEdBQUUsVUFBVyxzREFBcUQsTUFBTyxFQUFDLEtBQU0scURBQW9ELEdBQUUsWUFBYSxFQUFDLE1BQU8sT0FBTSxLQUFNLDhDQUE2QyxHQUFFLFNBQVUsT0FBTSxRQUFTLG9CQUFtQixhQUFjLE9BQU0sTUFBTyxVQUFTLFNBQVUsRUFBQyxLQUFJLEVBQUMsT0FBUSwyQkFBMEIsU0FBVSx3QkFBdUIsUUFBUyx3QkFBdUIsU0FBVSx1QkFBc0IsRUFBQyxHQUFFLE9BQVEsQ0FBQyxPQUFNLGNBQWEsWUFBVyxZQUFXLHFCQUFvQixxQkFBb0IsOEJBQTZCLDhCQUE2QiwyQkFBMEIsMkJBQTBCLDJCQUEwQiwyQkFBMEIsYUFBYSxHQUFFLFNBQVUsRUFBQyxrQkFBaUIsOE5BQStOLGtCQUFpQix5R0FBd0csb0JBQW1CLHFFQUFvRSxjQUFhLGdCQUFlLGVBQWMsdUdBQXdHLFdBQVUsZ0JBQWUsWUFBVyxvQkFBbUIsV0FBVSx3R0FBeUcsTUFBTyxzREFBcUQsWUFBVywyQ0FBMEMsZ0JBQWlCLGdGQUErRSxVQUFXLHdEQUF1RCxnQkFBZSwrQ0FBOEMsTUFBTywrRUFBOEUsR0FBRSxVQUFXLCtCQUE4QixNQUFPLEVBQUMsUUFBUywwQkFBeUIsR0FBRSxpQkFBa0IsRUFBQywyQkFBMEIsVUFBUywrQkFBOEIsVUFBUyxpQ0FBZ0MsVUFBUyxpQkFBZ0IsWUFBVyxvQ0FBbUMsV0FBVSw2QkFBNEIsV0FBVSwwQkFBeUIsVUFBUywrQkFBOEIsVUFBUyx3QkFBdUIsV0FBVSwrQkFBOEIsVUFBUyw0QkFBMkIsVUFBUyxzQkFBcUIsV0FBVSx5QkFBd0IsVUFBUyxHQUFFLGtCQUFtQixFQUFDLFFBQVMsU0FBUSxHQUFFLFNBQVUsRUFBQyxNQUFPLFVBQVMsRUFBQzs7O0FDSXhuRixTQUFSLG9CQUFxQ0EsU0FBd0I7QUFDbEUsU0FBTyxHQUFHLGdCQUFZLFdBQVcsR0FBRyxVQUFVLGdCQUFZLE9BQU8sZUFBZUEsT0FBTTtBQUN4Rjs7O0FDS08sSUFBTSxTQUFTO0FBQ3RCLElBQU0seUJBQXlCO0FBQy9CLElBQU0sa0JBQWtCLENBQUMsZUFBZTtBQUV4QyxJQUFPLGlDQUFRO0FBQUEsRUFDYixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUNFO0FBQUEsTUFDRixLQUFLLG9CQUFvQixNQUFNO0FBQUEsSUFDakM7QUFBQSxJQUNBLFFBQVE7QUFBQSxNQUNOO0FBQUEsUUFDRSxNQUFNO0FBQUEsUUFDTixPQUFPO0FBQUEsVUFDTCxhQUFhO0FBQUEsVUFDYixNQUFNO0FBQUEsVUFDTixVQUFVO0FBQUEsUUFDWjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixDQUFDLHNCQUFzQixHQUFHO0FBQUEsSUFDNUI7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLEVBQ2xCO0FBQUEsRUFDQSxPQUFPLFNBQVM7QUFDZCxVQUFNLFVBQVcsUUFBUSxRQUFRLENBQUMsS0FBSztBQUN2QyxVQUFNLCtCQUErQixRQUFRLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxRQUFRLEdBQUcsQ0FBQztBQUVwRixXQUFPO0FBQUEsTUFDTCxlQUFlLE1BQU07QUFDbkIsWUFDRSxLQUFLLE9BQU8sU0FBUyxzQkFDckIsS0FBSyxPQUFPLE9BQU8sU0FBUyxnQkFDNUIsS0FBSyxPQUFPLE9BQU8sU0FBUyxVQUM1QixLQUFLLE9BQU8sU0FBUyxTQUFTLGdCQUM5QixLQUFLLE9BQU8sU0FBUyxTQUFTLGFBQzlCO0FBQ0EsZ0JBQU0sV0FBVyxLQUFLLFVBQVUsQ0FBQztBQUNqQyxjQUFJLGFBQWEsVUFBYSxTQUFTLFNBQVMsY0FBYztBQUM1RCx5Q0FBNkIsS0FBSyxDQUFDLGdDQUFnQztBQUNqRSxrQkFBSSw0QkFBNEIsS0FBSyxTQUFTLElBQUksR0FBRztBQUNuRCx3QkFBUSxPQUFPO0FBQUEsa0JBQ2I7QUFBQSxrQkFDQSxXQUFXO0FBQUEsa0JBQ1gsTUFBTTtBQUFBLG9CQUNKLGVBQWUsU0FBUztBQUFBLGtCQUMxQjtBQUFBLGtCQUNBLFNBQVM7QUFBQSxvQkFDUDtBQUFBLHNCQUNFLE1BQU0sMEJBQTBCLFNBQVMsSUFBSSxpQkFBaUIsU0FBUyxJQUFJO0FBQUEsc0JBQzNFLElBQUksT0FBTztBQUNULCtCQUFPLE1BQU0sWUFBWSxNQUFNLFVBQVUsU0FBUyxJQUFJLEdBQUc7QUFBQSxzQkFDM0Q7QUFBQSxvQkFDRjtBQUFBLGtCQUNGO0FBQUEsZ0JBQ0YsQ0FBQztBQUNELHVCQUFPO0FBQUEsY0FDVDtBQUNBLHFCQUFPO0FBQUEsWUFDVCxDQUFDO0FBQUEsVUFDSDtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjs7O0FDdEVBLElBQU8sNEJBQVE7QUFBQSxFQUNiLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxNQUNiLEtBQUs7QUFBQSxJQUNQO0FBQUEsSUFDQSxTQUFTO0FBQUEsRUFDWDtBQUFBLEVBQ0EsT0FBTyxTQUFTO0FBQ2QsVUFBTSxZQUFZLFFBQVEsV0FBVyxTQUFTLEVBQUUsQ0FBQztBQUNqRCxVQUFNLGVBQWUsUUFBUSxTQUFTLE1BQU0sTUFBTSxFQUFFLENBQUM7QUFFckQsUUFBSSxjQUFjLFVBQWEsaUJBQWlCLFFBQVc7QUFDekQsYUFBTyxDQUFDO0FBQUEsSUFDVjtBQUVBLFFBQUksQ0FBQyxVQUFVLFdBQVcsSUFBSSxHQUFHO0FBQy9CLFVBQUksVUFBVSxXQUFXLElBQUksR0FBRztBQUM5QixnQkFBUSxPQUFPO0FBQUEsVUFDYixLQUFLO0FBQUEsWUFDSCxPQUFPO0FBQUEsY0FDTCxNQUFNO0FBQUEsY0FDTixRQUFRO0FBQUEsWUFDVjtBQUFBLFlBQ0EsS0FBSztBQUFBLGNBQ0gsTUFBTTtBQUFBLGNBQ04sUUFBUTtBQUFBLFlBQ1Y7QUFBQSxVQUNGO0FBQUEsVUFDQSxTQUFTO0FBQUEsVUFDVCxJQUFJLE9BQXVCO0FBQ3pCLG1CQUFPLE1BQU0sc0JBQXNCLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxZQUFZO0FBQUE7QUFBQSxDQUFNO0FBQUEsVUFDckU7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNILE9BQU87QUFDTCxnQkFBUSxPQUFPO0FBQUEsVUFDYixLQUFLO0FBQUEsWUFDSCxPQUFPO0FBQUEsY0FDTCxNQUFNO0FBQUEsY0FDTixRQUFRO0FBQUEsWUFDVjtBQUFBLFlBQ0EsS0FBSztBQUFBLGNBQ0gsTUFBTTtBQUFBLGNBQ04sUUFBUTtBQUFBLFlBQ1Y7QUFBQSxVQUNGO0FBQUEsVUFDQSxTQUFTO0FBQUEsVUFDVCxJQUFJLE9BQXVCO0FBQ3pCLG1CQUFPLE1BQU0sc0JBQXNCLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxZQUFZO0FBQUE7QUFBQSxDQUFNO0FBQUEsVUFDckU7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNIO0FBQUEsSUFDRixPQUFPO0FBQ0wsWUFBTSxnQkFBZ0IsVUFBVSxNQUFNLEtBQUssRUFBRSxDQUFDO0FBQzlDLFVBQUksaUJBQWlCLGVBQWU7QUFDbEMsZ0JBQVEsT0FBTztBQUFBLFVBQ2IsS0FBSztBQUFBLFlBQ0gsT0FBTztBQUFBLGNBQ0wsTUFBTTtBQUFBLGNBQ04sUUFBUTtBQUFBLFlBQ1Y7QUFBQSxZQUNBLEtBQUs7QUFBQSxjQUNILE1BQU07QUFBQSxjQUNOLFFBQVE7QUFBQSxZQUNWO0FBQUEsVUFDRjtBQUFBLFVBQ0EsU0FBUztBQUFBLFVBQ1QsSUFBSSxPQUF1QjtBQUN6QixtQkFBTyxNQUFNLGlCQUFpQixDQUFDLEdBQUcsVUFBVSxNQUFNLEdBQUcsTUFBTSxZQUFZLEVBQUU7QUFBQSxVQUMzRTtBQUFBLFFBQ0YsQ0FBQztBQUFBLE1BQ0g7QUFBQSxJQUNGO0FBRUEsV0FBTyxDQUFDO0FBQUEsRUFDVjtBQUNGOzs7QUM1RUEsSUFBTSxvQkFBb0I7QUFDMUIsSUFBTSxxQkFBcUI7QUFDM0IsSUFBTSxrQkFBa0I7QUFDeEIsSUFBTSxtQkFBbUI7QUFBQSxFQUN2QjtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUNGO0FBRUEsU0FBUyxVQUFVLFlBQW9CO0FBQ3JDLFNBQ0UsV0FDRyxNQUFNLEVBQUUsRUFDUixRQUFRLEVBQ1IsSUFBSSxDQUFDLFVBQVUsU0FBUyxPQUFPLEVBQUUsQ0FBQyxFQUNsQyxPQUFPLENBQUMsZUFBZSxjQUFjLFVBQVU7QUFDOUMsUUFBSSxRQUFRO0FBQ1osUUFBSSxRQUFRLE1BQU0sR0FBRztBQUNuQixlQUFTO0FBRVQsVUFBSSxRQUFRLEdBQUc7QUFDYixnQkFBUyxRQUFRLEtBQU07QUFBQSxNQUN6QjtBQUFBLElBQ0Y7QUFDQSxXQUFPLGdCQUFnQjtBQUFBLEVBQ3pCLEdBQUcsQ0FBQyxJQUNKLE9BQ0Y7QUFFSjtBQUVBLFNBQVMsb0JBQW9CLE9BQWUsU0FBMkIsTUFBYSxLQUFzQjtBQUN4RyxRQUFNLFVBQVUsTUFBTSxNQUFNLGVBQWU7QUFDM0MsTUFBSSxZQUFZLE1BQU07QUFDcEI7QUFBQSxFQUNGO0FBQ0EsUUFBTSxjQUFjLFFBQVE7QUFBQSxJQUMxQixDQUFDLFVBQ0MsVUFBVSxLQUFLLEtBQ2YsQ0FBQyxpQkFBaUIsU0FBUyxLQUFLO0FBQUEsSUFFaEMsQ0FBQyxNQUFNLFdBQVcsR0FBRyxLQUNyQixDQUFDLE1BQU0sV0FBVyxHQUFHLEtBQ3JCLENBQUMsTUFBTSxXQUFXLEdBQUcsS0FDckIsQ0FBQyxNQUFNLFdBQVcsR0FBRyxLQUNyQixDQUFDLE1BQU0sV0FBVyxHQUFHO0FBQUEsRUFDekI7QUFDQSxNQUFJLFlBQVksV0FBVyxHQUFHO0FBQzVCLFVBQU0sYUFBYSxZQUFZLENBQUM7QUFDaEMsUUFBSSxlQUFlLFFBQVc7QUFDNUIsVUFBSSxTQUFTLFFBQVc7QUFDdEIsZ0JBQVEsT0FBTztBQUFBLFVBQ2IsV0FBVztBQUFBLFVBQ1gsTUFBTTtBQUFBLFlBQ0osUUFBUTtBQUFBLFVBQ1Y7QUFBQSxVQUNBO0FBQUEsUUFDRixDQUFDO0FBQUEsTUFDSCxXQUFXLFFBQVEsUUFBVztBQUM1QixnQkFBUSxPQUFPO0FBQUEsVUFDYixXQUFXO0FBQUEsVUFDWCxNQUFNO0FBQUEsWUFDSixRQUFRO0FBQUEsVUFDVjtBQUFBLFVBQ0EsS0FBSztBQUFBLFlBQ0gsT0FBTyxJQUFJO0FBQUEsWUFDWCxLQUFLLElBQUk7QUFBQSxVQUNYO0FBQUEsUUFDRixDQUFDO0FBQUEsTUFDSDtBQUFBLElBQ0Y7QUFBQSxFQUNGLFdBQVcsWUFBWSxTQUFTLEdBQUc7QUFDakMsUUFBSSxTQUFTLFFBQVc7QUFDdEIsY0FBUSxPQUFPO0FBQUEsUUFDYixXQUFXO0FBQUEsUUFDWCxNQUFNO0FBQUEsVUFDSixTQUFTLFFBQVEsS0FBSyxJQUFJO0FBQUEsUUFDNUI7QUFBQSxRQUNBO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSCxXQUFXLFFBQVEsUUFBVztBQUM1QixjQUFRLE9BQU87QUFBQSxRQUNiLFdBQVc7QUFBQSxRQUNYLE1BQU07QUFBQSxVQUNKLFNBQVMsUUFBUSxLQUFLLElBQUk7QUFBQSxRQUM1QjtBQUFBLFFBQ0EsS0FBSztBQUFBLFVBQ0gsT0FBTyxJQUFJO0FBQUEsVUFDWCxLQUFLLElBQUk7QUFBQSxRQUNYO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjtBQUVBLElBQU8sMEJBQVE7QUFBQSxFQUNiLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxNQUNiLEtBQUs7QUFBQSxJQUNQO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixDQUFDLGlCQUFpQixHQUFHO0FBQUEsTUFDckIsQ0FBQyxrQkFBa0IsR0FBRztBQUFBLElBQ3hCO0FBQUEsRUFDRjtBQUFBLEVBQ0EsT0FBTyxTQUFTO0FBQ2QsVUFBTSxhQUFhLFFBQVE7QUFDM0IsVUFBTSxXQUFXLFdBQVcsZUFBZTtBQUUzQyxhQUFTLFFBQVEsQ0FBQyxZQUFZO0FBQzVCLFVBQUksUUFBUSxRQUFRLFVBQWEsUUFBUSxRQUFRLE1BQU07QUFDckQsNEJBQW9CLFFBQVEsT0FBTyxTQUFTLFFBQVcsUUFBUSxHQUFHO0FBQUEsTUFDcEU7QUFBQSxJQUNGLENBQUM7QUFDRCxXQUFPO0FBQUEsTUFDTCxRQUFRLE1BQU07QUFDWixZQUFJLEtBQUssVUFBVSxRQUFXO0FBQzVCO0FBQUEsUUFDRjtBQUNBLFlBQUksT0FBTyxLQUFLLFVBQVUsWUFBWSxPQUFPLEtBQUssVUFBVSxVQUFVO0FBQ3BFO0FBQUEsUUFDRjtBQUNBLGNBQU0sUUFBUSxPQUFPLEtBQUssS0FBSztBQUMvQiw0QkFBb0IsT0FBTyxTQUFTLElBQUk7QUFBQSxNQUMxQztBQUFBLE1BQ0EsZ0JBQWdCLE1BQU07QUFDcEIsWUFBSSxPQUFPLEtBQUssTUFBTSxXQUFXLFVBQVU7QUFDekM7QUFBQSxRQUNGO0FBQ0EsNEJBQW9CLEtBQUssTUFBTSxRQUFRLFNBQVMsSUFBSTtBQUFBLE1BQ3REO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjs7O0FDcklBLElBQU1DLG1CQUFrQixFQUFFLGlCQUFpQiw0QkFBNEI7QUFDaEUsSUFBTSxpQkFBaUI7QUFFOUIsSUFBTyx5QkFBUTtBQUFBLEVBQ2IsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFDRTtBQUFBLE1BQ0YsS0FBSztBQUFBLElBQ1A7QUFBQSxJQUNBLFFBQVE7QUFBQSxNQUNOO0FBQUEsUUFDRSxNQUFNO0FBQUEsUUFDTixZQUFZO0FBQUEsVUFDVixpQkFBaUI7QUFBQSxZQUNmLGFBQWE7QUFBQSxZQUNiLE1BQU07QUFBQSxVQUNSO0FBQUEsUUFDRjtBQUFBLFFBQ0Esc0JBQXNCO0FBQUEsTUFDeEI7QUFBQSxJQUNGO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixDQUFDLGNBQWMsR0FBRztBQUFBLElBQ3BCO0FBQUEsRUFDRjtBQUFBLEVBQ0EsT0FBTyxTQUFTO0FBQ2QsVUFBTSxVQUFVLEVBQUUsR0FBR0Esa0JBQWlCLEdBQUksUUFBUSxRQUFRLENBQUMsRUFBOEI7QUFDekYsVUFBTSxpQkFBaUIsSUFBSSxPQUFPLFFBQVEsaUJBQWlCLEdBQUc7QUFFOUQsV0FBTztBQUFBLE1BQ0wsa0JBQWtCLE1BQU07QUFDdEIsWUFBSSxPQUFPLEtBQUssT0FBTyxVQUFVLFlBQVksZUFBZSxLQUFLLEtBQUssT0FBTyxLQUFLLEdBQUc7QUFDbkYsa0JBQVEsT0FBTztBQUFBLFlBQ2I7QUFBQSxZQUNBLFdBQVc7QUFBQSxZQUNYLE1BQU07QUFBQSxjQUNKLGdCQUFnQixRQUFRO0FBQUEsY0FDeEIsbUJBQW1CLEtBQUssT0FBTztBQUFBLGNBQy9CLGlCQUFpQixRQUFRO0FBQUEsWUFDM0I7QUFBQSxVQUNGLENBQUM7QUFBQSxRQUNIO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0Y7OztBQ3JEQSxJQUFNLGFBQWE7QUFDbkIsSUFBTSxjQUFjO0FBQ3BCLElBQU0sWUFBWTtBQUVsQixTQUFTLGFBQWEsT0FBZSxTQUEyQixNQUFhLEtBQXNCO0FBQ2pHLFFBQU0sVUFBVSxNQUFNLE1BQU0sU0FBUztBQUNyQyxNQUFJLFlBQVksTUFBTTtBQUNwQjtBQUFBLEVBQ0Y7QUFDQSxNQUFJLFFBQVEsV0FBVyxHQUFHO0FBQ3hCLFFBQUksU0FBUyxRQUFXO0FBQ3RCLGNBQVEsT0FBTztBQUFBLFFBQ2IsV0FBVztBQUFBLFFBQ1gsTUFBTTtBQUFBLFVBQ0osTUFBTSxRQUFRLENBQUM7QUFBQSxRQUNqQjtBQUFBLFFBQ0E7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNILFdBQVcsUUFBUSxRQUFXO0FBQzVCLGNBQVEsT0FBTztBQUFBLFFBQ2IsV0FBVztBQUFBLFFBQ1gsTUFBTTtBQUFBLFVBQ0osTUFBTSxRQUFRLENBQUM7QUFBQSxRQUNqQjtBQUFBLFFBQ0EsS0FBSztBQUFBLFVBQ0gsT0FBTyxJQUFJO0FBQUEsVUFDWCxLQUFLLElBQUk7QUFBQSxRQUNYO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0YsV0FBVyxRQUFRLFNBQVMsR0FBRztBQUM3QixRQUFJLFNBQVMsUUFBVztBQUN0QixjQUFRLE9BQU87QUFBQSxRQUNiLFdBQVc7QUFBQSxRQUNYLE1BQU07QUFBQSxVQUNKLE9BQU8sUUFBUSxLQUFLLElBQUk7QUFBQSxRQUMxQjtBQUFBLFFBQ0E7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNILFdBQVcsUUFBUSxRQUFXO0FBQzVCLGNBQVEsT0FBTztBQUFBLFFBQ2IsV0FBVztBQUFBLFFBQ1gsTUFBTTtBQUFBLFVBQ0osT0FBTyxRQUFRLEtBQUssSUFBSTtBQUFBLFFBQzFCO0FBQUEsUUFDQSxLQUFLO0FBQUEsVUFDSCxPQUFPLElBQUk7QUFBQSxVQUNYLEtBQUssSUFBSTtBQUFBLFFBQ1g7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGO0FBRUEsSUFBTyxrQkFBUTtBQUFBLEVBQ2IsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLE1BQ2IsS0FBSztBQUFBLElBQ1A7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLENBQUMsVUFBVSxHQUFHO0FBQUEsTUFDZCxDQUFDLFdBQVcsR0FBRztBQUFBLElBQ2pCO0FBQUEsRUFDRjtBQUFBLEVBQ0EsT0FBTyxTQUFTO0FBQ2QsVUFBTSxhQUFhLFFBQVE7QUFDM0IsVUFBTSxXQUFXLFdBQVcsZUFBZTtBQUUzQyxhQUFTLFFBQVEsQ0FBQyxZQUFZO0FBQzVCLFVBQUksUUFBUSxRQUFRLFVBQWEsUUFBUSxRQUFRLE1BQU07QUFDckQscUJBQWEsUUFBUSxPQUFPLFNBQVMsUUFBVyxRQUFRLEdBQUc7QUFBQSxNQUM3RDtBQUFBLElBQ0YsQ0FBQztBQUNELFdBQU87QUFBQSxNQUNMLFFBQVEsTUFBTTtBQUNaLFlBQUksS0FBSyxVQUFVLFFBQVc7QUFDNUI7QUFBQSxRQUNGO0FBQ0EsWUFBSSxPQUFPLEtBQUssVUFBVSxVQUFVO0FBQ2xDO0FBQUEsUUFDRjtBQUNBLGNBQU0sUUFBUSxLQUFLO0FBQ25CLHFCQUFhLE9BQU8sU0FBUyxJQUFJO0FBQUEsTUFDbkM7QUFBQSxNQUNBLGdCQUFnQixNQUFNO0FBQ3BCLFlBQUksT0FBTyxLQUFLLE1BQU0sV0FBVyxVQUFVO0FBQ3pDO0FBQUEsUUFDRjtBQUNBLHFCQUFhLEtBQUssTUFBTSxRQUFRLFNBQVMsSUFBSTtBQUFBLE1BQy9DO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjs7O0FDOUZBLElBQU0sZUFBZTtBQUNyQixJQUFNLGVBQWU7QUFDckIsU0FBUyxxQkFBcUIsU0FBMkIsWUFBd0IsT0FBZSxLQUFtQjtBQUNqSCxVQUFRLE9BQU87QUFBQSxJQUNiLEtBQUs7QUFBQSxNQUNILE9BQU8sV0FBVyxnQkFBZ0IsS0FBSztBQUFBLE1BQ3ZDLEtBQUssV0FBVyxnQkFBZ0IsR0FBRztBQUFBLElBQ3JDO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxLQUFLLENBQUMsVUFBVSxNQUFNLFlBQVksQ0FBQyxPQUFPLEdBQUcsQ0FBQztBQUFBLEVBQ2hELENBQUM7QUFDSDtBQUVBLFNBQVMsbUJBQW1CLFNBQTJCLFlBQXdCLFNBQXdCO0FBQ3JHLE1BQUksUUFBUSxLQUFLO0FBQ2YsVUFBTSxPQUFPLFdBQVcsU0FBUyxFQUFFLFFBQVEsSUFBSSxNQUFNLE9BQU8sQ0FBQztBQUM3RCxRQUFJLFNBQVMsUUFBVztBQUN0QixVQUFJO0FBQ0osY0FBUSxRQUFRLGFBQWEsS0FBSyxJQUFJLE9BQU8sTUFBTTtBQUNqRCxjQUFNLFFBQVEsV0FBVyxnQkFBZ0IsRUFBRSxNQUFNLFFBQVEsSUFBSSxNQUFNLE1BQU0sUUFBUSxNQUFNLE1BQU0sQ0FBQztBQUM5RixjQUFNLE1BQU0sV0FBVyxnQkFBZ0IsRUFBRSxNQUFNLFFBQVEsSUFBSSxNQUFNLE1BQU0sUUFBUSxRQUFRLElBQUksSUFBSSxPQUFPLENBQUM7QUFDdkcsNkJBQXFCLFNBQVMsWUFBWSxPQUFPLEdBQUc7QUFBQSxNQUN0RDtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0Y7QUFFQSxTQUFTLG9CQUFvQixTQUEyQixZQUF3QixTQUF3QjtBQUN0RyxRQUFNLGdCQUFnQixRQUFRLE1BQU0sTUFBTSxJQUFJO0FBQzlDLFFBQU0sb0JBQW9CO0FBQzFCLGdCQUFjLFFBQVEsQ0FBQyxpQkFBaUI7QUFDdEMsUUFBSSxZQUFZLFFBQVEsS0FBSyxNQUFNLFFBQVE7QUFDM0MsVUFBTSxVQUFVLFFBQVEsS0FBSyxJQUFJLFFBQVE7QUFDekMsUUFBSTtBQUNKLFdBQU8sUUFBUSxRQUFRLFFBQVEsYUFBYSxLQUFLLFlBQVksT0FBTyxNQUFNO0FBQ3hFLFVBQUksUUFBUTtBQUNaLFVBQUksTUFBTTtBQUNWLFlBQU0sc0JBQXNCLGtCQUFrQixLQUFLLFFBQVEsTUFBTSxLQUFLLENBQUM7QUFDdkUsVUFBSSxxQkFBcUI7QUFDdkIsZ0JBQVEsV0FBVyxnQkFBZ0IsRUFBRSxNQUFNLFFBQVEsSUFBSSxNQUFNLE1BQU0sUUFBUSxRQUFRLElBQUksTUFBTSxPQUFPLENBQUM7QUFDckcsY0FBTSxXQUFXLGdCQUFnQixFQUFFLE1BQU0sUUFBUSxJQUFJLElBQUksTUFBTSxRQUFRLFFBQVEsSUFBSSxJQUFJLE9BQU8sQ0FBQztBQUFBLE1BQ2pHLE9BQU87QUFDTCxZQUFJLGFBQWE7QUFDakIsZUFBTyxhQUFhLFNBQVM7QUFDM0IsZ0JBQU0sT0FBTyxXQUFXLFNBQVMsRUFBRSxTQUFTO0FBQzVDLGNBQUksTUFBTSxTQUFTLE1BQU0sS0FBSyxLQUFLLE9BQU87QUFDeEMseUJBQWE7QUFDYjtBQUFBLFVBQ0Y7QUFDQTtBQUFBLFFBQ0Y7QUFDQSxnQkFBUSxXQUFXLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxHQUFHLFFBQVEsUUFBUSxJQUFJLE1BQU0sT0FBTyxDQUFDO0FBQzdGLGNBQU0sV0FBVyxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsR0FBRyxRQUFRLEVBQUUsQ0FBQztBQUFBLE1BQ3RFO0FBQ0EsMkJBQXFCLFNBQVMsWUFBWSxPQUFPLEdBQUc7QUFBQSxJQUN0RDtBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBRUEsSUFBTyw2QkFBUTtBQUFBLEVBQ2IsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFDRTtBQUFBLE1BQ0YsS0FBSztBQUFBLElBQ1A7QUFBQSxJQUNBLFNBQVM7QUFBQSxFQUNYO0FBQUEsRUFDQSxPQUFPLFNBQTJCO0FBQ2hDLFVBQU0sYUFBYSxRQUFRO0FBQzNCLFVBQU0sV0FBVyxXQUFXLGVBQWU7QUFDM0MsYUFBUyxRQUFRLENBQUMsWUFBWTtBQUM1QixVQUFJLFFBQVEsU0FBUyxRQUFRO0FBQzNCLDJCQUFtQixTQUFTLFlBQVksT0FBTztBQUFBLE1BQ2pELE9BQU87QUFDTCw0QkFBb0IsU0FBUyxZQUFZLE9BQU87QUFBQSxNQUNsRDtBQUFBLElBQ0YsQ0FBQztBQUVELFdBQU8sQ0FBQztBQUFBLEVBQ1Y7QUFDRjs7O0FDbEZPLElBQU0sb0NBQW9DO0FBQzFDLElBQU0sdURBQ1g7QUFDSyxJQUFNLGdEQUFnRDtBQUc3RCxJQUFNLHFCQUFxQixDQUFDLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssR0FBRztBQUdsRSxJQUFNLHlCQUF5QjtBQUFBLEVBQzdCO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUNGO0FBRUEsSUFBTyxrQ0FBUTtBQUFBLEVBQ2IsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFDRTtBQUFBLE1BQ0YsS0FBSztBQUFBLElBQ1A7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLENBQUMsaUNBQWlDLEdBQUc7QUFBQSxNQUNyQyxDQUFDLG9EQUFvRCxHQUFHO0FBQUEsTUFDeEQsQ0FBQyw2Q0FBNkMsR0FBRztBQUFBLElBQ25EO0FBQUEsRUFDRjtBQUFBLEVBQ0EsT0FBTyxTQUFTO0FBQ2QsV0FBTztBQUFBO0FBQUEsTUFFTCxlQUFlLE1BQXNCO0FBQ25DLFlBQUksS0FBSyxPQUFPLFNBQVMsZ0JBQWdCLEtBQUssT0FBTyxTQUFTLGVBQWU7QUFDM0UsZ0JBQU0sa0JBQWtCLEtBQUssVUFBVSxDQUFDO0FBR3hDLGNBQUksbUJBQW1CLGdCQUFnQixTQUFTLG9CQUFvQjtBQUNsRSxvQkFBUSxPQUFPO0FBQUEsY0FDYixNQUFNO0FBQUEsY0FDTixXQUFXO0FBQUEsWUFDYixDQUFDO0FBQUEsVUFDSDtBQUdBLGNBQUksbUJBQW1CLGdCQUFnQixTQUFTLG9CQUFvQjtBQUNsRSxrQkFBTSxVQUFVLGdCQUFnQixXQUFXO0FBQUEsY0FDekMsQ0FBQyxhQUNDLFNBQVMsU0FBUyxjQUFjLFNBQVMsSUFBSSxTQUFTLGdCQUFnQixTQUFTLElBQUksU0FBUztBQUFBLFlBQ2hHO0FBQ0EsZ0JBQUksWUFBWSxVQUFhLFFBQVEsTUFBTSxTQUFTLG9CQUFvQjtBQUN0RSxzQkFBUSxPQUFPO0FBQUEsZ0JBQ2IsTUFBTTtBQUFBLGdCQUNOLFdBQVc7QUFBQSxjQUNiLENBQUM7QUFBQSxZQUNIO0FBQUEsVUFDRjtBQUdBLGNBQUksbUJBQW1CLGdCQUFnQixTQUFTLG9CQUFvQjtBQUNsRSxrQkFBTSxTQUFTLGdCQUFnQixXQUFXO0FBQUEsY0FDeEMsQ0FBQyxhQUNDLFNBQVMsU0FBUyxjQUFjLFNBQVMsSUFBSSxTQUFTLGdCQUFnQixTQUFTLElBQUksU0FBUztBQUFBLFlBQ2hHO0FBQ0EsZ0JBQUk7QUFDSixnQkFBSSxPQUFPLE1BQU0sU0FBUyxvQkFBb0I7QUFDNUMscUNBQ0UsT0FBTyxNQUFNLE9BQU8sU0FBUyxnQkFDN0IsT0FBTyxNQUFNLE9BQU8sU0FBUyxpQkFDN0IsT0FBTyxNQUFNLFNBQVMsU0FBUyxnQkFDL0IsdUJBQXVCLFNBQVMsT0FBTyxNQUFNLFNBQVMsSUFBSTtBQUFBLFlBQzlELFdBQVcsT0FBTyxNQUFNLFNBQVMsV0FBVztBQUMxQyxxQ0FDRSxPQUFPLE9BQU8sTUFBTSxVQUFVLFlBQVksbUJBQW1CLFNBQVMsT0FBTyxNQUFNLEtBQUs7QUFBQSxZQUM1RjtBQUNBLGdCQUFJLHlCQUF5QixPQUFPO0FBRWxDLG9CQUFNLE9BQU8sZ0JBQWdCLFdBQVc7QUFBQSxnQkFDdEMsQ0FBQyxhQUNDLFNBQVMsU0FBUyxjQUFjLFNBQVMsSUFBSSxTQUFTLGdCQUFnQixTQUFTLElBQUksU0FBUztBQUFBLGNBQ2hHO0FBQ0Esa0JBQUksU0FBUyxRQUFXO0FBQ3RCO0FBQUEsY0FDRjtBQUVBLGtCQUFJLEtBQUssTUFBTSxTQUFTLG9CQUFvQjtBQUMxQyx3QkFBUSxPQUFPO0FBQUEsa0JBQ2IsTUFBTTtBQUFBLGtCQUNOLFdBQVc7QUFBQSxnQkFDYixDQUFDO0FBQUEsY0FDSDtBQUFBLFlBQ0Y7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGOzs7QUN2R0EsSUFBTyxxQ0FBUTtBQUFBLEVBQ2IsTUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLE1BQ0osYUFBYTtBQUFBLE1BQ2IsS0FBSztBQUFBLElBQ1A7QUFBQSxFQUNGO0FBQUEsRUFDQSxPQUFPLFNBQVM7QUFDZCxVQUFNLFdBQVcsUUFBUSxXQUFXLGVBQWU7QUFDbkQsVUFBTSxRQUFRLFFBQVEsV0FBVyxTQUFTO0FBQzFDLFdBQU87QUFBQSxNQUNMLFFBQVEsTUFBTTtBQUNaLFlBQUksS0FBSyxPQUFPLEtBQUssaUJBQWlCLFFBQVE7QUFDNUMsZ0JBQU0sd0JBQXdCLEtBQUssSUFBSSxNQUFNO0FBQzdDLGdCQUFNLGVBQWUsd0JBQXdCO0FBQzdDLGdCQUFNLHNCQUFzQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxnQkFBTSwyQkFBMkIsU0FBUyxLQUFLLENBQUMsWUFBWTtBQUMxRCxnQkFBSSxDQUFDLFFBQVEsS0FBSztBQUNoQixxQkFBTztBQUFBLFlBQ1Q7QUFFQSxrQkFBTSxvQkFBb0I7QUFFMUIsa0JBQU0sK0JBQStCO0FBQ3JDLGtCQUFNLGFBQWEsa0JBQWtCLEtBQUssUUFBUSxNQUFNLEtBQUssQ0FBQztBQUM5RCxnQkFBSSxRQUFRLFNBQVMsVUFBVSxRQUFRLElBQUksTUFBTSxTQUFTLFFBQVEsSUFBSSxJQUFJLE1BQU07QUFDOUUscUJBQ0csUUFBUSxJQUFJLElBQUksU0FBUyxnQkFDeEIsd0JBQXdCLFVBQ3hCLDZCQUE2QixLQUFLLG1CQUFtQixLQUNyRCxjQUNELFFBQVEsSUFBSSxJQUFJLFNBQVMseUJBQXlCO0FBQUEsWUFFdkQ7QUFDQSxtQkFDRyxRQUFRLElBQUksSUFBSSxTQUFTLGdCQUFnQixjQUN6QyxRQUFRLElBQUksSUFBSSxTQUFTLHlCQUF5QjtBQUFBLFVBRXZELENBQUM7QUFFRCxjQUFJLENBQUMsMEJBQTBCO0FBQzdCLG9CQUFRLE9BQU87QUFBQSxjQUNiO0FBQUEsY0FDQSxTQUFTO0FBQUEsWUFDWCxDQUFDO0FBQUEsVUFDSDtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjs7O0FDbkRBLElBQU8sa0RBQVE7QUFBQSxFQUNiLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxNQUNiLEtBQUs7QUFBQSxJQUNQO0FBQUEsRUFDRjtBQUFBLEVBQ0EsT0FBTyxTQUFTO0FBQ2QsUUFBSSxtQkFBbUI7QUFDdkIsV0FBTztBQUFBLE1BQ0wsa0JBQWtCLE1BQU07QUFDdEIsWUFBSSxLQUFLLE9BQU8sVUFBVSxlQUFlO0FBQ3ZDLGdCQUFNLHdCQUF3QixLQUFLLFdBQVc7QUFBQSxZQUM1QyxDQUFDLGNBQWMsVUFBVSxTQUFTLHFCQUFxQixVQUFVLFNBQVMsU0FBUztBQUFBLFVBQ3JGLEVBQUUsQ0FBQztBQUNILGNBQUksMEJBQTBCLFFBQVc7QUFDdkMsK0JBQW1CLHNCQUFzQixNQUFNO0FBQUEsVUFDakQ7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLE1BQ0EsZUFBZSxNQUFNO0FBQ25CLGNBQU0sU0FBUyxLQUFLO0FBQ3BCLFlBQ0UsT0FBTyxTQUFTLHNCQUNoQixPQUFPLE9BQU8sU0FBUyxnQkFDdkIsT0FBTyxPQUFPLFNBQVMsb0JBQ3ZCLE9BQU8sU0FBUyxTQUFTLGlCQUN4QixPQUFPLFNBQVMsU0FBUyxhQUFhLE9BQU8sU0FBUyxTQUFTLGFBQ2hFLEtBQUssVUFBVSxVQUFVLEdBQ3pCO0FBQ0EsZ0JBQU0sa0JBQWtCLEtBQUssVUFBVSxDQUFDO0FBQ3hDLGNBQ0Usb0JBQW9CLFVBQ25CLGdCQUFnQixTQUFTLHdCQUN4QixnQkFBZ0IsU0FBUyw2QkFDekIsZ0JBQWdCLFNBQVMsc0JBQ3pCLGdCQUFnQixTQUFTLGdCQUN6QixnQkFBZ0IsU0FBUyxhQUN6QixPQUFPLGdCQUFnQixVQUFVLFVBQ25DO0FBQ0Esb0JBQVEsT0FBTztBQUFBLGNBQ2I7QUFBQSxjQUNBLFNBQVM7QUFBQSxjQUNULE1BQU07QUFBQSxnQkFDSixRQUFRLE9BQU8sU0FBUztBQUFBLGNBQzFCO0FBQUEsWUFDRixDQUFDO0FBQUEsVUFDSDtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjs7O0FDckRBLElBQU0scUJBQXFCO0FBQzNCLElBQU0sY0FBYztBQUVwQixJQUFPLGdDQUFRO0FBQUEsRUFDYixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsTUFDYixLQUFLO0FBQUEsSUFDUDtBQUFBLElBQ0EsU0FBUztBQUFBLEVBQ1g7QUFBQSxFQUNBLE9BQU8sU0FBUztBQUNkLFVBQU0sYUFBcUMsQ0FBQztBQUM1QyxXQUFPO0FBQUEsTUFDTCxRQUFRLE1BQU07QUFDWixZQUNFLE9BQU8sS0FBSyxVQUFVLFlBQ3RCLEtBQUssT0FBTyxTQUFTLHVCQUNyQixLQUFLLE9BQU8sV0FBVyxTQUFTLEdBQ2hDO0FBQ0EsZ0JBQU0sa0JBQWtCLEtBQUssT0FBTyxXQUFXLENBQUM7QUFDaEQsY0FBSSxpQkFBaUI7QUFDbkIsdUJBQVcsZ0JBQWdCLE1BQU0sSUFBSSxJQUFJLEtBQUs7QUFBQSxVQUNoRDtBQUNBLGNBQUksS0FBSyxVQUFVLGVBQWUsS0FBSyxVQUFVLG9CQUFvQjtBQUNuRSxrQkFBTSxvQkFBb0IsS0FBSztBQUMvQixrQkFBTSxtQkFBbUIsa0JBQWtCLFdBQVc7QUFBQSxjQUNwRCxDQUFDLGNBQ0MsVUFBVSxTQUFTLDRCQUE0QixVQUFVLFNBQVM7QUFBQSxZQUN0RTtBQUVBLGdCQUFJLHFCQUFxQixRQUFXO0FBQ2xDLG9CQUFNLHlCQUF5QixrQkFBa0IsU0FBUyxDQUFDLEdBQUcsQ0FBQztBQUMvRCxrQkFBSSxpQkFBaUIsaUJBQWlCLFNBQVM7QUFDL0Msa0JBQUksZ0JBQWdCLGVBQWUsaUJBQWlCLE1BQU0sSUFBSTtBQUU5RCxrQkFBSSxLQUFLLFVBQVUsc0JBQXNCLGlCQUFpQixTQUFTLGtCQUFrQixPQUFPLE9BQU87QUFDakcsaUNBQWlCLENBQUMsaUJBQWlCLE1BQU0sQ0FBQyxHQUFHLGtCQUFrQixPQUFPLE1BQU0sQ0FBQyxDQUFDO0FBQzlFLGdDQUFnQixlQUFlLGlCQUFpQixNQUFNLElBQUksWUFBWSxXQUFXO0FBQUEsY0FDbkY7QUFFQSxzQkFBUSxPQUFPO0FBQUEsZ0JBQ2IsTUFBTTtBQUFBLGdCQUNOLFNBQVM7QUFBQSxnQkFDVCxLQUFLLENBQUMsVUFBVSxNQUFNLGlCQUFpQixnQkFBZ0IsYUFBYTtBQUFBLGNBQ3RFLENBQUM7QUFBQSxZQUNIO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQUEsTUFDQSxlQUFlLE1BQU07QUFDbkIsY0FBTSxTQUFTLEtBQUs7QUFDcEIsWUFDRSxPQUFPLFNBQVMsc0JBQ2hCLE9BQU8sT0FBTyxTQUFTLGdCQUN2QixPQUFPLE9BQU8sU0FBUyxNQUN2QixPQUFPLFNBQVMsU0FBUyxnQkFDekIsT0FBTyxTQUFTLFNBQVMsT0FDeEIsT0FBTyxTQUFTLEtBQUssU0FBUyxRQUFRLEtBQUssT0FBTyxTQUFTLEtBQUssU0FBUyxRQUFRLElBQ2xGO0FBQ0EsZ0JBQU0sWUFBWSxXQUFXLE9BQU8sT0FBTyxJQUFJO0FBQy9DLGNBQUksY0FBYyxlQUFlLGNBQWMsb0JBQW9CO0FBQ2pFLGdCQUFJLHdCQUF3QjtBQUM1QixrQkFBTSxxQkFBcUIsT0FBTyxTQUFTO0FBQzNDLGdCQUFJLHVCQUF1QixVQUFVO0FBQ25DLHNDQUF3QixHQUFHLE9BQU8sT0FBTyxJQUFJO0FBQUEsWUFDL0MsT0FBTztBQUNMLG9CQUFNLGVBQWUsbUJBQW1CLFNBQVMsUUFBUSxJQUNyRCxtQkFBbUIsTUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQzFDLG1CQUFtQixNQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUU7QUFDOUMsb0JBQU0sb0JBQW9CLEdBQUcsYUFBYSxPQUFPLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxhQUFhLE1BQU0sQ0FBQyxDQUFDO0FBQ3pGLHNDQUF3QixHQUFHLE9BQU8sT0FBTyxJQUFJLElBQUksaUJBQWlCO0FBQUEsWUFDcEU7QUFDQSxvQkFBUSxPQUFPO0FBQUEsY0FDYjtBQUFBLGNBQ0EsU0FBUztBQUFBLGNBQ1QsS0FBSyxDQUFDLFVBQVUsTUFBTSxZQUFZLFFBQVEscUJBQXFCO0FBQUEsWUFDakUsQ0FBQztBQUFBLFVBQ0g7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0Y7OztBWjNFQSxJQUFPLGNBQVE7QUFBQSxFQUNiLE9BQU87QUFBQSxJQUNMLHFCQUFxQjtBQUFBLElBQ3JCLG1CQUFtQjtBQUFBLElBQ25CLFdBQVc7QUFBQSxJQUNYLHlCQUF5QjtBQUFBLElBQ3pCLGtCQUFrQjtBQUFBLElBQ2xCLHNCQUFzQjtBQUFBLElBQ3RCLDhCQUE4QjtBQUFBLElBQzlCLDJDQUEyQztBQUFBLElBQzNDLDJCQUEyQjtBQUFBLElBQzNCLENBQUMsTUFBMEIsR0FBRztBQUFBLEVBQ2hDO0FBQUEsRUFDQSxTQUFTO0FBQUEsSUFDUCxLQUFLO0FBQUEsTUFDSCxPQUFPO0FBQUEsUUFDTCwrQkFBK0I7QUFBQSxRQUMvQixpQ0FBaUM7QUFBQSxRQUNqQyx1QkFBdUI7QUFBQSxRQUN2QixxQ0FBcUM7QUFBQSxRQUNyQyxrQ0FBa0M7QUFBQSxRQUNsQywwQ0FBMEM7QUFBQSxRQUMxQyx1REFBdUQ7QUFBQSxRQUN2RCx1Q0FBdUM7QUFBQSxRQUN2Qyw4QkFBOEI7QUFBQSxRQUM5QixDQUFDLGVBQWUsTUFBMEIsRUFBRSxHQUFHO0FBQUEsTUFDakQ7QUFBQSxJQUNGO0FBQUEsSUFDQSxhQUFhO0FBQUEsTUFDWCxPQUFPO0FBQUEsUUFDTCwrQkFBK0I7QUFBQSxRQUMvQixpQ0FBaUM7QUFBQSxRQUNqQyx1QkFBdUI7QUFBQSxRQUN2QixxQ0FBcUM7QUFBQSxRQUNyQyxrQ0FBa0M7QUFBQSxRQUNsQywwQ0FBMEM7QUFBQSxRQUMxQyx1REFBdUQ7QUFBQSxRQUN2RCx1Q0FBdUM7QUFBQSxRQUN2Qyw4QkFBOEI7QUFBQSxRQUM5QixDQUFDLGVBQWUsTUFBMEIsRUFBRSxHQUFHO0FBQUEsTUFDakQ7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogWyJydWxlSWQiLCAiREVGQVVMVF9PUFRJT05TIl0KfQo=
792
802
  module.exports = module.exports.default;
@@ -1,10 +1,5 @@
1
1
  {
2
2
  "inputs": {
3
- "src/file-path-comment.ts": {
4
- "bytes": 2234,
5
- "imports": [],
6
- "format": "esm"
7
- },
8
3
  "package.json": {
9
4
  "bytes": 2696,
10
5
  "imports": [],
@@ -28,7 +23,7 @@
28
23
  "format": "esm"
29
24
  },
30
25
  "src/invalid-json-stringify.ts": {
31
- "bytes": 2365,
26
+ "bytes": 2754,
32
27
  "imports": [
33
28
  {
34
29
  "path": "src/get-documentation-url.ts",
@@ -38,6 +33,11 @@
38
33
  ],
39
34
  "format": "esm"
40
35
  },
36
+ "src/file-path-comment.ts": {
37
+ "bytes": 2234,
38
+ "imports": [],
39
+ "format": "esm"
40
+ },
41
41
  "src/no-card-numbers.ts": {
42
42
  "bytes": 3901,
43
43
  "imports": [],
@@ -79,17 +79,17 @@
79
79
  "format": "esm"
80
80
  },
81
81
  "src/index.ts": {
82
- "bytes": 2385,
82
+ "bytes": 2449,
83
83
  "imports": [
84
84
  {
85
- "path": "src/file-path-comment.ts",
85
+ "path": "src/invalid-json-stringify.ts",
86
86
  "kind": "import-statement",
87
- "original": "./file-path-comment"
87
+ "original": "./invalid-json-stringify"
88
88
  },
89
89
  {
90
- "path": "src/invalid-json-stringify.ts",
90
+ "path": "src/file-path-comment.ts",
91
91
  "kind": "import-statement",
92
- "original": "./invalid-json-stringify"
92
+ "original": "./file-path-comment"
93
93
  },
94
94
  {
95
95
  "path": "src/no-card-numbers.ts",
@@ -142,10 +142,7 @@
142
142
  "entryPoint": "src/index.ts",
143
143
  "inputs": {
144
144
  "src/index.ts": {
145
- "bytesInOutput": 1909
146
- },
147
- "src/file-path-comment.ts": {
148
- "bytesInOutput": 1961
145
+ "bytesInOutput": 1871
149
146
  },
150
147
  "package.json": {
151
148
  "bytesInOutput": 2785
@@ -154,7 +151,10 @@
154
151
  "bytesInOutput": 146
155
152
  },
156
153
  "src/invalid-json-stringify.ts": {
157
- "bytesInOutput": 1999
154
+ "bytesInOutput": 2386
155
+ },
156
+ "src/file-path-comment.ts": {
157
+ "bytesInOutput": 1961
158
158
  },
159
159
  "src/no-card-numbers.ts": {
160
160
  "bytesInOutput": 3356
@@ -181,7 +181,7 @@
181
181
  "bytesInOutput": 3362
182
182
  }
183
183
  },
184
- "bytes": 52919
184
+ "bytes": 53616
185
185
  }
186
186
  }
187
187
  }
@@ -1,6 +1,6 @@
1
1
  // src/index.ts
2
+ import invalidJsonStringify, { ruleId as invalidJsonStringifyRuleId } from "./invalid-json-stringify.mjs";
2
3
  import filePathComment from "./file-path-comment.mjs";
3
- import invalidJsonStringify from "./invalid-json-stringify.mjs";
4
4
  import noCardNumbers from "./no-card-numbers.mjs";
5
5
  import noTestImport from "./no-test-import.mjs";
6
6
  import noUuid from "./no-uuid.mjs";
@@ -20,7 +20,7 @@ var src_default = {
20
20
  "regular-expression-comment": regexComment,
21
21
  "require-assert-predicate-rejects-throws": requireAssertPredicateRejectsThrows,
22
22
  "object-literal-response": objectLiteralResponse,
23
- "invalid-json-stringify": invalidJsonStringify
23
+ [invalidJsonStringifyRuleId]: invalidJsonStringify
24
24
  },
25
25
  configs: {
26
26
  all: {
@@ -34,7 +34,7 @@ var src_default = {
34
34
  "@checkdigit/require-assert-predicate-rejects-throws": "error",
35
35
  "@checkdigit/object-literal-response": "error",
36
36
  "@checkdigit/no-test-import": "error",
37
- "@checkdigit/invalid-json-stringify": "error"
37
+ [`@checkdigit/${invalidJsonStringifyRuleId}`]: "error"
38
38
  }
39
39
  },
40
40
  recommended: {
@@ -48,7 +48,7 @@ var src_default = {
48
48
  "@checkdigit/require-assert-predicate-rejects-throws": "error",
49
49
  "@checkdigit/object-literal-response": "error",
50
50
  "@checkdigit/no-test-import": "error",
51
- "@checkdigit/invalid-json-stringify": "error"
51
+ [`@checkdigit/${invalidJsonStringifyRuleId}`]: "error"
52
52
  }
53
53
  }
54
54
  }
@@ -56,4 +56,4 @@ var src_default = {
56
56
  export {
57
57
  src_default as default
58
58
  };
59
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLE9BQU8scUJBQXFCO0FBQzVCLE9BQU8sMEJBQTBCO0FBQ2pDLE9BQU8sbUJBQW1CO0FBQzFCLE9BQU8sa0JBQWtCO0FBQ3pCLE9BQU8sWUFBWTtBQUNuQixPQUFPLHNCQUFzQjtBQUM3QixPQUFPLDJCQUEyQjtBQUNsQyxPQUFPLGtCQUFrQjtBQUN6QixPQUFPLHlDQUF5QztBQUNoRCxPQUFPLHlCQUF5QjtBQUVoQyxJQUFPLGNBQVE7QUFBQSxFQUNiLE9BQU87QUFBQSxJQUNMLHFCQUFxQjtBQUFBLElBQ3JCLG1CQUFtQjtBQUFBLElBQ25CLFdBQVc7QUFBQSxJQUNYLHlCQUF5QjtBQUFBLElBQ3pCLGtCQUFrQjtBQUFBLElBQ2xCLHNCQUFzQjtBQUFBLElBQ3RCLDhCQUE4QjtBQUFBLElBQzlCLDJDQUEyQztBQUFBLElBQzNDLDJCQUEyQjtBQUFBLElBQzNCLDBCQUEwQjtBQUFBLEVBQzVCO0FBQUEsRUFDQSxTQUFTO0FBQUEsSUFDUCxLQUFLO0FBQUEsTUFDSCxPQUFPO0FBQUEsUUFDTCwrQkFBK0I7QUFBQSxRQUMvQixpQ0FBaUM7QUFBQSxRQUNqQyx1QkFBdUI7QUFBQSxRQUN2QixxQ0FBcUM7QUFBQSxRQUNyQyxrQ0FBa0M7QUFBQSxRQUNsQywwQ0FBMEM7QUFBQSxRQUMxQyx1REFBdUQ7QUFBQSxRQUN2RCx1Q0FBdUM7QUFBQSxRQUN2Qyw4QkFBOEI7QUFBQSxRQUM5QixzQ0FBc0M7QUFBQSxNQUN4QztBQUFBLElBQ0Y7QUFBQSxJQUNBLGFBQWE7QUFBQSxNQUNYLE9BQU87QUFBQSxRQUNMLCtCQUErQjtBQUFBLFFBQy9CLGlDQUFpQztBQUFBLFFBQ2pDLHVCQUF1QjtBQUFBLFFBQ3ZCLHFDQUFxQztBQUFBLFFBQ3JDLGtDQUFrQztBQUFBLFFBQ2xDLDBDQUEwQztBQUFBLFFBQzFDLHVEQUF1RDtBQUFBLFFBQ3ZELHVDQUF1QztBQUFBLFFBQ3ZDLDhCQUE4QjtBQUFBLFFBQzlCLHNDQUFzQztBQUFBLE1BQ3hDO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
59
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQVFBLE9BQU8sd0JBQXdCLFVBQVUsa0NBQWtDO0FBQzNFLE9BQU8scUJBQXFCO0FBQzVCLE9BQU8sbUJBQW1CO0FBQzFCLE9BQU8sa0JBQWtCO0FBQ3pCLE9BQU8sWUFBWTtBQUNuQixPQUFPLHNCQUFzQjtBQUM3QixPQUFPLDJCQUEyQjtBQUNsQyxPQUFPLGtCQUFrQjtBQUN6QixPQUFPLHlDQUF5QztBQUNoRCxPQUFPLHlCQUF5QjtBQUVoQyxJQUFPLGNBQVE7QUFBQSxFQUNiLE9BQU87QUFBQSxJQUNMLHFCQUFxQjtBQUFBLElBQ3JCLG1CQUFtQjtBQUFBLElBQ25CLFdBQVc7QUFBQSxJQUNYLHlCQUF5QjtBQUFBLElBQ3pCLGtCQUFrQjtBQUFBLElBQ2xCLHNCQUFzQjtBQUFBLElBQ3RCLDhCQUE4QjtBQUFBLElBQzlCLDJDQUEyQztBQUFBLElBQzNDLDJCQUEyQjtBQUFBLElBQzNCLENBQUMsMEJBQTBCLEdBQUc7QUFBQSxFQUNoQztBQUFBLEVBQ0EsU0FBUztBQUFBLElBQ1AsS0FBSztBQUFBLE1BQ0gsT0FBTztBQUFBLFFBQ0wsK0JBQStCO0FBQUEsUUFDL0IsaUNBQWlDO0FBQUEsUUFDakMsdUJBQXVCO0FBQUEsUUFDdkIscUNBQXFDO0FBQUEsUUFDckMsa0NBQWtDO0FBQUEsUUFDbEMsMENBQTBDO0FBQUEsUUFDMUMsdURBQXVEO0FBQUEsUUFDdkQsdUNBQXVDO0FBQUEsUUFDdkMsOEJBQThCO0FBQUEsUUFDOUIsQ0FBQyxlQUFlLDBCQUEwQixFQUFFLEdBQUc7QUFBQSxNQUNqRDtBQUFBLElBQ0Y7QUFBQSxJQUNBLGFBQWE7QUFBQSxNQUNYLE9BQU87QUFBQSxRQUNMLCtCQUErQjtBQUFBLFFBQy9CLGlDQUFpQztBQUFBLFFBQ2pDLHVCQUF1QjtBQUFBLFFBQ3ZCLHFDQUFxQztBQUFBLFFBQ3JDLGtDQUFrQztBQUFBLFFBQ2xDLDBDQUEwQztBQUFBLFFBQzFDLHVEQUF1RDtBQUFBLFFBQ3ZELHVDQUF1QztBQUFBLFFBQ3ZDLDhCQUE4QjtBQUFBLFFBQzlCLENBQUMsZUFBZSwwQkFBMEIsRUFBRSxHQUFHO0FBQUEsTUFDakQ7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,7 +1,7 @@
1
1
  // src/invalid-json-stringify.ts
2
2
  import getDocumentationUrl from "./get-documentation-url.mjs";
3
- var INVALID_JSON_STRINGIFY = "INVALID_JSON_STRINGIFY";
4
3
  var ruleId = "invalid-json-stringify";
4
+ var INVALID_JSON_STRINGIFY = "INVALID_JSON_STRINGIFY";
5
5
  var DEFAULT_OPTIONS = ["error|.*Error"];
6
6
  var invalid_json_stringify_default = {
7
7
  meta: {
@@ -22,7 +22,9 @@ var invalid_json_stringify_default = {
22
22
  ],
23
23
  messages: {
24
24
  [INVALID_JSON_STRINGIFY]: `Serializing paremeter "{{ parameterName }}" with JSON.stringify can potentially lose information.`
25
- }
25
+ },
26
+ fixable: "code",
27
+ hasSuggestions: true
26
28
  },
27
29
  create(context) {
28
30
  const options = context.options[0] ?? DEFAULT_OPTIONS;
@@ -39,7 +41,15 @@ var invalid_json_stringify_default = {
39
41
  messageId: INVALID_JSON_STRINGIFY,
40
42
  data: {
41
43
  parameterName: argument.name
42
- }
44
+ },
45
+ suggest: [
46
+ {
47
+ desc: `Replace JSON.stringify(${argument.name}) with String(${argument.name}).`,
48
+ fix(fixer) {
49
+ return fixer.replaceText(node, `String(${argument.name})`);
50
+ }
51
+ }
52
+ ]
43
53
  });
44
54
  return true;
45
55
  }
@@ -52,7 +62,7 @@ var invalid_json_stringify_default = {
52
62
  }
53
63
  };
54
64
  export {
55
- INVALID_JSON_STRINGIFY,
56
- invalid_json_stringify_default as default
65
+ invalid_json_stringify_default as default,
66
+ ruleId
57
67
  };
58
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2ludmFsaWQtanNvbi1zdHJpbmdpZnkudHMiXSwKICAibWFwcGluZ3MiOiAiO0FBR0EsT0FBTyx5QkFBeUI7QUFRekIsSUFBTSx5QkFBeUI7QUFDdEMsSUFBTSxTQUFTO0FBQ2YsSUFBTSxrQkFBa0IsQ0FBQyxlQUFlO0FBRXhDLElBQU8saUNBQVE7QUFBQSxFQUNiLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxJQUNOLE1BQU07QUFBQSxNQUNKLGFBQ0U7QUFBQSxNQUNGLEtBQUssb0JBQW9CLE1BQU07QUFBQSxJQUNqQztBQUFBLElBQ0EsUUFBUTtBQUFBLE1BQ047QUFBQSxRQUNFLE1BQU07QUFBQSxRQUNOLE9BQU87QUFBQSxVQUNMLGFBQWE7QUFBQSxVQUNiLE1BQU07QUFBQSxVQUNOLFVBQVU7QUFBQSxRQUNaO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxJQUNBLFVBQVU7QUFBQSxNQUNSLENBQUMsc0JBQXNCLEdBQUc7QUFBQSxJQUM1QjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLE9BQU8sU0FBUztBQUNkLFVBQU0sVUFBVyxRQUFRLFFBQVEsQ0FBQyxLQUFLO0FBQ3ZDLFVBQU0sK0JBQStCLFFBQVEsSUFBSSxDQUFDLFdBQVcsSUFBSSxPQUFPLFFBQVEsR0FBRyxDQUFDO0FBRXBGLFdBQU87QUFBQSxNQUNMLGVBQWUsTUFBTTtBQUNuQixZQUNFLEtBQUssT0FBTyxTQUFTLHNCQUNyQixLQUFLLE9BQU8sT0FBTyxTQUFTLGdCQUM1QixLQUFLLE9BQU8sT0FBTyxTQUFTLFVBQzVCLEtBQUssT0FBTyxTQUFTLFNBQVMsZ0JBQzlCLEtBQUssT0FBTyxTQUFTLFNBQVMsYUFDOUI7QUFDQSxnQkFBTSxXQUFXLEtBQUssVUFBVSxDQUFDO0FBQ2pDLGNBQUksYUFBYSxVQUFhLFNBQVMsU0FBUyxjQUFjO0FBQzVELHlDQUE2QixLQUFLLENBQUMsZ0NBQWdDO0FBQ2pFLGtCQUFJLDRCQUE0QixLQUFLLFNBQVMsSUFBSSxHQUFHO0FBQ25ELHdCQUFRLE9BQU87QUFBQSxrQkFDYjtBQUFBLGtCQUNBLFdBQVc7QUFBQSxrQkFDWCxNQUFNO0FBQUEsb0JBQ0osZUFBZSxTQUFTO0FBQUEsa0JBQzFCO0FBQUEsZ0JBQ0YsQ0FBQztBQUNELHVCQUFPO0FBQUEsY0FDVDtBQUNBLHFCQUFPO0FBQUEsWUFDVCxDQUFDO0FBQUEsVUFDSDtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
68
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2ludmFsaWQtanNvbi1zdHJpbmdpZnkudHMiXSwKICAibWFwcGluZ3MiOiAiO0FBR0EsT0FBTyx5QkFBeUI7QUFRekIsSUFBTSxTQUFTO0FBQ3RCLElBQU0seUJBQXlCO0FBQy9CLElBQU0sa0JBQWtCLENBQUMsZUFBZTtBQUV4QyxJQUFPLGlDQUFRO0FBQUEsRUFDYixNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFDSixhQUNFO0FBQUEsTUFDRixLQUFLLG9CQUFvQixNQUFNO0FBQUEsSUFDakM7QUFBQSxJQUNBLFFBQVE7QUFBQSxNQUNOO0FBQUEsUUFDRSxNQUFNO0FBQUEsUUFDTixPQUFPO0FBQUEsVUFDTCxhQUFhO0FBQUEsVUFDYixNQUFNO0FBQUEsVUFDTixVQUFVO0FBQUEsUUFDWjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixDQUFDLHNCQUFzQixHQUFHO0FBQUEsSUFDNUI7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLEVBQ2xCO0FBQUEsRUFDQSxPQUFPLFNBQVM7QUFDZCxVQUFNLFVBQVcsUUFBUSxRQUFRLENBQUMsS0FBSztBQUN2QyxVQUFNLCtCQUErQixRQUFRLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxRQUFRLEdBQUcsQ0FBQztBQUVwRixXQUFPO0FBQUEsTUFDTCxlQUFlLE1BQU07QUFDbkIsWUFDRSxLQUFLLE9BQU8sU0FBUyxzQkFDckIsS0FBSyxPQUFPLE9BQU8sU0FBUyxnQkFDNUIsS0FBSyxPQUFPLE9BQU8sU0FBUyxVQUM1QixLQUFLLE9BQU8sU0FBUyxTQUFTLGdCQUM5QixLQUFLLE9BQU8sU0FBUyxTQUFTLGFBQzlCO0FBQ0EsZ0JBQU0sV0FBVyxLQUFLLFVBQVUsQ0FBQztBQUNqQyxjQUFJLGFBQWEsVUFBYSxTQUFTLFNBQVMsY0FBYztBQUM1RCx5Q0FBNkIsS0FBSyxDQUFDLGdDQUFnQztBQUNqRSxrQkFBSSw0QkFBNEIsS0FBSyxTQUFTLElBQUksR0FBRztBQUNuRCx3QkFBUSxPQUFPO0FBQUEsa0JBQ2I7QUFBQSxrQkFDQSxXQUFXO0FBQUEsa0JBQ1gsTUFBTTtBQUFBLG9CQUNKLGVBQWUsU0FBUztBQUFBLGtCQUMxQjtBQUFBLGtCQUNBLFNBQVM7QUFBQSxvQkFDUDtBQUFBLHNCQUNFLE1BQU0sMEJBQTBCLFNBQVMsSUFBSSxpQkFBaUIsU0FBUyxJQUFJO0FBQUEsc0JBQzNFLElBQUksT0FBTztBQUNULCtCQUFPLE1BQU0sWUFBWSxNQUFNLFVBQVUsU0FBUyxJQUFJLEdBQUc7QUFBQSxzQkFDM0Q7QUFBQSxvQkFDRjtBQUFBLGtCQUNGO0FBQUEsZ0JBQ0YsQ0FBQztBQUNELHVCQUFPO0FBQUEsY0FDVDtBQUNBLHFCQUFPO0FBQUEsWUFDVCxDQUFDO0FBQUEsVUFDSDtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -9,7 +9,7 @@ declare const _default: {
9
9
  'regular-expression-comment': import("eslint").Rule.RuleModule;
10
10
  'require-assert-predicate-rejects-throws': import("eslint").Rule.RuleModule;
11
11
  'object-literal-response': import("eslint").Rule.RuleModule;
12
- 'invalid-json-stringify': import("eslint").Rule.RuleModule;
12
+ "invalid-json-stringify": import("eslint").Rule.RuleModule;
13
13
  };
14
14
  configs: {
15
15
  all: {
@@ -23,7 +23,7 @@ declare const _default: {
23
23
  '@checkdigit/require-assert-predicate-rejects-throws': string;
24
24
  '@checkdigit/object-literal-response': string;
25
25
  '@checkdigit/no-test-import': string;
26
- '@checkdigit/invalid-json-stringify': string;
26
+ "@checkdigit/invalid-json-stringify": string;
27
27
  };
28
28
  };
29
29
  recommended: {
@@ -37,7 +37,7 @@ declare const _default: {
37
37
  '@checkdigit/require-assert-predicate-rejects-throws': string;
38
38
  '@checkdigit/object-literal-response': string;
39
39
  '@checkdigit/no-test-import': string;
40
- '@checkdigit/invalid-json-stringify': string;
40
+ "@checkdigit/invalid-json-stringify": string;
41
41
  };
42
42
  };
43
43
  };
@@ -1,4 +1,4 @@
1
1
  import type { Rule } from 'eslint';
2
- export declare const INVALID_JSON_STRINGIFY = "INVALID_JSON_STRINGIFY";
2
+ export declare const ruleId = "invalid-json-stringify";
3
3
  declare const _default: Rule.RuleModule;
4
4
  export default _default;
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@checkdigit/eslint-plugin","version":"6.4.0-PR.72-8a17","description":"Check Digit eslint plugins","keywords":["eslint","eslintplugin"],"homepage":"https://github.com/checkdigit/eslint-plugin#readme","bugs":{"url":"https://github.com/checkdigit/eslint-plugin/issues"},"repository":{"type":"git","url":"https://github.com/checkdigit/eslint-plugin"},"license":"MIT","author":"Check Digit, LLC","sideEffects":false,"type":"module","exports":{".":{"types":"./dist-types/index.d.ts","require":"./dist-cjs/index.cjs","import":"./dist-mjs/index.mjs","default":"./dist-mjs/index.mjs"}},"files":["src","dist-types","dist-cjs","dist-mjs","!src/**/*.test.ts","!src/**/*.spec.ts","!dist-types/**/*.test.d.ts","!dist-types/**/*.spec.d.ts","!dist-cjs/**/*.test.cjs","!dist-cjs/**/*.spec.cjs","!dist-mjs/**/*.test.mjs","!dist-mjs/**/*.spec.mjs","SECURITY.md"],"scripts":{"build:dist-cjs":"rimraf dist-cjs && npx builder --type=commonjs --sourceMap --entryPoint=index.ts --outDir=dist-cjs --outFile=index.cjs && echo \"module.exports = module.exports.default;\" >> dist-cjs/index.cjs && node dist-cjs/index.cjs","build:dist-mjs":"rimraf dist-mjs && npx builder --type=module --sourceMap --outDir=dist-mjs && node dist-mjs/index.mjs","build:dist-types":"rimraf dist-types && npx builder --type=types --outDir=dist-types","ci:compile":"tsc --noEmit","ci:coverage":"NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=true","ci:lint":"npm run lint","ci:style":"npm run prettier","ci:test":"NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=false","lint":"eslint --max-warnings 0 --ignore-path .gitignore .","lint:fix":"eslint --ignore-path .gitignore . --fix","prepublishOnly":"npm run build:dist-types && npm run build:dist-cjs && npm run build:dist-mjs","prettier":"prettier --ignore-path .gitignore --list-different .","prettier:fix":"prettier --ignore-path .gitignore --write .","test":"npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style"},"prettier":"@checkdigit/prettier-config","jest":{"preset":"@checkdigit/jest-config"},"devDependencies":{"@checkdigit/jest-config":"^6.0.2","@checkdigit/prettier-config":"^5.5.0","@checkdigit/typescript-config":"^6.0.0","@types/eslint":"^8.56.10","@typescript-eslint/eslint-plugin":"^7.16.0","@typescript-eslint/parser":"^7.16.0","eslint-config-prettier":"^9.1.0","eslint-plugin-eslint-plugin":"^6.2.0","eslint-plugin-import":"^2.29.1","eslint-plugin-no-only-tests":"^3.1.0","eslint-plugin-no-secrets":"^1.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-sonarjs":"^0.24.0"},"peerDependencies":{"eslint":">=8 <9"},"engines":{"node":">=20.13"}}
1
+ {"name":"@checkdigit/eslint-plugin","version":"6.4.0-PR.72-6c8a","description":"Check Digit eslint plugins","keywords":["eslint","eslintplugin"],"homepage":"https://github.com/checkdigit/eslint-plugin#readme","bugs":{"url":"https://github.com/checkdigit/eslint-plugin/issues"},"repository":{"type":"git","url":"https://github.com/checkdigit/eslint-plugin"},"license":"MIT","author":"Check Digit, LLC","sideEffects":false,"type":"module","exports":{".":{"types":"./dist-types/index.d.ts","require":"./dist-cjs/index.cjs","import":"./dist-mjs/index.mjs","default":"./dist-mjs/index.mjs"}},"files":["src","dist-types","dist-cjs","dist-mjs","!src/**/*.test.ts","!src/**/*.spec.ts","!dist-types/**/*.test.d.ts","!dist-types/**/*.spec.d.ts","!dist-cjs/**/*.test.cjs","!dist-cjs/**/*.spec.cjs","!dist-mjs/**/*.test.mjs","!dist-mjs/**/*.spec.mjs","SECURITY.md"],"scripts":{"build:dist-cjs":"rimraf dist-cjs && npx builder --type=commonjs --sourceMap --entryPoint=index.ts --outDir=dist-cjs --outFile=index.cjs && echo \"module.exports = module.exports.default;\" >> dist-cjs/index.cjs && node dist-cjs/index.cjs","build:dist-mjs":"rimraf dist-mjs && npx builder --type=module --sourceMap --outDir=dist-mjs && node dist-mjs/index.mjs","build:dist-types":"rimraf dist-types && npx builder --type=types --outDir=dist-types","ci:compile":"tsc --noEmit","ci:coverage":"NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=true","ci:lint":"npm run lint","ci:style":"npm run prettier","ci:test":"NODE_OPTIONS=\"--disable-warning ExperimentalWarning --experimental-vm-modules\" jest --coverage=false","lint":"eslint --max-warnings 0 --ignore-path .gitignore .","lint:fix":"eslint --ignore-path .gitignore . --fix","prepublishOnly":"npm run build:dist-types && npm run build:dist-cjs && npm run build:dist-mjs","prettier":"prettier --ignore-path .gitignore --list-different .","prettier:fix":"prettier --ignore-path .gitignore --write .","test":"npm run ci:compile && npm run ci:test && npm run ci:lint && npm run ci:style"},"prettier":"@checkdigit/prettier-config","jest":{"preset":"@checkdigit/jest-config"},"devDependencies":{"@checkdigit/jest-config":"^6.0.2","@checkdigit/prettier-config":"^5.5.0","@checkdigit/typescript-config":"^6.0.0","@types/eslint":"^8.56.10","@typescript-eslint/eslint-plugin":"^7.16.0","@typescript-eslint/parser":"^7.16.0","eslint-config-prettier":"^9.1.0","eslint-plugin-eslint-plugin":"^6.2.0","eslint-plugin-import":"^2.29.1","eslint-plugin-no-only-tests":"^3.1.0","eslint-plugin-no-secrets":"^1.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-sonarjs":"^0.24.0"},"peerDependencies":{"eslint":">=8 <9"},"engines":{"node":">=20.13"}}
package/src/index.ts CHANGED
@@ -6,8 +6,8 @@
6
6
  * This code is licensed under the MIT license (see LICENSE.txt for details).
7
7
  */
8
8
 
9
+ import invalidJsonStringify, { ruleId as invalidJsonStringifyRuleId } from './invalid-json-stringify';
9
10
  import filePathComment from './file-path-comment';
10
- import invalidJsonStringify from './invalid-json-stringify';
11
11
  import noCardNumbers from './no-card-numbers';
12
12
  import noTestImport from './no-test-import';
13
13
  import noUuid from './no-uuid';
@@ -28,7 +28,7 @@ export default {
28
28
  'regular-expression-comment': regexComment,
29
29
  'require-assert-predicate-rejects-throws': requireAssertPredicateRejectsThrows,
30
30
  'object-literal-response': objectLiteralResponse,
31
- 'invalid-json-stringify': invalidJsonStringify,
31
+ [invalidJsonStringifyRuleId]: invalidJsonStringify,
32
32
  },
33
33
  configs: {
34
34
  all: {
@@ -42,7 +42,7 @@ export default {
42
42
  '@checkdigit/require-assert-predicate-rejects-throws': 'error',
43
43
  '@checkdigit/object-literal-response': 'error',
44
44
  '@checkdigit/no-test-import': 'error',
45
- '@checkdigit/invalid-json-stringify': 'error',
45
+ [`@checkdigit/${invalidJsonStringifyRuleId}`]: 'error',
46
46
  },
47
47
  },
48
48
  recommended: {
@@ -56,7 +56,7 @@ export default {
56
56
  '@checkdigit/require-assert-predicate-rejects-throws': 'error',
57
57
  '@checkdigit/object-literal-response': 'error',
58
58
  '@checkdigit/no-test-import': 'error',
59
- '@checkdigit/invalid-json-stringify': 'error',
59
+ [`@checkdigit/${invalidJsonStringifyRuleId}`]: 'error',
60
60
  },
61
61
  },
62
62
  },
@@ -9,8 +9,8 @@ import getDocumentationUrl from './get-documentation-url';
9
9
  * This code is licensed under the MIT license (see LICENSE.txt for details).
10
10
  */
11
11
 
12
- export const INVALID_JSON_STRINGIFY = 'INVALID_JSON_STRINGIFY';
13
- const ruleId = 'invalid-json-stringify';
12
+ export const ruleId = 'invalid-json-stringify';
13
+ const INVALID_JSON_STRINGIFY = 'INVALID_JSON_STRINGIFY';
14
14
  const DEFAULT_OPTIONS = ['error|.*Error'];
15
15
 
16
16
  export default {
@@ -34,6 +34,8 @@ export default {
34
34
  messages: {
35
35
  [INVALID_JSON_STRINGIFY]: `Serializing paremeter "{{ parameterName }}" with JSON.stringify can potentially lose information.`,
36
36
  },
37
+ fixable: 'code',
38
+ hasSuggestions: true,
37
39
  },
38
40
  create(context) {
39
41
  const options = (context.options[0] ?? DEFAULT_OPTIONS) as string[];
@@ -58,6 +60,14 @@ export default {
58
60
  data: {
59
61
  parameterName: argument.name,
60
62
  },
63
+ suggest: [
64
+ {
65
+ desc: `Replace JSON.stringify(${argument.name}) with String(${argument.name}).`,
66
+ fix(fixer) {
67
+ return fixer.replaceText(node, `String(${argument.name})`);
68
+ },
69
+ },
70
+ ],
61
71
  });
62
72
  return true;
63
73
  }
@@ -1,4 +0,0 @@
1
- Serializing objects with `JSON.stringify()` can lose information for certain data payload.
2
- For example, an instance of Error will result in empty output like `{}` because it's properties are not enumerable.
3
-
4
- This rule disallows serializing such objects with potential issue by matching the name of the first parameter passed to JSON.stringify() with Regexp pattern.