@intlayer/babel 8.12.2 → 8.12.3

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 (94) hide show
  1. package/dist/cjs/babel-plugin-intlayer-extract.cjs.map +1 -1
  2. package/dist/cjs/babel-plugin-intlayer-field-rename.cjs +14 -9
  3. package/dist/cjs/babel-plugin-intlayer-field-rename.cjs.map +1 -1
  4. package/dist/cjs/babel-plugin-intlayer-minify.cjs +83 -0
  5. package/dist/cjs/babel-plugin-intlayer-minify.cjs.map +1 -0
  6. package/dist/cjs/babel-plugin-intlayer-optimize.cjs +1 -0
  7. package/dist/cjs/babel-plugin-intlayer-optimize.cjs.map +1 -1
  8. package/dist/cjs/babel-plugin-intlayer-purge.cjs +403 -0
  9. package/dist/cjs/babel-plugin-intlayer-purge.cjs.map +1 -0
  10. package/dist/cjs/babel-plugin-intlayer-usage-analyzer.cjs.map +1 -1
  11. package/dist/cjs/extractContent/babelProcessor.cjs.map +1 -1
  12. package/dist/cjs/extractContent/contentWriter.cjs.map +1 -1
  13. package/dist/cjs/extractContent/extractContent.cjs.map +1 -1
  14. package/dist/cjs/extractContent/processTsxFile.cjs.map +1 -1
  15. package/dist/cjs/extractContent/utils/constants.cjs.map +1 -1
  16. package/dist/cjs/extractContent/utils/detectPackageName.cjs +1 -0
  17. package/dist/cjs/extractContent/utils/detectPackageName.cjs.map +1 -1
  18. package/dist/cjs/extractContent/utils/extractDictionaryInfo.cjs.map +1 -1
  19. package/dist/cjs/extractContent/utils/extractDictionaryKey.cjs +1 -0
  20. package/dist/cjs/extractContent/utils/extractDictionaryKey.cjs.map +1 -1
  21. package/dist/cjs/extractContent/utils/generateKey.cjs.map +1 -1
  22. package/dist/cjs/extractContent/utils/getComponentName.cjs.map +1 -1
  23. package/dist/cjs/extractContent/utils/getExistingIntlayerInfo.cjs.map +1 -1
  24. package/dist/cjs/extractContent/utils/getOrGenerateKey.cjs.map +1 -1
  25. package/dist/cjs/extractContent/utils/resolveDictionaryKey.cjs +1 -0
  26. package/dist/cjs/extractContent/utils/resolveDictionaryKey.cjs.map +1 -1
  27. package/dist/cjs/extractContent/utils/shouldExtract.cjs.map +1 -1
  28. package/dist/cjs/extractScriptBlocks.cjs +1 -0
  29. package/dist/cjs/extractScriptBlocks.cjs.map +1 -1
  30. package/dist/cjs/getExtractPluginOptions.cjs.map +1 -1
  31. package/dist/cjs/getOptimizePluginOptions.cjs +1 -0
  32. package/dist/cjs/getOptimizePluginOptions.cjs.map +1 -1
  33. package/dist/cjs/getPurgePluginOptions.cjs +108 -0
  34. package/dist/cjs/getPurgePluginOptions.cjs.map +1 -0
  35. package/dist/cjs/index.cjs +9 -1
  36. package/dist/cjs/transformers.cjs +1 -0
  37. package/dist/cjs/transformers.cjs.map +1 -1
  38. package/dist/esm/babel-plugin-intlayer-extract.mjs.map +1 -1
  39. package/dist/esm/babel-plugin-intlayer-field-rename.mjs +14 -9
  40. package/dist/esm/babel-plugin-intlayer-field-rename.mjs.map +1 -1
  41. package/dist/esm/babel-plugin-intlayer-minify.mjs +82 -0
  42. package/dist/esm/babel-plugin-intlayer-minify.mjs.map +1 -0
  43. package/dist/esm/babel-plugin-intlayer-optimize.mjs.map +1 -1
  44. package/dist/esm/babel-plugin-intlayer-purge.mjs +400 -0
  45. package/dist/esm/babel-plugin-intlayer-purge.mjs.map +1 -0
  46. package/dist/esm/babel-plugin-intlayer-usage-analyzer.mjs.map +1 -1
  47. package/dist/esm/extractContent/babelProcessor.mjs.map +1 -1
  48. package/dist/esm/extractContent/contentWriter.mjs.map +1 -1
  49. package/dist/esm/extractContent/extractContent.mjs.map +1 -1
  50. package/dist/esm/extractContent/processTsxFile.mjs.map +1 -1
  51. package/dist/esm/extractContent/utils/constants.mjs.map +1 -1
  52. package/dist/esm/extractContent/utils/detectPackageName.mjs.map +1 -1
  53. package/dist/esm/extractContent/utils/extractDictionaryInfo.mjs.map +1 -1
  54. package/dist/esm/extractContent/utils/extractDictionaryKey.mjs.map +1 -1
  55. package/dist/esm/extractContent/utils/generateKey.mjs.map +1 -1
  56. package/dist/esm/extractContent/utils/getComponentName.mjs.map +1 -1
  57. package/dist/esm/extractContent/utils/getExistingIntlayerInfo.mjs.map +1 -1
  58. package/dist/esm/extractContent/utils/getOrGenerateKey.mjs.map +1 -1
  59. package/dist/esm/extractContent/utils/resolveDictionaryKey.mjs.map +1 -1
  60. package/dist/esm/extractContent/utils/shouldExtract.mjs.map +1 -1
  61. package/dist/esm/extractScriptBlocks.mjs.map +1 -1
  62. package/dist/esm/getExtractPluginOptions.mjs.map +1 -1
  63. package/dist/esm/getOptimizePluginOptions.mjs.map +1 -1
  64. package/dist/esm/getPurgePluginOptions.mjs +106 -0
  65. package/dist/esm/getPurgePluginOptions.mjs.map +1 -0
  66. package/dist/esm/index.mjs +5 -2
  67. package/dist/esm/transformers.mjs.map +1 -1
  68. package/dist/types/babel-plugin-intlayer-extract.d.ts.map +1 -1
  69. package/dist/types/babel-plugin-intlayer-field-rename.d.ts.map +1 -1
  70. package/dist/types/babel-plugin-intlayer-minify.d.ts +84 -0
  71. package/dist/types/babel-plugin-intlayer-minify.d.ts.map +1 -0
  72. package/dist/types/babel-plugin-intlayer-optimize.d.ts.map +1 -1
  73. package/dist/types/babel-plugin-intlayer-purge.d.ts +127 -0
  74. package/dist/types/babel-plugin-intlayer-purge.d.ts.map +1 -0
  75. package/dist/types/babel-plugin-intlayer-usage-analyzer.d.ts.map +1 -1
  76. package/dist/types/extractContent/babelProcessor.d.ts.map +1 -1
  77. package/dist/types/extractContent/contentWriter.d.ts.map +1 -1
  78. package/dist/types/extractContent/extractContent.d.ts.map +1 -1
  79. package/dist/types/extractContent/utils/constants.d.ts.map +1 -1
  80. package/dist/types/extractContent/utils/detectPackageName.d.ts.map +1 -1
  81. package/dist/types/extractContent/utils/extractDictionaryInfo.d.ts.map +1 -1
  82. package/dist/types/extractContent/utils/extractDictionaryKey.d.ts.map +1 -1
  83. package/dist/types/extractContent/utils/generateKey.d.ts.map +1 -1
  84. package/dist/types/extractContent/utils/getComponentName.d.ts.map +1 -1
  85. package/dist/types/extractContent/utils/getExistingIntlayerInfo.d.ts.map +1 -1
  86. package/dist/types/extractContent/utils/shouldExtract.d.ts.map +1 -1
  87. package/dist/types/extractScriptBlocks.d.ts.map +1 -1
  88. package/dist/types/getExtractPluginOptions.d.ts.map +1 -1
  89. package/dist/types/getOptimizePluginOptions.d.ts.map +1 -1
  90. package/dist/types/getPurgePluginOptions.d.ts +83 -0
  91. package/dist/types/getPurgePluginOptions.d.ts.map +1 -0
  92. package/dist/types/index.d.ts +4 -1
  93. package/dist/types/transformers.d.ts.map +1 -1
  94. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.mjs","names":[],"sources":["../../src/transformers.ts"],"sourcesContent":["import { type TransformOptions, transformAsync } from '@babel/core';\nimport { makeFieldRenameBabelPlugin } from './babel-plugin-intlayer-field-rename';\nimport {\n intlayerOptimizeBabelPlugin,\n type OptimizePluginOptions,\n} from './babel-plugin-intlayer-optimize';\nimport {\n type CompatCallerConfig,\n makeUsageAnalyzerBabelPlugin,\n type PruneContext,\n} from './babel-plugin-intlayer-usage-analyzer';\nimport { extractScriptBlocks, injectScriptBlocks } from './extractScriptBlocks';\n\n// ── Shared Babel parser configuration ─────────────────────────────────────────\n\n/**\n * Babel parser options covering the superset of syntaxes used across all\n * supported frameworks (React / Vue / Svelte / Angular / …).\n */\nexport const BABEL_PARSER_OPTIONS: NonNullable<TransformOptions['parserOpts']> =\n {\n sourceType: 'module',\n allowImportExportEverywhere: true,\n plugins: [\n 'typescript',\n 'jsx',\n 'decorators-legacy',\n 'classProperties',\n 'objectRestSpread',\n 'asyncGenerators',\n 'functionBind',\n 'exportDefaultFrom',\n 'exportNamespaceFrom',\n 'dynamicImport',\n 'nullishCoalescingOperator',\n 'optionalChaining',\n ],\n };\n\n/**\n * Fast pre-check: matches files that could contain native intlayer calls\n * (`useIntlayer` / `getIntlayer`). Used by the optimize/transform pass, which\n * only rewrites native calls.\n */\nexport const INTLAYER_USAGE_REGEX = /\\b(use|get)Intlayer\\b/;\n\n/**\n * Fast pre-check: matches files that could contain compat-adapter namespace\n * callers (`useTranslation`, `useTranslations`, `getTranslations`, `getFixedT`,\n * `useI18n`). These are analysed for field usage (pruning) but never rewritten.\n */\nexport const COMPAT_USAGE_REGEX =\n /\\b(useTranslation|useTranslations|getTranslations|getFixedT|useI18n)\\b/;\n\n/**\n * Fast pre-check for the usage-analysis phase: matches files containing either\n * native intlayer calls or compat-adapter namespace callers.\n */\nexport const INTLAYER_OR_COMPAT_USAGE_REGEX =\n /\\b(useIntlayer|getIntlayer|useTranslation|useTranslations|getTranslations|getFixedT|useI18n)\\b/;\n\n/**\n * Matches source files that are valid targets for usage analysis and Babel\n * transformation. Excludes sourcemap files, declaration files, and other\n * non-source extensions.\n */\nexport const SOURCE_FILE_REGEX = /\\.(tsx?|[mc]?jsx?|vue|svelte|astro)$/;\n\n// ── High-level transformer functions ──────────────────────────────────────────\n\n/**\n * Runs the usage-analysis Babel plugin on a single JS/TS code string.\n *\n * This is analysis-only: the transformed code output is discarded.\n * Throws if Babel cannot parse the content.\n */\nconst analyzeScriptContent = async (\n scriptContent: string,\n sourceFilePath: string,\n pruneContext: PruneContext,\n compatCallers?: CompatCallerConfig[]\n): Promise<void> => {\n await transformAsync(scriptContent, {\n filename: sourceFilePath,\n plugins: [makeUsageAnalyzerBabelPlugin(pruneContext, { compatCallers })],\n parserOpts: BABEL_PARSER_OPTIONS,\n ast: false,\n code: false, // analysis only – no output needed\n });\n};\n\n/**\n * Runs the usage-analysis Babel plugin on a source file, accumulating\n * field-usage data into `pruneContext`.\n *\n * For Vue / Svelte SFC files, script blocks are extracted before analysis so\n * Babel does not attempt to parse the full SFC syntax (templates, styles, …).\n * For plain JS/TS files, the whole file content is analysed directly.\n *\n * This is analysis-only: the transformed code output is discarded.\n * Throws if Babel cannot parse the file (caller should handle and flag\n * `pruneContext.hasUnparsableSourceFiles`).\n */\nexport const analyzeFieldUsageInFile = async (\n sourceFilePath: string,\n code: string,\n pruneContext: PruneContext,\n compatCallers?: CompatCallerConfig[]\n): Promise<void> => {\n const scriptBlocks = extractScriptBlocks(sourceFilePath, code);\n\n // For SFC files (Vue / Svelte): scriptBlocks[0].contentStartOffset > 0\n // means we extracted actual <script> tags from the file.\n // For plain JS/TS: extractScriptBlocks returns the whole file as a single\n // block with offset 0, so we fall through to the same path.\n for (const block of scriptBlocks) {\n if (!INTLAYER_OR_COMPAT_USAGE_REGEX.test(block.content)) continue;\n await analyzeScriptContent(\n block.content,\n sourceFilePath,\n pruneContext,\n compatCallers\n );\n }\n};\n\n/**\n * Applies field-renaming to a single JS/TS code string (not an SFC).\n *\n * Returns the renamed code string, or `null` if nothing changed or if\n * Babel failed to parse the input (caller should fall back to original code).\n */\nexport const renameFieldsInCode = async (\n code: string,\n sourceFilePath: string,\n pruneContext: PruneContext\n): Promise<string | null> => {\n try {\n const result = await transformAsync(code, {\n filename: sourceFilePath,\n plugins: [makeFieldRenameBabelPlugin(pruneContext)],\n parserOpts: BABEL_PARSER_OPTIONS,\n ast: false,\n });\n return result?.code ?? null;\n } catch {\n return null; // parse failure – caller falls back to original code\n }\n};\n\n/**\n * Applies field-renaming to a source file, correctly handling both plain\n * JS/TS files and SFC files (Vue / Svelte) by operating on each script block\n * individually and injecting the results back into the original source.\n *\n * Returns the renamed code string, or `null` if nothing changed.\n */\nexport const renameFieldsInSourceFile = async (\n sourceFilePath: string,\n code: string,\n pruneContext: PruneContext\n): Promise<string | null> => {\n if (pruneContext.dictionaryKeyToFieldRenameMap.size === 0) return null;\n if (!INTLAYER_USAGE_REGEX.test(code)) return null;\n\n const scriptBlocks = extractScriptBlocks(sourceFilePath, code);\n\n const isSFC =\n scriptBlocks.length > 0 &&\n ((scriptBlocks[0]?.contentStartOffset ?? 0) > 0 || scriptBlocks.length > 1);\n\n if (isSFC) {\n // Raw SFC: rename each script block individually and inject back.\n const modifications: Array<{\n block: (typeof scriptBlocks)[number];\n modifiedContent: string;\n }> = [];\n\n for (const block of scriptBlocks) {\n if (!INTLAYER_USAGE_REGEX.test(block.content)) continue;\n\n const renamedCode = await renameFieldsInCode(\n block.content,\n sourceFilePath,\n pruneContext\n );\n if (renamedCode && renamedCode !== block.content) {\n modifications.push({ block, modifiedContent: renamedCode });\n }\n }\n\n if (modifications.length === 0) return null;\n return injectScriptBlocks(code, modifications);\n }\n\n // Plain JS/TS or compiled SFC (no block delimiters) – rename the whole file.\n return renameFieldsInCode(code, sourceFilePath, pruneContext);\n};\n\n/**\n * Runs the intlayer optimize Babel plugin on a source file, transforming\n * `useIntlayer('key')` / `getIntlayer('key')` calls into `useDictionary(_hash)`\n * / `getDictionary(_hash)` and injecting the corresponding dictionary imports.\n *\n * Returns `{ code, map }` on success, or `null` if the transformation produced\n * no output.\n */\nexport const optimizeSourceFile = async (\n code: string,\n sourceFilePath: string,\n options: OptimizePluginOptions\n): Promise<{\n code: string;\n map: string | object | null | undefined;\n} | null> => {\n const result = await transformAsync(code, {\n filename: sourceFilePath,\n plugins: [[intlayerOptimizeBabelPlugin, options]],\n parserOpts: BABEL_PARSER_OPTIONS,\n });\n\n if (!result?.code) return null;\n\n return { code: result.code, map: result.map };\n};\n"],"mappings":";;;;;;;;;;;AAmBA,MAAa,uBACX;CACE,YAAY;CACZ,6BAA6B;CAC7B,SAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;;;;AAOF,MAAa,uBAAuB;;;;;;AAOpC,MAAa,qBACX;;;;;AAMF,MAAa,iCACX;;;;;;AAOF,MAAa,oBAAoB;;;;;;;AAUjC,MAAM,uBAAuB,OAC3B,eACA,gBACA,cACA,kBACkB;CAClB,MAAM,eAAe,eAAe;EAClC,UAAU;EACV,SAAS,CAAC,6BAA6B,cAAc,EAAE,cAAc,CAAC,CAAC;EACvE,YAAY;EACZ,KAAK;EACL,MAAM;CACR,CAAC;AACH;;;;;;;;;;;;;AAcA,MAAa,0BAA0B,OACrC,gBACA,MACA,cACA,kBACkB;CAClB,MAAM,eAAe,oBAAoB,gBAAgB,IAAI;CAM7D,KAAK,MAAM,SAAS,cAAc;EAChC,IAAI,CAAC,+BAA+B,KAAK,MAAM,OAAO,GAAG;EACzD,MAAM,qBACJ,MAAM,SACN,gBACA,cACA,aACF;CACF;AACF;;;;;;;AAQA,MAAa,qBAAqB,OAChC,MACA,gBACA,iBAC2B;CAC3B,IAAI;EAOF,QAAO,MANc,eAAe,MAAM;GACxC,UAAU;GACV,SAAS,CAAC,2BAA2B,YAAY,CAAC;GAClD,YAAY;GACZ,KAAK;EACP,CAAC,IACc,QAAQ;CACzB,QAAQ;EACN,OAAO;CACT;AACF;;;;;;;;AASA,MAAa,2BAA2B,OACtC,gBACA,MACA,iBAC2B;CAC3B,IAAI,aAAa,8BAA8B,SAAS,GAAG,OAAO;CAClE,IAAI,CAAC,qBAAqB,KAAK,IAAI,GAAG,OAAO;CAE7C,MAAM,eAAe,oBAAoB,gBAAgB,IAAI;CAM7D,IAHE,aAAa,SAAS,OACpB,aAAa,IAAI,sBAAsB,KAAK,KAAK,aAAa,SAAS,IAEhE;EAET,MAAM,gBAGD,CAAC;EAEN,KAAK,MAAM,SAAS,cAAc;GAChC,IAAI,CAAC,qBAAqB,KAAK,MAAM,OAAO,GAAG;GAE/C,MAAM,cAAc,MAAM,mBACxB,MAAM,SACN,gBACA,YACF;GACA,IAAI,eAAe,gBAAgB,MAAM,SACvC,cAAc,KAAK;IAAE;IAAO,iBAAiB;GAAY,CAAC;EAE9D;EAEA,IAAI,cAAc,WAAW,GAAG,OAAO;EACvC,OAAO,mBAAmB,MAAM,aAAa;CAC/C;CAGA,OAAO,mBAAmB,MAAM,gBAAgB,YAAY;AAC9D;;;;;;;;;AAUA,MAAa,qBAAqB,OAChC,MACA,gBACA,YAIW;CACX,MAAM,SAAS,MAAM,eAAe,MAAM;EACxC,UAAU;EACV,SAAS,CAAC,CAAC,6BAA6B,OAAO,CAAC;EAChD,YAAY;CACd,CAAC;CAED,IAAI,CAAC,QAAQ,MAAM,OAAO;CAE1B,OAAO;EAAE,MAAM,OAAO;EAAM,KAAK,OAAO;CAAI;AAC9C"}
1
+ {"version":3,"file":"transformers.mjs","names":[],"sources":["../../src/transformers.ts"],"sourcesContent":["import { type TransformOptions, transformAsync } from '@babel/core';\nimport { makeFieldRenameBabelPlugin } from './babel-plugin-intlayer-field-rename';\nimport {\n intlayerOptimizeBabelPlugin,\n type OptimizePluginOptions,\n} from './babel-plugin-intlayer-optimize';\nimport {\n type CompatCallerConfig,\n makeUsageAnalyzerBabelPlugin,\n type PruneContext,\n} from './babel-plugin-intlayer-usage-analyzer';\nimport { extractScriptBlocks, injectScriptBlocks } from './extractScriptBlocks';\n\n// ── Shared Babel parser configuration ─────────────────────────────────────────\n\n/**\n * Babel parser options covering the superset of syntaxes used across all\n * supported frameworks (React / Vue / Svelte / Angular / …).\n */\nexport const BABEL_PARSER_OPTIONS: NonNullable<TransformOptions['parserOpts']> =\n {\n sourceType: 'module',\n allowImportExportEverywhere: true,\n plugins: [\n 'typescript',\n 'jsx',\n 'decorators-legacy',\n 'classProperties',\n 'objectRestSpread',\n 'asyncGenerators',\n 'functionBind',\n 'exportDefaultFrom',\n 'exportNamespaceFrom',\n 'dynamicImport',\n 'nullishCoalescingOperator',\n 'optionalChaining',\n ],\n };\n\n/**\n * Fast pre-check: matches files that could contain native intlayer calls\n * (`useIntlayer` / `getIntlayer`). Used by the optimize/transform pass, which\n * only rewrites native calls.\n */\nexport const INTLAYER_USAGE_REGEX = /\\b(use|get)Intlayer\\b/;\n\n/**\n * Fast pre-check: matches files that could contain compat-adapter namespace\n * callers (`useTranslation`, `useTranslations`, `getTranslations`, `getFixedT`,\n * `useI18n`). These are analysed for field usage (pruning) but never rewritten.\n */\nexport const COMPAT_USAGE_REGEX =\n /\\b(useTranslation|useTranslations|getTranslations|getFixedT|useI18n)\\b/;\n\n/**\n * Fast pre-check for the usage-analysis phase: matches files containing either\n * native intlayer calls or compat-adapter namespace callers.\n */\nexport const INTLAYER_OR_COMPAT_USAGE_REGEX =\n /\\b(useIntlayer|getIntlayer|useTranslation|useTranslations|getTranslations|getFixedT|useI18n)\\b/;\n\n/**\n * Matches source files that are valid targets for usage analysis and Babel\n * transformation. Excludes sourcemap files, declaration files, and other\n * non-source extensions.\n */\nexport const SOURCE_FILE_REGEX = /\\.(tsx?|[mc]?jsx?|vue|svelte|astro)$/;\n\n// ── High-level transformer functions ──────────────────────────────────────────\n\n/**\n * Runs the usage-analysis Babel plugin on a single JS/TS code string.\n *\n * This is analysis-only: the transformed code output is discarded.\n * Throws if Babel cannot parse the content.\n */\nconst analyzeScriptContent = async (\n scriptContent: string,\n sourceFilePath: string,\n pruneContext: PruneContext,\n compatCallers?: CompatCallerConfig[]\n): Promise<void> => {\n await transformAsync(scriptContent, {\n filename: sourceFilePath,\n plugins: [makeUsageAnalyzerBabelPlugin(pruneContext, { compatCallers })],\n parserOpts: BABEL_PARSER_OPTIONS,\n ast: false,\n code: false, // analysis only – no output needed\n });\n};\n\n/**\n * Runs the usage-analysis Babel plugin on a source file, accumulating\n * field-usage data into `pruneContext`.\n *\n * For Vue / Svelte SFC files, script blocks are extracted before analysis so\n * Babel does not attempt to parse the full SFC syntax (templates, styles, …).\n * For plain JS/TS files, the whole file content is analysed directly.\n *\n * This is analysis-only: the transformed code output is discarded.\n * Throws if Babel cannot parse the file (caller should handle and flag\n * `pruneContext.hasUnparsableSourceFiles`).\n */\nexport const analyzeFieldUsageInFile = async (\n sourceFilePath: string,\n code: string,\n pruneContext: PruneContext,\n compatCallers?: CompatCallerConfig[]\n): Promise<void> => {\n const scriptBlocks = extractScriptBlocks(sourceFilePath, code);\n\n // For SFC files (Vue / Svelte): scriptBlocks[0].contentStartOffset > 0\n // means we extracted actual <script> tags from the file.\n // For plain JS/TS: extractScriptBlocks returns the whole file as a single\n // block with offset 0, so we fall through to the same path.\n for (const block of scriptBlocks) {\n if (!INTLAYER_OR_COMPAT_USAGE_REGEX.test(block.content)) continue;\n await analyzeScriptContent(\n block.content,\n sourceFilePath,\n pruneContext,\n compatCallers\n );\n }\n};\n\n/**\n * Applies field-renaming to a single JS/TS code string (not an SFC).\n *\n * Returns the renamed code string, or `null` if nothing changed or if\n * Babel failed to parse the input (caller should fall back to original code).\n */\nexport const renameFieldsInCode = async (\n code: string,\n sourceFilePath: string,\n pruneContext: PruneContext\n): Promise<string | null> => {\n try {\n const result = await transformAsync(code, {\n filename: sourceFilePath,\n plugins: [makeFieldRenameBabelPlugin(pruneContext)],\n parserOpts: BABEL_PARSER_OPTIONS,\n ast: false,\n });\n return result?.code ?? null;\n } catch {\n return null; // parse failure – caller falls back to original code\n }\n};\n\n/**\n * Applies field-renaming to a source file, correctly handling both plain\n * JS/TS files and SFC files (Vue / Svelte) by operating on each script block\n * individually and injecting the results back into the original source.\n *\n * Returns the renamed code string, or `null` if nothing changed.\n */\nexport const renameFieldsInSourceFile = async (\n sourceFilePath: string,\n code: string,\n pruneContext: PruneContext\n): Promise<string | null> => {\n if (pruneContext.dictionaryKeyToFieldRenameMap.size === 0) return null;\n if (!INTLAYER_USAGE_REGEX.test(code)) return null;\n\n const scriptBlocks = extractScriptBlocks(sourceFilePath, code);\n\n const isSFC =\n scriptBlocks.length > 0 &&\n ((scriptBlocks[0]?.contentStartOffset ?? 0) > 0 || scriptBlocks.length > 1);\n\n if (isSFC) {\n // Raw SFC: rename each script block individually and inject back.\n const modifications: Array<{\n block: (typeof scriptBlocks)[number];\n modifiedContent: string;\n }> = [];\n\n for (const block of scriptBlocks) {\n if (!INTLAYER_USAGE_REGEX.test(block.content)) continue;\n\n const renamedCode = await renameFieldsInCode(\n block.content,\n sourceFilePath,\n pruneContext\n );\n if (renamedCode && renamedCode !== block.content) {\n modifications.push({ block, modifiedContent: renamedCode });\n }\n }\n\n if (modifications.length === 0) return null;\n return injectScriptBlocks(code, modifications);\n }\n\n // Plain JS/TS or compiled SFC (no block delimiters) – rename the whole file.\n return renameFieldsInCode(code, sourceFilePath, pruneContext);\n};\n\n/**\n * Runs the intlayer optimize Babel plugin on a source file, transforming\n * `useIntlayer('key')` / `getIntlayer('key')` calls into `useDictionary(_hash)`\n * / `getDictionary(_hash)` and injecting the corresponding dictionary imports.\n *\n * Returns `{ code, map }` on success, or `null` if the transformation produced\n * no output.\n */\nexport const optimizeSourceFile = async (\n code: string,\n sourceFilePath: string,\n options: OptimizePluginOptions\n): Promise<{\n code: string;\n map: string | object | null | undefined;\n} | null> => {\n const result = await transformAsync(code, {\n filename: sourceFilePath,\n plugins: [[intlayerOptimizeBabelPlugin, options]],\n parserOpts: BABEL_PARSER_OPTIONS,\n });\n\n if (!result?.code) return null;\n\n return { code: result.code, map: result.map };\n};\n"],"mappings":";;;;;;;;;;;AAmBA,MAAa,uBACX;CACE,YAAY;CACZ,6BAA6B;CAC7B,SAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACF;;;;;;AAOH,MAAa,uBAAuB;;;;;;AAOpC,MAAa,qBACX;;;;;AAMF,MAAa,iCACX;;;;;;AAOF,MAAa,oBAAoB;;;;;;;AAUjC,MAAM,uBAAuB,OAC3B,eACA,gBACA,cACA,kBACkB;AAClB,OAAM,eAAe,eAAe;EAClC,UAAU;EACV,SAAS,CAAC,6BAA6B,cAAc,EAAE,eAAe,CAAC,CAAC;EACxE,YAAY;EACZ,KAAK;EACL,MAAM;EACP,CAAC;;;;;;;;;;;;;;AAeJ,MAAa,0BAA0B,OACrC,gBACA,MACA,cACA,kBACkB;CAClB,MAAM,eAAe,oBAAoB,gBAAgB,KAAK;AAM9D,MAAK,MAAM,SAAS,cAAc;AAChC,MAAI,CAAC,+BAA+B,KAAK,MAAM,QAAQ,CAAE;AACzD,QAAM,qBACJ,MAAM,SACN,gBACA,cACA,cACD;;;;;;;;;AAUL,MAAa,qBAAqB,OAChC,MACA,gBACA,iBAC2B;AAC3B,KAAI;AAOF,UAAO,MANc,eAAe,MAAM;GACxC,UAAU;GACV,SAAS,CAAC,2BAA2B,aAAa,CAAC;GACnD,YAAY;GACZ,KAAK;GACN,CAAC,GACa,QAAQ;SACjB;AACN,SAAO;;;;;;;;;;AAWX,MAAa,2BAA2B,OACtC,gBACA,MACA,iBAC2B;AAC3B,KAAI,aAAa,8BAA8B,SAAS,EAAG,QAAO;AAClE,KAAI,CAAC,qBAAqB,KAAK,KAAK,CAAE,QAAO;CAE7C,MAAM,eAAe,oBAAoB,gBAAgB,KAAK;AAM9D,KAHE,aAAa,SAAS,OACpB,aAAa,IAAI,sBAAsB,KAAK,KAAK,aAAa,SAAS,IAEhE;EAET,MAAM,gBAGD,EAAE;AAEP,OAAK,MAAM,SAAS,cAAc;AAChC,OAAI,CAAC,qBAAqB,KAAK,MAAM,QAAQ,CAAE;GAE/C,MAAM,cAAc,MAAM,mBACxB,MAAM,SACN,gBACA,aACD;AACD,OAAI,eAAe,gBAAgB,MAAM,QACvC,eAAc,KAAK;IAAE;IAAO,iBAAiB;IAAa,CAAC;;AAI/D,MAAI,cAAc,WAAW,EAAG,QAAO;AACvC,SAAO,mBAAmB,MAAM,cAAc;;AAIhD,QAAO,mBAAmB,MAAM,gBAAgB,aAAa;;;;;;;;;;AAW/D,MAAa,qBAAqB,OAChC,MACA,gBACA,YAIW;CACX,MAAM,SAAS,MAAM,eAAe,MAAM;EACxC,UAAU;EACV,SAAS,CAAC,CAAC,6BAA6B,QAAQ,CAAC;EACjD,YAAY;EACb,CAAC;AAEF,KAAI,CAAC,QAAQ,KAAM,QAAO;AAE1B,QAAO;EAAE,MAAM,OAAO;EAAM,KAAK,OAAO;EAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"babel-plugin-intlayer-extract.d.ts","names":[],"sources":["../../src/babel-plugin-intlayer-extract.ts"],"mappings":";;;;;;;;KAaY,aAAA;EACV,aAAA;EACA,QAAA;EACA,OAAA,EAAS,MAAA;EACT,MAAA,EAAQ,MAAM;AAAA;AAAA,KAGJ,oBAAA;EACV,WAAA,GAAc,WAAA;EACd,SAAA;EACA,OAAA;EAEA,aAAA,IAAiB,IAAA;EACjB,aAAA,EAAe,cAAA;EATD;AAAA;AAGhB;;;EAYE,SAAA,IAAa,MAAA,EAAQ,aAAA,YAAyB,OAAA;EAN/B;;;EAUf,MAAA,GAAS,eAAA;AAAA;AAAA,KAGN,KAAA,GAAQ,UAAA;EAAe,IAAA,EAAM,oBAAoB;AAAA;;;;;;;;;;;;;;AAH5B;AACxB;;;cAqBW,0BAAA,GAA8B,MAAA;EACzC,KAAA,SAAc,UAAA;AAAA,MACZ,SAAA,CAAU,KAAA"}
1
+ {"version":3,"file":"babel-plugin-intlayer-extract.d.ts","names":[],"sources":["../../src/babel-plugin-intlayer-extract.ts"],"mappings":";;;;;;;;KAaY,aAAA;EACV,aAAA;EACA,QAAA;EACA,OAAA,EAAS,MAAA;EACT,MAAA,EAAQ,MAAA;AAAA;AAAA,KAGE,oBAAA;EACV,WAAA,GAAc,WAAA;EACd,SAAA;EACA,OAAA;EAEA,aAAA,IAAiB,IAAA;EACjB,aAAA,EAAe,cAAA;EATD;;AAGhB;;;EAYE,SAAA,IAAa,MAAA,EAAQ,aAAA,YAAyB,OAAA;EAN/B;;;EAUf,MAAA,GAAS,eAAA;AAAA;AAAA,KAGN,KAAA,GAAQ,UAAA;EAAe,IAAA,EAAM,oBAAA;AAAA;;;;;;;;;;;;;;;AAFhC;;;cAqBW,0BAAA,GAA8B,MAAA;EACzC,KAAA,SAAc,UAAA;AAAA,MACZ,SAAA,CAAU,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"babel-plugin-intlayer-field-rename.d.ts","names":[],"sources":["../../src/babel-plugin-intlayer-field-rename.ts"],"mappings":";;;;;;;AAsBA;;cAAa,sBAAA,GAA0B,KAAa;;AAAA;AAqCpD;;;;AA6EC;AAwLD;;;;;;;;;;;;;;;;;AA6MI;;;cAldS,+BAAA,GACX,YAAA,cACC,eA2EF;;;;;;;;;;;;;;;;;;;;;;;;;;cAwLY,0BAAA,GACV,YAAA,EAAc,YAAA;EACd,KAAA,EAAA;AAAA;EAAyB,KAAA,SAAc,UAAA;AAAA,MAAe,SAAA"}
1
+ {"version":3,"file":"babel-plugin-intlayer-field-rename.d.ts","names":[],"sources":["../../src/babel-plugin-intlayer-field-rename.ts"],"mappings":";;;;;;;AAsBA;;cAAa,sBAAA,GAA0B,KAAA;;;AAqCvC;;;;;AA0QA;;;;;;;;;;;;;;;;;;;;cA1Qa,+BAAA,GACX,YAAA,cACC,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;cAwQU,0BAAA,GACV,YAAA,EAAc,YAAA;EACd,KAAA,EAAA;AAAA;EAAyB,KAAA,SAAc,UAAA;AAAA,MAAe,SAAA"}
@@ -0,0 +1,84 @@
1
+ import { PluginObj } from "@babel/core";
2
+ import * as BabelTypes from "@babel/types";
3
+
4
+ //#region src/babel-plugin-intlayer-minify.d.ts
5
+ /**
6
+ * Pre-resolved options accepted by {@link intlayerMinifyBabelPlugin}.
7
+ *
8
+ * All values are resolved at babel.config.js load time (via
9
+ * {@link getMinifyPluginOptions}) so the plugin does not read the intlayer
10
+ * configuration file on every file transform.
11
+ */
12
+ type MinifyPluginOptions = {
13
+ /**
14
+ * Absolute path to the project root. Used to look up the shared
15
+ * {@link PruneContext} built by {@link intlayerPurgeBabelPlugin}.
16
+ */
17
+ baseDir: string;
18
+ /**
19
+ * When `true`, rewrite source-file property accesses to use the short
20
+ * alphabetic aliases assigned during the minification pass
21
+ * (e.g. `content.title` → `content.a`). Mirrors `build.minify`.
22
+ */
23
+ minify: boolean;
24
+ /**
25
+ * Build optimisation toggle. When explicitly `false`, the plugin is a
26
+ * no-op. Mirrors `build.optimize`.
27
+ */
28
+ optimize: boolean | undefined;
29
+ /**
30
+ * When `true` the plugin is a no-op. Mirrors `editor.enabled`.
31
+ */
32
+ editorEnabled: boolean;
33
+ };
34
+ /**
35
+ * Babel plugin that rewrites component source files to use the short
36
+ * alphabetic aliases assigned to dictionary content fields during the
37
+ * minification pass (e.g. `content.title` → `content.a`).
38
+ *
39
+ * This plugin relies on the field-rename map built by
40
+ * {@link intlayerPurgeBabelPlugin} during its `pre()` hook. Both plugins
41
+ * share the same module-level {@link PruneContext} via
42
+ * {@link getSharedPruneContext}, so **`intlayerPurgeBabelPlugin` must be
43
+ * listed before this plugin** in `babel.config.js` so that its `pre()` runs
44
+ * first and the shared context is populated before this plugin's
45
+ * `Program.exit` visitor fires.
46
+ *
47
+ * All option values must be pre-resolved via {@link getMinifyPluginOptions}.
48
+ *
49
+ * @example
50
+ * ```js
51
+ * // babel.config.js
52
+ * const {
53
+ * intlayerPurgeBabelPlugin,
54
+ * intlayerMinifyBabelPlugin,
55
+ * intlayerOptimizeBabelPlugin,
56
+ * getPurgePluginOptions,
57
+ * getMinifyPluginOptions,
58
+ * getOptimizePluginOptions,
59
+ * } = require("@intlayer/babel");
60
+ *
61
+ * module.exports = {
62
+ * presets: ["next/babel"],
63
+ * plugins: [
64
+ * [intlayerPurgeBabelPlugin, getPurgePluginOptions()],
65
+ * [intlayerMinifyBabelPlugin, getMinifyPluginOptions()],
66
+ * [intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
67
+ * ],
68
+ * };
69
+ * ```
70
+ *
71
+ * @remarks
72
+ * - This plugin is a no-op when `minify` is `false`, `optimize` is `false`,
73
+ * or `editorEnabled` is `true`.
74
+ * - Source-code renames must run **before** {@link intlayerOptimizeBabelPlugin}
75
+ * because the optimize pass replaces `useIntlayer` calls with
76
+ * `useDictionary`, erasing the dictionary-key information needed to look up
77
+ * the rename map.
78
+ */
79
+ declare const intlayerMinifyBabelPlugin: (babel: {
80
+ types: typeof BabelTypes;
81
+ }) => PluginObj;
82
+ //#endregion
83
+ export { MinifyPluginOptions, intlayerMinifyBabelPlugin };
84
+ //# sourceMappingURL=babel-plugin-intlayer-minify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"babel-plugin-intlayer-minify.d.ts","names":[],"sources":["../../src/babel-plugin-intlayer-minify.ts"],"mappings":";;;;;;AAgBA;;;;;KAAY,mBAAA;EAkBV;;;;EAbA,OAAA;EA8ID;;;;;EAvIC,MAAA;EA+DE;;;;EAzDF,QAAA;;;;EAKA,aAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkDW,yBAAA,GAA6B,KAAA;EACxC,KAAA,SAAc,UAAA;AAAA,MACZ,SAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"babel-plugin-intlayer-optimize.d.ts","names":[],"sources":["../../src/babel-plugin-intlayer-optimize.ts"],"mappings":";;;;cAwBM,WAAA;;AAtB0C;;KAuDpC,qBAAA;EAjC+C;AAAA;AAiC3D;EAIE,QAAA;;;;EAIA,eAAA;EAIA;;;EAAA,qBAAA;EAgBA;;;EAZA,6BAAA;EA4BA;;;EAxBA,uBAAA;EAmCS;AAAA;AACT;EAhCA,sBAAA;;;;EAIA,4BAAA;EAiCoB;;;EA7BpB,oBAAA;EAmCa;;;EA/Bb,0BAAA;EAuBA;;;EAnBA,sBAAA;EAqBgC;;;EAjBhC,UAAA;EAmBiC;;;EAfjC,iBAAA,GAAoB,MAAM;EAmBb;;;EAZb,SAAA;AAAA;AAAA,KAGG,KAAA,GAAQ,UAAA;EACX,IAAA,EAAM,qBAAA,EA+IK;EA7IX,iBAAA,GAAoB,GAAA,SAAY,UAAA,CAAW,UAAA;EAE3C,kBAAA,GAAqB,GAAA,SAAY,UAAA,CAAW,UAAA,GA6IhC;EA3IZ,eAAA,YA2IW;EAzIX,UAAA,GAAa,GAAA,iBAAoB,WAAA,YAwIjC;EAtIA,YAAA,YAqI0C;EAnI1C,kBAAA,YAqIY;EAnIZ,WAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiIW,2BAAA,GAA+B,KAAA;EAC1C,KAAA,SAAc,UAAA;AAAA,MACZ,SAAA,CAAU,KAAA"}
1
+ {"version":3,"file":"babel-plugin-intlayer-optimize.d.ts","names":[],"sources":["../../src/babel-plugin-intlayer-optimize.ts"],"mappings":";;;;cAwBM,WAAA;;AAtB0C;;KAuDpC,qBAAA;EAjC+C;;AAiC3D;EAIE,QAAA;;;;EAIA,eAAA;EAIA;;;EAAA,qBAAA;EAgBA;;;EAZA,6BAAA;EA4BA;;;EAxBA,uBAAA;EAmCS;;AACT;EAhCA,sBAAA;;;;EAIA,4BAAA;EAiCoB;;;EA7BpB,oBAAA;EAmCa;;;EA/Bb,0BAAA;EAuBA;;;EAnBA,sBAAA;EAqBgC;;;EAjBhC,UAAA;EAmBiC;;;EAfjC,iBAAA,GAAoB,MAAA;EAmBP;;;EAZb,SAAA;AAAA;AAAA,KAGG,KAAA,GAAQ,UAAA;EACX,IAAA,EAAM,qBAAA,EA+IK;EA7IX,iBAAA,GAAoB,GAAA,SAAY,UAAA,CAAW,UAAA;EAE3C,kBAAA,GAAqB,GAAA,SAAY,UAAA,CAAW,UAAA,GA6IhC;EA3IZ,eAAA,YA2IW;EAzIX,UAAA,GAAa,GAAA,iBAAoB,WAAA,YAwIjC;EAtIA,YAAA,YAqI0C;EAnI1C,kBAAA,YAqIY;EAnIZ,WAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiIW,2BAAA,GAA+B,KAAA;EAC1C,KAAA,SAAc,UAAA;AAAA,MACZ,SAAA,CAAU,KAAA"}
@@ -0,0 +1,127 @@
1
+ import { PruneContext } from "./babel-plugin-intlayer-usage-analyzer.js";
2
+ import { PluginObj } from "@babel/core";
3
+ import * as BabelTypes from "@babel/types";
4
+
5
+ //#region src/babel-plugin-intlayer-purge.d.ts
6
+ /**
7
+ * Pre-resolved options accepted by {@link intlayerPurgeBabelPlugin}.
8
+ *
9
+ * All values are resolved at babel.config.js load time (via
10
+ * {@link getPurgePluginOptions}) so the plugin itself does not need to read
11
+ * the configuration file on every file transform.
12
+ */
13
+ type PurgePluginOptions = {
14
+ /**
15
+ * Absolute path to the project root. Used as the cache key for the shared
16
+ * {@link PruneContext} so two Babel transform pipelines for different
17
+ * workspaces in the same process do not share state.
18
+ */
19
+ baseDir: string;
20
+ /**
21
+ * When `true`, remove unused content fields from compiled dictionary JSON
22
+ * files. Mirrors `build.purge` in `intlayer.config.ts`.
23
+ */
24
+ purge: boolean;
25
+ /**
26
+ * When `true`, rename content fields to short alphabetic aliases
27
+ * (`title` → `a`, etc.) and strip top-level metadata from compiled
28
+ * dictionaries. Mirrors `build.minify` in `intlayer.config.ts`.
29
+ */
30
+ minify: boolean;
31
+ /**
32
+ * Build optimisation toggle. `undefined` means "auto" (active for
33
+ * production builds). When explicitly `false`, the plugin is a no-op.
34
+ * Mirrors `build.optimize`.
35
+ */
36
+ optimize: boolean | undefined;
37
+ /**
38
+ * When `true` the plugin skips all processing to preserve full dictionary
39
+ * content for the visual editor. Mirrors `editor.enabled`.
40
+ */
41
+ editorEnabled: boolean;
42
+ /**
43
+ * Absolute path to the compiled static dictionaries directory
44
+ * (`.intlayer/dictionaries/` by default).
45
+ */
46
+ dictionariesDir: string;
47
+ /**
48
+ * Absolute path to the compiled per-locale dynamic dictionaries directory
49
+ * (`.intlayer/dynamic_dictionaries/` by default).
50
+ */
51
+ dynamicDictionariesDir: string;
52
+ /**
53
+ * Pre-built list of component source file paths to analyse for field-usage.
54
+ * Populated by {@link getPurgePluginOptions} from the intlayer config's
55
+ * `content` glob patterns.
56
+ */
57
+ componentFilesList: string[];
58
+ /**
59
+ * Per-dictionary import-mode overrides, keyed by dictionary `key`.
60
+ * Dictionaries with mode `'fetch'` are excluded from field renaming because
61
+ * their JSON is served from a remote API using the original field names.
62
+ */
63
+ dictionaryKeyToImportModeMap: Record<string, 'static' | 'dynamic' | 'fetch' | undefined>;
64
+ };
65
+ /**
66
+ * Returns the shared {@link PruneContext} for the given base directory, or
67
+ * `null` if {@link intlayerPurgeBabelPlugin} has not yet been initialised for
68
+ * that directory.
69
+ *
70
+ * Used by {@link intlayerMinifyBabelPlugin} to read the rename map without
71
+ * creating a circular dependency.
72
+ */
73
+ declare const getSharedPruneContext: (baseDir: string) => PruneContext | null;
74
+ /**
75
+ * Babel plugin that analyses all project source files and rewrites compiled
76
+ * dictionary JSON files in-place to remove unused content fields
77
+ * (`build.purge`) and/or rename them to short alphabetic aliases
78
+ * (`build.minify`).
79
+ *
80
+ * All option values must be pre-resolved via {@link getPurgePluginOptions}
81
+ * before being passed here — the plugin does not load the intlayer
82
+ * configuration itself.
83
+ *
84
+ * This plugin performs **file I/O as a side effect**: on the very first Babel
85
+ * transform in a given Node.js process it synchronously scans the component
86
+ * files listed in `options.componentFilesList`, builds field-usage data, and
87
+ * writes the processed dictionaries to disk. Subsequent transforms are
88
+ * no-ops.
89
+ *
90
+ * Source-code field renames (rewriting `content.title` → `content.a`) are
91
+ * handled by the companion {@link intlayerMinifyBabelPlugin}.
92
+ *
93
+ * @example
94
+ * ```js
95
+ * // babel.config.js
96
+ * const {
97
+ * intlayerPurgeBabelPlugin,
98
+ * intlayerMinifyBabelPlugin,
99
+ * intlayerOptimizeBabelPlugin,
100
+ * getPurgePluginOptions,
101
+ * getMinifyPluginOptions,
102
+ * getOptimizePluginOptions,
103
+ * } = require("@intlayer/babel");
104
+ *
105
+ * module.exports = {
106
+ * presets: ["next/babel"],
107
+ * plugins: [
108
+ * [intlayerPurgeBabelPlugin, getPurgePluginOptions()],
109
+ * [intlayerMinifyBabelPlugin, getMinifyPluginOptions()],
110
+ * [intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
111
+ * ],
112
+ * };
113
+ * ```
114
+ *
115
+ * @remarks
116
+ * - Intended for **production builds** only. Dictionary JSON files are
117
+ * overwritten in-place; running `intlayer build` afterwards restores the
118
+ * originals.
119
+ * - The plugin is a no-op when `optimize` is `false` or `editorEnabled` is
120
+ * `true`.
121
+ */
122
+ declare const intlayerPurgeBabelPlugin: (_babel: {
123
+ types: typeof BabelTypes;
124
+ }) => PluginObj;
125
+ //#endregion
126
+ export { PurgePluginOptions, getSharedPruneContext, intlayerPurgeBabelPlugin };
127
+ //# sourceMappingURL=babel-plugin-intlayer-purge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"babel-plugin-intlayer-purge.d.ts","names":[],"sources":["../../src/babel-plugin-intlayer-purge.ts"],"mappings":";;;;;;;AA4BA;;;;;KAAY,kBAAA;EAmBV;;;;;EAbA,OAAA;EAoDA;;;;EA9CA,KAAA;EA2EuC;;;;AA4mBzC;EAhrBE,MAAA;;;;;;EAOA,QAAA;EA0rBA;;;;EAprBA,aAAA;;;;;EAMA,eAAA;;;;;EAMA,sBAAA;;;;;;EAOA,kBAAA;;;;;;EAOA,4BAAA,EAA8B,MAAA;AAAA;;;;;;;;;cA4BnB,qBAAA,GAAyB,OAAA,aAAkB,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6mB3C,wBAAA,GAA4B,MAAA;EACvC,KAAA,SAAc,UAAA;AAAA,MACZ,SAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"babel-plugin-intlayer-usage-analyzer.d.ts","names":[],"sources":["../../src/babel-plugin-intlayer-usage-analyzer.ts"],"mappings":";;;;;;AAYA;;;;AAAsC;KAA1B,oBAAA,GAAuB,GAAG;;;;;;;;KAS1B,iBAAA;EACV,SAAA;EACA,QAAA,EAAU,eAAe;AAAA;;KAIf,eAAA,GAAkB,GAAG,SAAS,iBAAA;AAS1C;;;;;;;AAAA,KAAY,YAAA;EAiCqB;;;;;EA3B/B,4BAAA,EAA8B,GAAA,SAAY,oBAAA;EA+Db;;;;EAzD7B,yBAAA,EAA2B,GAAA;EAAA;;;;;EAO3B,wBAAA;EAc2C;;;;;EAP3C,mCAAA,EAAqC,GAAA;EA2CrC;;;;;EApCA,6BAAA,EAA+B,GAAA,SAAY,eAAA;EA0ChC;;;;AAYX;AAKF;;;EAjDE,sCAAA,EAAwC,GAAA,SAAY,GAAA;EAiDsB;AAC5E;;;;AAA8D;AAsB9D;;;;;;EA1DE,+BAAA,EAAiC,GAAA;EA8Db;;;AAA+B;AAKrD;;;;;;EAvDE,wBAAA,EAA0B,GAAA;IAEtB,YAAA;IAAsB,aAAA;EAAA;AAAA;AAAA,cAIf,kBAAA,QAAyB,YAYpC;;cAKW,qBAAA;AAAA,KACD,kBAAA,WAA6B,qBAAqB;;;;AAiEP;AA2vBvD;;;;;;;;;;;;;;KAtyBY,qBAAA;EAEN,IAAA;EAAkB,KAAA;AAAA;EAElB,IAAA;EAAgB,aAAA;EAAuB,QAAA;AAAA;;;;KAKjC,kBAAA;yEAEV,UAAA;;;;;;;;;EASA,aAAA;;;;;;EAMA,aAAA;EAEA,SAAA,EAAW,qBAAA;;;;;;EAMX,SAAA,GAAY,qBAAqB;EAEjC,mBAAA;AAAA;;;;;cAOW,sBAAA,EAAwB,kBAAkB;;;;;;;;;;;;;;;cA2vB1C,4BAAA,GAET,YAAA,EAAc,YAAA,EACd,OAAA;EAAY,aAAA,GAAgB,kBAAA;AAAA;EAE7B,KAAA,EAAA;AAAA;EAAyB,KAAA,SAAc,UAAA;AAAA,MAAe,SAAA"}
1
+ {"version":3,"file":"babel-plugin-intlayer-usage-analyzer.d.ts","names":[],"sources":["../../src/babel-plugin-intlayer-usage-analyzer.ts"],"mappings":";;;;;;AAYA;;;;;KAAY,oBAAA,GAAuB,GAAA;;;;;;;;KASvB,iBAAA;EACV,SAAA;EACA,QAAA,EAAU,eAAA;AAAA;;KAIA,eAAA,GAAkB,GAAA,SAAY,iBAAA;AAS1C;;;;;;;AAAA,KAAY,YAAA;EAiCqB;;;;;EA3B/B,4BAAA,EAA8B,GAAA,SAAY,oBAAA;EA+Db;;;;EAzD7B,yBAAA,EAA2B,GAAA;EAAA;;;;;EAO3B,wBAAA;EAc2C;;;;;EAP3C,mCAAA,EAAqC,GAAA;EA2CrC;;;;;EApCA,6BAAA,EAA+B,GAAA,SAAY,eAAA;EA0ChC;;;;;AAiBb;;;EAjDE,sCAAA,EAAwC,GAAA,SAAY,GAAA;EAiDsB;AAC5E;;;;;AAsBA;;;;;;EA1DE,+BAAA,EAAiC,GAAA;EA8Db;;;;AAKtB;;;;;;EAvDE,wBAAA,EAA0B,GAAA;IAEtB,YAAA;IAAsB,aAAA;EAAA;AAAA;AAAA,cAIf,kBAAA,QAAyB,YAAA;;cAiBzB,qBAAA;AAAA,KACD,kBAAA,WAA6B,qBAAA;;;;;AA4zBzC;;;;;;;;;;;;;;KAtyBY,qBAAA;EAEN,IAAA;EAAkB,KAAA;AAAA;EAElB,IAAA;EAAgB,aAAA;EAAuB,QAAA;AAAA;;;;KAKjC,kBAAA;yEAEV,UAAA;;;;;;;;;EASA,aAAA;;;;;;EAMA,aAAA;EAEA,SAAA,EAAW,qBAAA;;;;;;EAMX,SAAA,GAAY,qBAAA;EAEZ,mBAAA;AAAA;;;;;cAOW,sBAAA,EAAwB,kBAAA;;;;;;;;;;;;;;;cA2vBxB,4BAAA,GAET,YAAA,EAAc,YAAA,EACd,OAAA;EAAY,aAAA,GAAgB,kBAAA;AAAA;EAE7B,KAAA,EAAA;AAAA;EAAyB,KAAA,SAAc,UAAA;AAAA,MAAe,SAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"babelProcessor.d.ts","names":[],"sources":["../../../src/extractContent/babelProcessor.ts"],"mappings":";;;;;KAYY,gBAAA;EACV,IAAA,EAAM,QAAA;EACN,GAAA;EACA,IAAA;EAOA,YAAA;EACA,iBAAA,GAAoB,CAAA,CAAE,IAAI;EAC1B,SAAA;AAAA;;;;;cAYW,uBAAA,GACX,IAAA,EAAM,QAAA,CAAS,CAAA,CAAE,UAAA,GAAa,CAAA,CAAE,WAAA,GAChC,QAAA,UACA,YAAA,EAAc,GAAA,UACd,sBAAA,GAAyB,IAAA,EAAM,QAAA,aAC/B,gBAAA,EAAkB,MAAA,SAAe,MAAA,mBACjC,YAAA,EAAc,gBAAA,IACd,YAAA,EAAc,GAAA,CAAI,CAAA,CAAE,IAAA;;;;AAnBX;cA2JE,gCAAA,GACX,GAAA,EAAK,CAAA,CAAE,IAAA,EACP,QAAA,UACA,YAAA,EAAc,GAAA,UACd,UAAA,UACA,aAAA,EAAe,cAAA,EACf,QAAA,UACA,oBAAA,GAAsB,MAAA;EAEtB,gBAAA,EAAkB,MAAA,SAAe,MAAA;EACjC,YAAA,EAAc,gBAAA;EACd,sBAAA,EAAwB,GAAA,CAAI,QAAA;EAC5B,eAAA,EAAiB,GAAA,CAAI,CAAA,CAAE,IAAA;EACvB,cAAA,EAAgB,QAAA;EAChB,OAAA,EAAS,GAAA,CAAI,CAAA,CAAE,IAAA;EACf,OAAA;AAAA;;;;cAobW,gBAAA,GACX,GAAA,EAAK,CAAA,CAAE,IAAA,EACP,QAAA,UACA,YAAA,EAAc,GAAA,UACd,aAAA,EAAe,cAAA,EACf,QAAA,UACA,oBAAA,GAAsB,MAAA;EAEtB,gBAAA,EAAkB,MAAA;EAClB,YAAA,EAAc,gBAAA;AAAA"}
1
+ {"version":3,"file":"babelProcessor.d.ts","names":[],"sources":["../../../src/extractContent/babelProcessor.ts"],"mappings":";;;;;KAYY,gBAAA;EACV,IAAA,EAAM,QAAA;EACN,GAAA;EACA,IAAA;EAOA,YAAA;EACA,iBAAA,GAAoB,CAAA,CAAE,IAAA;EACtB,SAAA;AAAA;;;;;cAYW,uBAAA,GACX,IAAA,EAAM,QAAA,CAAS,CAAA,CAAE,UAAA,GAAa,CAAA,CAAE,WAAA,GAChC,QAAA,UACA,YAAA,EAAc,GAAA,UACd,sBAAA,GAAyB,IAAA,EAAM,QAAA,aAC/B,gBAAA,EAAkB,MAAA,SAAe,MAAA,mBACjC,YAAA,EAAc,gBAAA,IACd,YAAA,EAAc,GAAA,CAAI,CAAA,CAAE,IAAA;;;;;cAwIT,gCAAA,GACX,GAAA,EAAK,CAAA,CAAE,IAAA,EACP,QAAA,UACA,YAAA,EAAc,GAAA,UACd,UAAA,UACA,aAAA,EAAe,cAAA,EACf,QAAA,UACA,oBAAA,GAAsB,MAAA;EAEtB,gBAAA,EAAkB,MAAA,SAAe,MAAA;EACjC,YAAA,EAAc,gBAAA;EACd,sBAAA,EAAwB,GAAA,CAAI,QAAA;EAC5B,eAAA,EAAiB,GAAA,CAAI,CAAA,CAAE,IAAA;EACvB,cAAA,EAAgB,QAAA;EAChB,OAAA,EAAS,GAAA,CAAI,CAAA,CAAE,IAAA;EACf,OAAA;AAAA;;;;cAobW,gBAAA,GACX,GAAA,EAAK,CAAA,CAAE,IAAA,EACP,QAAA,UACA,YAAA,EAAc,GAAA,UACd,aAAA,EAAe,cAAA,EACf,QAAA,UACA,oBAAA,GAAsB,MAAA;EAEtB,gBAAA,EAAkB,MAAA;EAClB,YAAA,EAAc,gBAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"contentWriter.d.ts","names":[],"sources":["../../../src/extractContent/contentWriter.ts"],"mappings":";;;;;;AAY4E;KA2BvE,eAAA;EACH,QAAA;EACA,WAAA,EAAa,MAAM;AAAA;;;;KAMhB,oBAAA,GAAuB,MAAM,SAAS,eAAA;AANtB;;;;AAMqC;AAa1D;AAnBqB,cAmBR,uCAAA,GACX,gBAAA,EAAkB,MAAA,kBAClB,kBAAA,EAAoB,UAAA,SACpB,aAAA,aACC,oBAAA;;;;;;;cAkDU,oCAAA,GACX,gBAAA,EAAkB,MAAA,kBAClB,kBAAA,EAAoB,UAAA,YACnB,MAAA;;;;cA8CU,kBAAA,GACX,gBAAA,EAAkB,MAAA,kBAClB,aAAA,EAAe,aAAA,EACf,QAAA,UACA,aAAA,EAAe,cAAA,KACd,OAAA"}
1
+ {"version":3,"file":"contentWriter.d.ts","names":[],"sources":["../../../src/extractContent/contentWriter.ts"],"mappings":";;;;;;AAY4E;KA2BvE,eAAA;EACH,QAAA;EACA,WAAA,EAAa,MAAA;AAAA;;;;KAMV,oBAAA,GAAuB,MAAA,SAAe,eAAA;AANtB;;;;;AAmBrB;AAnBqB,cAmBR,uCAAA,GACX,gBAAA,EAAkB,MAAA,kBAClB,kBAAA,EAAoB,UAAA,SACpB,aAAA,aACC,oBAAA;;;;;;;cAkDU,oCAAA,GACX,gBAAA,EAAkB,MAAA,kBAClB,kBAAA,EAAoB,UAAA,YACnB,MAAA;;;;cA8CU,kBAAA,GACX,gBAAA,EAAkB,MAAA,kBAClB,aAAA,EAAe,aAAA,EACf,QAAA,UACA,aAAA,EAAe,cAAA,KACd,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractContent.d.ts","names":[],"sources":["../../../src/extractContent/extractContent.ts"],"mappings":";;;;;KA0BY,sBAAA;EACV,aAAA,GAAgB,uBAAA;EAChB,QAAA;EACA,eAAA;EACA,oBAAA,GAAuB,MAAA;EACvB,aAAA,GAAgB,cAAA;EAChB,IAAA;EACA,SAAA,IAAa,MAAA;IACX,GAAA;IACA,OAAA,EAAS,MAAA;IACT,QAAA;EAAA,aACW,OAAA;AAAA;AAAA,KAsRV,aAAA;EACH,eAAA;EACA,mBAAA,EAAqB,MAAM,SAAS,MAAA;AAAA;AAAA,cAmCzB,cAAA,GACX,QAAA,UACA,WAAA,EAAa,WAAA,EACb,OAAA,GAAU,sBAAA,KACT,OAAA,CAAQ,aAAA;;;;;;;;;;;cA8EE,kBAAA,GACX,QAAA,UACA,WAAA,EAAa,WAAA,EACb,OAAA,GAAU,sBAAA,KACT,aAAA"}
1
+ {"version":3,"file":"extractContent.d.ts","names":[],"sources":["../../../src/extractContent/extractContent.ts"],"mappings":";;;;;KA0BY,sBAAA;EACV,aAAA,GAAgB,uBAAA;EAChB,QAAA;EACA,eAAA;EACA,oBAAA,GAAuB,MAAA;EACvB,aAAA,GAAgB,cAAA;EAChB,IAAA;EACA,SAAA,IAAa,MAAA;IACX,GAAA;IACA,OAAA,EAAS,MAAA;IACT,QAAA;EAAA,aACW,OAAA;AAAA;AAAA,KAsRV,aAAA;EACH,eAAA;EACA,mBAAA,EAAqB,MAAA,SAAe,MAAA;AAAA;AAAA,cAmCzB,cAAA,GACX,QAAA,UACA,WAAA,EAAa,WAAA,EACb,OAAA,GAAU,sBAAA,KACT,OAAA,CAAQ,aAAA;;;;;;;;;;;cA8EE,kBAAA,GACX,QAAA,UACA,WAAA,EAAa,WAAA,EACb,OAAA,GAAU,sBAAA,KACT,aAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","names":[],"sources":["../../../../src/extractContent/utils/constants.ts"],"mappings":";;AAKA;;;;cAAa,qBAAA;AAcb;;;;AAcU;AAGV;AAjBA,cAAa,WAAA;;cAiBA,uBAAA,EAAyB,WAAW;AAAA,KAIrC,WAAA,WAAsB,WAAW"}
1
+ {"version":3,"file":"constants.d.ts","names":[],"sources":["../../../../src/extractContent/utils/constants.ts"],"mappings":";;AAKA;;;;cAAa,qBAAA;AAcb;;;;;AAiBA;AAjBA,cAAa,WAAA;;cAiBA,uBAAA,EAAyB,WAAA;AAAA,KAI1B,WAAA,WAAsB,WAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"detectPackageName.d.ts","names":[],"sources":["../../../../src/extractContent/utils/detectPackageName.ts"],"mappings":";;;;;AAOA;cAAa,iBAAA,GAAqB,SAAA,aAAoB,WAqBrD"}
1
+ {"version":3,"file":"detectPackageName.d.ts","names":[],"sources":["../../../../src/extractContent/utils/detectPackageName.ts"],"mappings":";;;;;AAOA;cAAa,iBAAA,GAAqB,SAAA,aAAoB,WAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractDictionaryInfo.d.ts","names":[],"sources":["../../../../src/extractContent/utils/extractDictionaryInfo.ts"],"mappings":";;;;;cAmBa,SAAA,GACX,aAAA,EAAe,cAAA,EACf,MAAA,GAAS,MAAA,KACR,uBAAA;AAAA,KA0CS,uBAAA;EACV,YAAA;EACA,YAAA;EACA,WAAA;AAAA;;;;;cAOW,uBAAA,GACX,QAAA,UACA,YAAA,UACA,aAAA,EAAe,cAAA,EACf,MAAA,GAAS,MAAA,KACR,OAAA,CAAQ,uBAAA;AAAA,KA+GC,4BAAA;EACV,aAAA,GAAgB,cAAc;AAAA;;;AAzKN;cA+Kb,qBAAA,GACX,QAAA,UACA,QAAA,UACA,aAAA,EAAe,cAAA,KACd,OAAA;EAEC,aAAA;AAAA,IACE,uBAAA"}
1
+ {"version":3,"file":"extractDictionaryInfo.d.ts","names":[],"sources":["../../../../src/extractContent/utils/extractDictionaryInfo.ts"],"mappings":";;;;;cAmBa,SAAA,GACX,aAAA,EAAe,cAAA,EACf,MAAA,GAAS,MAAA,KACR,uBAAA;AAAA,KA0CS,uBAAA;EACV,YAAA;EACA,YAAA;EACA,WAAA;AAAA;;;;;cAOW,uBAAA,GACX,QAAA,UACA,YAAA,UACA,aAAA,EAAe,cAAA,EACf,MAAA,GAAS,MAAA,KACR,OAAA,CAAQ,uBAAA;AAAA,KA+GC,4BAAA;EACV,aAAA,GAAgB,cAAA;AAAA;;;;cAML,qBAAA,GACX,QAAA,UACA,QAAA,UACA,aAAA,EAAe,cAAA,KACd,OAAA;EAEC,aAAA;AAAA,IACE,uBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractDictionaryKey.d.ts","names":[],"sources":["../../../../src/extractContent/utils/extractDictionaryKey.ts"],"mappings":";;AASA;;;;cAAa,4BAAA,GACX,QAAA,UACA,MAAuC;AAAA,cAiB5B,oBAAA,GACX,QAAA,UACA,QAAA,UACA,MAAA"}
1
+ {"version":3,"file":"extractDictionaryKey.d.ts","names":[],"sources":["../../../../src/extractContent/utils/extractDictionaryKey.ts"],"mappings":";;AASA;;;;cAAa,4BAAA,GACX,QAAA,UACA,MAAA;AAAA,cAiBW,oBAAA,GACX,QAAA,UACA,QAAA,UACA,MAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateKey.d.ts","names":[],"sources":["../../../../src/extractContent/utils/generateKey.ts"],"mappings":";cAAa,WAAA,GACX,IAAA,UACA,YAAA,EAAc,GAAG"}
1
+ {"version":3,"file":"generateKey.d.ts","names":[],"sources":["../../../../src/extractContent/utils/generateKey.ts"],"mappings":";cAAa,WAAA,GACX,IAAA,UACA,YAAA,EAAc,GAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getComponentName.d.ts","names":[],"sources":["../../../../src/extractContent/utils/getComponentName.ts"],"mappings":";;;;;AAMA;cAAa,gBAAA,GAAoB,IAAc,EAAR,QAAQ"}
1
+ {"version":3,"file":"getComponentName.d.ts","names":[],"sources":["../../../../src/extractContent/utils/getComponentName.ts"],"mappings":";;;;;AAMA;cAAa,gBAAA,GAAoB,IAAA,EAAM,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getExistingIntlayerInfo.d.ts","names":[],"sources":["../../../../src/extractContent/utils/getExistingIntlayerInfo.ts"],"mappings":";;;;KAGY,oBAAA;EACV,GAAA;EACA,IAAA,iCAF8B;EAI9B,YAAA,UAMmC;EAJnC,cAAA,WAJA;EAMA,wBAAA,YAFA;EAIA,iBAAA,GAAoB,CAAA,CAAE,aAAa;AAAA;;;;cAMxB,uBAAA,GACX,IAAA,EAAM,QAAA,KACL,oBAAoB"}
1
+ {"version":3,"file":"getExistingIntlayerInfo.d.ts","names":[],"sources":["../../../../src/extractContent/utils/getExistingIntlayerInfo.ts"],"mappings":";;;;KAGY,oBAAA;EACV,GAAA;EACA,IAAA,iCAF8B;EAI9B,YAAA,UAMmC;EAJnC,cAAA,WAJA;EAMA,wBAAA,YAFA;EAIA,iBAAA,GAAoB,CAAA,CAAE,aAAA;AAAA;;;;cAMX,uBAAA,GACX,IAAA,EAAM,QAAA,KACL,oBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"shouldExtract.d.ts","names":[],"sources":["../../../../src/extractContent/utils/shouldExtract.ts"],"mappings":";;AASA;;;;AAA0C;;;;cAA7B,aAAA,GAAiB,IAAY"}
1
+ {"version":3,"file":"shouldExtract.d.ts","names":[],"sources":["../../../../src/extractContent/utils/shouldExtract.ts"],"mappings":";;AASA;;;;;;;;cAAa,aAAA,GAAiB,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"extractScriptBlocks.d.ts","names":[],"sources":["../../src/extractScriptBlocks.ts"],"mappings":";;AAWA;;;;;;;;KAAY,WAAA;EACV,OAAA;EACA,kBAAA;EACA,gBAAA;AAAA;;;;;AAiGY;AA+Bd;;;;;;;;;cAlCa,mBAAA,GACX,QAAA,UACA,IAAA,aACC,WAAW;;AAoCV;;;;;;;;;cALS,kBAAA,GACX,YAAA,UACA,aAAA,EAAe,aAAa;EAC1B,KAAA,EAAO,WAAA;EACP,eAAA;AAAA"}
1
+ {"version":3,"file":"extractScriptBlocks.d.ts","names":[],"sources":["../../src/extractScriptBlocks.ts"],"mappings":";;AAWA;;;;;;;;KAAY,WAAA;EACV,OAAA;EACA,kBAAA;EACA,gBAAA;AAAA;;;;;;AAgIF;;;;;;;;;cAlCa,mBAAA,GACX,QAAA,UACA,IAAA,aACC,WAAA;;;;;;;;;;;cA+BU,kBAAA,GACX,YAAA,UACA,aAAA,EAAe,aAAA;EACb,KAAA,EAAO,WAAA;EACP,eAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getExtractPluginOptions.d.ts","names":[],"sources":["../../src/getExtractPluginOptions.ts"],"mappings":";;;;;;AAcA;;;KAAY,YAAA;AAAY;AAOxB;;;;AAPwB,cAOX,uBAAA,GACX,aAAA,GAAe,cAAA,EACf,KAAA,GAAO,YAAA,0BACN,oBAAA"}
1
+ {"version":3,"file":"getExtractPluginOptions.d.ts","names":[],"sources":["../../src/getExtractPluginOptions.ts"],"mappings":";;;;;;AAcA;;;KAAY,YAAA;;AAOZ;;;;cAAa,uBAAA,GACX,aAAA,GAAe,cAAA,EACf,KAAA,GAAO,YAAA,0BACN,oBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOptimizePluginOptions.d.ts","names":[],"sources":["../../src/getOptimizePluginOptions.ts"],"mappings":";;;;;KAUK,8BAAA;;AAFyE;;EAM5E,aAAA,GAAgB,uBAAA;EAAA;;;EAIhB,YAAA,GAAe,UAAA;EAII;;;EAAnB,SAAA,GAAY,OAAA,CAAQ,qBAAA;AAAA;;;;;;cAyBT,wBAAA,GACX,MAAA,GAAS,8BAAA,KACR,qBAgEF"}
1
+ {"version":3,"file":"getOptimizePluginOptions.d.ts","names":[],"sources":["../../src/getOptimizePluginOptions.ts"],"mappings":";;;;;KAUK,8BAAA;;AAFyE;;EAM5E,aAAA,GAAgB,uBAAA;EAAA;;;EAIhB,YAAA,GAAe,UAAA;EAII;;;EAAnB,SAAA,GAAY,OAAA,CAAQ,qBAAA;AAAA;;;;;;cAyBT,wBAAA,GACX,MAAA,GAAS,8BAAA,KACR,qBAAA"}
@@ -0,0 +1,83 @@
1
+ import { MinifyPluginOptions } from "./babel-plugin-intlayer-minify.js";
2
+ import { PurgePluginOptions } from "./babel-plugin-intlayer-purge.js";
3
+ import { Dictionary } from "@intlayer/types/dictionary";
4
+ import { GetConfigurationOptions } from "@intlayer/config/node";
5
+
6
+ //#region src/getPurgePluginOptions.d.ts
7
+ type GetPurgePluginOptionsParams = {
8
+ /**
9
+ * Options forwarded to the intlayer configuration loader.
10
+ * Pass this when `intlayer.config.ts` lives outside the default search path
11
+ * (e.g. in a monorepo workspace root).
12
+ */
13
+ configOptions?: GetConfigurationOptions;
14
+ /**
15
+ * Pre-loaded dictionaries (optional – loaded automatically when omitted).
16
+ * Providing them avoids a second `getDictionaries` call when you already
17
+ * have them at hand.
18
+ */
19
+ dictionaries?: Dictionary[];
20
+ /**
21
+ * Override specific resolved option values after the defaults are computed.
22
+ */
23
+ overrides?: Partial<PurgePluginOptions>;
24
+ };
25
+ /**
26
+ * Returns fully-resolved options for {@link intlayerPurgeBabelPlugin}.
27
+ *
28
+ * Loads the intlayer configuration once at babel.config.js evaluation time so
29
+ * the plugin itself does not need to re-read the config on every file
30
+ * transform.
31
+ *
32
+ * @example
33
+ * ```js
34
+ * // babel.config.js
35
+ * const {
36
+ * intlayerPurgeBabelPlugin,
37
+ * getPurgePluginOptions,
38
+ * } = require("@intlayer/babel");
39
+ *
40
+ * module.exports = {
41
+ * presets: ["next/babel"],
42
+ * plugins: [
43
+ * [intlayerPurgeBabelPlugin, getPurgePluginOptions()],
44
+ * ],
45
+ * };
46
+ * ```
47
+ */
48
+ declare const getPurgePluginOptions: (params?: GetPurgePluginOptionsParams) => PurgePluginOptions;
49
+ type GetMinifyPluginOptionsParams = {
50
+ /**
51
+ * Options forwarded to the intlayer configuration loader.
52
+ */
53
+ configOptions?: GetConfigurationOptions;
54
+ /**
55
+ * Override specific resolved option values after the defaults are computed.
56
+ */
57
+ overrides?: Partial<MinifyPluginOptions>;
58
+ };
59
+ /**
60
+ * Returns fully-resolved options for {@link intlayerMinifyBabelPlugin}.
61
+ *
62
+ * Loads the intlayer configuration once at babel.config.js evaluation time.
63
+ *
64
+ * @example
65
+ * ```js
66
+ * // babel.config.js
67
+ * const {
68
+ * intlayerMinifyBabelPlugin,
69
+ * getMinifyPluginOptions,
70
+ * } = require("@intlayer/babel");
71
+ *
72
+ * module.exports = {
73
+ * presets: ["next/babel"],
74
+ * plugins: [
75
+ * [intlayerMinifyBabelPlugin, getMinifyPluginOptions()],
76
+ * ],
77
+ * };
78
+ * ```
79
+ */
80
+ declare const getMinifyPluginOptions: (params?: GetMinifyPluginOptionsParams) => MinifyPluginOptions;
81
+ //#endregion
82
+ export { getMinifyPluginOptions, getPurgePluginOptions };
83
+ //# sourceMappingURL=getPurgePluginOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPurgePluginOptions.d.ts","names":[],"sources":["../../src/getPurgePluginOptions.ts"],"mappings":";;;;;;KAkCK,2BAAA;;AAzBmE;;;;EA+BtE,aAAA,GAAgB,uBAAA;EAYI;;;;;EALpB,YAAA,GAAe,UAAA;EAAf;;;EAKA,SAAA,GAAY,OAAA,CAAQ,kBAAA;AAAA;;;AA0BtB;;;;;;;;;AA0CE;;;;;;;;;;;;cA1CW,qBAAA,GACX,MAAA,GAAS,2BAAA,KACR,kBAAA;AAAA,KA4CE,4BAAA;EASoC;AAwBzC;;EA7BE,aAAA,GAAgB,uBAAA;EA+CjB;;;EA1CC,SAAA,GAAY,OAAA,CAAQ,mBAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;cAwBT,sBAAA,GACX,MAAA,GAAS,4BAAA,KACR,mBAAA"}
@@ -2,7 +2,9 @@ import { ATTRIBUTES_TO_EXTRACT, PackageName, SERVER_CAPABLE_PACKAGES, packageLis
2
2
  import { ExtractPluginOptions, ExtractResult, intlayerExtractBabelPlugin } from "./babel-plugin-intlayer-extract.js";
3
3
  import { CompatCallerConfig, CompatNamespaceSource, DEFAULT_COMPAT_CALLERS, DictionaryFieldUsage, INTLAYER_CALLER_NAMES, IntlayerCallerName, NestedRenameEntry, NestedRenameMap, PruneContext, createPruneContext, makeUsageAnalyzerBabelPlugin } from "./babel-plugin-intlayer-usage-analyzer.js";
4
4
  import { buildNestedRenameMapFromContent, generateShortFieldName, makeFieldRenameBabelPlugin } from "./babel-plugin-intlayer-field-rename.js";
5
+ import { MinifyPluginOptions, intlayerMinifyBabelPlugin } from "./babel-plugin-intlayer-minify.js";
5
6
  import { OptimizePluginOptions, intlayerOptimizeBabelPlugin } from "./babel-plugin-intlayer-optimize.js";
7
+ import { PurgePluginOptions, getSharedPruneContext, intlayerPurgeBabelPlugin } from "./babel-plugin-intlayer-purge.js";
6
8
  import { mergeWithExistingMultilingualDictionary, mergeWithExistingPerLocaleDictionary, writeContentHelper } from "./extractContent/contentWriter.js";
7
9
  import { detectPackageName } from "./extractContent/utils/detectPackageName.js";
8
10
  import { ExtractDictionaryInfoOptions, ResolveContentFilePaths, extractDictionaryInfo, getOutput, resolveContentFilePaths } from "./extractContent/utils/extractDictionaryInfo.js";
@@ -13,5 +15,6 @@ import { ExtractIntlayerOptions, extractContent, extractContentSync } from "./ex
13
15
  import { ScriptBlock, extractScriptBlocks, injectScriptBlocks } from "./extractScriptBlocks.js";
14
16
  import { CompilerMode, getExtractPluginOptions } from "./getExtractPluginOptions.js";
15
17
  import { getOptimizePluginOptions } from "./getOptimizePluginOptions.js";
18
+ import { getMinifyPluginOptions, getPurgePluginOptions } from "./getPurgePluginOptions.js";
16
19
  import { BABEL_PARSER_OPTIONS, COMPAT_USAGE_REGEX, INTLAYER_OR_COMPAT_USAGE_REGEX, INTLAYER_USAGE_REGEX, SOURCE_FILE_REGEX, analyzeFieldUsageInFile, optimizeSourceFile, renameFieldsInCode, renameFieldsInSourceFile } from "./transformers.js";
17
- export { ATTRIBUTES_TO_EXTRACT, BABEL_PARSER_OPTIONS, COMPAT_USAGE_REGEX, CompatCallerConfig, CompatNamespaceSource, CompilerMode, DEFAULT_COMPAT_CALLERS, DictionaryFieldUsage, ExtractDictionaryInfoOptions, ExtractIntlayerOptions, ExtractPluginOptions, ExtractResult, INTLAYER_CALLER_NAMES, INTLAYER_OR_COMPAT_USAGE_REGEX, INTLAYER_USAGE_REGEX, IntlayerCallerName, NestedRenameEntry, NestedRenameMap, OptimizePluginOptions, PackageName, PruneContext, ResolveContentFilePaths, SERVER_CAPABLE_PACKAGES, SOURCE_FILE_REGEX, ScriptBlock, analyzeFieldUsageInFile, buildNestedRenameMapFromContent, createPruneContext, detectPackageName, extractContent, extractContentSync, extractDictionaryInfo, extractDictionaryKey, extractDictionaryKeyFromPath, extractScriptBlocks, generateKey, generateShortFieldName, getComponentName, getExtractPluginOptions, getOptimizePluginOptions, getOutput, injectScriptBlocks, intlayerExtractBabelPlugin, intlayerOptimizeBabelPlugin, makeFieldRenameBabelPlugin, makeUsageAnalyzerBabelPlugin, mergeWithExistingMultilingualDictionary, mergeWithExistingPerLocaleDictionary, optimizeSourceFile, packageList, renameFieldsInCode, renameFieldsInSourceFile, resolveContentFilePaths, writeContentHelper };
20
+ export { ATTRIBUTES_TO_EXTRACT, BABEL_PARSER_OPTIONS, COMPAT_USAGE_REGEX, CompatCallerConfig, CompatNamespaceSource, type CompilerMode, DEFAULT_COMPAT_CALLERS, DictionaryFieldUsage, ExtractDictionaryInfoOptions, ExtractIntlayerOptions, ExtractPluginOptions, ExtractResult, INTLAYER_CALLER_NAMES, INTLAYER_OR_COMPAT_USAGE_REGEX, INTLAYER_USAGE_REGEX, IntlayerCallerName, MinifyPluginOptions, NestedRenameEntry, NestedRenameMap, OptimizePluginOptions, PackageName, PruneContext, PurgePluginOptions, ResolveContentFilePaths, SERVER_CAPABLE_PACKAGES, SOURCE_FILE_REGEX, ScriptBlock, analyzeFieldUsageInFile, buildNestedRenameMapFromContent, createPruneContext, detectPackageName, extractContent, extractContentSync, extractDictionaryInfo, extractDictionaryKey, extractDictionaryKeyFromPath, extractScriptBlocks, generateKey, generateShortFieldName, getComponentName, getExtractPluginOptions, getMinifyPluginOptions, getOptimizePluginOptions, getOutput, getPurgePluginOptions, getSharedPruneContext, injectScriptBlocks, intlayerExtractBabelPlugin, intlayerMinifyBabelPlugin, intlayerOptimizeBabelPlugin, intlayerPurgeBabelPlugin, makeFieldRenameBabelPlugin, makeUsageAnalyzerBabelPlugin, mergeWithExistingMultilingualDictionary, mergeWithExistingPerLocaleDictionary, optimizeSourceFile, packageList, renameFieldsInCode, renameFieldsInSourceFile, resolveContentFilePaths, writeContentHelper };
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.d.ts","names":[],"sources":["../../src/transformers.ts"],"mappings":";;;;;;;AAmBA;;cAAa,oBAAA,EAAsB,WAAW,CAAC,gBAAA;;AAAgB;AAyB/D;;;cAAa,oBAAA,EAAoB,MAA0B;AAAA;AAO3D;;;;AAP2D,cAO9C,kBAAA,EAAkB,MAC2C;AAM1E;;;;AAAA,cAAa,8BAAA,EAA8B,MACuD;AAOlG;;;;AAAuE;AAAvE,cAAa,iBAAA,EAAiB,MAAyC;;;;;;;;;;;;;cAqC1D,uBAAA,GACX,cAAA,UACA,IAAA,UACA,YAAA,EAAc,YAAA,EACd,aAAA,GAAgB,kBAAA,OACf,OAAA;;;AAAO;AAwBV;;;cAAa,kBAAA,GACX,IAAA,UACA,cAAA,UACA,YAAA,EAAc,YAAA,KACb,OAAO;;;;;;;AAAA;cAqBG,wBAAA,GACX,cAAA,UACA,IAAA,UACA,YAAA,EAAc,YAAA,KACb,OAAO;;;;;;;;;cA8CG,kBAAA,GACX,IAAA,UACA,cAAA,UACA,OAAA,EAAS,qBAAA,KACR,OAAO;EACR,IAAA;EACA,GAAA;AAAA"}
1
+ {"version":3,"file":"transformers.d.ts","names":[],"sources":["../../src/transformers.ts"],"mappings":";;;;;;;AAmBA;;cAAa,oBAAA,EAAsB,WAAA,CAAY,gBAAA;;;AAyB/C;;;cAAa,oBAAA,EAAoB,MAAA;;AAOjC;;;;cAAa,kBAAA,EAAkB,MAAA;AAO/B;;;;AAAA,cAAa,8BAAA,EAA8B,MAAA;AAQ3C;;;;;AAAA,cAAa,iBAAA,EAAiB,MAAA;;;;;;;;;;;;;cAqCjB,uBAAA,GACX,cAAA,UACA,IAAA,UACA,YAAA,EAAc,YAAA,EACd,aAAA,GAAgB,kBAAA,OACf,OAAA;;;;AAwBH;;;cAAa,kBAAA,GACX,IAAA,UACA,cAAA,UACA,YAAA,EAAc,YAAA,KACb,OAAA;;;;;;;;cAqBU,wBAAA,GACX,cAAA,UACA,IAAA,UACA,YAAA,EAAc,YAAA,KACb,OAAA;;;;;;;;;cA8CU,kBAAA,GACX,IAAA,UACA,cAAA,UACA,OAAA,EAAS,qBAAA,KACR,OAAA;EACD,IAAA;EACA,GAAA;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/babel",
3
- "version": "8.12.2",
3
+ "version": "8.12.3",
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": [
@@ -81,31 +81,31 @@
81
81
  "@babel/plugin-syntax-jsx": "7.29.7",
82
82
  "@babel/traverse": "7.29.7",
83
83
  "@babel/types": "7.29.7",
84
- "@intlayer/chokidar": "8.12.2",
85
- "@intlayer/config": "8.12.2",
86
- "@intlayer/core": "8.12.2",
87
- "@intlayer/dictionaries-entry": "8.12.2",
88
- "@intlayer/types": "8.12.2",
89
- "@intlayer/unmerged-dictionaries-entry": "8.12.2",
84
+ "@intlayer/chokidar": "8.12.3",
85
+ "@intlayer/config": "8.12.3",
86
+ "@intlayer/core": "8.12.3",
87
+ "@intlayer/dictionaries-entry": "8.12.3",
88
+ "@intlayer/types": "8.12.3",
89
+ "@intlayer/unmerged-dictionaries-entry": "8.12.3",
90
90
  "@types/babel__core": "7.20.5",
91
91
  "@types/babel__generator": "7.27.0",
92
92
  "@types/babel__traverse": "7.28.0"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@babel/plugin-syntax-jsx": "7.29.7",
96
- "@types/node": "25.9.1",
96
+ "@types/node": "25.9.2",
97
97
  "@utils/ts-config": "1.0.4",
98
98
  "@utils/ts-config-types": "1.0.4",
99
99
  "@utils/tsdown-config": "1.0.4",
100
100
  "@vitejs/plugin-react": "6.0.2",
101
101
  "rimraf": "6.1.3",
102
- "tsdown": "0.22.1",
102
+ "tsdown": "0.21.10",
103
103
  "typescript": "6.0.3",
104
104
  "vitest": "4.1.8"
105
105
  },
106
106
  "peerDependencies": {
107
- "@intlayer/svelte-compiler": "8.12.2",
108
- "@intlayer/vue-compiler": "8.12.2"
107
+ "@intlayer/svelte-compiler": "8.12.3",
108
+ "@intlayer/vue-compiler": "8.12.3"
109
109
  },
110
110
  "peerDependenciesMeta": {
111
111
  "@intlayer/svelte-compiler": {