@alexlit/lint-kit 167.3.0 → 167.4.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 (142) hide show
  1. package/package.json +1 -1
  2. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/LICENSE +21 -0
  3. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/README.md +54 -0
  4. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/configs/base.d.ts +23 -0
  5. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/configs/base.js +25 -0
  6. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/configs/flat/base.d.ts +35 -0
  7. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/configs/flat/base.js +35 -0
  8. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/configs/flat/recommended.d.ts +1194 -0
  9. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/configs/flat/recommended.js +39 -0
  10. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/configs/recommended.d.ts +29 -0
  11. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/configs/recommended.js +29 -0
  12. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/index.d.ts +2532 -0
  13. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/index.js +62 -0
  14. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/key-format-style.d.ts +2 -0
  15. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/key-format-style.js +247 -0
  16. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-deprecated-i18n-component.d.ts +2 -0
  17. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-deprecated-i18n-component.js +85 -0
  18. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-deprecated-i18n-place-attr.d.ts +2 -0
  19. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-deprecated-i18n-place-attr.js +41 -0
  20. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-deprecated-i18n-places-prop.d.ts +2 -0
  21. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-deprecated-i18n-places-prop.js +36 -0
  22. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-deprecated-modulo-syntax.d.ts +2 -0
  23. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-deprecated-modulo-syntax.js +94 -0
  24. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-deprecated-tc.d.ts +2 -0
  25. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-deprecated-tc.js +42 -0
  26. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-deprecated-v-t.d.ts +2 -0
  27. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-deprecated-v-t.js +33 -0
  28. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-duplicate-keys-in-locale.d.ts +2 -0
  29. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-duplicate-keys-in-locale.js +271 -0
  30. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-dynamic-keys.d.ts +2 -0
  31. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-dynamic-keys.js +105 -0
  32. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-html-messages.d.ts +2 -0
  33. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-html-messages.js +137 -0
  34. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-i18n-t-path-prop.d.ts +2 -0
  35. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-i18n-t-path-prop.js +44 -0
  36. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-missing-keys-in-other-locales.d.ts +2 -0
  37. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-missing-keys-in-other-locales.js +264 -0
  38. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-missing-keys.d.ts +2 -0
  39. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-missing-keys.js +111 -0
  40. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-raw-text.d.ts +2 -0
  41. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-raw-text.js +575 -0
  42. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-unknown-locale.d.ts +2 -0
  43. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-unknown-locale.js +198 -0
  44. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-unused-keys.d.ts +2 -0
  45. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-unused-keys.js +456 -0
  46. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-v-html.d.ts +2 -0
  47. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/no-v-html.js +50 -0
  48. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/prefer-linked-key-with-paren.d.ts +2 -0
  49. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/prefer-linked-key-with-paren.js +108 -0
  50. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/prefer-sfc-lang-attr.d.ts +2 -0
  51. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/prefer-sfc-lang-attr.js +58 -0
  52. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/sfc-locale-attr.d.ts +2 -0
  53. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/sfc-locale-attr.js +65 -0
  54. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/valid-message-syntax.d.ts +2 -0
  55. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/rules/valid-message-syntax.js +186 -0
  56. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/eslint.d.ts +216 -0
  57. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/eslint.js +2 -0
  58. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/i18n.d.ts +5 -0
  59. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/i18n.js +2 -0
  60. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/index.d.ts +6 -0
  61. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/index.js +22 -0
  62. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/nodes.d.ts +7 -0
  63. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/nodes.js +2 -0
  64. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/settings.d.ts +8 -0
  65. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/settings.js +2 -0
  66. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/types.d.ts +38 -0
  67. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/types.js +2 -0
  68. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/vue-parser-services.d.ts +32 -0
  69. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/types/vue-parser-services.js +2 -0
  70. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/cache-function.d.ts +2 -0
  71. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/cache-function.js +11 -0
  72. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/cache-loader.d.ts +10 -0
  73. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/cache-loader.js +27 -0
  74. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/casing.d.ts +10 -0
  75. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/casing.js +101 -0
  76. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/collect-keys.d.ts +13 -0
  77. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/collect-keys.js +160 -0
  78. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/collect-linked-keys.d.ts +2 -0
  79. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/collect-linked-keys.js +49 -0
  80. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/compat.d.ts +3 -0
  81. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/compat.js +35 -0
  82. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/default-timeouts.d.ts +6 -0
  83. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/default-timeouts.js +10 -0
  84. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/get-cwd.d.ts +2 -0
  85. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/get-cwd.js +9 -0
  86. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/glob-utils.d.ts +15 -0
  87. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/glob-utils.js +154 -0
  88. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/ignored-paths.d.ts +43 -0
  89. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/ignored-paths.js +234 -0
  90. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/index.d.ts +25 -0
  91. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/index.js +446 -0
  92. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/key-path.d.ts +2 -0
  93. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/key-path.js +27 -0
  94. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/locale-messages.d.ts +54 -0
  95. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/locale-messages.js +187 -0
  96. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/message-compiler/parser-v9.d.ts +8 -0
  97. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/message-compiler/parser-v9.js +40 -0
  98. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/message-compiler/parser.d.ts +5 -0
  99. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/message-compiler/parser.js +18 -0
  100. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/message-compiler/traverser.d.ts +6 -0
  101. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/message-compiler/traverser.js +31 -0
  102. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/message-compiler/utils.d.ts +28 -0
  103. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/message-compiler/utils.js +279 -0
  104. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parser-config-resolver/build-parser-using-flat-config.d.ts +2 -0
  105. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parser-config-resolver/build-parser-using-flat-config.js +11 -0
  106. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parser-config-resolver/build-parser-using-legacy-config.d.ts +2 -0
  107. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parser-config-resolver/build-parser-using-legacy-config.js +46 -0
  108. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parser-config-resolver/index.d.ts +4 -0
  109. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parser-config-resolver/index.js +18 -0
  110. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parser-config-resolver/parse-by-parser.d.ts +3 -0
  111. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parser-config-resolver/parse-by-parser.js +42 -0
  112. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parser-config-resolver/should-use-flat-config.d.ts +2 -0
  113. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parser-config-resolver/should-use-flat-config.js +54 -0
  114. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parser-config-resolver/worker.d.ts +1 -0
  115. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parser-config-resolver/worker.js +32 -0
  116. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parsers/index.d.ts +4 -0
  117. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/parsers/index.js +32 -0
  118. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/path-utils.d.ts +2 -0
  119. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/path-utils.js +21 -0
  120. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/regexp.d.ts +1 -0
  121. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/regexp.js +16 -0
  122. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/resource-loader.d.ts +10 -0
  123. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/resource-loader.js +32 -0
  124. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/rule.d.ts +9 -0
  125. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/dist/utils/rule.js +75 -0
  126. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/node_modules/globals/globals.json +3345 -0
  127. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/node_modules/globals/index.d.ts +3452 -0
  128. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/node_modules/globals/index.js +2 -0
  129. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/node_modules/globals/license +9 -0
  130. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/node_modules/globals/package.json +117 -0
  131. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/node_modules/globals/readme.md +42 -0
  132. package/packages/config-eslint/node_modules/@intlify/eslint-plugin-vue-i18n/package.json +147 -0
  133. package/packages/config-eslint/node_modules/vue-eslint-parser/LICENSE +21 -0
  134. package/packages/config-eslint/node_modules/vue-eslint-parser/README.md +332 -0
  135. package/packages/config-eslint/node_modules/vue-eslint-parser/index.d.ts +667 -0
  136. package/packages/config-eslint/node_modules/vue-eslint-parser/index.js +6642 -0
  137. package/packages/config-eslint/node_modules/vue-eslint-parser/index.js.map +1 -0
  138. package/packages/config-eslint/node_modules/vue-eslint-parser/package.json +100 -0
  139. package/packages/config-eslint/package.json +5 -5
  140. package/packages/config-eslint/plugins/unicorn.js +2 -0
  141. package/packages/config-prettier/package.json +2 -2
  142. package/packages/config-stylelint/package.json +2 -2
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildParserFromConfig = void 0;
4
+ const should_use_flat_config_1 = require("./should-use-flat-config");
5
+ const build_parser_using_legacy_config_1 = require("./build-parser-using-legacy-config");
6
+ const build_parser_using_flat_config_1 = require("./build-parser-using-flat-config");
7
+ const parsers = {};
8
+ function buildParserFromConfig(cwd) {
9
+ const parser = parsers[cwd];
10
+ if (parser) {
11
+ return parser;
12
+ }
13
+ if ((0, should_use_flat_config_1.shouldUseFlatConfig)(cwd)) {
14
+ return (parsers[cwd] = (0, build_parser_using_flat_config_1.buildParserUsingFlatConfig)(cwd));
15
+ }
16
+ return (parsers[cwd] = (0, build_parser_using_legacy_config_1.buildParserUsingLegacyConfig)(cwd));
17
+ }
18
+ exports.buildParserFromConfig = buildParserFromConfig;
@@ -0,0 +1,3 @@
1
+ import type { Linter } from 'eslint';
2
+ import type { ParseResult } from '.';
3
+ export declare function parseByParser(filePath: string, parserDefine: Linter.ParserModule | string | undefined, parserOptions: unknown): ParseResult;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseByParser = void 0;
7
+ const fs_1 = require("fs");
8
+ const path_1 = __importDefault(require("path"));
9
+ const vue_eslint_parser_1 = require("vue-eslint-parser");
10
+ function parseByParser(filePath, parserDefine, parserOptions) {
11
+ const parser = getParser(parserDefine, filePath);
12
+ try {
13
+ const text = (0, fs_1.readFileSync)(path_1.default.resolve(filePath), 'utf8');
14
+ const parseResult = 'parseForESLint' in parser && typeof parser.parseForESLint === 'function'
15
+ ? parser.parseForESLint(text, parserOptions)
16
+ :
17
+ { ast: parser.parse(text, parserOptions) };
18
+ return parseResult;
19
+ }
20
+ catch (_e) {
21
+ return null;
22
+ }
23
+ }
24
+ exports.parseByParser = parseByParser;
25
+ function getParser(parser, filePath) {
26
+ if (parser) {
27
+ if (typeof parser === 'string') {
28
+ try {
29
+ return require(parser);
30
+ }
31
+ catch (_e) {
32
+ }
33
+ }
34
+ else {
35
+ return parser;
36
+ }
37
+ }
38
+ if (filePath.endsWith('.vue')) {
39
+ return { parseForESLint: vue_eslint_parser_1.parseForESLint };
40
+ }
41
+ return require('espree');
42
+ }
@@ -0,0 +1,2 @@
1
+ export declare function shouldUseFlatConfig(cwd: string): boolean;
2
+ export declare function findFlatConfigFile(cwd: string): string | null;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.findFlatConfigFile = exports.shouldUseFlatConfig = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const FLAT_CONFIG_FILENAMES = [
10
+ 'eslint.config.js',
11
+ 'eslint.config.mjs',
12
+ 'eslint.config.cjs',
13
+ 'eslint.config.ts',
14
+ 'eslint.config.mts',
15
+ 'eslint.config.cts'
16
+ ];
17
+ function shouldUseFlatConfig(cwd) {
18
+ switch (process.env.ESLINT_USE_FLAT_CONFIG) {
19
+ case 'true':
20
+ return true;
21
+ case 'false':
22
+ return false;
23
+ default:
24
+ return Boolean(findFlatConfigFile(cwd));
25
+ }
26
+ }
27
+ exports.shouldUseFlatConfig = shouldUseFlatConfig;
28
+ function findFlatConfigFile(cwd) {
29
+ return findUp(FLAT_CONFIG_FILENAMES, { cwd });
30
+ }
31
+ exports.findFlatConfigFile = findFlatConfigFile;
32
+ function findUp(names, options) {
33
+ let directory = path_1.default.resolve(options.cwd);
34
+ const { root } = path_1.default.parse(directory);
35
+ const stopAt = path_1.default.resolve(directory, root);
36
+ while (true) {
37
+ for (const name of names) {
38
+ const target = path_1.default.resolve(directory, name);
39
+ const stat = fs_1.default.existsSync(target)
40
+ ? fs_1.default.statSync(target, {
41
+ throwIfNoEntry: false
42
+ })
43
+ : null;
44
+ if (stat === null || stat === void 0 ? void 0 : stat.isFile()) {
45
+ return target;
46
+ }
47
+ }
48
+ if (directory === stopAt) {
49
+ break;
50
+ }
51
+ directory = path_1.default.dirname(directory);
52
+ }
53
+ return null;
54
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const synckit_1 = require("synckit");
4
+ const eslint_1 = require("eslint-compat-utils/eslint");
5
+ const parse_by_parser_1 = require("./parse-by-parser");
6
+ const ESLint = (0, eslint_1.getESLint)();
7
+ (0, synckit_1.runAsWorker)(async (cwd, filePath) => {
8
+ const eslint = new ESLint({ cwd });
9
+ const config = await eslint.calculateConfigForFile(filePath);
10
+ const languageOptions = config.languageOptions || {};
11
+ const parserOptions = Object.assign({
12
+ sourceType: languageOptions.sourceType || 'module',
13
+ ecmaVersion: languageOptions.ecmaVersion || 'latest'
14
+ }, languageOptions.parserOptions, {
15
+ loc: true,
16
+ range: true,
17
+ raw: true,
18
+ tokens: true,
19
+ comment: true,
20
+ eslintVisitorKeys: true,
21
+ eslintScopeManager: true,
22
+ filePath
23
+ });
24
+ const result = (0, parse_by_parser_1.parseByParser)(filePath, languageOptions.parser, parserOptions);
25
+ if (!result) {
26
+ return null;
27
+ }
28
+ return {
29
+ ast: result.ast,
30
+ visitorKeys: result === null || result === void 0 ? void 0 : result.visitorKeys
31
+ };
32
+ });
@@ -0,0 +1,4 @@
1
+ import type { AST as VAST } from 'vue-eslint-parser';
2
+ import type { I18nLocaleMessageDictionary } from '../../types';
3
+ export declare function parseJsonValuesInI18nBlock(i18nBlock: VAST.VElement): I18nLocaleMessageDictionary | null;
4
+ export declare function parseYamlValuesInI18nBlock(i18nBlock: VAST.VElement): I18nLocaleMessageDictionary | null;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseYamlValuesInI18nBlock = exports.parseJsonValuesInI18nBlock = void 0;
4
+ const json5_1 = require("json5");
5
+ const js_yaml_1 = require("js-yaml");
6
+ function hasEndTag(element) {
7
+ return !!element.endTag;
8
+ }
9
+ function parseValuesInI18nBlock(i18nBlock, parse) {
10
+ if (!hasEndTag(i18nBlock)) {
11
+ return null;
12
+ }
13
+ const text = i18nBlock.children[0];
14
+ const sourceString = text != null && text.type === 'VText' ? text.value : '';
15
+ if (!sourceString.trim()) {
16
+ return null;
17
+ }
18
+ try {
19
+ return parse(sourceString);
20
+ }
21
+ catch (e) {
22
+ return null;
23
+ }
24
+ }
25
+ function parseJsonValuesInI18nBlock(i18nBlock) {
26
+ return parseValuesInI18nBlock(i18nBlock, code => (0, json5_1.parse)(code));
27
+ }
28
+ exports.parseJsonValuesInI18nBlock = parseJsonValuesInI18nBlock;
29
+ function parseYamlValuesInI18nBlock(i18nBlock) {
30
+ return parseValuesInI18nBlock(i18nBlock, code => (0, js_yaml_1.load)(code));
31
+ }
32
+ exports.parseYamlValuesInI18nBlock = parseYamlValuesInI18nBlock;
@@ -0,0 +1,2 @@
1
+ export declare function convertPathToPosix(filepath: string): string;
2
+ export declare function getRelativePath(filepath: string, baseDir: string): string;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRelativePath = exports.convertPathToPosix = void 0;
4
+ const path_1 = require("path");
5
+ function convertPathToPosix(filepath) {
6
+ const normalizedFilepath = (0, path_1.normalize)(filepath);
7
+ const posixFilepath = normalizedFilepath.replace(/\\/g, '/');
8
+ return posixFilepath;
9
+ }
10
+ exports.convertPathToPosix = convertPathToPosix;
11
+ function getRelativePath(filepath, baseDir) {
12
+ const absolutePath = (0, path_1.isAbsolute)(filepath) ? filepath : (0, path_1.resolve)(filepath);
13
+ if (baseDir) {
14
+ if (!(0, path_1.isAbsolute)(baseDir)) {
15
+ throw new Error(`baseDir should be an absolute path: ${baseDir}`);
16
+ }
17
+ return (0, path_1.relative)(baseDir, absolutePath);
18
+ }
19
+ return absolutePath.replace(/^\//, '');
20
+ }
21
+ exports.getRelativePath = getRelativePath;
@@ -0,0 +1 @@
1
+ export declare function toRegExp(str: string): RegExp;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toRegExp = void 0;
4
+ const RE_REGEXP_CHAR = /[\\^$.*+?()[\]{}|]/gu;
5
+ const RE_REGEXP_STR = /^\/(.+)\/(.*)$/u;
6
+ function toRegExp(str) {
7
+ const parts = RE_REGEXP_STR.exec(str);
8
+ if (parts) {
9
+ return new RegExp(parts[1], parts[2]);
10
+ }
11
+ return new RegExp(`^${escape(str)}$`);
12
+ }
13
+ exports.toRegExp = toRegExp;
14
+ function escape(str) {
15
+ return str && str.replace(RE_REGEXP_CHAR, '\\$&');
16
+ }
@@ -0,0 +1,10 @@
1
+ export type LoadResource<R> = (filename: string) => R;
2
+ export declare class ResourceLoader<R> {
3
+ private filename;
4
+ private loader;
5
+ private _resource;
6
+ private _mtimeLoader;
7
+ private _mtimeMs;
8
+ constructor(filename: string, loader: LoadResource<R>, mtimeCheckTimeout?: number | (() => number));
9
+ getResource(): R;
10
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResourceLoader = void 0;
4
+ const fs_1 = require("fs");
5
+ const cache_loader_1 = require("./cache-loader");
6
+ const default_timeouts_1 = require("./default-timeouts");
7
+ class ResourceLoader {
8
+ constructor(filename, loader, mtimeCheckTimeout = () => default_timeouts_1.MTIME_MS_CHECK) {
9
+ this._mtimeMs = 0;
10
+ this.filename = filename;
11
+ this.loader = loader;
12
+ this._resource = null;
13
+ this._mtimeLoader = new cache_loader_1.CacheLoader(() => {
14
+ try {
15
+ const stat = (0, fs_1.statSync)(this.filename);
16
+ return stat.mtimeMs;
17
+ }
18
+ catch (_e) {
19
+ }
20
+ return this._mtimeMs || 0;
21
+ }, mtimeCheckTimeout);
22
+ }
23
+ getResource() {
24
+ const mtimeMs = this._mtimeLoader.get();
25
+ if (this._resource && this._mtimeMs >= mtimeMs) {
26
+ return this._resource;
27
+ }
28
+ this._mtimeMs = mtimeMs;
29
+ return (this._resource = this.loader(this.filename));
30
+ }
31
+ }
32
+ exports.ResourceLoader = ResourceLoader;
@@ -0,0 +1,9 @@
1
+ import type { RuleModule } from '../types';
2
+ import type { AST as JSONAST } from 'jsonc-eslint-parser';
3
+ import type { AST as YAMLAST } from 'yaml-eslint-parser';
4
+ import type { CustomBlockVisitorFactory } from '../types/vue-parser-services';
5
+ export type GetReportOffset = (offset: number) => number | null;
6
+ export type VerifyMessage = (message: string, reportNode: JSONAST.JSONStringLiteral | YAMLAST.YAMLScalar, getReportOffset: GetReportOffset) => void;
7
+ export declare function createRule(module: RuleModule): RuleModule;
8
+ export declare function defineCreateVisitorForJson(verifyMessage: VerifyMessage): CustomBlockVisitorFactory;
9
+ export declare function defineCreateVisitorForYaml(verifyMessage: VerifyMessage): CustomBlockVisitorFactory;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineCreateVisitorForYaml = exports.defineCreateVisitorForJson = exports.createRule = void 0;
4
+ const utils_1 = require("../utils/message-compiler/utils");
5
+ function createRule(module) {
6
+ return module;
7
+ }
8
+ exports.createRule = createRule;
9
+ function defineCreateVisitorForJson(verifyMessage) {
10
+ return function () {
11
+ function verifyExpression(node) {
12
+ if (node.type !== 'JSONLiteral' || typeof node.value !== 'string') {
13
+ return;
14
+ }
15
+ verifyMessage(node.value, node, offset => (0, utils_1.getReportIndex)(node, offset));
16
+ }
17
+ return {
18
+ JSONProperty(node) {
19
+ verifyExpression(node.value);
20
+ },
21
+ JSONArrayExpression(node) {
22
+ for (const element of node.elements) {
23
+ if (element)
24
+ verifyExpression(element);
25
+ }
26
+ }
27
+ };
28
+ };
29
+ }
30
+ exports.defineCreateVisitorForJson = defineCreateVisitorForJson;
31
+ function defineCreateVisitorForYaml(verifyMessage) {
32
+ return function () {
33
+ const yamlKeyNodes = new Set();
34
+ function withinKey(node) {
35
+ for (const keyNode of yamlKeyNodes) {
36
+ if (keyNode.range[0] <= node.range[0] &&
37
+ node.range[0] < keyNode.range[1]) {
38
+ return true;
39
+ }
40
+ }
41
+ return false;
42
+ }
43
+ function verifyContent(node) {
44
+ const valueNode = node.type === 'YAMLWithMeta' ? node.value : node;
45
+ if (!valueNode ||
46
+ valueNode.type !== 'YAMLScalar' ||
47
+ typeof valueNode.value !== 'string') {
48
+ return;
49
+ }
50
+ verifyMessage(valueNode.value, valueNode, offset => (0, utils_1.getReportIndex)(valueNode, offset));
51
+ }
52
+ return {
53
+ YAMLPair(node) {
54
+ if (withinKey(node)) {
55
+ return;
56
+ }
57
+ if (node.key != null) {
58
+ yamlKeyNodes.add(node.key);
59
+ }
60
+ if (node.value)
61
+ verifyContent(node.value);
62
+ },
63
+ YAMLSequence(node) {
64
+ if (withinKey(node)) {
65
+ return;
66
+ }
67
+ for (const entry of node.entries) {
68
+ if (entry)
69
+ verifyContent(entry);
70
+ }
71
+ }
72
+ };
73
+ };
74
+ }
75
+ exports.defineCreateVisitorForYaml = defineCreateVisitorForYaml;