@alexlit/lint-kit 117.2.0 → 117.3.0

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.
Files changed (169) hide show
  1. package/package.json +2 -2
  2. package/packages/config-commitlint/package.json +2 -2
  3. package/packages/config-eslint/index.js +7 -374
  4. package/packages/config-eslint/legacy.js +3 -0
  5. package/packages/config-eslint/node_modules/@eslint/eslintrc/LICENSE +19 -0
  6. package/packages/config-eslint/node_modules/@eslint/eslintrc/README.md +126 -0
  7. package/packages/config-eslint/node_modules/@eslint/eslintrc/conf/config-schema.js +79 -0
  8. package/packages/config-eslint/node_modules/@eslint/eslintrc/conf/environments.js +215 -0
  9. package/packages/config-eslint/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs +1143 -0
  10. package/packages/config-eslint/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs.map +1 -0
  11. package/packages/config-eslint/node_modules/@eslint/eslintrc/dist/eslintrc.cjs +4371 -0
  12. package/packages/config-eslint/node_modules/@eslint/eslintrc/dist/eslintrc.cjs.map +1 -0
  13. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js +532 -0
  14. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/config-array/config-array.js +510 -0
  15. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/config-array/config-dependency.js +124 -0
  16. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/config-array/extracted-config.js +145 -0
  17. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/config-array/ignore-pattern.js +238 -0
  18. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/config-array/index.js +19 -0
  19. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/config-array/override-tester.js +225 -0
  20. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/config-array-factory.js +1155 -0
  21. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/flat-compat.js +318 -0
  22. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/index-universal.js +29 -0
  23. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/index.js +58 -0
  24. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/shared/ajv.js +191 -0
  25. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/shared/config-ops.js +135 -0
  26. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/shared/config-validator.js +370 -0
  27. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/shared/deprecation-warnings.js +63 -0
  28. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/shared/naming.js +96 -0
  29. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/shared/relative-module-resolver.js +42 -0
  30. package/packages/config-eslint/node_modules/@eslint/eslintrc/lib/shared/types.js +149 -0
  31. package/packages/config-eslint/node_modules/@eslint/eslintrc/package.json +82 -0
  32. package/packages/config-eslint/node_modules/@eslint/eslintrc/universal.js +9 -0
  33. package/packages/config-eslint/node_modules/ajv/.tonic_example.js +20 -0
  34. package/packages/config-eslint/node_modules/ajv/LICENSE +22 -0
  35. package/packages/config-eslint/node_modules/ajv/README.md +1497 -0
  36. package/packages/config-eslint/node_modules/ajv/dist/ajv.bundle.js +7189 -0
  37. package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js +3 -0
  38. package/packages/config-eslint/node_modules/ajv/dist/ajv.min.js.map +1 -0
  39. package/packages/config-eslint/node_modules/ajv/lib/ajv.d.ts +397 -0
  40. package/packages/config-eslint/node_modules/ajv/lib/ajv.js +506 -0
  41. package/packages/config-eslint/node_modules/ajv/lib/cache.js +26 -0
  42. package/packages/config-eslint/node_modules/ajv/lib/compile/async.js +90 -0
  43. package/packages/config-eslint/node_modules/ajv/lib/compile/equal.js +5 -0
  44. package/packages/config-eslint/node_modules/ajv/lib/compile/error_classes.js +34 -0
  45. package/packages/config-eslint/node_modules/ajv/lib/compile/formats.js +142 -0
  46. package/packages/config-eslint/node_modules/ajv/lib/compile/index.js +387 -0
  47. package/packages/config-eslint/node_modules/ajv/lib/compile/resolve.js +270 -0
  48. package/packages/config-eslint/node_modules/ajv/lib/compile/rules.js +66 -0
  49. package/packages/config-eslint/node_modules/ajv/lib/compile/schema_obj.js +9 -0
  50. package/packages/config-eslint/node_modules/ajv/lib/compile/ucs2length.js +20 -0
  51. package/packages/config-eslint/node_modules/ajv/lib/compile/util.js +239 -0
  52. package/packages/config-eslint/node_modules/ajv/lib/data.js +49 -0
  53. package/packages/config-eslint/node_modules/ajv/lib/definition_schema.js +37 -0
  54. package/packages/config-eslint/node_modules/ajv/lib/dot/_limit.jst +113 -0
  55. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitItems.jst +12 -0
  56. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitLength.jst +12 -0
  57. package/packages/config-eslint/node_modules/ajv/lib/dot/_limitProperties.jst +12 -0
  58. package/packages/config-eslint/node_modules/ajv/lib/dot/allOf.jst +32 -0
  59. package/packages/config-eslint/node_modules/ajv/lib/dot/anyOf.jst +46 -0
  60. package/packages/config-eslint/node_modules/ajv/lib/dot/coerce.def +51 -0
  61. package/packages/config-eslint/node_modules/ajv/lib/dot/comment.jst +9 -0
  62. package/packages/config-eslint/node_modules/ajv/lib/dot/const.jst +11 -0
  63. package/packages/config-eslint/node_modules/ajv/lib/dot/contains.jst +55 -0
  64. package/packages/config-eslint/node_modules/ajv/lib/dot/custom.jst +191 -0
  65. package/packages/config-eslint/node_modules/ajv/lib/dot/defaults.def +47 -0
  66. package/packages/config-eslint/node_modules/ajv/lib/dot/definitions.def +203 -0
  67. package/packages/config-eslint/node_modules/ajv/lib/dot/dependencies.jst +79 -0
  68. package/packages/config-eslint/node_modules/ajv/lib/dot/enum.jst +30 -0
  69. package/packages/config-eslint/node_modules/ajv/lib/dot/errors.def +194 -0
  70. package/packages/config-eslint/node_modules/ajv/lib/dot/format.jst +106 -0
  71. package/packages/config-eslint/node_modules/ajv/lib/dot/if.jst +73 -0
  72. package/packages/config-eslint/node_modules/ajv/lib/dot/items.jst +98 -0
  73. package/packages/config-eslint/node_modules/ajv/lib/dot/missing.def +39 -0
  74. package/packages/config-eslint/node_modules/ajv/lib/dot/multipleOf.jst +22 -0
  75. package/packages/config-eslint/node_modules/ajv/lib/dot/not.jst +43 -0
  76. package/packages/config-eslint/node_modules/ajv/lib/dot/oneOf.jst +54 -0
  77. package/packages/config-eslint/node_modules/ajv/lib/dot/pattern.jst +14 -0
  78. package/packages/config-eslint/node_modules/ajv/lib/dot/properties.jst +245 -0
  79. package/packages/config-eslint/node_modules/ajv/lib/dot/propertyNames.jst +52 -0
  80. package/packages/config-eslint/node_modules/ajv/lib/dot/ref.jst +85 -0
  81. package/packages/config-eslint/node_modules/ajv/lib/dot/required.jst +108 -0
  82. package/packages/config-eslint/node_modules/ajv/lib/dot/uniqueItems.jst +62 -0
  83. package/packages/config-eslint/node_modules/ajv/lib/dot/validate.jst +276 -0
  84. package/packages/config-eslint/node_modules/ajv/lib/dotjs/README.md +3 -0
  85. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limit.js +163 -0
  86. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitItems.js +80 -0
  87. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitLength.js +85 -0
  88. package/packages/config-eslint/node_modules/ajv/lib/dotjs/_limitProperties.js +80 -0
  89. package/packages/config-eslint/node_modules/ajv/lib/dotjs/allOf.js +42 -0
  90. package/packages/config-eslint/node_modules/ajv/lib/dotjs/anyOf.js +73 -0
  91. package/packages/config-eslint/node_modules/ajv/lib/dotjs/comment.js +14 -0
  92. package/packages/config-eslint/node_modules/ajv/lib/dotjs/const.js +56 -0
  93. package/packages/config-eslint/node_modules/ajv/lib/dotjs/contains.js +81 -0
  94. package/packages/config-eslint/node_modules/ajv/lib/dotjs/custom.js +228 -0
  95. package/packages/config-eslint/node_modules/ajv/lib/dotjs/dependencies.js +168 -0
  96. package/packages/config-eslint/node_modules/ajv/lib/dotjs/enum.js +66 -0
  97. package/packages/config-eslint/node_modules/ajv/lib/dotjs/format.js +150 -0
  98. package/packages/config-eslint/node_modules/ajv/lib/dotjs/if.js +103 -0
  99. package/packages/config-eslint/node_modules/ajv/lib/dotjs/index.js +33 -0
  100. package/packages/config-eslint/node_modules/ajv/lib/dotjs/items.js +140 -0
  101. package/packages/config-eslint/node_modules/ajv/lib/dotjs/multipleOf.js +80 -0
  102. package/packages/config-eslint/node_modules/ajv/lib/dotjs/not.js +84 -0
  103. package/packages/config-eslint/node_modules/ajv/lib/dotjs/oneOf.js +73 -0
  104. package/packages/config-eslint/node_modules/ajv/lib/dotjs/pattern.js +75 -0
  105. package/packages/config-eslint/node_modules/ajv/lib/dotjs/properties.js +335 -0
  106. package/packages/config-eslint/node_modules/ajv/lib/dotjs/propertyNames.js +81 -0
  107. package/packages/config-eslint/node_modules/ajv/lib/dotjs/ref.js +124 -0
  108. package/packages/config-eslint/node_modules/ajv/lib/dotjs/required.js +270 -0
  109. package/packages/config-eslint/node_modules/ajv/lib/dotjs/uniqueItems.js +86 -0
  110. package/packages/config-eslint/node_modules/ajv/lib/dotjs/validate.js +482 -0
  111. package/packages/config-eslint/node_modules/ajv/lib/keyword.js +146 -0
  112. package/packages/config-eslint/node_modules/ajv/lib/refs/data.json +17 -0
  113. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-04.json +149 -0
  114. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-06.json +154 -0
  115. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-draft-07.json +168 -0
  116. package/packages/config-eslint/node_modules/ajv/lib/refs/json-schema-secure.json +94 -0
  117. package/packages/config-eslint/node_modules/ajv/package.json +106 -0
  118. package/packages/config-eslint/node_modules/ajv/scripts/.eslintrc.yml +3 -0
  119. package/packages/config-eslint/node_modules/ajv/scripts/bundle.js +61 -0
  120. package/packages/config-eslint/node_modules/ajv/scripts/compile-dots.js +73 -0
  121. package/packages/config-eslint/node_modules/ajv/scripts/info +10 -0
  122. package/packages/config-eslint/node_modules/ajv/scripts/prepare-tests +12 -0
  123. package/packages/config-eslint/node_modules/ajv/scripts/publish-built-version +32 -0
  124. package/packages/config-eslint/node_modules/ajv/scripts/travis-gh-pages +23 -0
  125. package/packages/config-eslint/node_modules/eslint-visitor-keys/LICENSE +201 -0
  126. package/packages/config-eslint/node_modules/eslint-visitor-keys/README.md +105 -0
  127. package/packages/config-eslint/node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs +384 -0
  128. package/packages/config-eslint/node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.d.cts +27 -0
  129. package/packages/config-eslint/node_modules/eslint-visitor-keys/dist/index.d.ts +16 -0
  130. package/packages/config-eslint/node_modules/eslint-visitor-keys/dist/visitor-keys.d.ts +12 -0
  131. package/packages/config-eslint/node_modules/eslint-visitor-keys/lib/index.js +65 -0
  132. package/packages/config-eslint/node_modules/eslint-visitor-keys/lib/visitor-keys.js +315 -0
  133. package/packages/config-eslint/node_modules/eslint-visitor-keys/package.json +74 -0
  134. package/packages/config-eslint/node_modules/espree/LICENSE +25 -0
  135. package/packages/config-eslint/node_modules/espree/README.md +244 -0
  136. package/packages/config-eslint/node_modules/espree/dist/espree.cjs +883 -0
  137. package/packages/config-eslint/node_modules/espree/espree.js +177 -0
  138. package/packages/config-eslint/node_modules/espree/lib/espree.js +349 -0
  139. package/packages/config-eslint/node_modules/espree/lib/features.js +27 -0
  140. package/packages/config-eslint/node_modules/espree/lib/options.js +123 -0
  141. package/packages/config-eslint/node_modules/espree/lib/token-translator.js +263 -0
  142. package/packages/config-eslint/node_modules/espree/lib/version.js +3 -0
  143. package/packages/config-eslint/node_modules/espree/package.json +86 -0
  144. package/packages/config-eslint/node_modules/globals/globals.json +1998 -0
  145. package/packages/config-eslint/node_modules/globals/index.d.ts +2077 -0
  146. package/packages/config-eslint/node_modules/globals/index.js +2 -0
  147. package/packages/config-eslint/node_modules/globals/license +9 -0
  148. package/packages/config-eslint/node_modules/globals/package.json +58 -0
  149. package/packages/config-eslint/node_modules/globals/readme.md +44 -0
  150. package/packages/config-eslint/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
  151. package/packages/config-eslint/node_modules/json-schema-traverse/.travis.yml +8 -0
  152. package/packages/config-eslint/node_modules/json-schema-traverse/LICENSE +21 -0
  153. package/packages/config-eslint/node_modules/json-schema-traverse/README.md +83 -0
  154. package/packages/config-eslint/node_modules/json-schema-traverse/index.js +89 -0
  155. package/packages/config-eslint/node_modules/json-schema-traverse/package.json +43 -0
  156. package/packages/config-eslint/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
  157. package/packages/config-eslint/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
  158. package/packages/config-eslint/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
  159. package/packages/config-eslint/package.json +7 -5
  160. package/packages/config-eslint/plugins/no-await-in-promise.js +2 -2
  161. package/packages/config-eslint/utils/create-config.js +377 -0
  162. package/packages/config-hooks/package.json +1 -1
  163. package/packages/config-htmllint/package.json +1 -1
  164. package/packages/config-markdownlint/package.json +2 -2
  165. package/packages/config-npmlint/package.json +1 -1
  166. package/packages/config-prettier/package.json +2 -2
  167. package/packages/config-stylelint/package.json +2 -2
  168. package/scripts/lint.eslint.sh +1 -1
  169. package/.eslintrc.cjs +0 -16
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Utility for resolving a module relative to another module
3
+ * @author Teddy Katz
4
+ */
5
+
6
+ import Module from "module";
7
+
8
+ /*
9
+ * `Module.createRequire` is added in v12.2.0. It supports URL as well.
10
+ * We only support the case where the argument is a filepath, not a URL.
11
+ */
12
+ const createRequire = Module.createRequire;
13
+
14
+ /**
15
+ * Resolves a Node module relative to another module
16
+ * @param {string} moduleName The name of a Node module, or a path to a Node module.
17
+ * @param {string} relativeToPath An absolute path indicating the module that `moduleName` should be resolved relative to. This must be
18
+ * a file rather than a directory, but the file need not actually exist.
19
+ * @returns {string} The absolute path that would result from calling `require.resolve(moduleName)` in a file located at `relativeToPath`
20
+ */
21
+ function resolve(moduleName, relativeToPath) {
22
+ try {
23
+ return createRequire(relativeToPath).resolve(moduleName);
24
+ } catch (error) {
25
+
26
+ // This `if` block is for older Node.js than 12.0.0. We can remove this block in the future.
27
+ if (
28
+ typeof error === "object" &&
29
+ error !== null &&
30
+ error.code === "MODULE_NOT_FOUND" &&
31
+ !error.requireStack &&
32
+ error.message.includes(moduleName)
33
+ ) {
34
+ error.message += `\nRequire stack:\n- ${relativeToPath}`;
35
+ }
36
+ throw error;
37
+ }
38
+ }
39
+
40
+ export {
41
+ resolve
42
+ };
@@ -0,0 +1,149 @@
1
+ /**
2
+ * @fileoverview Define common types for input completion.
3
+ * @author Toru Nagashima <https://github.com/mysticatea>
4
+ */
5
+
6
+ /** @type {any} */
7
+ export default {};
8
+
9
+ /** @typedef {boolean | "off" | "readable" | "readonly" | "writable" | "writeable"} GlobalConf */
10
+ /** @typedef {0 | 1 | 2 | "off" | "warn" | "error"} SeverityConf */
11
+ /** @typedef {SeverityConf | [SeverityConf, ...any[]]} RuleConf */
12
+
13
+ /**
14
+ * @typedef {Object} EcmaFeatures
15
+ * @property {boolean} [globalReturn] Enabling `return` statements at the top-level.
16
+ * @property {boolean} [jsx] Enabling JSX syntax.
17
+ * @property {boolean} [impliedStrict] Enabling strict mode always.
18
+ */
19
+
20
+ /**
21
+ * @typedef {Object} ParserOptions
22
+ * @property {EcmaFeatures} [ecmaFeatures] The optional features.
23
+ * @property {3|5|6|7|8|9|10|11|12|2015|2016|2017|2018|2019|2020|2021} [ecmaVersion] The ECMAScript version (or revision number).
24
+ * @property {"script"|"module"} [sourceType] The source code type.
25
+ */
26
+
27
+ /**
28
+ * @typedef {Object} ConfigData
29
+ * @property {Record<string, boolean>} [env] The environment settings.
30
+ * @property {string | string[]} [extends] The path to other config files or the package name of shareable configs.
31
+ * @property {Record<string, GlobalConf>} [globals] The global variable settings.
32
+ * @property {string | string[]} [ignorePatterns] The glob patterns that ignore to lint.
33
+ * @property {boolean} [noInlineConfig] The flag that disables directive comments.
34
+ * @property {OverrideConfigData[]} [overrides] The override settings per kind of files.
35
+ * @property {string} [parser] The path to a parser or the package name of a parser.
36
+ * @property {ParserOptions} [parserOptions] The parser options.
37
+ * @property {string[]} [plugins] The plugin specifiers.
38
+ * @property {string} [processor] The processor specifier.
39
+ * @property {boolean} [reportUnusedDisableDirectives] The flag to report unused `eslint-disable` comments.
40
+ * @property {boolean} [root] The root flag.
41
+ * @property {Record<string, RuleConf>} [rules] The rule settings.
42
+ * @property {Object} [settings] The shared settings.
43
+ */
44
+
45
+ /**
46
+ * @typedef {Object} OverrideConfigData
47
+ * @property {Record<string, boolean>} [env] The environment settings.
48
+ * @property {string | string[]} [excludedFiles] The glob pattarns for excluded files.
49
+ * @property {string | string[]} [extends] The path to other config files or the package name of shareable configs.
50
+ * @property {string | string[]} files The glob patterns for target files.
51
+ * @property {Record<string, GlobalConf>} [globals] The global variable settings.
52
+ * @property {boolean} [noInlineConfig] The flag that disables directive comments.
53
+ * @property {OverrideConfigData[]} [overrides] The override settings per kind of files.
54
+ * @property {string} [parser] The path to a parser or the package name of a parser.
55
+ * @property {ParserOptions} [parserOptions] The parser options.
56
+ * @property {string[]} [plugins] The plugin specifiers.
57
+ * @property {string} [processor] The processor specifier.
58
+ * @property {boolean} [reportUnusedDisableDirectives] The flag to report unused `eslint-disable` comments.
59
+ * @property {Record<string, RuleConf>} [rules] The rule settings.
60
+ * @property {Object} [settings] The shared settings.
61
+ */
62
+
63
+ /**
64
+ * @typedef {Object} ParseResult
65
+ * @property {Object} ast The AST.
66
+ * @property {ScopeManager} [scopeManager] The scope manager of the AST.
67
+ * @property {Record<string, any>} [services] The services that the parser provides.
68
+ * @property {Record<string, string[]>} [visitorKeys] The visitor keys of the AST.
69
+ */
70
+
71
+ /**
72
+ * @typedef {Object} Parser
73
+ * @property {(text:string, options:ParserOptions) => Object} parse The definition of global variables.
74
+ * @property {(text:string, options:ParserOptions) => ParseResult} [parseForESLint] The parser options that will be enabled under this environment.
75
+ */
76
+
77
+ /**
78
+ * @typedef {Object} Environment
79
+ * @property {Record<string, GlobalConf>} [globals] The definition of global variables.
80
+ * @property {ParserOptions} [parserOptions] The parser options that will be enabled under this environment.
81
+ */
82
+
83
+ /**
84
+ * @typedef {Object} LintMessage
85
+ * @property {number} column The 1-based column number.
86
+ * @property {number} [endColumn] The 1-based column number of the end location.
87
+ * @property {number} [endLine] The 1-based line number of the end location.
88
+ * @property {boolean} fatal If `true` then this is a fatal error.
89
+ * @property {{range:[number,number], text:string}} [fix] Information for autofix.
90
+ * @property {number} line The 1-based line number.
91
+ * @property {string} message The error message.
92
+ * @property {string|null} ruleId The ID of the rule which makes this message.
93
+ * @property {0|1|2} severity The severity of this message.
94
+ * @property {Array<{desc?: string, messageId?: string, fix: {range: [number, number], text: string}}>} [suggestions] Information for suggestions.
95
+ */
96
+
97
+ /**
98
+ * @typedef {Object} SuggestionResult
99
+ * @property {string} desc A short description.
100
+ * @property {string} [messageId] Id referencing a message for the description.
101
+ * @property {{ text: string, range: number[] }} fix fix result info
102
+ */
103
+
104
+ /**
105
+ * @typedef {Object} Processor
106
+ * @property {(text:string, filename:string) => Array<string | { text:string, filename:string }>} [preprocess] The function to extract code blocks.
107
+ * @property {(messagesList:LintMessage[][], filename:string) => LintMessage[]} [postprocess] The function to merge messages.
108
+ * @property {boolean} [supportsAutofix] If `true` then it means the processor supports autofix.
109
+ */
110
+
111
+ /**
112
+ * @typedef {Object} RuleMetaDocs
113
+ * @property {string} category The category of the rule.
114
+ * @property {string} description The description of the rule.
115
+ * @property {boolean} recommended If `true` then the rule is included in `eslint:recommended` preset.
116
+ * @property {string} url The URL of the rule documentation.
117
+ */
118
+
119
+ /**
120
+ * @typedef {Object} RuleMeta
121
+ * @property {boolean} [deprecated] If `true` then the rule has been deprecated.
122
+ * @property {RuleMetaDocs} docs The document information of the rule.
123
+ * @property {"code"|"whitespace"} [fixable] The autofix type.
124
+ * @property {Record<string,string>} [messages] The messages the rule reports.
125
+ * @property {string[]} [replacedBy] The IDs of the alternative rules.
126
+ * @property {Array|Object} schema The option schema of the rule.
127
+ * @property {"problem"|"suggestion"|"layout"} type The rule type.
128
+ */
129
+
130
+ /**
131
+ * @typedef {Object} Rule
132
+ * @property {Function} create The factory of the rule.
133
+ * @property {RuleMeta} meta The meta data of the rule.
134
+ */
135
+
136
+ /**
137
+ * @typedef {Object} Plugin
138
+ * @property {Record<string, ConfigData>} [configs] The definition of plugin configs.
139
+ * @property {Record<string, Environment>} [environments] The definition of plugin environments.
140
+ * @property {Record<string, Processor>} [processors] The definition of plugin processors.
141
+ * @property {Record<string, Function | Rule>} [rules] The definition of plugin rules.
142
+ */
143
+
144
+ /**
145
+ * Information of deprecated rules.
146
+ * @typedef {Object} DeprecatedRuleInfo
147
+ * @property {string} ruleId The rule ID.
148
+ * @property {string[]} replacedBy The rule IDs that replace this deprecated rule.
149
+ */
@@ -0,0 +1,82 @@
1
+ {
2
+ "name": "@eslint/eslintrc",
3
+ "version": "3.1.0",
4
+ "description": "The legacy ESLintRC config file format for ESLint",
5
+ "type": "module",
6
+ "main": "./dist/eslintrc.cjs",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./lib/index.js",
10
+ "require": "./dist/eslintrc.cjs"
11
+ },
12
+ "./package.json": "./package.json",
13
+ "./universal": {
14
+ "import": "./lib/index-universal.js",
15
+ "require": "./dist/eslintrc-universal.cjs"
16
+ }
17
+ },
18
+ "files": [
19
+ "lib",
20
+ "conf",
21
+ "LICENSE",
22
+ "dist",
23
+ "universal.js"
24
+ ],
25
+ "publishConfig": {
26
+ "access": "public"
27
+ },
28
+ "scripts": {
29
+ "build": "rollup -c",
30
+ "lint": "eslint . --report-unused-disable-directives",
31
+ "lint:fix": "npm run lint -- --fix",
32
+ "prepare": "npm run build",
33
+ "release:generate:latest": "eslint-generate-release",
34
+ "release:generate:alpha": "eslint-generate-prerelease alpha",
35
+ "release:generate:beta": "eslint-generate-prerelease beta",
36
+ "release:generate:rc": "eslint-generate-prerelease rc",
37
+ "release:publish": "eslint-publish-release",
38
+ "test": "mocha -R progress -c 'tests/lib/*.cjs' && c8 mocha -R progress -c 'tests/lib/**/*.js'"
39
+ },
40
+ "repository": "eslint/eslintrc",
41
+ "funding": "https://opencollective.com/eslint",
42
+ "keywords": [
43
+ "ESLint",
44
+ "ESLintRC",
45
+ "Configuration"
46
+ ],
47
+ "author": "Nicholas C. Zakas",
48
+ "license": "MIT",
49
+ "bugs": {
50
+ "url": "https://github.com/eslint/eslintrc/issues"
51
+ },
52
+ "homepage": "https://github.com/eslint/eslintrc#readme",
53
+ "devDependencies": {
54
+ "c8": "^7.7.3",
55
+ "chai": "^4.3.4",
56
+ "eslint": "^7.31.0",
57
+ "eslint-config-eslint": "^7.0.0",
58
+ "eslint-plugin-jsdoc": "^35.4.1",
59
+ "eslint-plugin-node": "^11.1.0",
60
+ "eslint-release": "^3.2.0",
61
+ "fs-teardown": "^0.1.3",
62
+ "mocha": "^9.0.3",
63
+ "rollup": "^2.70.1",
64
+ "shelljs": "^0.8.5",
65
+ "sinon": "^11.1.2",
66
+ "temp-dir": "^2.0.0"
67
+ },
68
+ "dependencies": {
69
+ "ajv": "^6.12.4",
70
+ "debug": "^4.3.2",
71
+ "espree": "^10.0.1",
72
+ "globals": "^14.0.0",
73
+ "ignore": "^5.2.0",
74
+ "import-fresh": "^3.2.1",
75
+ "js-yaml": "^4.1.0",
76
+ "minimatch": "^3.1.2",
77
+ "strip-json-comments": "^3.1.1"
78
+ },
79
+ "engines": {
80
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
81
+ }
82
+ }
@@ -0,0 +1,9 @@
1
+ // Jest (and probably some other runtimes with custom implementations of
2
+ // `require`) doesn't support `exports` in `package.json`, so this file is here
3
+ // to help them load this module. Note that it is also `.js` and not `.cjs` for
4
+ // the same reason - `cjs` files requires to be loaded with an extension, but
5
+ // since Jest doesn't respect `module` outside of ESM mode it still works in
6
+ // this case (and the `require` in _this_ file does specify the extension).
7
+
8
+ // eslint-disable-next-line no-undef
9
+ module.exports = require("./dist/eslintrc-universal.cjs");
@@ -0,0 +1,20 @@
1
+ var Ajv = require('ajv');
2
+ var ajv = new Ajv({allErrors: true});
3
+
4
+ var schema = {
5
+ "properties": {
6
+ "foo": { "type": "string" },
7
+ "bar": { "type": "number", "maximum": 3 }
8
+ }
9
+ };
10
+
11
+ var validate = ajv.compile(schema);
12
+
13
+ test({"foo": "abc", "bar": 2});
14
+ test({"foo": 2, "bar": 4});
15
+
16
+ function test(data) {
17
+ var valid = validate(data);
18
+ if (valid) console.log('Valid!');
19
+ else console.log('Invalid: ' + ajv.errorsText(validate.errors));
20
+ }
@@ -0,0 +1,22 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015-2017 Evgeny Poberezkin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+