eslint-plugin-intlayer 9.7.0 → 9.7.2
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.
- package/dist/cjs/@intlayer/config/dist/esm/extract/constants.cjs +1 -2
- package/dist/cjs/@intlayer/config/dist/esm/extract/constants.cjs.map +1 -1
- package/dist/cjs/@intlayer/config/dist/esm/extract/shouldExtract.cjs +1 -2
- package/dist/cjs/@intlayer/config/dist/esm/extract/shouldExtract.cjs.map +1 -1
- package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -2
- package/dist/cjs/index.cjs +8 -9
- package/dist/cjs/preset.cjs +1 -2
- package/dist/cjs/rules/enforceAdapterImport.cjs +3 -4
- package/dist/cjs/rules/noDynamicFieldAccess.cjs +4 -5
- package/dist/cjs/rules/noRawText.cjs +6 -7
- package/dist/cjs/rules/noUnusedContent.cjs +5 -6
- package/dist/cjs/rules/staticDictionaryKey.cjs +4 -5
- package/dist/cjs/utils/ast.cjs +1 -2
- package/dist/cjs/utils/callerMatcher.cjs +2 -3
- package/dist/cjs/utils/contentDeclaration.cjs +2 -3
- package/dist/cjs/utils/createRule.cjs +1 -2
- package/dist/cjs/utils/projectUsage.cjs +1 -2
- package/dist/cjs/utils/reactVersion.cjs +2 -3
- package/dist/cjs/utils/templates.cjs +1 -2
- package/dist/esm/@intlayer/config/dist/esm/extract/constants.mjs +1 -2
- package/dist/esm/@intlayer/config/dist/esm/extract/constants.mjs.map +1 -1
- package/dist/esm/@intlayer/config/dist/esm/extract/shouldExtract.mjs +1 -2
- package/dist/esm/@intlayer/config/dist/esm/extract/shouldExtract.mjs.map +1 -1
- package/dist/esm/_virtual/_rolldown/runtime.mjs +1 -2
- package/dist/esm/index.mjs +1 -2
- package/dist/esm/preset.mjs +1 -2
- package/dist/esm/rules/enforceAdapterImport.mjs +1 -2
- package/dist/esm/rules/noDynamicFieldAccess.mjs +2 -3
- package/dist/esm/rules/noRawText.mjs +3 -4
- package/dist/esm/rules/noUnusedContent.mjs +2 -3
- package/dist/esm/rules/staticDictionaryKey.mjs +2 -3
- package/dist/esm/utils/ast.mjs +1 -2
- package/dist/esm/utils/callerMatcher.mjs +1 -2
- package/dist/esm/utils/contentDeclaration.mjs +1 -2
- package/dist/esm/utils/createRule.mjs +1 -2
- package/dist/esm/utils/projectUsage.mjs +1 -2
- package/dist/esm/utils/reactVersion.mjs +1 -2
- package/dist/esm/utils/templates.mjs +1 -2
- package/dist/types/index.d.ts +1 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/node_modules/.bun/{@types_estree@1.0.9 → @types_estree@1.0.10}/node_modules/@types/estree/index.d.ts +7 -3
- package/dist/types/node_modules/.bun/@types_estree@1.0.10/node_modules/@types/estree/index.d.ts.map +1 -0
- package/dist/types/preset.d.ts +0 -2
- package/dist/types/preset.d.ts.map +1 -1
- package/dist/types/rules/enforceAdapterImport.d.ts +0 -2
- package/dist/types/rules/enforceAdapterImport.d.ts.map +1 -1
- package/dist/types/rules/noDynamicFieldAccess.d.ts +1 -2
- package/dist/types/rules/noDynamicFieldAccess.d.ts.map +1 -1
- package/dist/types/rules/noRawText.d.ts +1 -2
- package/dist/types/rules/noRawText.d.ts.map +1 -1
- package/dist/types/rules/noUnusedContent.d.ts +1 -2
- package/dist/types/rules/noUnusedContent.d.ts.map +1 -1
- package/dist/types/rules/staticDictionaryKey.d.ts +1 -2
- package/dist/types/rules/staticDictionaryKey.d.ts.map +1 -1
- package/dist/types/utils/ast.d.ts +1 -3
- package/dist/types/utils/ast.d.ts.map +1 -1
- package/dist/types/utils/callerMatcher.d.ts +0 -2
- package/dist/types/utils/callerMatcher.d.ts.map +1 -1
- package/dist/types/utils/contentDeclaration.d.ts +0 -2
- package/dist/types/utils/contentDeclaration.d.ts.map +1 -1
- package/dist/types/utils/createRule.d.ts +0 -2
- package/dist/types/utils/createRule.d.ts.map +1 -1
- package/dist/types/utils/projectUsage.d.ts +0 -2
- package/dist/types/utils/projectUsage.d.ts.map +1 -1
- package/dist/types/utils/reactVersion.d.ts +0 -2
- package/dist/types/utils/reactVersion.d.ts.map +1 -1
- package/dist/types/utils/templates.d.ts +0 -2
- package/dist/types/utils/templates.d.ts.map +1 -1
- package/package.json +37 -37
- package/dist/types/node_modules/.bun/@types_estree@1.0.9/node_modules/@types/estree/index.d.ts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// ../@intlayer/config/dist/esm/extract/constants.mjs
|
|
2
2
|
/**
|
|
3
3
|
* Attributes that should be extracted as translatable strings from JSX/HTML elements.
|
|
4
4
|
* This is the single source of truth shared across all Intlayer compiler packages
|
|
@@ -13,6 +13,5 @@ const ATTRIBUTES_TO_EXTRACT = [
|
|
|
13
13
|
"label"
|
|
14
14
|
];
|
|
15
15
|
|
|
16
|
-
//#endregion
|
|
17
16
|
exports.ATTRIBUTES_TO_EXTRACT = ATTRIBUTES_TO_EXTRACT;
|
|
18
17
|
//# sourceMappingURL=constants.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.cjs","names":[],"sources":["../../../../../../../../@intlayer/config/dist/esm/extract/constants.mjs"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"constants.cjs","names":[],"sources":["../../../../../../../../@intlayer/config/dist/esm/extract/constants.mjs"],"sourcesContent":["// src/extract/constants.ts\n/**\n* Attributes that should be extracted as translatable strings from JSX/HTML elements.\n* This is the single source of truth shared across all Intlayer compiler packages\n* (@intlayer/babel, @intlayer/vue-compiler, @intlayer/svelte-compiler, @intlayer/engine)\n* and the `eslint-plugin-intlayer` `no-raw-text` rule.\n*/\nconst ATTRIBUTES_TO_EXTRACT = [\n\t\"title\",\n\t\"placeholder\",\n\t\"alt\",\n\t\"aria-label\",\n\t\"label\"\n];\n\nexport { ATTRIBUTES_TO_EXTRACT };\n//# sourceMappingURL=constants.mjs.map"],"mappings":";;;;;;;AAOA,MAAM,wBAAwB;CAC7B;CACA;CACA;CACA;CACA;AACD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// ../@intlayer/config/dist/esm/extract/shouldExtract.mjs
|
|
2
2
|
/**
|
|
3
3
|
* Checks whether the given text should be extracted as a translatable string.
|
|
4
4
|
*
|
|
@@ -32,6 +32,5 @@ const shouldExtract = (text) => {
|
|
|
32
32
|
return true;
|
|
33
33
|
};
|
|
34
34
|
|
|
35
|
-
//#endregion
|
|
36
35
|
exports.shouldExtract = shouldExtract;
|
|
37
36
|
//# sourceMappingURL=shouldExtract.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shouldExtract.cjs","names":[],"sources":["../../../../../../../../@intlayer/config/dist/esm/extract/shouldExtract.mjs"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"shouldExtract.cjs","names":[],"sources":["../../../../../../../../@intlayer/config/dist/esm/extract/shouldExtract.mjs"],"sourcesContent":["// src/extract/shouldExtract.ts\n/**\n* Checks whether the given text should be extracted as a translatable string.\n*\n* Filters out:\n* - Empty strings\n* - Emails\n* - Single capitalized words (likely brand/proper nouns, e.g. \"Intlayer\")\n* - Uncapitalized strings of 2 words or fewer (likely technical terms)\n* - Dynamic content patterns like Vue bindings (`v-`) or object patterns (`{`)\n*/\nconst shouldExtract = (text) => {\n\tconst trimmed = text.trim();\n\tif (!trimmed) return false;\n\tif (/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(trimmed)) return false;\n\tif (trimmed.startsWith(\"{\") && !trimmed.startsWith(\"{{\") || trimmed.startsWith(\"v-\")) return false;\n\tif (trimmed.includes(\"=>\") || trimmed.includes(\");\") || trimmed.includes(\"(){\") || trimmed.includes(\"==\") || trimmed.includes(\"window.\") || trimmed.startsWith(\"(function\") || trimmed.startsWith(\"function(\")) return false;\n\tif ((trimmed.match(/[^\\p{L}\\p{N}\\s.,!?;:'\"()[\\]{}–—/«»„“\\p{Sc}%&*+#@^_+=<>/~]/gu) || []).length > 5) return false;\n\tconst wordCount = trimmed.split(/\\s+/).length;\n\tconst cssClassTokenRegex = /^!?([a-z][a-z0-9-]*:)*[a-z][a-z0-9]*(-[a-z0-9[\\].,%#/]+)*(\\/[a-z0-9]+)?$/;\n\tif (wordCount > 1) {\n\t\tconst tokens = trimmed.split(/\\s+/);\n\t\tif (tokens.every((token) => cssClassTokenRegex.test(token)) && tokens.some((token) => token.includes(\"-\"))) return false;\n\t}\n\tconst isCapitalized = /^['\"([]*\\p{Lu}/u.test(trimmed);\n\tif (wordCount === 1 && isCapitalized) return false;\n\tif (wordCount === 1) {\n\t\tif (/[a-z]\\p{Lu}/u.test(trimmed)) return false;\n\t\tif (trimmed.includes(\"-\") || trimmed.includes(\"_\")) return false;\n\t}\n\tif (!isCapitalized && wordCount <= 2) return false;\n\treturn true;\n};\n\nexport { shouldExtract };\n//# sourceMappingURL=shouldExtract.mjs.map"],"mappings":";;;;;;;;;;;AAWA,MAAM,iBAAiB,SAAS;CAC/B,MAAM,UAAU,KAAK,KAAK;CAC1B,IAAI,CAAC,SAAS,OAAO;CACrB,IAAI,6BAA6B,KAAK,OAAO,GAAG,OAAO;CACvD,IAAI,QAAQ,WAAW,GAAG,KAAK,CAAC,QAAQ,WAAW,IAAI,KAAK,QAAQ,WAAW,IAAI,GAAG,OAAO;CAC7F,IAAI,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,KAAK,KAAK,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,SAAS,KAAK,QAAQ,WAAW,WAAW,KAAK,QAAQ,WAAW,WAAW,GAAG,OAAO;CACvN,KAAK,QAAQ,MAAM,6DAA6D,KAAK,CAAC,EAAC,CAAE,SAAS,GAAG,OAAO;CAC5G,MAAM,YAAY,QAAQ,MAAM,KAAK,CAAC,CAAC;CACvC,MAAM,qBAAqB;CAC3B,IAAI,YAAY,GAAG;EAClB,MAAM,SAAS,QAAQ,MAAM,KAAK;EAClC,IAAI,OAAO,OAAO,UAAU,mBAAmB,KAAK,KAAK,CAAC,KAAK,OAAO,MAAM,UAAU,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO;CACpH;CACA,MAAM,gBAAgB,kBAAkB,KAAK,OAAO;CACpD,IAAI,cAAc,KAAK,eAAe,OAAO;CAC7C,IAAI,cAAc,GAAG;EACpB,IAAI,eAAe,KAAK,OAAO,GAAG,OAAO;EACzC,IAAI,QAAQ,SAAS,GAAG,KAAK,QAAQ,SAAS,GAAG,GAAG,OAAO;CAC5D;CACA,IAAI,CAAC,iBAAiB,aAAa,GAAG,OAAO;CAC7C,OAAO;AACR"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// \0rolldown/runtime.js
|
|
2
2
|
var __create = Object.create;
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -24,5 +24,4 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
24
24
|
enumerable: true
|
|
25
25
|
}) : target, mod));
|
|
26
26
|
|
|
27
|
-
//#endregion
|
|
28
27
|
exports.__toESM = __toESM;
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
2
|
-
const require_preset = require(
|
|
3
|
-
const require_rules_enforceAdapterImport = require(
|
|
4
|
-
const require_rules_noDynamicFieldAccess = require(
|
|
5
|
-
const require_rules_noRawText = require(
|
|
6
|
-
const require_rules_noUnusedContent = require(
|
|
7
|
-
const require_rules_staticDictionaryKey = require(
|
|
8
|
-
const require_utils_reactVersion = require(
|
|
2
|
+
const require_preset = require("./preset.cjs");
|
|
3
|
+
const require_rules_enforceAdapterImport = require("./rules/enforceAdapterImport.cjs");
|
|
4
|
+
const require_rules_noDynamicFieldAccess = require("./rules/noDynamicFieldAccess.cjs");
|
|
5
|
+
const require_rules_noRawText = require("./rules/noRawText.cjs");
|
|
6
|
+
const require_rules_noUnusedContent = require("./rules/noUnusedContent.cjs");
|
|
7
|
+
const require_rules_staticDictionaryKey = require("./rules/staticDictionaryKey.cjs");
|
|
8
|
+
const require_utils_reactVersion = require("./utils/reactVersion.cjs");
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
// src/index.ts
|
|
11
11
|
/**
|
|
12
12
|
* Every rule this plugin ships, keyed by the name used in configuration.
|
|
13
13
|
*
|
|
@@ -103,7 +103,6 @@ const intlayerPlugin = {
|
|
|
103
103
|
}
|
|
104
104
|
};
|
|
105
105
|
|
|
106
|
-
//#endregion
|
|
107
106
|
exports.GENERATED_OUTPUT_GLOBS = require_preset.GENERATED_OUTPUT_GLOBS;
|
|
108
107
|
exports.PLUGIN_NAMESPACE = require_preset.PLUGIN_NAMESPACE;
|
|
109
108
|
exports.PLUGIN_PACKAGE_NAME = require_preset.PLUGIN_PACKAGE_NAME;
|
package/dist/cjs/preset.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
|
|
2
|
+
// src/preset.ts
|
|
3
3
|
/** npm package name of this plugin. */
|
|
4
4
|
const PLUGIN_PACKAGE_NAME = "eslint-plugin-intlayer";
|
|
5
5
|
/** Prefix the rules are registered under, e.g. `intlayer/no-raw-text`. */
|
|
@@ -44,7 +44,6 @@ const RECOMMENDED_RULES = {
|
|
|
44
44
|
*/
|
|
45
45
|
const getRecommendedRules = () => Object.fromEntries(Object.entries(RECOMMENDED_RULES).map(([ruleName, entry]) => [`${PLUGIN_NAMESPACE}/${ruleName}`, entry]));
|
|
46
46
|
|
|
47
|
-
//#endregion
|
|
48
47
|
exports.GENERATED_OUTPUT_GLOBS = GENERATED_OUTPUT_GLOBS;
|
|
49
48
|
exports.PLUGIN_NAMESPACE = PLUGIN_NAMESPACE;
|
|
50
49
|
exports.PLUGIN_PACKAGE_NAME = PLUGIN_PACKAGE_NAME;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const require_utils_ast = require(
|
|
3
|
-
const require_utils_createRule = require(
|
|
2
|
+
const require_utils_ast = require("../utils/ast.cjs");
|
|
3
|
+
const require_utils_createRule = require("../utils/createRule.cjs");
|
|
4
4
|
let _intlayer_config_callers = require("@intlayer/config/callers");
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/rules/enforceAdapterImport.ts
|
|
7
7
|
const ADAPTER_SCOPE = "@intlayer/";
|
|
8
8
|
/**
|
|
9
9
|
* Original third-party library specifier → the `@intlayer/*` adapter that
|
|
@@ -83,6 +83,5 @@ const enforceAdapterImport = require_utils_createRule.createRule("enforce-adapte
|
|
|
83
83
|
}
|
|
84
84
|
});
|
|
85
85
|
|
|
86
|
-
//#endregion
|
|
87
86
|
exports.enforceAdapterImport = enforceAdapterImport;
|
|
88
87
|
//# sourceMappingURL=enforceAdapterImport.cjs.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const require_utils_ast = require(
|
|
3
|
-
const
|
|
4
|
-
const
|
|
2
|
+
const require_utils_ast = require("../utils/ast.cjs");
|
|
3
|
+
const require_utils_callerMatcher = require("../utils/callerMatcher.cjs");
|
|
4
|
+
const require_utils_createRule = require("../utils/createRule.cjs");
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/rules/noDynamicFieldAccess.ts
|
|
7
7
|
/**
|
|
8
8
|
* Property name holding the translation function in a `destructured-t` result,
|
|
9
9
|
* e.g. `const { t } = useTranslation('home')`.
|
|
@@ -125,6 +125,5 @@ const noDynamicFieldAccess = require_utils_createRule.createRule("no-dynamic-fie
|
|
|
125
125
|
}
|
|
126
126
|
});
|
|
127
127
|
|
|
128
|
-
//#endregion
|
|
129
128
|
exports.noDynamicFieldAccess = noDynamicFieldAccess;
|
|
130
129
|
//# sourceMappingURL=noDynamicFieldAccess.cjs.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const require_utils_templates = require(
|
|
2
|
+
const require_constants = require("../@intlayer/config/dist/esm/extract/constants.cjs");
|
|
3
|
+
const require_shouldExtract = require("../@intlayer/config/dist/esm/extract/shouldExtract.cjs");
|
|
4
|
+
const require_utils_ast = require("../utils/ast.cjs");
|
|
5
|
+
const require_utils_createRule = require("../utils/createRule.cjs");
|
|
6
|
+
const require_utils_templates = require("../utils/templates.cjs");
|
|
7
7
|
let _intlayer_config_defaultValues = require("@intlayer/config/defaultValues");
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
// src/rules/noRawText.ts
|
|
10
10
|
/**
|
|
11
11
|
* Elements whose text is markup, code or metadata rather than user-facing copy.
|
|
12
12
|
* Extracting them would be wrong, so they are skipped by default.
|
|
@@ -172,6 +172,5 @@ const noRawText = require_utils_createRule.createRule("no-raw-text", {
|
|
|
172
172
|
}
|
|
173
173
|
});
|
|
174
174
|
|
|
175
|
-
//#endregion
|
|
176
175
|
exports.noRawText = noRawText;
|
|
177
176
|
//# sourceMappingURL=noRawText.cjs.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const require_utils_ast = require(
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const require_utils_projectUsage = require(
|
|
2
|
+
const require_utils_ast = require("../utils/ast.cjs");
|
|
3
|
+
const require_utils_contentDeclaration = require("../utils/contentDeclaration.cjs");
|
|
4
|
+
const require_utils_createRule = require("../utils/createRule.cjs");
|
|
5
|
+
const require_utils_projectUsage = require("../utils/projectUsage.cjs");
|
|
6
6
|
let _intlayer_config_defaultValues = require("@intlayer/config/defaultValues");
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// src/rules/noUnusedContent.ts
|
|
9
9
|
/** Lifetime of the cached project scan, in milliseconds. */
|
|
10
10
|
const DEFAULT_CACHE_TTL_MS = 3e4;
|
|
11
11
|
/**
|
|
@@ -138,6 +138,5 @@ const noUnusedContent = require_utils_createRule.createRule("no-unused-content",
|
|
|
138
138
|
}
|
|
139
139
|
});
|
|
140
140
|
|
|
141
|
-
//#endregion
|
|
142
141
|
exports.noUnusedContent = noUnusedContent;
|
|
143
142
|
//# sourceMappingURL=noUnusedContent.cjs.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const require_utils_ast = require(
|
|
3
|
-
const
|
|
4
|
-
const
|
|
2
|
+
const require_utils_ast = require("../utils/ast.cjs");
|
|
3
|
+
const require_utils_callerMatcher = require("../utils/callerMatcher.cjs");
|
|
4
|
+
const require_utils_createRule = require("../utils/createRule.cjs");
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/rules/staticDictionaryKey.ts
|
|
7
7
|
/**
|
|
8
8
|
* True when the call may legitimately omit its namespace — next-intl's
|
|
9
9
|
* `useTranslations()` root scope derives the dictionary from each message id
|
|
@@ -84,6 +84,5 @@ const staticDictionaryKey = require_utils_createRule.createRule("static-dictiona
|
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
86
|
|
|
87
|
-
//#endregion
|
|
88
87
|
exports.staticDictionaryKey = staticDictionaryKey;
|
|
89
88
|
//# sourceMappingURL=staticDictionaryKey.cjs.map
|
package/dist/cjs/utils/ast.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
|
|
2
|
+
// src/utils/ast.ts
|
|
3
3
|
/**
|
|
4
4
|
* TypeScript wrapper expressions that carry no runtime meaning. The Intlayer
|
|
5
5
|
* compiler unwraps them before reading a value, so the rules must too —
|
|
@@ -139,7 +139,6 @@ const getJsxElementName = (openingElement) => {
|
|
|
139
139
|
/** Narrow an ESLint visitor node to the loose {@link AstNode} shape. */
|
|
140
140
|
const toAstNode = (node) => node;
|
|
141
141
|
|
|
142
|
-
//#endregion
|
|
143
142
|
exports.getCalleeName = getCalleeName;
|
|
144
143
|
exports.getJsxAttributeName = getJsxAttributeName;
|
|
145
144
|
exports.getJsxAttributeValueNode = getJsxAttributeValueNode;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const require_utils_ast = require(
|
|
2
|
+
const require_utils_ast = require("./ast.cjs");
|
|
3
3
|
let _intlayer_config_callers = require("@intlayer/config/callers");
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/utils/callerMatcher.ts
|
|
6
6
|
/**
|
|
7
7
|
* Module specifiers imported by a file, as they are written in source.
|
|
8
8
|
*
|
|
@@ -122,7 +122,6 @@ const matchJsxCaller = (elementName, activeDescriptors) => {
|
|
|
122
122
|
return activeDescriptors.find((descriptor) => descriptor.callerName === elementName && descriptor.jsxIdAttribute !== void 0) ?? null;
|
|
123
123
|
};
|
|
124
124
|
|
|
125
|
-
//#endregion
|
|
126
125
|
exports.collectImportSources = collectImportSources;
|
|
127
126
|
exports.getActiveDescriptors = getActiveDescriptors;
|
|
128
127
|
exports.matchCaller = matchCaller;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const require_utils_ast = require(
|
|
2
|
+
const require_utils_ast = require("./ast.cjs");
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/utils/contentDeclaration.ts
|
|
5
5
|
/**
|
|
6
6
|
* Static name of an object property key, or `null` for computed and
|
|
7
7
|
* non-literal keys.
|
|
@@ -95,6 +95,5 @@ const readContentDeclaration = (objectExpression) => {
|
|
|
95
95
|
};
|
|
96
96
|
};
|
|
97
97
|
|
|
98
|
-
//#endregion
|
|
99
98
|
exports.readContentDeclaration = readContentDeclaration;
|
|
100
99
|
//# sourceMappingURL=contentDeclaration.cjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
|
|
2
|
+
// src/utils/createRule.ts
|
|
3
3
|
const DOCUMENTATION_BASE_URL = "https://github.com/aymericzip/intlayer/blob/main/packages/eslint-plugin-intlayer/README.md";
|
|
4
4
|
/**
|
|
5
5
|
* Build a rule with the plugin's shared metadata conventions applied: a
|
|
@@ -21,6 +21,5 @@ const createRule = (name, rule) => ({
|
|
|
21
21
|
}
|
|
22
22
|
});
|
|
23
23
|
|
|
24
|
-
//#endregion
|
|
25
24
|
exports.createRule = createRule;
|
|
26
25
|
//# sourceMappingURL=createRule.cjs.map
|
|
@@ -3,7 +3,7 @@ let node_fs = require("node:fs");
|
|
|
3
3
|
let node_module = require("node:module");
|
|
4
4
|
let node_path = require("node:path");
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/utils/projectUsage.ts
|
|
7
7
|
/** `require` resolved from this package — the fallback when the host project cannot resolve a module. */
|
|
8
8
|
const packageRequire = typeof require("url").pathToFileURL(__filename).href === "string" ? (0, node_module.createRequire)(require("url").pathToFileURL(__filename).href) : require;
|
|
9
9
|
/**
|
|
@@ -428,7 +428,6 @@ const getDuplicateDeclarations = (configuration, dictionaryKey, currentFilePath)
|
|
|
428
428
|
return duplicates;
|
|
429
429
|
};
|
|
430
430
|
|
|
431
|
-
//#endregion
|
|
432
431
|
exports.clearProjectUsageCache = clearProjectUsageCache;
|
|
433
432
|
exports.getDuplicateDeclarations = getDuplicateDeclarations;
|
|
434
433
|
exports.getProjectConfiguration = getProjectConfiguration;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
const require_runtime = require(
|
|
2
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
3
3
|
let node_fs = require("node:fs");
|
|
4
4
|
node_fs = require_runtime.__toESM(node_fs);
|
|
5
5
|
let node_path = require("node:path");
|
|
6
6
|
node_path = require_runtime.__toESM(node_path);
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// src/utils/reactVersion.ts
|
|
9
9
|
/**
|
|
10
10
|
* Detect the installed React version for ESLint configuration.
|
|
11
11
|
*
|
|
@@ -45,6 +45,5 @@ const getReactVersion = (dir = process.cwd()) => {
|
|
|
45
45
|
return "19.0";
|
|
46
46
|
};
|
|
47
47
|
|
|
48
|
-
//#endregion
|
|
49
48
|
exports.getReactVersion = getReactVersion;
|
|
50
49
|
//# sourceMappingURL=reactVersion.cjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
-
|
|
2
|
+
// src/utils/templates.ts
|
|
3
3
|
/**
|
|
4
4
|
* Element node types whose text content is never user-facing copy, regardless
|
|
5
5
|
* of the `ignoreElements` option (which matches on tag name, and these carry
|
|
@@ -141,7 +141,6 @@ const combineVisitors = (parserServices, scriptVisitor, templateVisitor) => {
|
|
|
141
141
|
};
|
|
142
142
|
};
|
|
143
143
|
|
|
144
|
-
//#endregion
|
|
145
144
|
exports.combineVisitors = combineVisitors;
|
|
146
145
|
exports.createTemplateVisitor = createTemplateVisitor;
|
|
147
146
|
exports.resolveEnclosingElement = resolveEnclosingElement;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// ../@intlayer/config/dist/esm/extract/constants.mjs
|
|
2
2
|
/**
|
|
3
3
|
* Attributes that should be extracted as translatable strings from JSX/HTML elements.
|
|
4
4
|
* This is the single source of truth shared across all Intlayer compiler packages
|
|
@@ -13,6 +13,5 @@ const ATTRIBUTES_TO_EXTRACT = [
|
|
|
13
13
|
"label"
|
|
14
14
|
];
|
|
15
15
|
|
|
16
|
-
//#endregion
|
|
17
16
|
export { ATTRIBUTES_TO_EXTRACT };
|
|
18
17
|
//# sourceMappingURL=constants.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","names":[],"sources":["../../../../../../../../@intlayer/config/dist/esm/extract/constants.mjs"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"constants.mjs","names":[],"sources":["../../../../../../../../@intlayer/config/dist/esm/extract/constants.mjs"],"sourcesContent":["// src/extract/constants.ts\n/**\n* Attributes that should be extracted as translatable strings from JSX/HTML elements.\n* This is the single source of truth shared across all Intlayer compiler packages\n* (@intlayer/babel, @intlayer/vue-compiler, @intlayer/svelte-compiler, @intlayer/engine)\n* and the `eslint-plugin-intlayer` `no-raw-text` rule.\n*/\nconst ATTRIBUTES_TO_EXTRACT = [\n\t\"title\",\n\t\"placeholder\",\n\t\"alt\",\n\t\"aria-label\",\n\t\"label\"\n];\n\nexport { ATTRIBUTES_TO_EXTRACT };\n//# sourceMappingURL=constants.mjs.map"],"mappings":";;;;;;;AAOA,MAAM,wBAAwB;CAC7B;CACA;CACA;CACA;CACA;AACD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// ../@intlayer/config/dist/esm/extract/shouldExtract.mjs
|
|
2
2
|
/**
|
|
3
3
|
* Checks whether the given text should be extracted as a translatable string.
|
|
4
4
|
*
|
|
@@ -32,6 +32,5 @@ const shouldExtract = (text) => {
|
|
|
32
32
|
return true;
|
|
33
33
|
};
|
|
34
34
|
|
|
35
|
-
//#endregion
|
|
36
35
|
export { shouldExtract };
|
|
37
36
|
//# sourceMappingURL=shouldExtract.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shouldExtract.mjs","names":[],"sources":["../../../../../../../../@intlayer/config/dist/esm/extract/shouldExtract.mjs"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"shouldExtract.mjs","names":[],"sources":["../../../../../../../../@intlayer/config/dist/esm/extract/shouldExtract.mjs"],"sourcesContent":["// src/extract/shouldExtract.ts\n/**\n* Checks whether the given text should be extracted as a translatable string.\n*\n* Filters out:\n* - Empty strings\n* - Emails\n* - Single capitalized words (likely brand/proper nouns, e.g. \"Intlayer\")\n* - Uncapitalized strings of 2 words or fewer (likely technical terms)\n* - Dynamic content patterns like Vue bindings (`v-`) or object patterns (`{`)\n*/\nconst shouldExtract = (text) => {\n\tconst trimmed = text.trim();\n\tif (!trimmed) return false;\n\tif (/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(trimmed)) return false;\n\tif (trimmed.startsWith(\"{\") && !trimmed.startsWith(\"{{\") || trimmed.startsWith(\"v-\")) return false;\n\tif (trimmed.includes(\"=>\") || trimmed.includes(\");\") || trimmed.includes(\"(){\") || trimmed.includes(\"==\") || trimmed.includes(\"window.\") || trimmed.startsWith(\"(function\") || trimmed.startsWith(\"function(\")) return false;\n\tif ((trimmed.match(/[^\\p{L}\\p{N}\\s.,!?;:'\"()[\\]{}–—/«»„“\\p{Sc}%&*+#@^_+=<>/~]/gu) || []).length > 5) return false;\n\tconst wordCount = trimmed.split(/\\s+/).length;\n\tconst cssClassTokenRegex = /^!?([a-z][a-z0-9-]*:)*[a-z][a-z0-9]*(-[a-z0-9[\\].,%#/]+)*(\\/[a-z0-9]+)?$/;\n\tif (wordCount > 1) {\n\t\tconst tokens = trimmed.split(/\\s+/);\n\t\tif (tokens.every((token) => cssClassTokenRegex.test(token)) && tokens.some((token) => token.includes(\"-\"))) return false;\n\t}\n\tconst isCapitalized = /^['\"([]*\\p{Lu}/u.test(trimmed);\n\tif (wordCount === 1 && isCapitalized) return false;\n\tif (wordCount === 1) {\n\t\tif (/[a-z]\\p{Lu}/u.test(trimmed)) return false;\n\t\tif (trimmed.includes(\"-\") || trimmed.includes(\"_\")) return false;\n\t}\n\tif (!isCapitalized && wordCount <= 2) return false;\n\treturn true;\n};\n\nexport { shouldExtract };\n//# sourceMappingURL=shouldExtract.mjs.map"],"mappings":";;;;;;;;;;;AAWA,MAAM,iBAAiB,SAAS;CAC/B,MAAM,UAAU,KAAK,KAAK;CAC1B,IAAI,CAAC,SAAS,OAAO;CACrB,IAAI,6BAA6B,KAAK,OAAO,GAAG,OAAO;CACvD,IAAI,QAAQ,WAAW,GAAG,KAAK,CAAC,QAAQ,WAAW,IAAI,KAAK,QAAQ,WAAW,IAAI,GAAG,OAAO;CAC7F,IAAI,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,KAAK,KAAK,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,SAAS,KAAK,QAAQ,WAAW,WAAW,KAAK,QAAQ,WAAW,WAAW,GAAG,OAAO;CACvN,KAAK,QAAQ,MAAM,6DAA6D,KAAK,CAAC,EAAC,CAAE,SAAS,GAAG,OAAO;CAC5G,MAAM,YAAY,QAAQ,MAAM,KAAK,CAAC,CAAC;CACvC,MAAM,qBAAqB;CAC3B,IAAI,YAAY,GAAG;EAClB,MAAM,SAAS,QAAQ,MAAM,KAAK;EAClC,IAAI,OAAO,OAAO,UAAU,mBAAmB,KAAK,KAAK,CAAC,KAAK,OAAO,MAAM,UAAU,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO;CACpH;CACA,MAAM,gBAAgB,kBAAkB,KAAK,OAAO;CACpD,IAAI,cAAc,KAAK,eAAe,OAAO;CAC7C,IAAI,cAAc,GAAG;EACpB,IAAI,eAAe,KAAK,OAAO,GAAG,OAAO;EACzC,IAAI,QAAQ,SAAS,GAAG,KAAK,QAAQ,SAAS,GAAG,GAAG,OAAO;CAC5D;CACA,IAAI,CAAC,iBAAiB,aAAa,GAAG,OAAO;CAC7C,OAAO;AACR"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
// \0rolldown/runtime.js
|
|
2
2
|
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
|
|
3
3
|
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
4
4
|
throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
|
|
5
5
|
});
|
|
6
6
|
|
|
7
|
-
//#endregion
|
|
8
7
|
export { __require };
|
package/dist/esm/index.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import { noUnusedContent } from "./rules/noUnusedContent.mjs";
|
|
|
6
6
|
import { staticDictionaryKey } from "./rules/staticDictionaryKey.mjs";
|
|
7
7
|
import { getReactVersion } from "./utils/reactVersion.mjs";
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
// src/index.ts
|
|
10
10
|
/**
|
|
11
11
|
* Every rule this plugin ships, keyed by the name used in configuration.
|
|
12
12
|
*
|
|
@@ -102,6 +102,5 @@ const intlayerPlugin = {
|
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
104
|
|
|
105
|
-
//#endregion
|
|
106
105
|
export { GENERATED_OUTPUT_GLOBS, PLUGIN_NAMESPACE, PLUGIN_PACKAGE_NAME, RECOMMENDED_RULES, configs, intlayerPlugin as default, getReactVersion, getRecommendedRules, meta, rules };
|
|
107
106
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/preset.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/preset.ts
|
|
2
2
|
/** npm package name of this plugin. */
|
|
3
3
|
const PLUGIN_PACKAGE_NAME = "eslint-plugin-intlayer";
|
|
4
4
|
/** Prefix the rules are registered under, e.g. `intlayer/no-raw-text`. */
|
|
@@ -43,6 +43,5 @@ const RECOMMENDED_RULES = {
|
|
|
43
43
|
*/
|
|
44
44
|
const getRecommendedRules = () => Object.fromEntries(Object.entries(RECOMMENDED_RULES).map(([ruleName, entry]) => [`${PLUGIN_NAMESPACE}/${ruleName}`, entry]));
|
|
45
45
|
|
|
46
|
-
//#endregion
|
|
47
46
|
export { GENERATED_OUTPUT_GLOBS, PLUGIN_NAMESPACE, PLUGIN_PACKAGE_NAME, RECOMMENDED_RULES, getRecommendedRules };
|
|
48
47
|
//# sourceMappingURL=preset.mjs.map
|
|
@@ -2,7 +2,7 @@ import { toAstNode } from "../utils/ast.mjs";
|
|
|
2
2
|
import { createRule } from "../utils/createRule.mjs";
|
|
3
3
|
import { COMPAT_CALLERS } from "@intlayer/config/callers";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/rules/enforceAdapterImport.ts
|
|
6
6
|
const ADAPTER_SCOPE = "@intlayer/";
|
|
7
7
|
/**
|
|
8
8
|
* Original third-party library specifier → the `@intlayer/*` adapter that
|
|
@@ -82,6 +82,5 @@ const enforceAdapterImport = createRule("enforce-adapter-import", {
|
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
84
|
|
|
85
|
-
//#endregion
|
|
86
85
|
export { enforceAdapterImport };
|
|
87
86
|
//# sourceMappingURL=enforceAdapterImport.mjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getStaticStringValue, toAstNode } from "../utils/ast.mjs";
|
|
2
|
-
import { createRule } from "../utils/createRule.mjs";
|
|
3
2
|
import { collectImportSources, getActiveDescriptors, matchCaller } from "../utils/callerMatcher.mjs";
|
|
3
|
+
import { createRule } from "../utils/createRule.mjs";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/rules/noDynamicFieldAccess.ts
|
|
6
6
|
/**
|
|
7
7
|
* Property name holding the translation function in a `destructured-t` result,
|
|
8
8
|
* e.g. `const { t } = useTranslation('home')`.
|
|
@@ -124,6 +124,5 @@ const noDynamicFieldAccess = createRule("no-dynamic-field-access", {
|
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
126
|
|
|
127
|
-
//#endregion
|
|
128
127
|
export { noDynamicFieldAccess };
|
|
129
128
|
//# sourceMappingURL=noDynamicFieldAccess.mjs.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { getJsxAttributeName, getJsxAttributeValueNode, getJsxElementName, getStaticStringValue, toAstNode } from "../utils/ast.mjs";
|
|
2
|
-
import { createRule } from "../utils/createRule.mjs";
|
|
3
1
|
import { ATTRIBUTES_TO_EXTRACT } from "../@intlayer/config/dist/esm/extract/constants.mjs";
|
|
4
2
|
import { shouldExtract } from "../@intlayer/config/dist/esm/extract/shouldExtract.mjs";
|
|
3
|
+
import { getJsxAttributeName, getJsxAttributeValueNode, getJsxElementName, getStaticStringValue, toAstNode } from "../utils/ast.mjs";
|
|
4
|
+
import { createRule } from "../utils/createRule.mjs";
|
|
5
5
|
import { combineVisitors, createTemplateVisitor } from "../utils/templates.mjs";
|
|
6
6
|
import { FILE_EXTENSIONS } from "@intlayer/config/defaultValues";
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
// src/rules/noRawText.ts
|
|
9
9
|
/**
|
|
10
10
|
* Elements whose text is markup, code or metadata rather than user-facing copy.
|
|
11
11
|
* Extracting them would be wrong, so they are skipped by default.
|
|
@@ -171,6 +171,5 @@ const noRawText = createRule("no-raw-text", {
|
|
|
171
171
|
}
|
|
172
172
|
});
|
|
173
173
|
|
|
174
|
-
//#endregion
|
|
175
174
|
export { noRawText };
|
|
176
175
|
//# sourceMappingURL=noRawText.mjs.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { toAstNode } from "../utils/ast.mjs";
|
|
2
|
-
import { createRule } from "../utils/createRule.mjs";
|
|
3
2
|
import { readContentDeclaration } from "../utils/contentDeclaration.mjs";
|
|
3
|
+
import { createRule } from "../utils/createRule.mjs";
|
|
4
4
|
import { getDuplicateDeclarations, getProjectConfiguration, getProjectUsageIndex, stripModuleExtension } from "../utils/projectUsage.mjs";
|
|
5
5
|
import { FILE_EXTENSIONS } from "@intlayer/config/defaultValues";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// src/rules/noUnusedContent.ts
|
|
8
8
|
/** Lifetime of the cached project scan, in milliseconds. */
|
|
9
9
|
const DEFAULT_CACHE_TTL_MS = 3e4;
|
|
10
10
|
/**
|
|
@@ -137,6 +137,5 @@ const noUnusedContent = createRule("no-unused-content", {
|
|
|
137
137
|
}
|
|
138
138
|
});
|
|
139
139
|
|
|
140
|
-
//#endregion
|
|
141
140
|
export { noUnusedContent };
|
|
142
141
|
//# sourceMappingURL=noUnusedContent.mjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getJsxAttributeName, getJsxAttributeValueNode, getJsxElementName, getStaticStringValue, toAstNode } from "../utils/ast.mjs";
|
|
2
|
-
import { createRule } from "../utils/createRule.mjs";
|
|
3
2
|
import { collectImportSources, getActiveDescriptors, matchCaller, matchJsxCaller } from "../utils/callerMatcher.mjs";
|
|
3
|
+
import { createRule } from "../utils/createRule.mjs";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
// src/rules/staticDictionaryKey.ts
|
|
6
6
|
/**
|
|
7
7
|
* True when the call may legitimately omit its namespace — next-intl's
|
|
8
8
|
* `useTranslations()` root scope derives the dictionary from each message id
|
|
@@ -83,6 +83,5 @@ const staticDictionaryKey = createRule("static-dictionary-key", {
|
|
|
83
83
|
}
|
|
84
84
|
});
|
|
85
85
|
|
|
86
|
-
//#endregion
|
|
87
86
|
export { staticDictionaryKey };
|
|
88
87
|
//# sourceMappingURL=staticDictionaryKey.mjs.map
|
package/dist/esm/utils/ast.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/utils/ast.ts
|
|
2
2
|
/**
|
|
3
3
|
* TypeScript wrapper expressions that carry no runtime meaning. The Intlayer
|
|
4
4
|
* compiler unwraps them before reading a value, so the rules must too —
|
|
@@ -138,6 +138,5 @@ const getJsxElementName = (openingElement) => {
|
|
|
138
138
|
/** Narrow an ESLint visitor node to the loose {@link AstNode} shape. */
|
|
139
139
|
const toAstNode = (node) => node;
|
|
140
140
|
|
|
141
|
-
//#endregion
|
|
142
141
|
export { getCalleeName, getJsxAttributeName, getJsxAttributeValueNode, getJsxElementName, getObjectPropertyValueNode, getStaticStringValue, toAstNode, unwrapExpression };
|
|
143
142
|
//# sourceMappingURL=ast.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getCalleeName, getObjectPropertyValueNode, getStaticStringValue, unwrapExpression } from "./ast.mjs";
|
|
2
2
|
import { ALL_CALLERS, isCallerActive } from "@intlayer/config/callers";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/utils/callerMatcher.ts
|
|
5
5
|
/**
|
|
6
6
|
* Module specifiers imported by a file, as they are written in source.
|
|
7
7
|
*
|
|
@@ -121,6 +121,5 @@ const matchJsxCaller = (elementName, activeDescriptors) => {
|
|
|
121
121
|
return activeDescriptors.find((descriptor) => descriptor.callerName === elementName && descriptor.jsxIdAttribute !== void 0) ?? null;
|
|
122
122
|
};
|
|
123
123
|
|
|
124
|
-
//#endregion
|
|
125
124
|
export { collectImportSources, getActiveDescriptors, matchCaller, matchJsxCaller };
|
|
126
125
|
//# sourceMappingURL=callerMatcher.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getStaticStringValue, unwrapExpression } from "./ast.mjs";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
// src/utils/contentDeclaration.ts
|
|
4
4
|
/**
|
|
5
5
|
* Static name of an object property key, or `null` for computed and
|
|
6
6
|
* non-literal keys.
|
|
@@ -94,6 +94,5 @@ const readContentDeclaration = (objectExpression) => {
|
|
|
94
94
|
};
|
|
95
95
|
};
|
|
96
96
|
|
|
97
|
-
//#endregion
|
|
98
97
|
export { readContentDeclaration };
|
|
99
98
|
//# sourceMappingURL=contentDeclaration.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/utils/createRule.ts
|
|
2
2
|
const DOCUMENTATION_BASE_URL = "https://github.com/aymericzip/intlayer/blob/main/packages/eslint-plugin-intlayer/README.md";
|
|
3
3
|
/**
|
|
4
4
|
* Build a rule with the plugin's shared metadata conventions applied: a
|
|
@@ -20,6 +20,5 @@ const createRule = (name, rule) => ({
|
|
|
20
20
|
}
|
|
21
21
|
});
|
|
22
22
|
|
|
23
|
-
//#endregion
|
|
24
23
|
export { createRule };
|
|
25
24
|
//# sourceMappingURL=createRule.mjs.map
|
|
@@ -3,7 +3,7 @@ import { existsSync, readFileSync } from "node:fs";
|
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
4
|
import { dirname, extname, join, resolve } from "node:path";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
// src/utils/projectUsage.ts
|
|
7
7
|
/** `require` resolved from this package — the fallback when the host project cannot resolve a module. */
|
|
8
8
|
const packageRequire = typeof import.meta.url === "string" ? createRequire(import.meta.url) : __require;
|
|
9
9
|
/**
|
|
@@ -428,6 +428,5 @@ const getDuplicateDeclarations = (configuration, dictionaryKey, currentFilePath)
|
|
|
428
428
|
return duplicates;
|
|
429
429
|
};
|
|
430
430
|
|
|
431
|
-
//#endregion
|
|
432
431
|
export { clearProjectUsageCache, getDuplicateDeclarations, getProjectConfiguration, getProjectUsageIndex, stripModuleExtension };
|
|
433
432
|
//# sourceMappingURL=projectUsage.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
// src/utils/reactVersion.ts
|
|
5
5
|
/**
|
|
6
6
|
* Detect the installed React version for ESLint configuration.
|
|
7
7
|
*
|
|
@@ -41,6 +41,5 @@ const getReactVersion = (dir = process.cwd()) => {
|
|
|
41
41
|
return "19.0";
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
-
//#endregion
|
|
45
44
|
export { getReactVersion };
|
|
46
45
|
//# sourceMappingURL=reactVersion.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/utils/templates.ts
|
|
2
2
|
/**
|
|
3
3
|
* Element node types whose text content is never user-facing copy, regardless
|
|
4
4
|
* of the `ignoreElements` option (which matches on tag name, and these carry
|
|
@@ -140,6 +140,5 @@ const combineVisitors = (parserServices, scriptVisitor, templateVisitor) => {
|
|
|
140
140
|
};
|
|
141
141
|
};
|
|
142
142
|
|
|
143
|
-
//#endregion
|
|
144
143
|
export { combineVisitors, createTemplateVisitor, resolveEnclosingElement };
|
|
145
144
|
//# sourceMappingURL=templates.mjs.map
|
package/dist/types/index.d.ts
CHANGED
|
@@ -2,10 +2,9 @@ import { IntlayerRule } from "./utils/createRule.js";
|
|
|
2
2
|
import { GENERATED_OUTPUT_GLOBS, PLUGIN_NAMESPACE, PLUGIN_PACKAGE_NAME, RECOMMENDED_RULES, getRecommendedRules } from "./preset.js";
|
|
3
3
|
import { NoRawTextOptions } from "./rules/noRawText.js";
|
|
4
4
|
import { NoUnusedContentOptions } from "./rules/noUnusedContent.js";
|
|
5
|
-
import { getReactVersion } from "./utils/reactVersion.js";
|
|
6
5
|
import "./index.js";
|
|
6
|
+
import { getReactVersion } from "./utils/reactVersion.js";
|
|
7
7
|
import { ESLint, Linter } from "eslint";
|
|
8
|
-
//#region src/index.d.ts
|
|
9
8
|
/**
|
|
10
9
|
* Every rule this plugin ships, keyed by the name used in configuration.
|
|
11
10
|
*
|
|
@@ -75,6 +74,5 @@ export type IntlayerPlugin = ESLint.Plugin & Iterable<Linter.Config> & {
|
|
|
75
74
|
configs: Record<IntlayerConfigName, Linter.Config[]>;
|
|
76
75
|
};
|
|
77
76
|
declare const intlayerPlugin: IntlayerPlugin;
|
|
78
|
-
//#endregion
|
|
79
77
|
export { GENERATED_OUTPUT_GLOBS, type NoRawTextOptions, type NoUnusedContentOptions, PLUGIN_NAMESPACE, PLUGIN_PACKAGE_NAME, RECOMMENDED_RULES, intlayerPlugin as default, getReactVersion, getRecommendedRules, meta };
|
|
80
78
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["_$_0.NoRawTextOptions"],"sources":["../../src/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;qBA+Ba;E,6BAAAA;;;;;;;YASD,gCAAgC;cAEtC;EAAQ;EAAc;;;YAQhB;;;;;;;;;;;;;;;;;;;;;;;;;;qBA4DC,SAAS,OAAO,oBAAoB,OAAO;;YA2B5C,iBAAiB,OAAO,SAClC,SAAS,OAAO;EACd;IAAQ;IAAc;;EACtB,cAAc;EACd,SAAS,OAAO,oBAAoB,OAAO;;cAGzC,gBAAgB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region ../../node_modules/.bun/@types+estree@1.0.9/node_modules/@types/estree/index.d.ts
|
|
2
1
|
// This definition file follows a somewhat unusual format. ESTree allows
|
|
3
2
|
// runtime type checks based on the `type` parameter. In order to explain this
|
|
4
3
|
// to typescript we want to use discriminated union types:
|
|
@@ -68,10 +67,16 @@ export interface Position {
|
|
|
68
67
|
/** >= 0 */
|
|
69
68
|
column: number;
|
|
70
69
|
}
|
|
70
|
+
export interface ProgramBodyMap {
|
|
71
|
+
Directive: Directive;
|
|
72
|
+
ModuleDeclaration: ModuleDeclaration;
|
|
73
|
+
Statement: Statement;
|
|
74
|
+
}
|
|
75
|
+
export type ProgramBody = ProgramBodyMap[keyof ProgramBodyMap];
|
|
71
76
|
export interface Program extends BaseNode {
|
|
72
77
|
type: "Program";
|
|
73
78
|
sourceType: "script" | "module";
|
|
74
|
-
body:
|
|
79
|
+
body: ProgramBody[];
|
|
75
80
|
comments?: Comment[] | undefined;
|
|
76
81
|
}
|
|
77
82
|
export interface Directive extends BaseNode {
|
|
@@ -523,5 +528,4 @@ export interface AwaitExpression extends BaseExpression {
|
|
|
523
528
|
type: "AwaitExpression";
|
|
524
529
|
argument: Expression;
|
|
525
530
|
}
|
|
526
|
-
//#endregion
|
|
527
531
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/types/node_modules/.bun/@types_estree@1.0.10/node_modules/@types/estree/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../../../../../../../node_modules/.bun/@types+estree@1.0.10/node_modules/@types/estree/index.d.ts"],"ignoreList":[0],"mappings":"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"}
|
package/dist/types/preset.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { IntlayerRuleName } from "./index.js";
|
|
2
2
|
import { Linter } from "eslint";
|
|
3
|
-
//#region src/preset.d.ts
|
|
4
3
|
/** npm package name of this plugin. */
|
|
5
4
|
export declare const PLUGIN_PACKAGE_NAME = "eslint-plugin-intlayer";
|
|
6
5
|
/** Prefix the rules are registered under, e.g. `intlayer/no-raw-text`. */
|
|
@@ -40,5 +39,4 @@ export declare const RECOMMENDED_RULES: Partial<Record<IntlayerRuleName, Linter.
|
|
|
40
39
|
* oxlint resolves a plugin's rules but not its configs.
|
|
41
40
|
*/
|
|
42
41
|
export declare const getRecommendedRules: () => Record<string, Linter.RuleEntry>;
|
|
43
|
-
//#endregion
|
|
44
42
|
//# sourceMappingURL=preset.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.d.ts","names":[],"sources":["../../src/preset.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"preset.d.ts","names":[],"sources":["../../src/preset.ts"],"mappings":";;;qBAIa;;qBAGA;;;;;;;;;;;qBAYA;;;;;;;;;;;;;;;;qBAiBA,mBAAmB,QAC9B,OAAO,kBAAkB,OAAO;;;;;;;;qBAcrB,2BAA0B,eAAe,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enforceAdapterImport.d.ts","names":[],"sources":["../../../src/rules/enforceAdapterImport.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"enforceAdapterImport.d.ts","names":["_$___utils_createRule0.IntlayerRule"],"sources":["../../../src/rules/enforceAdapterImport.ts"],"mappings":";qBA8Da,sBAAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { IntlayerRule } from "../utils/createRule.js";
|
|
2
|
-
//#region src/rules/noDynamicFieldAccess.d.ts
|
|
3
2
|
type MessageIds = 'dynamicField' | 'dynamicMessageId';
|
|
4
3
|
export declare const noDynamicFieldAccess: IntlayerRule<[], MessageIds>;
|
|
5
|
-
|
|
4
|
+
export {};
|
|
6
5
|
//# sourceMappingURL=noDynamicFieldAccess.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noDynamicFieldAccess.d.ts","names":[],"sources":["../../../src/rules/noDynamicFieldAccess.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"noDynamicFieldAccess.d.ts","names":["_$___utils_createRule0.IntlayerRule"],"sources":["../../../src/rules/noDynamicFieldAccess.ts"],"mappings":";KAcK;qBAiFQ,sBAAoBA,iBAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { IntlayerRule } from "../utils/createRule.js";
|
|
2
|
-
//#region src/rules/noRawText.d.ts
|
|
3
2
|
export type NoRawTextOptions = {
|
|
4
3
|
/**
|
|
5
4
|
* JSX attributes whose string value is user-facing copy.
|
|
@@ -20,5 +19,5 @@ export type NoRawTextOptions = {
|
|
|
20
19
|
};
|
|
21
20
|
type MessageIds = 'rawText' | 'rawAttribute' | 'rawStringLiteral';
|
|
22
21
|
export declare const noRawText: IntlayerRule<[NoRawTextOptions?], MessageIds>;
|
|
23
|
-
|
|
22
|
+
export {};
|
|
24
23
|
//# sourceMappingURL=noRawText.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noRawText.d.ts","names":[],"sources":["../../../src/rules/noRawText.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"noRawText.d.ts","names":["_$___utils_createRule0.IntlayerRule"],"sources":["../../../src/rules/noRawText.ts"],"mappings":";YAwBY;;;;;;EAMV;;EAEA;;EAEA;;;;;;EAMA;;KAGG;qBAsEQ,WAASA,cAAA,oBAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { IntlayerRule } from "../utils/createRule.js";
|
|
2
|
-
//#region src/rules/noUnusedContent.d.ts
|
|
3
2
|
export type NoUnusedContentOptions = {
|
|
4
3
|
/** Report a dictionary whose key is never referenced anywhere. Default: `true`. */
|
|
5
4
|
reportUnusedDictionaries?: boolean;
|
|
@@ -28,5 +27,5 @@ export type NoUnusedContentOptions = {
|
|
|
28
27
|
};
|
|
29
28
|
type MessageIds = 'unusedDictionary' | 'unusedField' | 'duplicateDictionary';
|
|
30
29
|
export declare const noUnusedContent: IntlayerRule<[NoUnusedContentOptions?], MessageIds>;
|
|
31
|
-
|
|
30
|
+
export {};
|
|
32
31
|
//# sourceMappingURL=noUnusedContent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noUnusedContent.d.ts","names":[],"sources":["../../../src/rules/noUnusedContent.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"noUnusedContent.d.ts","names":["_$___utils_createRule0.IntlayerRule"],"sources":["../../../src/rules/noUnusedContent.ts"],"mappings":";YAmBY;;EAEV;;EAEA;;;;;;EAMA;;EAEA;;;;;;EAMA;;;;;;EAMA;;KAGG;qBAsDQ,iBAAeA,cAAA,0BAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { IntlayerRule } from "../utils/createRule.js";
|
|
2
|
-
//#region src/rules/staticDictionaryKey.d.ts
|
|
3
2
|
type MessageIds = 'dynamicKey' | 'dynamicTemplateKey' | 'dynamicJsxKey';
|
|
4
3
|
export declare const staticDictionaryKey: IntlayerRule<[], MessageIds>;
|
|
5
|
-
|
|
4
|
+
export {};
|
|
6
5
|
//# sourceMappingURL=staticDictionaryKey.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticDictionaryKey.d.ts","names":[],"sources":["../../../src/rules/staticDictionaryKey.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"staticDictionaryKey.d.ts","names":["_$___utils_createRule0.IntlayerRule"],"sources":["../../../src/rules/staticDictionaryKey.ts"],"mappings":";KAkBK;qBAsBQ,qBAAmBA,iBAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Node } from "../node_modules/.bun/@types_estree@1.0.
|
|
2
|
-
//#region src/utils/ast.d.ts
|
|
1
|
+
import { Node } from "../node_modules/.bun/@types_estree@1.0.10/node_modules/@types/estree/index.js";
|
|
3
2
|
/**
|
|
4
3
|
* Minimal structural models for the nodes this plugin inspects that are not
|
|
5
4
|
* part of the ESTree spec — JSX (all parsers) and the TypeScript-only wrapper
|
|
@@ -100,5 +99,4 @@ export declare const getJsxAttributeValueNode: (attribute: AstNode | null | unde
|
|
|
100
99
|
export declare const getJsxElementName: (openingElement: AstNode | null | undefined) => string | null;
|
|
101
100
|
/** Narrow an ESLint visitor node to the loose {@link AstNode} shape. */
|
|
102
101
|
export declare const toAstNode: (node: Node | AstNode) => AstNodeWithParent;
|
|
103
|
-
//#endregion
|
|
104
102
|
//# sourceMappingURL=ast.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","names":[],"sources":["../../../src/utils/ast.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ast.d.ts","names":["EsTreeNode"],"sources":["../../../src/utils/ast.ts"],"mappings":";;;;;;;;;;;;YAcY;EACV;GACC;;;YAIS,oBAAoB;EAC9B,SAAS;;;YAIC,cAAc;EACxB;EACA;;;YAIU,mBAAmB;EAC7B;EACA,MAAM;EACN,OAAO;;;YAIG,wBAAwB;EAClC;EACA,MAAM;EACN,YAAY;;;;;;;;qBAsBD,mBAAoB,UAAU,SACzC,MAAM,yBACL;;;;;;;;;;;qBAwBU,uBACX,MAAM;;;;;;;;;qBAoCK,gBACX,QAAQ;EACL;EAAc;;;;;;;;;;;;qBA8BN,6BACX,MAAM,4BACN,yBACC;;;;;;;qBAkCU,sBACX,WAAW;;;;;;;qBAeA,2BACX,WAAW,+BACV;;;;;;;qBAgBU,oBACX,gBAAgB;;qBAqBL,YAAa,MAAMA,OAAa,YAAU"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AstNode } from "./ast.js";
|
|
2
2
|
import { CallerDescriptor, CallerValueSource } from "@intlayer/config/callers";
|
|
3
|
-
//#region src/utils/callerMatcher.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* Where the dictionary key of a matched call site lives, and whether it is
|
|
6
5
|
* statically knowable.
|
|
@@ -53,5 +52,4 @@ export declare const matchCaller: (callNode: AstNode, activeDescriptors: CallerD
|
|
|
53
52
|
* @param activeDescriptors - Result of {@link getActiveDescriptors}.
|
|
54
53
|
*/
|
|
55
54
|
export declare const matchJsxCaller: (elementName: string | null, activeDescriptors: CallerDescriptor[]) => CallerDescriptor | null;
|
|
56
|
-
//#endregion
|
|
57
55
|
//# sourceMappingURL=callerMatcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callerMatcher.d.ts","names":[],"sources":["../../../src/utils/callerMatcher.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"callerMatcher.d.ts","names":[],"sources":["../../../src/utils/callerMatcher.ts"],"mappings":";;;;;;YAkBY;;EAEV,MAAM;;EAEN;;EAEA,QAAQ;;;YAIE;EACV,YAAY;;EAEZ,WAAW;;;;;;;;;;qBAWA,uBAAwB,SAAS,YAAU;;;;;;qBA2B3C,uBACX,eAAe,wBACd;;;;;;;;;;;qBAkFU,cACX,UAAU,SACV,mBAAmB,uBAClB;;;;;;;;qBAuDU,iBACX,4BACA,mBAAmB,uBAClB"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AstNode } from "./ast.js";
|
|
2
|
-
//#region src/utils/contentDeclaration.d.ts
|
|
3
2
|
/**
|
|
4
3
|
* Reading an Intlayer content declaration out of the file being linted.
|
|
5
4
|
*
|
|
@@ -37,5 +36,4 @@ export type ContentDeclaration = {
|
|
|
37
36
|
* @param objectExpression - Any `ObjectExpression` node from the linted file.
|
|
38
37
|
*/
|
|
39
38
|
export declare const readContentDeclaration: (objectExpression: AstNode) => ContentDeclaration | null;
|
|
40
|
-
//#endregion
|
|
41
39
|
//# sourceMappingURL=contentDeclaration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentDeclaration.d.ts","names":[],"sources":["../../../src/utils/contentDeclaration.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"contentDeclaration.d.ts","names":[],"sources":["../../../src/utils/contentDeclaration.ts"],"mappings":";;;;;;;;;;YAaY;;EAEV;;EAEA,SAAS;;;YAIC;;EAEV;;EAEA,SAAS;;EAET,QAAQ;;;;;;EAMR;;;;;;;;qBA+GW,yBACX,kBAAkB,YACjB"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { JSRuleDefinition } from "eslint";
|
|
2
|
-
//#region src/utils/createRule.d.ts
|
|
3
2
|
/**
|
|
4
3
|
* A rule of this plugin, with its option tuple and message ids pinned so
|
|
5
4
|
* `context.options` and `context.report({ messageId })` are checked rather than
|
|
@@ -18,5 +17,4 @@ export type IntlayerRule<Options extends readonly unknown[] = [], MessageIds ext
|
|
|
18
17
|
* @param rule - The rule definition.
|
|
19
18
|
*/
|
|
20
19
|
export declare const createRule: <Options extends readonly unknown[] = [], MessageIds extends string = string>(name: string, rule: IntlayerRule<Options, MessageIds>) => IntlayerRule<Options, MessageIds>;
|
|
21
|
-
//#endregion
|
|
22
20
|
//# sourceMappingURL=createRule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRule.d.ts","names":[],"sources":["../../../src/utils/createRule.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"createRule.d.ts","names":[],"sources":["../../../src/utils/createRule.ts"],"mappings":";;;;;;YAUY,aACV,yCACA,sCACE;EACF,iBAAiB;EACjB,YAAY;;;;;;;;;;qBAWD,aACX,yCACA,oCAEA,cACA,MAAM,aAAa,SAAS,gBAC3B,aAAa,SAAS"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/utils/projectUsage.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* The configuration fields the scan reads.
|
|
4
3
|
*
|
|
@@ -97,5 +96,4 @@ export declare const getProjectUsageIndex: (baseDir: string, cacheTtlMs: number)
|
|
|
97
96
|
* @param currentFilePath - Absolute path of the linted file.
|
|
98
97
|
*/
|
|
99
98
|
export declare const getDuplicateDeclarations: (configuration: IntlayerProjectConfig, dictionaryKey: string, currentFilePath: string) => DuplicateDeclaration[];
|
|
100
|
-
//#endregion
|
|
101
99
|
//# sourceMappingURL=projectUsage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectUsage.d.ts","names":[],"sources":["../../../src/utils/projectUsage.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"projectUsage.d.ts","names":[],"sources":["../../../src/utils/projectUsage.ts"],"mappings":";;;;;;;YAiGY;EACV;IAAW;IAA2B;;EACtC;IAAS;;EACT;IAAa;;EACb;IAAU;IAAiB;;;;YAMjB;;;;;EAKV,gBAAgB;;;;;;;EAOhB;;;YAIU;;EAEV,iBAAiB,YAAY;;;;;;EAM7B,qBAAqB;;;;;;EAMrB;;;YAIU;;EAEV;;EAEA;;;;;;;;qBA4CW,uBAAwB;;qBA+FxB;;;;;;;;qBAcA,0BACX,iBACA,uBACC;;;;;;;qBAqUU,uBACX,iBACA,uBACC;;;;;;;;;;;;qBA6HU,2BACX,eAAe,uBACf,uBACA,4BACC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/utils/reactVersion.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* Detect the installed React version for ESLint configuration.
|
|
4
3
|
*
|
|
@@ -13,5 +12,4 @@
|
|
|
13
12
|
* seamlessly under both ESLint 9 and ESLint 10 without needing manual configuration hacks.
|
|
14
13
|
*/
|
|
15
14
|
export declare const getReactVersion: (dir?: string) => string;
|
|
16
|
-
//#endregion
|
|
17
15
|
//# sourceMappingURL=reactVersion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactVersion.d.ts","names":[],"sources":["../../../src/utils/reactVersion.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"reactVersion.d.ts","names":[],"sources":["../../../src/utils/reactVersion.ts"],"mappings":";;;;;;;;;;;;;qBAgBa,kBAAmB"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AstNode, AstNodeWithParent } from "./ast.js";
|
|
2
|
-
//#region src/utils/templates.d.ts
|
|
3
2
|
/**
|
|
4
3
|
* Template-language support for text-coverage rules.
|
|
5
4
|
*
|
|
@@ -66,5 +65,4 @@ export declare const createTemplateVisitor: (report: TemplateTextReporter) => Te
|
|
|
66
65
|
* @param templateVisitor - Handlers for markup nodes.
|
|
67
66
|
*/
|
|
68
67
|
export declare const combineVisitors: (parserServices: unknown, scriptVisitor: TemplateVisitor, templateVisitor: TemplateVisitor) => TemplateVisitor;
|
|
69
|
-
//#endregion
|
|
70
68
|
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","names":[],"sources":["../../../src/utils/templates.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"templates.d.ts","names":[],"sources":["../../../src/utils/templates.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;YAwBY;;EAEV,MAAM;;EAEN;;EAEA;;EAEA;;;YAIU,wBAAwB,SAAS;;YAGjC,kBAAkB,gBAAgB;;;;;;;;qBAsDjC,0BACX,MAAM;;;;;;;;;;qBA6CK,wBACX,QAAQ,yBACP;;;;;;;;;;;;;qBAgGU,kBACX,yBACA,eAAe,iBACf,iBAAiB,oBAChB"}
|
package/package.json
CHANGED
|
@@ -1,26 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-intlayer",
|
|
3
|
-
"version": "9.7.
|
|
3
|
+
"version": "9.7.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "ESLint (and oxlint) plugin for Intlayer. Catches untranslated strings and the dynamic call shapes the Intlayer compiler cannot optimize.",
|
|
6
6
|
"keywords": [
|
|
7
|
-
"intlayer",
|
|
8
7
|
"eslint",
|
|
9
|
-
"eslintplugin",
|
|
10
8
|
"eslint-plugin",
|
|
11
|
-
"
|
|
9
|
+
"eslintplugin",
|
|
12
10
|
"i18n",
|
|
13
11
|
"internationalization",
|
|
14
|
-
"
|
|
12
|
+
"intlayer",
|
|
13
|
+
"lint",
|
|
14
|
+
"oxlint"
|
|
15
15
|
],
|
|
16
16
|
"homepage": "https://intlayer.org",
|
|
17
17
|
"bugs": {
|
|
18
18
|
"url": "https://github.com/aymericzip/intlayer/issues"
|
|
19
19
|
},
|
|
20
|
-
"repository": {
|
|
21
|
-
"type": "git",
|
|
22
|
-
"url": "git+https://github.com/aymericzip/intlayer.git"
|
|
23
|
-
},
|
|
24
20
|
"license": "Apache-2.0",
|
|
25
21
|
"author": {
|
|
26
22
|
"name": "Aymeric PINEAU",
|
|
@@ -33,15 +29,15 @@
|
|
|
33
29
|
"url": "https://github.com/aymericzip"
|
|
34
30
|
}
|
|
35
31
|
],
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
"types": "./dist/types/index.d.ts",
|
|
40
|
-
"require": "./dist/cjs/index.cjs",
|
|
41
|
-
"import": "./dist/esm/index.mjs"
|
|
42
|
-
},
|
|
43
|
-
"./package.json": "./package.json"
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "git+https://github.com/aymericzip/intlayer.git"
|
|
44
35
|
},
|
|
36
|
+
"files": [
|
|
37
|
+
"./dist",
|
|
38
|
+
"./package.json"
|
|
39
|
+
],
|
|
40
|
+
"sideEffects": false,
|
|
45
41
|
"main": "dist/cjs/index.cjs",
|
|
46
42
|
"module": "dist/esm/index.mjs",
|
|
47
43
|
"types": "dist/types/index.d.ts",
|
|
@@ -55,19 +51,23 @@
|
|
|
55
51
|
]
|
|
56
52
|
}
|
|
57
53
|
},
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
"exports": {
|
|
55
|
+
".": {
|
|
56
|
+
"types": "./dist/types/index.d.ts",
|
|
57
|
+
"require": "./dist/cjs/index.cjs",
|
|
58
|
+
"import": "./dist/esm/index.mjs"
|
|
59
|
+
},
|
|
60
|
+
"./package.json": "./package.json"
|
|
61
|
+
},
|
|
62
62
|
"scripts": {
|
|
63
63
|
"build": "bun --bun tsdown --config tsdown.config.ts",
|
|
64
64
|
"build:ci": "bun --bun tsdown --config tsdown.config.ts",
|
|
65
65
|
"clean": "bun --bun rimraf ./dist .turbo",
|
|
66
66
|
"dev": "bun --bun tsdown --config tsdown.config.ts --watch",
|
|
67
|
-
"format": "
|
|
68
|
-
"format:fix": "
|
|
69
|
-
"lint": "
|
|
70
|
-
"lint:fix": "
|
|
67
|
+
"format": "oxfmt --check .",
|
|
68
|
+
"format:fix": "oxfmt .",
|
|
69
|
+
"lint": "oxlint .",
|
|
70
|
+
"lint:fix": "oxlint --fix .",
|
|
71
71
|
"publish": "bun publish || true",
|
|
72
72
|
"publish:canary": "bun publish --access public --tag canary || true",
|
|
73
73
|
"publish:ci": "bun ../../scripts/publish-package.mjs",
|
|
@@ -77,26 +77,26 @@
|
|
|
77
77
|
"typecheck": "tsc --noEmit --project tsconfig.types.json"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@intlayer/config": "9.7.
|
|
81
|
-
"@intlayer/lsp": "9.7.
|
|
80
|
+
"@intlayer/config": "9.7.2",
|
|
81
|
+
"@intlayer/lsp": "9.7.2",
|
|
82
82
|
"fast-glob": "3.3.3"
|
|
83
83
|
},
|
|
84
84
|
"devDependencies": {
|
|
85
|
-
"@angular-eslint/template-parser": "22.
|
|
86
|
-
"@types/estree": "1.0.
|
|
85
|
+
"@angular-eslint/template-parser": "22.6.0",
|
|
86
|
+
"@types/estree": "1.0.10",
|
|
87
87
|
"@types/node": "^26",
|
|
88
88
|
"@utils/ts-config": "1.0.4",
|
|
89
89
|
"@utils/ts-config-types": "1.0.4",
|
|
90
90
|
"@utils/tsdown-config": "1.0.4",
|
|
91
|
-
"astro-eslint-parser": "3.
|
|
92
|
-
"eslint": "10.
|
|
93
|
-
"rimraf": "6.1.
|
|
94
|
-
"svelte": "5.
|
|
95
|
-
"svelte-eslint-parser": "1.
|
|
96
|
-
"tsdown": "0.23.
|
|
91
|
+
"astro-eslint-parser": "3.2.0",
|
|
92
|
+
"eslint": "10.14.0",
|
|
93
|
+
"rimraf": "6.1.4",
|
|
94
|
+
"svelte": "5.57.3",
|
|
95
|
+
"svelte-eslint-parser": "1.10.0",
|
|
96
|
+
"tsdown": "0.23.7",
|
|
97
97
|
"typescript": "6.0.3",
|
|
98
|
-
"typescript-eslint": "8.
|
|
99
|
-
"vitest": "5.0
|
|
98
|
+
"typescript-eslint": "8.72.1",
|
|
99
|
+
"vitest": "5.1.0",
|
|
100
100
|
"vue-eslint-parser": "10.4.1"
|
|
101
101
|
},
|
|
102
102
|
"peerDependencies": {
|
package/dist/types/node_modules/.bun/@types_estree@1.0.9/node_modules/@types/estree/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../../../../../../../node_modules/.bun/@types+estree@1.0.9/node_modules/@types/estree/index.d.ts"],"x_google_ignoreList":[0],"mappings":"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"}
|