@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,62 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ const base_1 = __importDefault(require("./configs/base"));
6
+ const recommended_1 = __importDefault(require("./configs/recommended"));
7
+ const base_2 = __importDefault(require("./configs/flat/base"));
8
+ const recommended_2 = __importDefault(require("./configs/flat/recommended"));
9
+ const key_format_style_1 = __importDefault(require("./rules/key-format-style"));
10
+ const no_deprecated_i18n_component_1 = __importDefault(require("./rules/no-deprecated-i18n-component"));
11
+ const no_deprecated_i18n_place_attr_1 = __importDefault(require("./rules/no-deprecated-i18n-place-attr"));
12
+ const no_deprecated_i18n_places_prop_1 = __importDefault(require("./rules/no-deprecated-i18n-places-prop"));
13
+ const no_deprecated_modulo_syntax_1 = __importDefault(require("./rules/no-deprecated-modulo-syntax"));
14
+ const no_deprecated_tc_1 = __importDefault(require("./rules/no-deprecated-tc"));
15
+ const no_deprecated_v_t_1 = __importDefault(require("./rules/no-deprecated-v-t"));
16
+ const no_duplicate_keys_in_locale_1 = __importDefault(require("./rules/no-duplicate-keys-in-locale"));
17
+ const no_dynamic_keys_1 = __importDefault(require("./rules/no-dynamic-keys"));
18
+ const no_html_messages_1 = __importDefault(require("./rules/no-html-messages"));
19
+ const no_i18n_t_path_prop_1 = __importDefault(require("./rules/no-i18n-t-path-prop"));
20
+ const no_missing_keys_in_other_locales_1 = __importDefault(require("./rules/no-missing-keys-in-other-locales"));
21
+ const no_missing_keys_1 = __importDefault(require("./rules/no-missing-keys"));
22
+ const no_raw_text_1 = __importDefault(require("./rules/no-raw-text"));
23
+ const no_unknown_locale_1 = __importDefault(require("./rules/no-unknown-locale"));
24
+ const no_unused_keys_1 = __importDefault(require("./rules/no-unused-keys"));
25
+ const no_v_html_1 = __importDefault(require("./rules/no-v-html"));
26
+ const prefer_linked_key_with_paren_1 = __importDefault(require("./rules/prefer-linked-key-with-paren"));
27
+ const prefer_sfc_lang_attr_1 = __importDefault(require("./rules/prefer-sfc-lang-attr"));
28
+ const sfc_locale_attr_1 = __importDefault(require("./rules/sfc-locale-attr"));
29
+ const valid_message_syntax_1 = __importDefault(require("./rules/valid-message-syntax"));
30
+ module.exports = {
31
+ configs: {
32
+ 'base-legacy': base_1.default,
33
+ 'recommended-legacy': recommended_1.default,
34
+ base: base_2.default,
35
+ recommended: recommended_2.default,
36
+ 'flat/base': base_2.default,
37
+ 'flat/recommended': recommended_2.default
38
+ },
39
+ rules: {
40
+ 'key-format-style': key_format_style_1.default,
41
+ 'no-deprecated-i18n-component': no_deprecated_i18n_component_1.default,
42
+ 'no-deprecated-i18n-place-attr': no_deprecated_i18n_place_attr_1.default,
43
+ 'no-deprecated-i18n-places-prop': no_deprecated_i18n_places_prop_1.default,
44
+ 'no-deprecated-modulo-syntax': no_deprecated_modulo_syntax_1.default,
45
+ 'no-deprecated-tc': no_deprecated_tc_1.default,
46
+ 'no-deprecated-v-t': no_deprecated_v_t_1.default,
47
+ 'no-duplicate-keys-in-locale': no_duplicate_keys_in_locale_1.default,
48
+ 'no-dynamic-keys': no_dynamic_keys_1.default,
49
+ 'no-html-messages': no_html_messages_1.default,
50
+ 'no-i18n-t-path-prop': no_i18n_t_path_prop_1.default,
51
+ 'no-missing-keys-in-other-locales': no_missing_keys_in_other_locales_1.default,
52
+ 'no-missing-keys': no_missing_keys_1.default,
53
+ 'no-raw-text': no_raw_text_1.default,
54
+ 'no-unknown-locale': no_unknown_locale_1.default,
55
+ 'no-unused-keys': no_unused_keys_1.default,
56
+ 'no-v-html': no_v_html_1.default,
57
+ 'prefer-linked-key-with-paren': prefer_linked_key_with_paren_1.default,
58
+ 'prefer-sfc-lang-attr': prefer_sfc_lang_attr_1.default,
59
+ 'sfc-locale-attr': sfc_locale_attr_1.default,
60
+ 'valid-message-syntax': valid_message_syntax_1.default
61
+ }
62
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("../types").RuleModule;
2
+ export = _default;
@@ -0,0 +1,247 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ const path_1 = require("path");
6
+ const index_1 = require("../utils/index");
7
+ const debug_1 = __importDefault(require("debug"));
8
+ const casing_1 = require("../utils/casing");
9
+ const rule_1 = require("../utils/rule");
10
+ const compat_1 = require("../utils/compat");
11
+ const debug = (0, debug_1.default)('eslint-plugin-vue-i18n:key-format-style');
12
+ const allowedCaseOptions = [
13
+ 'camelCase',
14
+ 'kebab-case',
15
+ 'lowercase',
16
+ 'snake_case',
17
+ 'SCREAMING_SNAKE_CASE'
18
+ ];
19
+ function create(context) {
20
+ var _a, _b, _c;
21
+ const filename = (0, compat_1.getFilename)(context);
22
+ const sourceCode = (0, compat_1.getSourceCode)(context);
23
+ const expectCasing = (_a = context.options[0]) !== null && _a !== void 0 ? _a : 'camelCase';
24
+ const checker = (0, casing_1.getCasingChecker)(expectCasing);
25
+ const allowArray = (_b = context.options[1]) === null || _b === void 0 ? void 0 : _b.allowArray;
26
+ const splitByDotsOption = (_c = context.options[1]) === null || _c === void 0 ? void 0 : _c.splitByDots;
27
+ function reportUnknown(reportNode) {
28
+ context.report({
29
+ message: `Unexpected object key. Use ${expectCasing} string key instead`,
30
+ loc: reportNode.loc
31
+ });
32
+ }
33
+ function verifyKeyForString(key, reportNode) {
34
+ for (const target of splitByDotsOption && key.includes('.')
35
+ ? splitByDots(key, reportNode)
36
+ : [{ key, loc: reportNode.loc }]) {
37
+ if (!checker(target.key)) {
38
+ context.report({
39
+ message: `"{{key}}" is not {{expectCasing}}`,
40
+ loc: target.loc,
41
+ data: {
42
+ key: target.key,
43
+ expectCasing
44
+ }
45
+ });
46
+ }
47
+ }
48
+ }
49
+ function verifyKeyForNumber(key, reportNode) {
50
+ if (!allowArray) {
51
+ context.report({
52
+ message: `Unexpected array element`,
53
+ loc: reportNode.loc
54
+ });
55
+ }
56
+ }
57
+ function splitByDots(key, reportNode) {
58
+ const result = [];
59
+ let startIndex = 0;
60
+ let index;
61
+ while ((index = key.indexOf('.', startIndex)) >= 0) {
62
+ const getLoc = buildGetLocation(startIndex, index);
63
+ result.push({
64
+ key: key.slice(startIndex, index),
65
+ get loc() {
66
+ return getLoc();
67
+ }
68
+ });
69
+ startIndex = index + 1;
70
+ }
71
+ const getLoc = buildGetLocation(startIndex, key.length);
72
+ result.push({
73
+ key: key.slice(startIndex, index),
74
+ get loc() {
75
+ return getLoc();
76
+ }
77
+ });
78
+ return result;
79
+ function buildGetLocation(start, end) {
80
+ const offset = reportNode.type === 'JSONLiteral' ||
81
+ (reportNode.type === 'YAMLScalar' &&
82
+ (reportNode.style === 'double-quoted' ||
83
+ reportNode.style === 'single-quoted'))
84
+ ? reportNode.range[0] + 1
85
+ : reportNode.range[0];
86
+ let cachedLoc;
87
+ return () => {
88
+ if (cachedLoc) {
89
+ return cachedLoc;
90
+ }
91
+ return (cachedLoc = {
92
+ start: sourceCode.getLocFromIndex(offset + start),
93
+ end: sourceCode.getLocFromIndex(offset + end)
94
+ });
95
+ };
96
+ }
97
+ }
98
+ function createVisitorForJson(targetLocaleMessage) {
99
+ let keyStack = {
100
+ inLocale: targetLocaleMessage.isResolvedLocaleByFileName()
101
+ };
102
+ return {
103
+ JSONProperty(node) {
104
+ const { inLocale } = keyStack;
105
+ keyStack = {
106
+ node,
107
+ inLocale: true,
108
+ upper: keyStack
109
+ };
110
+ if (!inLocale) {
111
+ return;
112
+ }
113
+ const key = node.key.type === 'JSONLiteral' ? `${node.key.value}` : node.key.name;
114
+ verifyKeyForString(key, node.key);
115
+ },
116
+ 'JSONProperty:exit'() {
117
+ keyStack = keyStack.upper;
118
+ },
119
+ 'JSONArrayExpression > *'(node) {
120
+ const key = node.parent.elements.indexOf(node);
121
+ verifyKeyForNumber(key, node);
122
+ }
123
+ };
124
+ }
125
+ function createVisitorForYaml(targetLocaleMessage) {
126
+ const yamlKeyNodes = new Set();
127
+ let keyStack = {
128
+ inLocale: targetLocaleMessage.isResolvedLocaleByFileName()
129
+ };
130
+ function withinKey(node) {
131
+ for (const keyNode of yamlKeyNodes) {
132
+ if (keyNode.range[0] <= node.range[0] &&
133
+ node.range[0] < keyNode.range[1]) {
134
+ return true;
135
+ }
136
+ }
137
+ return false;
138
+ }
139
+ return {
140
+ YAMLPair(node) {
141
+ const { inLocale } = keyStack;
142
+ keyStack = {
143
+ node,
144
+ inLocale: true,
145
+ upper: keyStack
146
+ };
147
+ if (!inLocale) {
148
+ return;
149
+ }
150
+ if (node.key != null) {
151
+ if (withinKey(node)) {
152
+ return;
153
+ }
154
+ yamlKeyNodes.add(node.key);
155
+ }
156
+ if (node.key == null) {
157
+ reportUnknown(node);
158
+ }
159
+ else if (node.key.type === 'YAMLScalar') {
160
+ const keyValue = node.key.value;
161
+ const key = typeof keyValue === 'string' ? keyValue : String(keyValue);
162
+ verifyKeyForString(key, node.key);
163
+ }
164
+ else {
165
+ reportUnknown(node);
166
+ }
167
+ },
168
+ 'YAMLPair:exit'() {
169
+ keyStack = keyStack.upper;
170
+ },
171
+ 'YAMLSequence > *'(node) {
172
+ if (withinKey(node)) {
173
+ return;
174
+ }
175
+ const key = node.parent.entries.indexOf(node);
176
+ verifyKeyForNumber(key, node);
177
+ }
178
+ };
179
+ }
180
+ if ((0, path_1.extname)(filename) === '.vue') {
181
+ return (0, index_1.defineCustomBlocksVisitor)(context, ctx => {
182
+ const localeMessages = (0, index_1.getLocaleMessages)(context);
183
+ const targetLocaleMessage = localeMessages.findBlockLocaleMessage(ctx.parserServices.customBlock);
184
+ if (!targetLocaleMessage) {
185
+ return {};
186
+ }
187
+ return createVisitorForJson(targetLocaleMessage);
188
+ }, ctx => {
189
+ const localeMessages = (0, index_1.getLocaleMessages)(context);
190
+ const targetLocaleMessage = localeMessages.findBlockLocaleMessage(ctx.parserServices.customBlock);
191
+ if (!targetLocaleMessage) {
192
+ return {};
193
+ }
194
+ return createVisitorForYaml(targetLocaleMessage);
195
+ });
196
+ }
197
+ else if (sourceCode.parserServices.isJSON ||
198
+ sourceCode.parserServices.isYAML) {
199
+ const localeMessages = (0, index_1.getLocaleMessages)(context);
200
+ const targetLocaleMessage = localeMessages.findExistLocaleMessage(filename);
201
+ if (!targetLocaleMessage) {
202
+ debug(`ignore ${filename} in key-format-style`);
203
+ return {};
204
+ }
205
+ if (sourceCode.parserServices.isJSON) {
206
+ return createVisitorForJson(targetLocaleMessage);
207
+ }
208
+ else if (sourceCode.parserServices.isYAML) {
209
+ return createVisitorForYaml(targetLocaleMessage);
210
+ }
211
+ return {};
212
+ }
213
+ else {
214
+ debug(`ignore ${filename} in key-format-style`);
215
+ return {};
216
+ }
217
+ }
218
+ module.exports = (0, rule_1.createRule)({
219
+ meta: {
220
+ type: 'layout',
221
+ docs: {
222
+ description: 'enforce specific casing for localization keys',
223
+ category: 'Best Practices',
224
+ url: 'https://eslint-plugin-vue-i18n.intlify.dev/rules/key-format-style.html',
225
+ recommended: false
226
+ },
227
+ fixable: null,
228
+ schema: [
229
+ {
230
+ enum: [...allowedCaseOptions]
231
+ },
232
+ {
233
+ type: 'object',
234
+ properties: {
235
+ allowArray: {
236
+ type: 'boolean'
237
+ },
238
+ splitByDots: {
239
+ type: 'boolean'
240
+ }
241
+ },
242
+ additionalProperties: false
243
+ }
244
+ ]
245
+ },
246
+ create
247
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("../types").RuleModule;
2
+ export = _default;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ const index_1 = require("../utils/index");
3
+ const rule_1 = require("../utils/rule");
4
+ const compat_1 = require("../utils/compat");
5
+ function create(context) {
6
+ return (0, index_1.defineTemplateBodyVisitor)(context, {
7
+ VElement(node) {
8
+ if (node.name !== 'i18n') {
9
+ return;
10
+ }
11
+ const sourceCode = (0, compat_1.getSourceCode)(context);
12
+ const tokenStore = sourceCode.parserServices.getTemplateBodyTokenStore();
13
+ const tagNameToken = tokenStore.getFirstToken(node.startTag);
14
+ context.report({
15
+ node: tagNameToken,
16
+ messageId: 'deprecated',
17
+ *fix(fixer) {
18
+ yield fixer.replaceText(tagNameToken, '<i18n-t');
19
+ let hasTag = false;
20
+ for (const attr of node.startTag.attributes) {
21
+ if (attr.directive) {
22
+ if (attr.key.name.name !== 'bind') {
23
+ continue;
24
+ }
25
+ if (!attr.key.argument ||
26
+ attr.key.argument.type !== 'VIdentifier') {
27
+ continue;
28
+ }
29
+ if (attr.key.argument.name === 'path') {
30
+ yield fixer.replaceText(attr.key.argument, 'keypath');
31
+ }
32
+ else if (attr.key.argument.name === 'tag') {
33
+ hasTag = true;
34
+ if (attr.value &&
35
+ attr.value.expression &&
36
+ attr.value.expression.type === 'Literal' &&
37
+ typeof attr.value.expression.value === 'boolean') {
38
+ if (attr.value.expression.value) {
39
+ yield fixer.replaceText(attr, 'tag="span"');
40
+ }
41
+ else {
42
+ yield fixer.remove(attr);
43
+ }
44
+ }
45
+ }
46
+ }
47
+ else {
48
+ if (attr.key.name === 'path') {
49
+ yield fixer.replaceText(attr.key, 'keypath');
50
+ }
51
+ else if (attr.key.name === 'tag') {
52
+ hasTag = true;
53
+ }
54
+ }
55
+ }
56
+ if (!hasTag) {
57
+ yield fixer.insertTextAfter((node.startTag.attributes.length > 0 &&
58
+ node.startTag.attributes[node.startTag.attributes.length - 1]) ||
59
+ tagNameToken, ' tag="span"');
60
+ }
61
+ if (node.endTag) {
62
+ yield fixer.replaceText(tokenStore.getFirstToken(node.endTag), '</i18n-t');
63
+ }
64
+ }
65
+ });
66
+ }
67
+ });
68
+ }
69
+ module.exports = (0, rule_1.createRule)({
70
+ meta: {
71
+ type: 'problem',
72
+ docs: {
73
+ description: 'disallow using deprecated `<i18n>` components (in Vue I18n 9.0.0+)',
74
+ category: 'Recommended',
75
+ url: 'https://eslint-plugin-vue-i18n.intlify.dev/rules/no-deprecated-i18n-component.html',
76
+ recommended: true
77
+ },
78
+ fixable: 'code',
79
+ schema: [],
80
+ messages: {
81
+ deprecated: 'Deprecated <i18n> component was found. For VueI18n v9.0, use <i18n-t> component instead.'
82
+ }
83
+ },
84
+ create
85
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("../types").RuleModule;
2
+ export = _default;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ const index_1 = require("../utils/index");
3
+ const rule_1 = require("../utils/rule");
4
+ function create(context) {
5
+ return (0, index_1.defineTemplateBodyVisitor)(context, {
6
+ VElement(node) {
7
+ if (node.name !== 'i18n' && node.name !== 'i18n-t') {
8
+ return;
9
+ }
10
+ for (const child of node.children) {
11
+ if (child.type !== 'VElement') {
12
+ continue;
13
+ }
14
+ const placeAttr = (0, index_1.getAttribute)(child, 'place') || (0, index_1.getDirective)(child, 'bind', 'place');
15
+ if (placeAttr) {
16
+ context.report({
17
+ node: placeAttr.key,
18
+ messageId: 'deprecated'
19
+ });
20
+ }
21
+ }
22
+ }
23
+ });
24
+ }
25
+ module.exports = (0, rule_1.createRule)({
26
+ meta: {
27
+ type: 'problem',
28
+ docs: {
29
+ description: 'disallow using deprecated `place` attribute (Removed in Vue I18n 9.0.0+)',
30
+ category: 'Recommended',
31
+ url: 'https://eslint-plugin-vue-i18n.intlify.dev/rules/no-deprecated-i18n-place-attr.html',
32
+ recommended: true
33
+ },
34
+ fixable: null,
35
+ schema: [],
36
+ messages: {
37
+ deprecated: 'Deprecated `place` attribute was found. Use v-slot instead.'
38
+ }
39
+ },
40
+ create
41
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("../types").RuleModule;
2
+ export = _default;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ const index_1 = require("../utils/index");
3
+ const rule_1 = require("../utils/rule");
4
+ function create(context) {
5
+ return (0, index_1.defineTemplateBodyVisitor)(context, {
6
+ VElement(node) {
7
+ if (node.name !== 'i18n' && node.name !== 'i18n-t') {
8
+ return;
9
+ }
10
+ const placesProp = (0, index_1.getAttribute)(node, 'places') || (0, index_1.getDirective)(node, 'bind', 'places');
11
+ if (placesProp) {
12
+ context.report({
13
+ node: placesProp.key,
14
+ messageId: 'deprecated'
15
+ });
16
+ }
17
+ }
18
+ });
19
+ }
20
+ module.exports = (0, rule_1.createRule)({
21
+ meta: {
22
+ type: 'problem',
23
+ docs: {
24
+ description: 'disallow using deprecated `places` prop (Removed in Vue I18n 9.0.0+)',
25
+ category: 'Recommended',
26
+ url: 'https://eslint-plugin-vue-i18n.intlify.dev/rules/no-deprecated-i18n-places-prop.html',
27
+ recommended: true
28
+ },
29
+ fixable: null,
30
+ schema: [],
31
+ messages: {
32
+ deprecated: 'Deprecated `places` prop was found. Use v-slot instead.'
33
+ }
34
+ },
35
+ create
36
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("../types").RuleModule;
2
+ export = _default;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ const node_path_1 = require("node:path");
6
+ const debug_1 = __importDefault(require("debug"));
7
+ const index_1 = require("../utils/index");
8
+ const utils_1 = require("../utils/message-compiler/utils");
9
+ const parser_v9_1 = require("../utils/message-compiler/parser-v9");
10
+ const traverser_1 = require("../utils/message-compiler/traverser");
11
+ const rule_1 = require("../utils/rule");
12
+ const compat_1 = require("../utils/compat");
13
+ const debug = (0, debug_1.default)('eslint-plugin-vue-i18n:no-deprecated-modulo-syntax');
14
+ function create(context) {
15
+ const filename = (0, compat_1.getFilename)(context);
16
+ const sourceCode = (0, compat_1.getSourceCode)(context);
17
+ const messageSyntaxVersions = (0, utils_1.getMessageSyntaxVersions)(context);
18
+ function verifyForV9(message, reportNode, getReportOffset) {
19
+ const { ast, errors } = (0, parser_v9_1.parse)(message);
20
+ if (errors.length) {
21
+ return;
22
+ }
23
+ (0, traverser_1.traverseNode)(ast, node => {
24
+ if (node.type !== utils_1.NodeTypes.Named || !node.modulo) {
25
+ return;
26
+ }
27
+ let range = null;
28
+ const start = getReportOffset(node.loc.start.offset);
29
+ const end = getReportOffset(node.loc.end.offset);
30
+ if (start != null && end != null) {
31
+ range = [start - 1, end];
32
+ }
33
+ context.report({
34
+ loc: range
35
+ ? {
36
+ start: sourceCode.getLocFromIndex(range[0]),
37
+ end: sourceCode.getLocFromIndex(range[1])
38
+ }
39
+ : reportNode.loc,
40
+ message: 'The modulo interpolation must be enforced to named interpolation.',
41
+ fix(fixer) {
42
+ return range ? fixer.removeRange([range[0], range[0] + 1]) : null;
43
+ }
44
+ });
45
+ });
46
+ }
47
+ function verifyMessage(message, reportNode, getReportOffset) {
48
+ if (messageSyntaxVersions.reportIfMissingSetting()) {
49
+ return;
50
+ }
51
+ if (messageSyntaxVersions.v9) {
52
+ verifyForV9(message, reportNode, getReportOffset);
53
+ }
54
+ }
55
+ const createVisitorForJson = (0, rule_1.defineCreateVisitorForJson)(verifyMessage);
56
+ const createVisitorForYaml = (0, rule_1.defineCreateVisitorForYaml)(verifyMessage);
57
+ if ((0, node_path_1.extname)(filename) === '.vue') {
58
+ return (0, index_1.defineCustomBlocksVisitor)(context, createVisitorForJson, createVisitorForYaml);
59
+ }
60
+ else if (sourceCode.parserServices.isJSON ||
61
+ sourceCode.parserServices.isYAML) {
62
+ const localeMessages = (0, index_1.getLocaleMessages)(context);
63
+ const targetLocaleMessage = localeMessages.findExistLocaleMessage(filename);
64
+ if (!targetLocaleMessage) {
65
+ debug(`ignore ${filename} in no-deprecated-modulo-syntax`);
66
+ return {};
67
+ }
68
+ if (sourceCode.parserServices.isJSON) {
69
+ return createVisitorForJson(context);
70
+ }
71
+ else if (sourceCode.parserServices.isYAML) {
72
+ return createVisitorForYaml(context);
73
+ }
74
+ return {};
75
+ }
76
+ else {
77
+ debug(`ignore ${filename} in no-deprecated-modulo-syntax`);
78
+ return {};
79
+ }
80
+ }
81
+ module.exports = (0, rule_1.createRule)({
82
+ meta: {
83
+ type: 'problem',
84
+ docs: {
85
+ description: 'enforce modulo interpolation to be named interpolation',
86
+ category: 'Recommended',
87
+ url: 'https://eslint-plugin-vue-i18n.intlify.dev/rules/no-deprecated-modulo-syntax.html',
88
+ recommended: true
89
+ },
90
+ fixable: 'code',
91
+ schema: []
92
+ },
93
+ create
94
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("../types").RuleModule;
2
+ export = _default;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ const index_1 = require("../utils/index");
3
+ const rule_1 = require("../utils/rule");
4
+ function checkCallExpression(context, node) {
5
+ const funcName = (node.callee.type === 'MemberExpression' &&
6
+ node.callee.property.type === 'Identifier' &&
7
+ node.callee.property.name) ||
8
+ (node.callee.type === 'Identifier' && node.callee.name) ||
9
+ '';
10
+ if (/^(\$tc|tc)$/.test(funcName)) {
11
+ context.report({
12
+ node,
13
+ message: `'${funcName}' is used, but it is deprecated. Use 't' or '$t' instead.`
14
+ });
15
+ return;
16
+ }
17
+ }
18
+ function create(context) {
19
+ return (0, index_1.defineTemplateBodyVisitor)(context, {
20
+ CallExpression(node) {
21
+ checkCallExpression(context, node);
22
+ }
23
+ }, {
24
+ CallExpression(node) {
25
+ checkCallExpression(context, node);
26
+ }
27
+ });
28
+ }
29
+ module.exports = (0, rule_1.createRule)({
30
+ meta: {
31
+ type: 'problem',
32
+ docs: {
33
+ description: 'disallow using deprecated `tc` or `$tc` (Deprecated in Vue I18n 10.0.0, removed fully in Vue I18n 11.0.0)',
34
+ category: 'Recommended',
35
+ url: 'https://eslint-plugin-vue-i18n.intlify.dev/rules/no-deprecated-tc.html',
36
+ recommended: true
37
+ },
38
+ fixable: null,
39
+ schema: []
40
+ },
41
+ create
42
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("../types").RuleModule;
2
+ export = _default;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ const index_1 = require("../utils/index");
3
+ const rule_1 = require("../utils/rule");
4
+ function checkDirective(context, node) {
5
+ context.report({
6
+ node,
7
+ message: `'v-t' custom directive is used, but it is deprecated. Use 't' or '$t' instead.`
8
+ });
9
+ }
10
+ function create(context) {
11
+ return (0, index_1.defineTemplateBodyVisitor)(context, {
12
+ "VAttribute[directive=true][key.name='t']"(node) {
13
+ checkDirective(context, node);
14
+ },
15
+ "VAttribute[directive=true][key.name.name='t']"(node) {
16
+ checkDirective(context, node);
17
+ }
18
+ });
19
+ }
20
+ module.exports = (0, rule_1.createRule)({
21
+ meta: {
22
+ type: 'problem',
23
+ docs: {
24
+ description: 'disallow using deprecated `v-t` custom directive (Deprecated in Vue I18n 11.0.0, removed fully in Vue I18n 12.0.0)',
25
+ category: 'Recommended',
26
+ url: 'https://eslint-plugin-vue-i18n.intlify.dev/rules/no-deprecated-v-t.html',
27
+ recommended: true
28
+ },
29
+ fixable: null,
30
+ schema: []
31
+ },
32
+ create
33
+ });