@alexlit/lint-kit 167.2.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 +3 -3
  142. package/packages/config-stylelint/package.json +3 -3
@@ -0,0 +1,234 @@
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.IgnoredPaths = void 0;
7
+ const fs_1 = require("fs");
8
+ const path_1 = require("path");
9
+ const path_utils_1 = require("./path-utils");
10
+ const ignore_1 = __importDefault(require("ignore"));
11
+ const debug_1 = __importDefault(require("debug"));
12
+ const debug = (0, debug_1.default)('eslint-plugin-vue-i18n:ignored-paths');
13
+ const ESLINT_IGNORE_FILENAME = '.eslintignore';
14
+ const DEFAULT_IGNORE_DIRS = ['/node_modules/*', '/bower_components/*'];
15
+ const DEFAULT_OPTIONS = {
16
+ dotfiles: false
17
+ };
18
+ function findFile(cwd, name) {
19
+ const ignoreFilePath = (0, path_1.resolve)(cwd, name);
20
+ return (0, fs_1.existsSync)(ignoreFilePath) && (0, fs_1.statSync)(ignoreFilePath).isFile()
21
+ ? ignoreFilePath
22
+ : '';
23
+ }
24
+ function findIgnoreFile(cwd) {
25
+ return findFile(cwd, ESLINT_IGNORE_FILENAME);
26
+ }
27
+ function findPackageJSONFile(cwd) {
28
+ return findFile(cwd, 'package.json');
29
+ }
30
+ function mergeDefaultOptions(options) {
31
+ const mergedOptions = Object.assign({}, DEFAULT_OPTIONS, options);
32
+ if (!mergedOptions.cwd) {
33
+ mergedOptions.cwd = process.cwd();
34
+ }
35
+ debug('mergeDefaultOptions: mergedOptions = %j', mergedOptions);
36
+ return mergedOptions;
37
+ }
38
+ const normalizePathSeps = path_1.sep === '/'
39
+ ? (str) => str
40
+ : ((seps, str) => str.replace(seps, '/')).bind(null, new RegExp(`\\${path_1.sep}`, 'g'));
41
+ function relativize(globPattern, relativePathToOldBaseDir) {
42
+ if (relativePathToOldBaseDir === '') {
43
+ return globPattern;
44
+ }
45
+ const prefix = globPattern.startsWith('!') ? '!' : '';
46
+ const globWithoutPrefix = globPattern.replace(/^!/, '');
47
+ if (globWithoutPrefix.startsWith('/')) {
48
+ return `${prefix}/${normalizePathSeps(relativePathToOldBaseDir)}${globWithoutPrefix}`;
49
+ }
50
+ return globPattern;
51
+ }
52
+ class IgnoredPaths {
53
+ constructor(providedOptions) {
54
+ const options = mergeDefaultOptions(providedOptions);
55
+ this.cache = {};
56
+ this.defaultPatterns = [].concat(DEFAULT_IGNORE_DIRS, options.patterns || []);
57
+ this.ignoreFileDir =
58
+ options.ignore !== false && options.ignorePath
59
+ ? (0, path_1.dirname)((0, path_1.resolve)(options.cwd, options.ignorePath))
60
+ : options.cwd;
61
+ this.options = options;
62
+ this._baseDir = null;
63
+ this.ig = {
64
+ custom: (0, ignore_1.default)(),
65
+ default: (0, ignore_1.default)()
66
+ };
67
+ this.defaultPatterns.forEach(pattern => this.addPatternRelativeToCwd(this.ig.default, pattern));
68
+ if (options.dotfiles !== true) {
69
+ this.addPatternRelativeToCwd(this.ig.default, '.*');
70
+ this.addPatternRelativeToCwd(this.ig.default, '!../');
71
+ }
72
+ this.ig.custom.ignoreFiles = [];
73
+ this.ig.default.ignoreFiles = [];
74
+ if (options.ignore !== false) {
75
+ let ignorePath;
76
+ if (options.ignorePath) {
77
+ debug('Using specific ignore file');
78
+ try {
79
+ (0, fs_1.statSync)(options.ignorePath);
80
+ ignorePath = options.ignorePath;
81
+ }
82
+ catch (e) {
83
+ e.message = `Cannot read ignore file: ${options.ignorePath}\nError: ${e.message}`;
84
+ throw e;
85
+ }
86
+ }
87
+ else {
88
+ debug(`Looking for ignore file in ${options.cwd}`);
89
+ ignorePath = findIgnoreFile(options.cwd);
90
+ try {
91
+ (0, fs_1.statSync)(ignorePath);
92
+ debug(`Loaded ignore file ${ignorePath}`);
93
+ }
94
+ catch (e) {
95
+ debug('Could not find ignore file in cwd');
96
+ }
97
+ }
98
+ if (ignorePath) {
99
+ debug(`Adding ${ignorePath}`);
100
+ this.addIgnoreFile(this.ig.custom, ignorePath);
101
+ this.addIgnoreFile(this.ig.default, ignorePath);
102
+ }
103
+ else {
104
+ try {
105
+ const packageJSONPath = findPackageJSONFile(options.cwd);
106
+ if (packageJSONPath) {
107
+ let packageJSONOptions;
108
+ try {
109
+ packageJSONOptions = JSON.parse((0, fs_1.readFileSync)(packageJSONPath, 'utf8'));
110
+ }
111
+ catch (e) {
112
+ debug('Could not read package.json file to check eslintIgnore property');
113
+ e.messageTemplate = 'failed-to-read-json';
114
+ e.messageData = {
115
+ path: packageJSONPath,
116
+ message: e.message
117
+ };
118
+ throw e;
119
+ }
120
+ if (packageJSONOptions.eslintIgnore) {
121
+ if (Array.isArray(packageJSONOptions.eslintIgnore)) {
122
+ packageJSONOptions.eslintIgnore.forEach(pattern => {
123
+ this.addPatternRelativeToIgnoreFile(this.ig.custom, pattern);
124
+ this.addPatternRelativeToIgnoreFile(this.ig.default, pattern);
125
+ });
126
+ }
127
+ else {
128
+ throw new TypeError('Package.json eslintIgnore property requires an array of paths');
129
+ }
130
+ }
131
+ }
132
+ }
133
+ catch (e) {
134
+ debug('Could not find package.json to check eslintIgnore property');
135
+ throw e;
136
+ }
137
+ }
138
+ if (options.ignorePattern) {
139
+ this.addPatternRelativeToCwd(this.ig.custom, options.ignorePattern);
140
+ this.addPatternRelativeToCwd(this.ig.default, options.ignorePattern);
141
+ }
142
+ }
143
+ }
144
+ addPatternRelativeToCwd(ig, pattern) {
145
+ const baseDir = this.getBaseDir();
146
+ const cookedPattern = baseDir === this.options.cwd
147
+ ? pattern
148
+ : relativize(pattern, (0, path_1.relative)(baseDir, this.options.cwd));
149
+ ig.add(cookedPattern);
150
+ debug('addPatternRelativeToCwd:\n original = %j\n cooked = %j', pattern, cookedPattern);
151
+ }
152
+ addPatternRelativeToIgnoreFile(ig, pattern) {
153
+ const baseDir = this.getBaseDir();
154
+ const cookedPattern = baseDir === this.ignoreFileDir
155
+ ? pattern
156
+ : relativize(pattern, (0, path_1.relative)(baseDir, this.ignoreFileDir));
157
+ ig.add(cookedPattern);
158
+ debug('addPatternRelativeToIgnoreFile:\n original = %j\n cooked = %j', pattern, cookedPattern);
159
+ }
160
+ getBaseDir() {
161
+ if (!this._baseDir) {
162
+ const a = (0, path_1.resolve)(this.options.cwd);
163
+ const b = (0, path_1.resolve)(this.ignoreFileDir);
164
+ let lastSepPos = 0;
165
+ this._baseDir = a.length < b.length ? a : b;
166
+ for (let i = 0; i < a.length && i < b.length; ++i) {
167
+ if (a[i] !== b[i]) {
168
+ this._baseDir = a.slice(0, lastSepPos);
169
+ break;
170
+ }
171
+ if (a[i] === path_1.sep) {
172
+ lastSepPos = i;
173
+ }
174
+ }
175
+ if (/^[A-Z]:$/.test(this._baseDir)) {
176
+ this._baseDir += '\\';
177
+ }
178
+ debug('set baseDir = %j', this._baseDir);
179
+ }
180
+ else {
181
+ debug('alredy set baseDir = %j', this._baseDir);
182
+ }
183
+ return this._baseDir;
184
+ }
185
+ readIgnoreFile(filePath) {
186
+ if (typeof this.cache[filePath] === 'undefined') {
187
+ this.cache[filePath] = (0, fs_1.readFileSync)(filePath, 'utf8')
188
+ .split(/\r?\n/g)
189
+ .filter(Boolean);
190
+ }
191
+ return this.cache[filePath];
192
+ }
193
+ addIgnoreFile(ig, filePath) {
194
+ ig.ignoreFiles.push(filePath);
195
+ this.readIgnoreFile(filePath).forEach(ignoreRule => this.addPatternRelativeToIgnoreFile(ig, ignoreRule));
196
+ }
197
+ contains(filepath, category) {
198
+ let result = false;
199
+ const absolutePath = (0, path_1.resolve)(this.options.cwd, filepath);
200
+ const relativePath = (0, path_utils_1.getRelativePath)(absolutePath, this.getBaseDir());
201
+ if (typeof category === 'undefined') {
202
+ result =
203
+ this.ig.default.filter([relativePath]).length === 0 ||
204
+ this.ig.custom.filter([relativePath]).length === 0;
205
+ }
206
+ else {
207
+ result = this.ig[category].filter([relativePath]).length === 0;
208
+ }
209
+ debug('contains:');
210
+ debug(' target = %j', filepath);
211
+ debug(' result = %j', result);
212
+ return result;
213
+ }
214
+ getIgnoredFoldersGlobChecker() {
215
+ const baseDir = this.getBaseDir();
216
+ const ig = (0, ignore_1.default)();
217
+ DEFAULT_IGNORE_DIRS.forEach(ignoreDir => this.addPatternRelativeToCwd(ig, ignoreDir));
218
+ if (this.options.dotfiles !== true) {
219
+ ig.add(['.*/*', '!../*']);
220
+ }
221
+ if (this.options.ignore) {
222
+ ig.add(this.ig.custom);
223
+ }
224
+ const filter = ig.createFilter();
225
+ return function (absolutePath) {
226
+ const relative = (0, path_utils_1.getRelativePath)(absolutePath.fullpath(), baseDir);
227
+ if (!relative) {
228
+ return false;
229
+ }
230
+ return !filter(relative);
231
+ };
232
+ }
233
+ }
234
+ exports.IgnoredPaths = IgnoredPaths;
@@ -0,0 +1,25 @@
1
+ import type { AST as VAST } from 'vue-eslint-parser';
2
+ import { LocaleMessages } from './locale-messages';
3
+ import type { RuleContext, TemplateListener, RuleListener, CustomBlockVisitorFactory } from '../types';
4
+ export declare function defineTemplateBodyVisitor(context: RuleContext, templateBodyVisitor: TemplateListener, scriptVisitor?: RuleListener): RuleListener;
5
+ export declare function getAttribute(node: VAST.VElement, name: string): VAST.VAttribute | null;
6
+ export declare function getDirective(node: VAST.VElement, name: string, argument: string): VAST.VDirective | null;
7
+ export type StaticLiteral = VAST.ESLintLiteral | VAST.ESLintTemplateLiteral;
8
+ export declare function isStaticLiteral(node: VAST.Node | null): node is StaticLiteral;
9
+ export declare function getStaticLiteralValue(node: StaticLiteral): VAST.ESLintLiteral['value'];
10
+ export declare function getLocaleMessages(context: RuleContext, options?: {
11
+ ignoreMissingSettingsError?: boolean;
12
+ }): LocaleMessages;
13
+ export declare function defineCustomBlocksVisitor(context: RuleContext, jsonRule: CustomBlockVisitorFactory, yamlRule: CustomBlockVisitorFactory): RuleListener;
14
+ export type VueObjectType = 'mark' | 'export' | 'definition' | 'instance' | 'variable' | 'components-option';
15
+ export declare function getVueObjectType(context: RuleContext, node: VAST.ESLintObjectExpression): VueObjectType | null;
16
+ export declare function getScriptSetupElement(context: RuleContext): VAST.VElement | null;
17
+ export declare function isVElement(node: VAST.VElement | VAST.VExpressionContainer | VAST.VText): node is VAST.VElement;
18
+ export declare function isI18nBlock(node: VAST.VElement | VAST.VExpressionContainer | VAST.VText): node is VAST.VElement & {
19
+ name: 'i18n';
20
+ };
21
+ export declare function getStaticAttributes(element: VAST.VElement): {
22
+ [name: string]: string | undefined;
23
+ };
24
+ export declare function skipTSAsExpression<T extends VAST.Node>(node: T): T;
25
+ export declare function compositingVisitors(visitor: RuleListener, ...visitors: RuleListener[]): RuleListener;