@intlayer/babel 9.4.0-canary.0 → 9.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 (28) hide show
  1. package/README.md +3 -0
  2. package/dist/cjs/babel-plugin-intlayer-field-rename.cjs +5 -4
  3. package/dist/cjs/babel-plugin-intlayer-field-rename.cjs.map +1 -1
  4. package/dist/cjs/babel-plugin-intlayer-optimize.cjs +28 -7
  5. package/dist/cjs/babel-plugin-intlayer-optimize.cjs.map +1 -1
  6. package/dist/cjs/babel-plugin-intlayer-usage-analyzer.cjs +18 -12
  7. package/dist/cjs/babel-plugin-intlayer-usage-analyzer.cjs.map +1 -1
  8. package/dist/cjs/index.cjs +1 -0
  9. package/dist/cjs/transformers.cjs +13 -12
  10. package/dist/cjs/transformers.cjs.map +1 -1
  11. package/dist/esm/babel-plugin-intlayer-field-rename.mjs +6 -5
  12. package/dist/esm/babel-plugin-intlayer-field-rename.mjs.map +1 -1
  13. package/dist/esm/babel-plugin-intlayer-optimize.mjs +28 -7
  14. package/dist/esm/babel-plugin-intlayer-optimize.mjs.map +1 -1
  15. package/dist/esm/babel-plugin-intlayer-usage-analyzer.mjs +18 -13
  16. package/dist/esm/babel-plugin-intlayer-usage-analyzer.mjs.map +1 -1
  17. package/dist/esm/index.mjs +2 -2
  18. package/dist/esm/transformers.mjs +14 -13
  19. package/dist/esm/transformers.mjs.map +1 -1
  20. package/dist/types/babel-plugin-intlayer-field-rename.d.ts.map +1 -1
  21. package/dist/types/babel-plugin-intlayer-optimize.d.ts +20 -6
  22. package/dist/types/babel-plugin-intlayer-optimize.d.ts.map +1 -1
  23. package/dist/types/babel-plugin-intlayer-usage-analyzer.d.ts +10 -3
  24. package/dist/types/babel-plugin-intlayer-usage-analyzer.d.ts.map +1 -1
  25. package/dist/types/index.d.ts +2 -2
  26. package/dist/types/transformers.d.ts +11 -6
  27. package/dist/types/transformers.d.ts.map +1 -1
  28. package/package.json +5 -5
@@ -1,4 +1,4 @@
1
- import { PluginObject } from "@babel/core";
1
+ import { NodePath, PluginObject } from "@babel/core";
2
2
  import * as BabelTypes from "@babel/types";
3
3
  import { CallerDescriptor, CallerDescriptor as CallerDescriptor$1, CallerResultShape, CallerValueSource } from "@intlayer/config/callers";
4
4
  import { NestedFieldReferences } from "@intlayer/core/dictionaryManipulator";
@@ -162,7 +162,7 @@ declare const preserveNestedDictionaryFields: (pruneContext: PruneContext, neste
162
162
  */
163
163
  declare const CHAINABLE_RUNTIME_METHOD_NAMES: Set<string>;
164
164
  /** Canonical intlayer caller names that trigger usage analysis. */
165
- declare const INTLAYER_CALLER_NAMES: readonly ['useIntlayer', 'getIntlayer'];
165
+ declare const INTLAYER_CALLER_NAMES: readonly ['useIntlayer', 'getIntlayer', 'getIntlayerAsync'];
166
166
  type IntlayerCallerName = (typeof INTLAYER_CALLER_NAMES)[number];
167
167
  /**
168
168
  * Configuration entry for a single compat namespace caller.
@@ -182,6 +182,13 @@ type CompatCallerConfig = CallerDescriptor$1;
182
182
  * design principle that compat logic lives in compat packages.
183
183
  */
184
184
  declare const DEFAULT_COMPAT_CALLERS: CompatCallerConfig[];
185
+ /**
186
+ * Climbs past an enclosing `await` expression so that
187
+ * `const t = await getTranslations('ns')` — or `await getIntlayerAsync('key')`
188
+ * — is resolved to its variable declarator the same way the synchronous form
189
+ * is.
190
+ */
191
+ declare const unwrapAwait: (babelTypes: typeof BabelTypes, path: NodePath<BabelTypes.Node>) => NodePath<BabelTypes.Node>;
185
192
  /**
186
193
  * Creates a Babel plugin that traverses source files and records which
187
194
  * top-level dictionary fields each `useIntlayer` / `getIntlayer` call-site —
@@ -202,5 +209,5 @@ declare const makeUsageAnalyzerBabelPlugin: (pruneContext: PruneContext, options
202
209
  types: typeof BabelTypes;
203
210
  }) => PluginObject;
204
211
  //#endregion
205
- export { CHAINABLE_RUNTIME_METHOD_NAMES, type CallerDescriptor, type CallerResultShape, type CallerValueSource, CompatCallerConfig, DEFAULT_COMPAT_CALLERS, DictionaryFieldUsage, INTLAYER_CALLER_NAMES, IntlayerCallerName, NestedRenameEntry, NestedRenameMap, OpaqueFieldOccurrence, PruneContext, createPruneContext, makeUsageAnalyzerBabelPlugin, preserveNestedDictionaryFields };
212
+ export { CHAINABLE_RUNTIME_METHOD_NAMES, type CallerDescriptor, type CallerResultShape, type CallerValueSource, CompatCallerConfig, DEFAULT_COMPAT_CALLERS, DictionaryFieldUsage, INTLAYER_CALLER_NAMES, IntlayerCallerName, NestedRenameEntry, NestedRenameMap, OpaqueFieldOccurrence, PruneContext, createPruneContext, makeUsageAnalyzerBabelPlugin, preserveNestedDictionaryFields, unwrapAwait };
206
213
  //# sourceMappingURL=babel-plugin-intlayer-usage-analyzer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"babel-plugin-intlayer-usage-analyzer.d.ts","names":[],"sources":["../../src/babel-plugin-intlayer-usage-analyzer.ts"],"mappings":";;;;;;;;;;;;KAiBY,uBAAuB;;;;;;;;KASvB;EACV;EACA,UAAU;;;KAIA,kBAAkB,YAAY;;;;;;;KAQ9B;;;;;;EAMV;;EAGA;;;;;;;;;KAUU;;;;;;EAMV,8BAA8B,YAAY;;;;;EAM1C,2BAA2B;;;;;;EAO3B;;;;;;EAOA,qCAAqC;;;;;;EAOrC,+BAA+B,YAAY;;;;;;;;;;;;EAa3C,gCAAgC,YAE9B,YAAY;;;;;;;;;;;;;EAed,iCAAiC;;;;;;;;;;;EAYjC,0BAA0B;IAEtB;IAAsB;;;cAIf,0BAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyCzB,iCAA8B,cAC3B,cAAY,4BACE,YAAY;;;;;;;;;;;;;;;cAqD7B,gCAA8B;;cAG9B;KACD,6BAA6B;;;;;;;KAmB7B,qBAAqB;;;;;;;;;;;cAYpB,wBAAwB;;;;;;;;;;;;;;;cAwsCxB,+BAA4B,cAEvB,cAAY;EACd,gBAAgB;SAAsB,OAAA;EAE1B,cAAc;MAAe"}
1
+ {"version":3,"file":"babel-plugin-intlayer-usage-analyzer.d.ts","names":[],"sources":["../../src/babel-plugin-intlayer-usage-analyzer.ts"],"mappings":";;;;;;;;;;;;KAiBY,uBAAuB;;;;;;;;KASvB;EACV;EACA,UAAU;;;KAIA,kBAAkB,YAAY;;;;;;;KAQ9B;;;;;;EAMV;;EAGA;;;;;;;;;KAUU;;;;;;EAMV,8BAA8B,YAAY;;;;;EAM1C,2BAA2B;;;;;;EAO3B;;;;;;EAOA,qCAAqC;;;;;;EAOrC,+BAA+B,YAAY;;;;;;;;;;;;EAa3C,gCAAgC,YAE9B,YAAY;;;;;;;;;;;;;EAed,iCAAiC;;;;;;;;;;;EAYjC,0BAA0B;IAEtB;IAAsB;;;cAIf,0BAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyCzB,iCAA8B,cAC3B,cAAY,4BACE,YAAY;;;;;;;;;;;;;;;cAqD7B,gCAA8B;;cAG9B;KAKD,6BAA6B;;;;;;;KAmB7B,qBAAqB;;;;;;;;;;;cAYpB,wBAAwB;;;;;;;cAWxB,cAAW,mBACH,YAAU,MACvB,SAAS,WAAW,UACzB,SAAS,WAAW;;;;;;;;;;;;;;;cA8rCV,+BAA4B,cAEvB,cAAY;EACd,gBAAgB;SAAsB,OAAA;EAE1B,cAAc;MAAe"}
@@ -1,6 +1,6 @@
1
1
  import { PackageName, SERVER_CAPABLE_PACKAGES, packageList } from "./extractContent/utils/constants.js";
2
2
  import { ExtractPluginOptions, ExtractResult, intlayerExtractBabelPlugin } from "./babel-plugin-intlayer-extract.js";
3
- import { CHAINABLE_RUNTIME_METHOD_NAMES, CallerDescriptor, CallerResultShape, CallerValueSource, CompatCallerConfig, DEFAULT_COMPAT_CALLERS, DictionaryFieldUsage, INTLAYER_CALLER_NAMES, IntlayerCallerName, NestedRenameEntry, NestedRenameMap, OpaqueFieldOccurrence, PruneContext, createPruneContext, makeUsageAnalyzerBabelPlugin, preserveNestedDictionaryFields } from "./babel-plugin-intlayer-usage-analyzer.js";
3
+ import { CHAINABLE_RUNTIME_METHOD_NAMES, CallerDescriptor, CallerResultShape, CallerValueSource, CompatCallerConfig, DEFAULT_COMPAT_CALLERS, DictionaryFieldUsage, INTLAYER_CALLER_NAMES, IntlayerCallerName, NestedRenameEntry, NestedRenameMap, OpaqueFieldOccurrence, PruneContext, createPruneContext, makeUsageAnalyzerBabelPlugin, preserveNestedDictionaryFields, unwrapAwait } from "./babel-plugin-intlayer-usage-analyzer.js";
4
4
  import { SerializedFieldRenameEntry, SerializedFieldRenameMap, buildNestedRenameMapFromContent, generateShortFieldName, getNestedRenameEntryAtPath, makeFieldRenameBabelPlugin, renameIntlayerFieldAccesses, serializeFieldRenameMap } from "./babel-plugin-intlayer-field-rename.js";
5
5
  import { MinifyPluginOptions, intlayerMinifyBabelPlugin } from "./babel-plugin-intlayer-minify.js";
6
6
  import { OptimizePluginOptions, intlayerOptimizeBabelPlugin } from "./babel-plugin-intlayer-optimize.js";
@@ -18,4 +18,4 @@ import { CompilerMode, getExtractPluginOptions } from "./getExtractPluginOptions
18
18
  import { getOptimizePluginOptions } from "./getOptimizePluginOptions.js";
19
19
  import { getMinifyPluginOptions, getPurgePluginOptions } from "./getPurgePluginOptions.js";
20
20
  import { BABEL_PARSER_OPTIONS, INTLAYER_USAGE_REGEX, SOURCE_FILE_REGEX, analyzeFieldUsageInFile, buildUsageCheckRegex, getUsageCheckRegex, optimizeSourceFile, renameFieldsInCode, renameFieldsInSourceFile } from "./transformers.js";
21
- export { BABEL_PARSER_OPTIONS, CHAINABLE_RUNTIME_METHOD_NAMES, type CallerDescriptor, type CallerResultShape, type CallerValueSource, CompatCallerConfig, CompilerMode, DEFAULT_COMPAT_CALLERS, DictionaryFieldUsage, ExtractDictionaryInfoOptions, ExtractIntlayerOptions, ExtractPluginOptions, ExtractResult, INTLAYER_CALLER_NAMES, INTLAYER_USAGE_REGEX, IntlayerCallerName, MinifyPluginOptions, NestedRenameEntry, NestedRenameMap, OpaqueFieldOccurrence, OptimizePluginOptions, PackageName, PruneContext, PurgePluginOptions, ResolveContentFilePaths, SERVER_CAPABLE_PACKAGES, SOURCE_FILE_REGEX, ScriptBlock, SerializedFieldRenameEntry, SerializedFieldRenameMap, analyzeFieldUsageInFile, buildNestedRenameMapFromContent, buildUsageCheckRegex, createPruneContext, detectPackageName, extractContent, extractContentSync, extractDictionaryInfo, extractDictionaryKey, extractDictionaryKeyFromPath, extractScriptBlocks, generateKey, generateShortFieldName, getComponentName, getExtractPluginOptions, getMinifyPluginOptions, getNestedRenameEntryAtPath, getOptimizePluginOptions, getOutput, getPurgePluginOptions, getSharedPruneContext, getUsageCheckRegex, injectScriptBlocks, intlayerExtractBabelPlugin, intlayerMinifyBabelPlugin, intlayerOptimizeBabelPlugin, intlayerPurgeBabelPlugin, makeFieldRenameBabelPlugin, makeUsageAnalyzerBabelPlugin, mergeWithExistingMultilingualDictionary, mergeWithExistingPerLocaleDictionary, optimizeSourceFile, packageList, preserveNestedDictionaryFields, renameFieldsInCode, renameFieldsInSourceFile, renameIntlayerFieldAccesses, resolveContentFilePaths, runIntlayerPurgePipeline, serializeFieldRenameMap, writeContentHelper };
21
+ export { BABEL_PARSER_OPTIONS, CHAINABLE_RUNTIME_METHOD_NAMES, type CallerDescriptor, type CallerResultShape, type CallerValueSource, CompatCallerConfig, CompilerMode, DEFAULT_COMPAT_CALLERS, DictionaryFieldUsage, ExtractDictionaryInfoOptions, ExtractIntlayerOptions, ExtractPluginOptions, ExtractResult, INTLAYER_CALLER_NAMES, INTLAYER_USAGE_REGEX, IntlayerCallerName, MinifyPluginOptions, NestedRenameEntry, NestedRenameMap, OpaqueFieldOccurrence, OptimizePluginOptions, PackageName, PruneContext, PurgePluginOptions, ResolveContentFilePaths, SERVER_CAPABLE_PACKAGES, SOURCE_FILE_REGEX, ScriptBlock, SerializedFieldRenameEntry, SerializedFieldRenameMap, analyzeFieldUsageInFile, buildNestedRenameMapFromContent, buildUsageCheckRegex, createPruneContext, detectPackageName, extractContent, extractContentSync, extractDictionaryInfo, extractDictionaryKey, extractDictionaryKeyFromPath, extractScriptBlocks, generateKey, generateShortFieldName, getComponentName, getExtractPluginOptions, getMinifyPluginOptions, getNestedRenameEntryAtPath, getOptimizePluginOptions, getOutput, getPurgePluginOptions, getSharedPruneContext, getUsageCheckRegex, injectScriptBlocks, intlayerExtractBabelPlugin, intlayerMinifyBabelPlugin, intlayerOptimizeBabelPlugin, intlayerPurgeBabelPlugin, makeFieldRenameBabelPlugin, makeUsageAnalyzerBabelPlugin, mergeWithExistingMultilingualDictionary, mergeWithExistingPerLocaleDictionary, optimizeSourceFile, packageList, preserveNestedDictionaryFields, renameFieldsInCode, renameFieldsInSourceFile, renameIntlayerFieldAccesses, resolveContentFilePaths, runIntlayerPurgePipeline, serializeFieldRenameMap, unwrapAwait, writeContentHelper };
@@ -7,12 +7,6 @@ import { ParserOptions } from "@babel/parser";
7
7
  * supported frameworks (React / Vue / Svelte / Angular / …).
8
8
  */
9
9
  declare const BABEL_PARSER_OPTIONS: ParserOptions;
10
- /**
11
- * Fast pre-check: matches files that could contain native intlayer calls
12
- * (`useIntlayer` / `getIntlayer`). Used by the optimize/transform pass, which
13
- * only rewrites native calls.
14
- */
15
- declare const INTLAYER_USAGE_REGEX: RegExp;
16
10
  /**
17
11
  * Builds a fast pre-check regex that matches files potentially containing
18
12
  * native intlayer calls and/or the given compat namespace caller names.
@@ -20,6 +14,11 @@ declare const INTLAYER_USAGE_REGEX: RegExp;
20
14
  * The result is used to skip files that definitely contain none of the
21
15
  * relevant function names, avoiding unnecessary Babel parsing.
22
16
  *
17
+ * The native names come from {@link INTLAYER_CALLER_NAMES} rather than being
18
+ * spelled out here: a name missing from this regex silently opts every file
19
+ * using it out of the optimize, purge and minify passes, leaving its calls to
20
+ * resolve through the dictionary registry — empty in browser bundles.
21
+ *
23
22
  * Compat caller names are NOT hardcoded here — they are provided at runtime by
24
23
  * the compat adapter packages that configure the usage-analysis pipeline.
25
24
  *
@@ -28,6 +27,12 @@ declare const INTLAYER_USAGE_REGEX: RegExp;
28
27
  * @returns A `RegExp` matching any of the native or provided caller names.
29
28
  */
30
29
  declare const buildUsageCheckRegex: (extraCallerNames?: string[]) => RegExp;
30
+ /**
31
+ * Fast pre-check: matches files that could contain native intlayer calls
32
+ * (`useIntlayer` / `getIntlayer` / `getIntlayerAsync`). Used by the
33
+ * optimize/transform pass, which only rewrites native calls.
34
+ */
35
+ declare const INTLAYER_USAGE_REGEX: RegExp;
31
36
  /**
32
37
  * Returns the usage-check regex for the given compat callers, memoised by the
33
38
  * array reference. Plugins pass the same options array for every analysed
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.d.ts","names":[],"sources":["../../src/transformers.ts"],"mappings":";;;;;;;;cAyBa,sBAAsB;;;;;;cAwBtB,sBAAoB;;;;;;;;;;;;;;;cAgBpB,uBAAoB,gCAAkC;;;;;;cAwBtD,qBAAkB,yBACJ,yBACxB;;;;;;cAoBU,mBAAiB;;;;;;;;;;;;;cAqCjB,0BAAuB,wBACZ,cACV,cACE,cAAY,gBACV,yBACf;;;;;;;cAyBU,qBAAkB,cACjB,wBACU,cACR,iBACb;;;;;;;;cAqBU,2BAAwB,wBACb,cACV,cACE,iBACb;;;;;;;;;cA8CU,qBAAkB,cACjB,wBACU,SACb,0BACR;EACD;EACA"}
1
+ {"version":3,"file":"transformers.d.ts","names":[],"sources":["../../src/transformers.ts"],"mappings":";;;;;;;;cA0Ba,sBAAsB;;;;;;;;;;;;;;;;;;;;cAsCtB,uBAAoB,gCAAkC;;;;;;cAWtD,sBAAoB;;;;;;cAgBpB,qBAAkB,yBACJ,yBACxB;;;;;;cAoBU,mBAAiB;;;;;;;;;;;;;cAqCjB,0BAAuB,wBACZ,cACV,cACE,cAAY,gBACV,yBACf;;;;;;;cAyBU,qBAAkB,cACjB,wBACU,cACR,iBACb;;;;;;;;cAqBU,2BAAwB,wBACb,cACV,cACE,iBACb;;;;;;;;;cA8CU,qBAAkB,cACjB,wBACU,SACb,0BACR;EACD;EACA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/babel",
3
- "version": "9.4.0-canary.0",
3
+ "version": "9.4.0",
4
4
  "private": false,
5
5
  "description": "A Babel plugin for Intlayer that transforms declaration files and provides internationalization features during the build process according to the Intlayer configuration.",
6
6
  "keywords": [
@@ -92,8 +92,8 @@
92
92
  "@intlayer/config": "9.4.0-canary.0",
93
93
  "@intlayer/core": "9.4.0-canary.0",
94
94
  "@intlayer/dictionaries-entry": "9.4.0-canary.0",
95
- "@intlayer/engine": "9.4.0-canary.0",
96
- "@intlayer/types": "9.4.0-canary.0",
95
+ "@intlayer/engine": "9.4.0",
96
+ "@intlayer/types": "9.4.0",
97
97
  "@intlayer/unmerged-dictionaries-entry": "9.4.0-canary.0"
98
98
  },
99
99
  "devDependencies": {
@@ -101,7 +101,7 @@
101
101
  "@types/babel__core": "7.20.5",
102
102
  "@types/babel__generator": "7.27.0",
103
103
  "@types/babel__traverse": "7.28.0",
104
- "@types/node": "26.2.0",
104
+ "@types/node": "26.3.0",
105
105
  "@utils/ts-config": "1.0.4",
106
106
  "@utils/ts-config-types": "1.0.4",
107
107
  "@utils/tsdown-config": "1.0.4",
@@ -113,7 +113,7 @@
113
113
  },
114
114
  "peerDependencies": {
115
115
  "@intlayer/svelte-compiler": "9.4.0-canary.0",
116
- "@intlayer/vue-compiler": "9.4.0-canary.0"
116
+ "@intlayer/vue-compiler": "9.4.0"
117
117
  },
118
118
  "peerDependenciesMeta": {
119
119
  "@intlayer/svelte-compiler": {