@intlayer/babel 9.5.11 → 9.5.12
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/analyzeContentUsage.cjs +54 -26
- package/dist/cjs/analyzeContentUsage.cjs.map +1 -1
- package/dist/cjs/babel-plugin-intlayer-field-rename.cjs +39 -18
- package/dist/cjs/babel-plugin-intlayer-field-rename.cjs.map +1 -1
- package/dist/cjs/babel-plugin-intlayer-purge.cjs +2 -0
- package/dist/cjs/babel-plugin-intlayer-purge.cjs.map +1 -1
- package/dist/cjs/getExtractPluginOptions.cjs.map +1 -1
- package/dist/cjs/staticAstReaders.cjs +96 -0
- package/dist/cjs/staticAstReaders.cjs.map +1 -1
- package/dist/cjs/transformers.cjs +36 -7
- package/dist/cjs/transformers.cjs.map +1 -1
- package/dist/esm/analyzeContentUsage.mjs +55 -27
- package/dist/esm/analyzeContentUsage.mjs.map +1 -1
- package/dist/esm/babel-plugin-intlayer-field-rename.mjs +40 -19
- package/dist/esm/babel-plugin-intlayer-field-rename.mjs.map +1 -1
- package/dist/esm/babel-plugin-intlayer-purge.mjs +2 -0
- package/dist/esm/babel-plugin-intlayer-purge.mjs.map +1 -1
- package/dist/esm/getExtractPluginOptions.mjs +1 -1
- package/dist/esm/getExtractPluginOptions.mjs.map +1 -1
- package/dist/esm/staticAstReaders.mjs +94 -1
- package/dist/esm/staticAstReaders.mjs.map +1 -1
- package/dist/esm/transformers.mjs +36 -7
- package/dist/esm/transformers.mjs.map +1 -1
- package/dist/types/analyzeContentUsage.d.ts +6 -1
- package/dist/types/analyzeContentUsage.d.ts.map +1 -1
- package/dist/types/babel-plugin-intlayer-field-rename.d.ts.map +1 -1
- package/dist/types/babel-plugin-intlayer-purge.d.ts.map +1 -1
- package/dist/types/staticAstReaders.d.ts +41 -0
- package/dist/types/staticAstReaders.d.ts.map +1 -1
- package/dist/types/transformers.d.ts +8 -1
- package/dist/types/transformers.d.ts.map +1 -1
- package/package.json +8 -8
|
@@ -80,5 +80,46 @@ export declare const splitNamespace: (namespace: string) => {
|
|
|
80
80
|
* is.
|
|
81
81
|
*/
|
|
82
82
|
export declare const unwrapAwait: (babelTypes: typeof BabelTypes, path: NodePath<BabelTypes.Node>) => NodePath<BabelTypes.Node>;
|
|
83
|
+
/**
|
|
84
|
+
* Climbs past every enclosing value-preserving wrapper (see
|
|
85
|
+
* {@link isTransparentWrapper}), so `(content.field as any).sub` is walked the
|
|
86
|
+
* same way as `content.field.sub`.
|
|
87
|
+
*/
|
|
88
|
+
export declare const skipTransparentWrappers: (babelTypes: typeof BabelTypes, path: NodePath<BabelTypes.Node>) => NodePath<BabelTypes.Node>;
|
|
89
|
+
/** How the value of a content-producing expression is consumed. */
|
|
90
|
+
export type ContentRootResolution =
|
|
91
|
+
/** Consumed inline — inspect `rootPath.parent` (member access, argument…). */
|
|
92
|
+
{
|
|
93
|
+
kind: 'expression';
|
|
94
|
+
rootPath: NodePath<BabelTypes.Node>;
|
|
95
|
+
} |
|
|
96
|
+
/** Stored into a local binding (`const x = …` / `const { a } = …`). */
|
|
97
|
+
{
|
|
98
|
+
kind: 'binding';
|
|
99
|
+
rootPath: NodePath<BabelTypes.Node>;
|
|
100
|
+
bindingTarget: BabelTypes.Identifier | BabelTypes.ObjectPattern;
|
|
101
|
+
} |
|
|
102
|
+
/** Skipped by an array-pattern hole (`const [, b] = await Promise.all(…)`). */
|
|
103
|
+
{
|
|
104
|
+
kind: 'discarded';
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Resolves where the content returned by `path` (a `useIntlayer('key')` call
|
|
108
|
+
* or any expression evaluating to the same content) ends up.
|
|
109
|
+
*
|
|
110
|
+
* Looks through TypeScript casts, parentheses and `await`, and through
|
|
111
|
+
* `const [a, { b }] = await Promise.all([getIntlayerAsync('x'), …])`, where the
|
|
112
|
+
* array-pattern element at the call's index is the binding target.
|
|
113
|
+
*
|
|
114
|
+
* Both the usage analyser and the field renamer resolve roots through this
|
|
115
|
+
* function, so every shape the analyser tracks is one the renamer rewrites.
|
|
116
|
+
*/
|
|
117
|
+
export declare const resolveContentRoot: (babelTypes: typeof BabelTypes, path: NodePath<BabelTypes.Node>) => ContentRootResolution;
|
|
118
|
+
/**
|
|
119
|
+
* Returns `true` when the value at `path` is only tested, never read: `!x`,
|
|
120
|
+
* `typeof x`, `if (x)`, `x ? … : …`, `x && …`, `x === y`. Such uses expose no
|
|
121
|
+
* key names, so they neither block pruning nor make a field opaque.
|
|
122
|
+
*/
|
|
123
|
+
export declare const isTestOnlyUse: (babelTypes: typeof BabelTypes, path: NodePath<BabelTypes.Node>) => boolean;
|
|
83
124
|
//#endregion
|
|
84
125
|
//# sourceMappingURL=staticAstReaders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticAstReaders.d.ts","names":[],"sources":["../../src/staticAstReaders.ts"],"mappings":";;;;;;;;;;;;;;;;;qBAkBa,mBAAgB,mBACR,YAAU,MACvB,WAAW;;qBAeN,mBAAgB;;;;;;;;;qBAWhB,yBAAsB,mBACd,YAAU,MACvB,WAAW;;qBAkBN,qBAAkB,mBACV,YAAU,UACnB,WAAW,gBAAc;;;;;;qBAWxB,qBAAkB,mBACV,YAAU,kBACX,WAAW,kBAAgB,yBAE5C,WAAW;;;;;;qBAaD;;YAGD,eAAe,KAAK,WAAW;;;;;;qBAO9B,qBAAkB,mBACV,YAAU,kBACX,WAAW,kBAAgB,yBAE5C;;;;;;qBAeU,yBAAsB,mBACd,YAAU,kBACX,WAAW,kBAAgB,yBAE5C,eAAe,WAAW;;;;;;;qBAgBhB,yBAAsB,mBACd,YAAU,gBACb,WAAW,mBAAiB,0BAE3C,WAAW;;;;;;;;qBAgCD,iBAAc;EAEtB;EAAuB;;;;;;;;qBAef,cAAW,mBACH,YAAU,MACvB,SAAS,WAAW,UACzB,SAAS,WAAW"}
|
|
1
|
+
{"version":3,"file":"staticAstReaders.d.ts","names":[],"sources":["../../src/staticAstReaders.ts"],"mappings":";;;;;;;;;;;;;;;;;qBAkBa,mBAAgB,mBACR,YAAU,MACvB,WAAW;;qBAeN,mBAAgB;;;;;;;;;qBAWhB,yBAAsB,mBACd,YAAU,MACvB,WAAW;;qBAkBN,qBAAkB,mBACV,YAAU,UACnB,WAAW,gBAAc;;;;;;qBAWxB,qBAAkB,mBACV,YAAU,kBACX,WAAW,kBAAgB,yBAE5C,WAAW;;;;;;qBAaD;;YAGD,eAAe,KAAK,WAAW;;;;;;qBAO9B,qBAAkB,mBACV,YAAU,kBACX,WAAW,kBAAgB,yBAE5C;;;;;;qBAeU,yBAAsB,mBACd,YAAU,kBACX,WAAW,kBAAgB,yBAE5C,eAAe,WAAW;;;;;;;qBAgBhB,yBAAsB,mBACd,YAAU,gBACb,WAAW,mBAAiB,0BAE3C,WAAW;;;;;;;;qBAgCD,iBAAc;EAEtB;EAAuB;;;;;;;;qBAef,cAAW,mBACH,YAAU,MACvB,SAAS,WAAW,UACzB,SAAS,WAAW;;;;;;qBA6BV,0BAAuB,mBACf,YAAU,MACvB,SAAS,WAAW,UACzB,SAAS,WAAW;;YAwCX;;;EAEN;EAAoB,UAAU,SAAS,WAAW;;;;EAGlD;EACA,UAAU,SAAS,WAAW;EAC9B,eAAe,WAAW,aAAa,WAAW;;;;EAGlD;;;;;;;;;;;;;qBAaO,qBAAkB,mBACV,YAAU,MACvB,SAAS,WAAW,UACzB;;;;;;qBAwEU,gBAAa,mBACL,YAAU,MACvB,SAAS,WAAW"}
|
|
@@ -79,10 +79,17 @@ export declare const renameFieldsInSourceFile: (sourceFilePath: string, code: st
|
|
|
79
79
|
* `useIntlayer('key')` / `getIntlayer('key')` calls into `useDictionary(_hash)`
|
|
80
80
|
* / `getDictionary(_hash)` and injecting the corresponding dictionary imports.
|
|
81
81
|
*
|
|
82
|
+
* When `fieldRenamePruneContext` is given, dictionary field accesses are
|
|
83
|
+
* renamed in the same Babel pass (see {@link renameFieldsInSourceFile}): the
|
|
84
|
+
* rename plugin is listed first, so its `Program.exit` sees the dictionary
|
|
85
|
+
* keys before the optimize plugin's `Program.exit` erases them — saving a
|
|
86
|
+
* full parse and code generation per file. `code` must be plain or compiled
|
|
87
|
+
* JS, as in a bundler's post-transform hook.
|
|
88
|
+
*
|
|
82
89
|
* Returns `{ code, map }` on success, or `null` if the transformation produced
|
|
83
90
|
* no output.
|
|
84
91
|
*/
|
|
85
|
-
export declare const optimizeSourceFile: (code: string, sourceFilePath: string, options: OptimizePluginOptions) => Promise<{
|
|
92
|
+
export declare const optimizeSourceFile: (code: string, sourceFilePath: string, options: OptimizePluginOptions, fieldRenamePruneContext?: PruneContext) => Promise<{
|
|
86
93
|
code: string;
|
|
87
94
|
map: string | object | null | undefined;
|
|
88
95
|
} | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformers.d.ts","names":[],"sources":["../../src/transformers.ts"],"mappings":";;;;;;;;;qBA0Ba,sBAAsB;;;;;;;;;;;;;;;;;;;;qBAiCtB,uBAAoB,gCAAkC;;;;;;qBAWtD,sBAAoB;;;;;;qBAgBpB,qBAAkB,yBACJ,yBACxB;;;;;;qBAoBU,mBAAiB;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"transformers.d.ts","names":[],"sources":["../../src/transformers.ts"],"mappings":";;;;;;;;;qBA0Ba,sBAAsB;;;;;;;;;;;;;;;;;;;;qBAiCtB,uBAAoB,gCAAkC;;;;;;qBAWtD,sBAAoB;;;;;;qBAgBpB,qBAAkB,yBACJ,yBACxB;;;;;;qBAoBU,mBAAiB;;;;;;;;;;;;;qBA8DjB,0BAAuB,wBACZ,cACV,cACE,cAAY,gBACV,yBACf;;;;;;;qBAyBU,qBAAkB,cACjB,wBACU,cACR,iBACb;;;;;;;;qBAqBU,2BAAwB,wBACb,cACV,cACE,iBACb;;;;;;;;;;;;;;;;qBAiDU,qBAAkB,cACjB,wBACU,SACb,uBAAqB,0BACJ,iBACzB;EACD;EACA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intlayer/babel",
|
|
3
|
-
"version": "9.5.
|
|
3
|
+
"version": "9.5.12",
|
|
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": [
|
|
@@ -90,11 +90,11 @@
|
|
|
90
90
|
"@babel/plugin-syntax-jsx": "8.0.1",
|
|
91
91
|
"@babel/traverse": "8.0.5",
|
|
92
92
|
"@babel/types": "8.0.5",
|
|
93
|
-
"@intlayer/config": "9.5.
|
|
94
|
-
"@intlayer/core": "9.5.
|
|
95
|
-
"@intlayer/dictionaries-entry": "9.5.
|
|
96
|
-
"@intlayer/engine": "9.5.
|
|
97
|
-
"@intlayer/types": "9.5.
|
|
93
|
+
"@intlayer/config": "9.5.12",
|
|
94
|
+
"@intlayer/core": "9.5.12",
|
|
95
|
+
"@intlayer/dictionaries-entry": "9.5.12",
|
|
96
|
+
"@intlayer/engine": "9.5.12",
|
|
97
|
+
"@intlayer/types": "9.5.12"
|
|
98
98
|
},
|
|
99
99
|
"devDependencies": {
|
|
100
100
|
"@babel/plugin-syntax-jsx": "8.0.1",
|
|
@@ -112,8 +112,8 @@
|
|
|
112
112
|
"vitest": "5.0.2"
|
|
113
113
|
},
|
|
114
114
|
"peerDependencies": {
|
|
115
|
-
"@intlayer/svelte-compiler": "9.5.
|
|
116
|
-
"@intlayer/vue-compiler": "9.5.
|
|
115
|
+
"@intlayer/svelte-compiler": "9.5.12",
|
|
116
|
+
"@intlayer/vue-compiler": "9.5.12"
|
|
117
117
|
},
|
|
118
118
|
"peerDependenciesMeta": {
|
|
119
119
|
"@intlayer/svelte-compiler": {
|