@powerlines/plugin-babel 0.12.394 → 0.12.396

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 (42) hide show
  1. package/dist/helpers/ast-utils.cjs +0 -1
  2. package/dist/helpers/ast-utils.mjs +0 -1
  3. package/dist/helpers/ast-utils.mjs.map +1 -1
  4. package/dist/helpers/create-plugin.cjs +1 -1
  5. package/dist/helpers/create-plugin.d.cts +1 -1
  6. package/dist/helpers/create-plugin.d.cts.map +1 -1
  7. package/dist/helpers/create-plugin.d.mts +1 -1
  8. package/dist/helpers/create-plugin.d.mts.map +1 -1
  9. package/dist/helpers/create-plugin.mjs +1 -1
  10. package/dist/helpers/create-plugin.mjs.map +1 -1
  11. package/dist/helpers/filters.cjs +24 -10
  12. package/dist/helpers/filters.d.cts +11 -3
  13. package/dist/helpers/filters.d.cts.map +1 -1
  14. package/dist/helpers/filters.d.mts +11 -3
  15. package/dist/helpers/filters.d.mts.map +1 -1
  16. package/dist/helpers/filters.mjs +23 -10
  17. package/dist/helpers/filters.mjs.map +1 -1
  18. package/dist/helpers/index.cjs +6 -1
  19. package/dist/helpers/index.d.cts +3 -3
  20. package/dist/helpers/index.d.mts +3 -3
  21. package/dist/helpers/index.mjs +3 -3
  22. package/dist/helpers/options.cjs +67 -1
  23. package/dist/helpers/options.d.cts +29 -4
  24. package/dist/helpers/options.d.cts.map +1 -1
  25. package/dist/helpers/options.d.mts +29 -4
  26. package/dist/helpers/options.d.mts.map +1 -1
  27. package/dist/helpers/options.mjs +64 -2
  28. package/dist/helpers/options.mjs.map +1 -1
  29. package/dist/index.cjs +12 -10
  30. package/dist/index.d.cts +4 -4
  31. package/dist/index.d.cts.map +1 -1
  32. package/dist/index.d.mts +4 -4
  33. package/dist/index.d.mts.map +1 -1
  34. package/dist/index.mjs +9 -12
  35. package/dist/index.mjs.map +1 -1
  36. package/dist/types/config.d.cts +29 -15
  37. package/dist/types/config.d.cts.map +1 -1
  38. package/dist/types/config.d.mts +29 -15
  39. package/dist/types/config.d.mts.map +1 -1
  40. package/dist/types/index.d.cts +2 -2
  41. package/dist/types/index.d.mts +2 -2
  42. package/package.json +11 -11
@@ -1,4 +1,4 @@
1
- import { getPluginName } from "./filters.mjs";
1
+ import { getPluginName, isDuplicatePlugin, isDuplicatePreset } from "./filters.mjs";
2
2
  import { isFunction } from "@stryke/type-checks/is-function";
3
3
  import chalk from "chalk";
4
4
 
@@ -10,6 +10,13 @@ function resolvePluginFunction(context, plugin) {
10
10
  return plugin[0];
11
11
  }
12
12
  }
13
+ function resolvePresetFunction(context, preset) {
14
+ try {
15
+ return Array.isArray(preset) && preset.length > 0 && preset[0] ? isFunction(preset[0]) ? preset[0](context) : preset[0] : isFunction(preset) ? preset(context) : preset;
16
+ } catch {
17
+ return preset[0];
18
+ }
19
+ }
13
20
  /**
14
21
  * Resolve the [Babel](https://babeljs.io/) plugin.
15
22
  *
@@ -41,7 +48,62 @@ function resolveBabelPlugin(context, code, id, plugin) {
41
48
  null
42
49
  ];
43
50
  }
51
+ /**
52
+ * Resolve the [Babel](https://babeljs.io/) preset.
53
+ *
54
+ * @param context - The context for the transformation.
55
+ * @param code - The code to be transformed.
56
+ * @param id - The ID of the source file.
57
+ * @param preset - The Babel preset to resolve.
58
+ * @returns The resolved Babel preset options, or undefined if the preset is filtered out.
59
+ */
60
+ function resolveBabelPreset(context, code, id, preset) {
61
+ if (Array.isArray(preset) && preset.length > 0 && preset[0]) {
62
+ if (preset.length > 2 && preset[2] && isFunction(preset[2]) && !preset[2](code, id)) {
63
+ context.trace(`Skipping filtered Babel preset ${chalk.bold.cyanBright(getPluginName(preset) || "unnamed")} for ${id}`);
64
+ return;
65
+ }
66
+ return preset.length > 2 ? [
67
+ resolvePresetFunction(context, preset),
68
+ preset[1],
69
+ preset[2]
70
+ ] : [
71
+ resolvePresetFunction(context, preset),
72
+ preset[1],
73
+ null
74
+ ];
75
+ }
76
+ return [
77
+ resolvePresetFunction(context, preset),
78
+ {},
79
+ null
80
+ ];
81
+ }
82
+ /**
83
+ * Get a list of unique Babel plugins, filtering out duplicates based on their names.
84
+ *
85
+ * @param plugins - The list of Babel plugins to filter for uniqueness.
86
+ * @returns A list of unique Babel plugins.
87
+ */
88
+ function getUniquePlugins(plugins) {
89
+ return plugins.reduce((ret, plugin) => {
90
+ if (plugin && !isDuplicatePlugin(ret, plugin)) ret.push(plugin);
91
+ return ret;
92
+ }, []);
93
+ }
94
+ /**
95
+ * Get a list of unique Babel presets, filtering out duplicates based on their names.
96
+ *
97
+ * @param presets - The list of Babel presets to filter for uniqueness.
98
+ * @returns A list of unique Babel presets.
99
+ */
100
+ function getUniquePresets(presets) {
101
+ return presets.reduce((ret, preset) => {
102
+ if (preset && !isDuplicatePreset(ret, preset)) ret.push(preset);
103
+ return ret;
104
+ }, []);
105
+ }
44
106
 
45
107
  //#endregion
46
- export { resolveBabelPlugin, resolvePluginFunction };
108
+ export { getUniquePlugins, getUniquePresets, resolveBabelPlugin, resolveBabelPreset, resolvePluginFunction, resolvePresetFunction };
47
109
  //# sourceMappingURL=options.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.mjs","names":[],"sources":["../../src/helpers/options.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { PluginOptions, PluginTarget } from \"@babel/core\";\nimport { Context } from \"@powerlines/core\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport chalk from \"chalk\";\nimport {\n BabelTransformPluginOptions,\n ResolvedBabelTransformPluginOptions\n} from \"../types/config\";\nimport { getPluginName } from \"./filters\";\n\nexport function resolvePluginFunction(\n context: Context,\n plugin:\n | any\n | PluginTarget\n | any[]\n | [PluginTarget, PluginOptions]\n | [PluginTarget, PluginOptions, string | undefined]\n): BabelTransformPluginOptions {\n try {\n return Array.isArray(plugin) && plugin.length > 0 && plugin[0]\n ? isFunction(plugin[0])\n ? plugin[0](context)\n : plugin[0]\n : isFunction(plugin)\n ? plugin(context)\n : plugin;\n } catch {\n return plugin[0];\n }\n}\n\n/**\n * Resolve the [Babel](https://babeljs.io/) plugin.\n *\n * @param context - The context for the transformation.\n * @param code - The code to be transformed.\n * @param id - The ID of the source file.\n * @param plugin - The Babel plugin to resolve.\n * @returns The resolved Babel plugin options, or undefined if the plugin is filtered out.\n */\nexport function resolveBabelPlugin(\n context: Context,\n code: string,\n id: string,\n plugin: BabelTransformPluginOptions\n): ResolvedBabelTransformPluginOptions | undefined {\n if (Array.isArray(plugin) && plugin.length > 0 && plugin[0]) {\n if (\n plugin.length > 2 &&\n plugin[2] &&\n isFunction(plugin[2]) &&\n !plugin[2](code, id)\n ) {\n context.trace(\n `Skipping filtered Babel plugin ${chalk.bold.cyanBright(\n getPluginName(plugin) || \"unnamed\"\n )} for ${id}`\n );\n\n return undefined;\n }\n\n return plugin.length > 2\n ? [resolvePluginFunction(context, plugin), plugin[1], plugin[2]]\n : [resolvePluginFunction(context, plugin), plugin[1], null];\n }\n\n return [resolvePluginFunction(context, plugin), {}, null];\n}\n"],"mappings":";;;;;AA4BA,SAAgB,sBACd,SACA,QAM6B;AAC7B,KAAI;AACF,SAAO,MAAM,QAAQ,OAAO,IAAI,OAAO,SAAS,KAAK,OAAO,KACxD,WAAW,OAAO,GAAG,GACnB,OAAO,GAAG,QAAQ,GAClB,OAAO,KACT,WAAW,OAAO,GAChB,OAAO,QAAQ,GACf;SACA;AACN,SAAO,OAAO;;;;;;;;;;;;AAalB,SAAgB,mBACd,SACA,MACA,IACA,QACiD;AACjD,KAAI,MAAM,QAAQ,OAAO,IAAI,OAAO,SAAS,KAAK,OAAO,IAAI;AAC3D,MACE,OAAO,SAAS,KAChB,OAAO,MACP,WAAW,OAAO,GAAG,IACrB,CAAC,OAAO,GAAG,MAAM,GAAG,EACpB;AACA,WAAQ,MACN,kCAAkC,MAAM,KAAK,WAC3C,cAAc,OAAO,IAAI,UAC1B,CAAC,OAAO,KACV;AAED;;AAGF,SAAO,OAAO,SAAS,IACnB;GAAC,sBAAsB,SAAS,OAAO;GAAE,OAAO;GAAI,OAAO;GAAG,GAC9D;GAAC,sBAAsB,SAAS,OAAO;GAAE,OAAO;GAAI;GAAK;;AAG/D,QAAO;EAAC,sBAAsB,SAAS,OAAO;EAAE,EAAE;EAAE;EAAK"}
1
+ {"version":3,"file":"options.mjs","names":[],"sources":["../../src/helpers/options.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport {\n PluginItem,\n PluginTarget,\n PresetItem,\n PresetTarget\n} from \"@babel/core\";\nimport { Context } from \"@powerlines/core\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport chalk from \"chalk\";\nimport {\n BabelTransformPluginOptions,\n BabelTransformPresetOptions,\n ResolvedBabelTransformPluginOptions,\n ResolvedBabelTransformPresetOptions\n} from \"../types/config\";\nimport { getPluginName, isDuplicatePlugin, isDuplicatePreset } from \"./filters\";\n\nexport function resolvePluginFunction(\n context: Context,\n plugin:\n | any\n | PluginTarget\n | any[]\n | [PluginTarget, PluginItem]\n | [PluginTarget, PluginItem, string | undefined]\n): BabelTransformPluginOptions {\n try {\n return Array.isArray(plugin) && plugin.length > 0 && plugin[0]\n ? isFunction(plugin[0])\n ? plugin[0](context)\n : plugin[0]\n : isFunction(plugin)\n ? plugin(context)\n : plugin;\n } catch {\n return plugin[0];\n }\n}\n\nexport function resolvePresetFunction(\n context: Context,\n preset:\n | any\n | PresetTarget\n | any[]\n | [PresetTarget, PresetItem]\n | [PresetTarget, PresetItem, string | undefined]\n): BabelTransformPresetOptions {\n try {\n return Array.isArray(preset) && preset.length > 0 && preset[0]\n ? isFunction(preset[0])\n ? preset[0](context)\n : preset[0]\n : isFunction(preset)\n ? preset(context)\n : preset;\n } catch {\n return preset[0];\n }\n}\n\n/**\n * Resolve the [Babel](https://babeljs.io/) plugin.\n *\n * @param context - The context for the transformation.\n * @param code - The code to be transformed.\n * @param id - The ID of the source file.\n * @param plugin - The Babel plugin to resolve.\n * @returns The resolved Babel plugin options, or undefined if the plugin is filtered out.\n */\nexport function resolveBabelPlugin(\n context: Context,\n code: string,\n id: string,\n plugin: BabelTransformPluginOptions\n): ResolvedBabelTransformPluginOptions | undefined {\n if (Array.isArray(plugin) && plugin.length > 0 && plugin[0]) {\n if (\n plugin.length > 2 &&\n plugin[2] &&\n isFunction(plugin[2]) &&\n !plugin[2](code, id)\n ) {\n context.trace(\n `Skipping filtered Babel plugin ${chalk.bold.cyanBright(\n getPluginName(plugin) || \"unnamed\"\n )} for ${id}`\n );\n\n return undefined;\n }\n\n return (\n plugin.length > 2\n ? [resolvePluginFunction(context, plugin), plugin[1], plugin[2]]\n : [resolvePluginFunction(context, plugin), plugin[1], null]\n ) as ResolvedBabelTransformPluginOptions;\n }\n\n return [\n resolvePluginFunction(context, plugin),\n {},\n null\n ] as ResolvedBabelTransformPluginOptions;\n}\n\n/**\n * Resolve the [Babel](https://babeljs.io/) preset.\n *\n * @param context - The context for the transformation.\n * @param code - The code to be transformed.\n * @param id - The ID of the source file.\n * @param preset - The Babel preset to resolve.\n * @returns The resolved Babel preset options, or undefined if the preset is filtered out.\n */\nexport function resolveBabelPreset(\n context: Context,\n code: string,\n id: string,\n preset: BabelTransformPresetOptions\n): ResolvedBabelTransformPresetOptions | undefined {\n if (Array.isArray(preset) && preset.length > 0 && preset[0]) {\n if (\n preset.length > 2 &&\n preset[2] &&\n isFunction(preset[2]) &&\n !preset[2](code, id)\n ) {\n context.trace(\n `Skipping filtered Babel preset ${chalk.bold.cyanBright(\n getPluginName(preset) || \"unnamed\"\n )} for ${id}`\n );\n\n return undefined;\n }\n\n return (\n preset.length > 2\n ? [resolvePresetFunction(context, preset), preset[1], preset[2]]\n : [resolvePresetFunction(context, preset), preset[1], null]\n ) as ResolvedBabelTransformPresetOptions;\n }\n\n return [\n resolvePresetFunction(context, preset),\n {},\n null\n ] as ResolvedBabelTransformPresetOptions;\n}\n\n/**\n * Get a list of unique Babel plugins, filtering out duplicates based on their names.\n *\n * @param plugins - The list of Babel plugins to filter for uniqueness.\n * @returns A list of unique Babel plugins.\n */\nexport function getUniquePlugins<\n T extends BabelTransformPluginOptions | ResolvedBabelTransformPluginOptions\n>(plugins: T[]): T[] {\n return plugins.reduce((ret: T[], plugin: T) => {\n if (plugin && !isDuplicatePlugin(ret, plugin)) {\n ret.push(plugin);\n }\n\n return ret;\n }, []);\n}\n\n/**\n * Get a list of unique Babel presets, filtering out duplicates based on their names.\n *\n * @param presets - The list of Babel presets to filter for uniqueness.\n * @returns A list of unique Babel presets.\n */\nexport function getUniquePresets<\n T extends BabelTransformPresetOptions | ResolvedBabelTransformPresetOptions\n>(presets: T[]): T[] {\n return presets.reduce((ret: T[], preset: T) => {\n if (preset && !isDuplicatePreset(ret, preset)) {\n ret.push(preset);\n }\n\n return ret;\n }, []);\n}\n"],"mappings":";;;;;AAmCA,SAAgB,sBACd,SACA,QAM6B;AAC7B,KAAI;AACF,SAAO,MAAM,QAAQ,OAAO,IAAI,OAAO,SAAS,KAAK,OAAO,KACxD,WAAW,OAAO,GAAG,GACnB,OAAO,GAAG,QAAQ,GAClB,OAAO,KACT,WAAW,OAAO,GAChB,OAAO,QAAQ,GACf;SACA;AACN,SAAO,OAAO;;;AAIlB,SAAgB,sBACd,SACA,QAM6B;AAC7B,KAAI;AACF,SAAO,MAAM,QAAQ,OAAO,IAAI,OAAO,SAAS,KAAK,OAAO,KACxD,WAAW,OAAO,GAAG,GACnB,OAAO,GAAG,QAAQ,GAClB,OAAO,KACT,WAAW,OAAO,GAChB,OAAO,QAAQ,GACf;SACA;AACN,SAAO,OAAO;;;;;;;;;;;;AAalB,SAAgB,mBACd,SACA,MACA,IACA,QACiD;AACjD,KAAI,MAAM,QAAQ,OAAO,IAAI,OAAO,SAAS,KAAK,OAAO,IAAI;AAC3D,MACE,OAAO,SAAS,KAChB,OAAO,MACP,WAAW,OAAO,GAAG,IACrB,CAAC,OAAO,GAAG,MAAM,GAAG,EACpB;AACA,WAAQ,MACN,kCAAkC,MAAM,KAAK,WAC3C,cAAc,OAAO,IAAI,UAC1B,CAAC,OAAO,KACV;AAED;;AAGF,SACE,OAAO,SAAS,IACZ;GAAC,sBAAsB,SAAS,OAAO;GAAE,OAAO;GAAI,OAAO;GAAG,GAC9D;GAAC,sBAAsB,SAAS,OAAO;GAAE,OAAO;GAAI;GAAK;;AAIjE,QAAO;EACL,sBAAsB,SAAS,OAAO;EACtC,EAAE;EACF;EACD;;;;;;;;;;;AAYH,SAAgB,mBACd,SACA,MACA,IACA,QACiD;AACjD,KAAI,MAAM,QAAQ,OAAO,IAAI,OAAO,SAAS,KAAK,OAAO,IAAI;AAC3D,MACE,OAAO,SAAS,KAChB,OAAO,MACP,WAAW,OAAO,GAAG,IACrB,CAAC,OAAO,GAAG,MAAM,GAAG,EACpB;AACA,WAAQ,MACN,kCAAkC,MAAM,KAAK,WAC3C,cAAc,OAAO,IAAI,UAC1B,CAAC,OAAO,KACV;AAED;;AAGF,SACE,OAAO,SAAS,IACZ;GAAC,sBAAsB,SAAS,OAAO;GAAE,OAAO;GAAI,OAAO;GAAG,GAC9D;GAAC,sBAAsB,SAAS,OAAO;GAAE,OAAO;GAAI;GAAK;;AAIjE,QAAO;EACL,sBAAsB,SAAS,OAAO;EACtC,EAAE;EACF;EACD;;;;;;;;AASH,SAAgB,iBAEd,SAAmB;AACnB,QAAO,QAAQ,QAAQ,KAAU,WAAc;AAC7C,MAAI,UAAU,CAAC,kBAAkB,KAAK,OAAO,CAC3C,KAAI,KAAK,OAAO;AAGlB,SAAO;IACN,EAAE,CAAC;;;;;;;;AASR,SAAgB,iBAEd,SAAmB;AACnB,QAAO,QAAQ,QAAQ,KAAU,WAAc;AAC7C,MAAI,UAAU,CAAC,kBAAkB,KAAK,OAAO,CAC3C,KAAI,KAAK,OAAO;AAGlB,SAAO;IACN,EAAE,CAAC"}
package/dist/index.cjs CHANGED
@@ -34,6 +34,8 @@ const plugin = (options = {}) => {
34
34
  plugins: [],
35
35
  presets: []
36
36
  });
37
+ this.config.babel.plugins = require_helpers_options.getUniquePlugins(this.config.babel.plugins);
38
+ this.config.babel.presets = require_helpers_options.getUniquePresets(this.config.babel.presets);
37
39
  }
38
40
  },
39
41
  async transform(code, id) {
@@ -44,21 +46,16 @@ const plugin = (options = {}) => {
44
46
  id
45
47
  };
46
48
  }
47
- const plugins = this.config.babel.plugins.map((plugin) => require_helpers_options.resolveBabelPlugin(this, code, id, plugin)).filter(Boolean).reduce((ret, plugin) => {
48
- if (plugin && !require_helpers_filters.isDuplicatePlugin(ret, plugin)) ret.push(plugin);
49
- return ret;
50
- }, []);
51
- const presets = this.config.babel.presets.map((preset) => require_helpers_options.resolveBabelPlugin(this, code, id, preset)).filter(Boolean).reduce((ret, preset) => {
52
- if (preset && !require_helpers_filters.isDuplicatePlugin(ret, preset)) ret.push(preset);
53
- return ret;
54
- }, []);
49
+ const plugins = require_helpers_options.getUniquePlugins(this.config.babel.plugins.map((plugin) => require_helpers_options.resolveBabelPlugin(this, code, id, plugin)).filter(Boolean));
50
+ const presets = require_helpers_options.getUniquePresets(this.config.babel.presets.map((preset) => require_helpers_options.resolveBabelPreset(this, code, id, preset)).filter(Boolean));
55
51
  if (Array.isArray(plugins) && plugins.length === 0 && Array.isArray(presets) && presets.length === 0) return {
56
52
  code,
57
53
  id
58
54
  };
59
- if (!this.config.babel?.skipConfigResolution && /^(?:m|c)?tsx?$/.test((0, _stryke_path_file_path_fns.findFileExtensionSafe)(id, { fullExtension: true })) && !require_helpers_filters.isDuplicatePlugin(plugins, "@babel/plugin-syntax-typescript") && !require_helpers_filters.isDuplicatePlugin(presets, "@babel/preset-typescript")) plugins.unshift(["@babel/plugin-syntax-typescript", { isTSX: (0, _stryke_path_file_path_fns.findFileExtension)(id) === "tsx" }]);
55
+ if (!this.config.babel?.skipConfigResolution && /^(?:m|c)?tsx?$/.test((0, _stryke_path_file_path_fns.findFileExtensionSafe)(id, { fullExtension: true })) && !require_helpers_filters.isDuplicatePlugin(plugins, "@babel/plugin-syntax-typescript") && !require_helpers_filters.isDuplicatePreset(presets, "@babel/preset-typescript")) plugins.unshift(["@babel/plugin-syntax-typescript", { isTSX: (0, _stryke_path_file_path_fns.findFileExtension)(id) === "tsx" }]);
60
56
  this.trace(`Running babel transformations with ${plugins.length} plugins and ${presets.length} presets for file: ${id}`);
61
57
  const result = await (0, _babel_core.transformAsync)(code, {
58
+ cwd: this.config.cwd,
62
59
  highlightCode: true,
63
60
  code: true,
64
61
  ast: false,
@@ -100,10 +97,15 @@ exports.findExport = require_helpers_module_helpers.findExport;
100
97
  exports.generateFromAst = require_helpers_ast_utils.generateFromAst;
101
98
  exports.getImport = require_helpers_module_helpers.getImport;
102
99
  exports.getPluginName = require_helpers_filters.getPluginName;
100
+ exports.getUniquePlugins = require_helpers_options.getUniquePlugins;
101
+ exports.getUniquePresets = require_helpers_options.getUniquePresets;
103
102
  exports.isDuplicatePlugin = require_helpers_filters.isDuplicatePlugin;
103
+ exports.isDuplicatePreset = require_helpers_filters.isDuplicatePreset;
104
104
  exports.isImportCall = require_helpers_module_helpers.isImportCall;
105
105
  exports.listExports = require_helpers_module_helpers.listExports;
106
106
  exports.listImports = require_helpers_module_helpers.listImports;
107
107
  exports.parseAst = require_helpers_ast_utils.parseAst;
108
108
  exports.resolveBabelPlugin = require_helpers_options.resolveBabelPlugin;
109
- exports.resolvePluginFunction = require_helpers_options.resolvePluginFunction;
109
+ exports.resolveBabelPreset = require_helpers_options.resolveBabelPreset;
110
+ exports.resolvePluginFunction = require_helpers_options.resolvePluginFunction;
111
+ exports.resolvePresetFunction = require_helpers_options.resolvePresetFunction;
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { GenerateFromAstOptions, GeneratorResult, __ΩGenerateFromAstOptions, generateFromAst, parseAst } from "./helpers/ast-utils.cjs";
2
- import { BabelPluginPass, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, __ΩBabelPluginPass, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions } from "./types/config.cjs";
2
+ import { BabelPluginPass, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelTransformPreset, BabelTransformPresetOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, ResolvedBabelTransformPresetOptions, __ΩBabelPluginPass, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelTransformPreset, __ΩBabelTransformPresetOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions, __ΩResolvedBabelTransformPresetOptions } from "./types/config.cjs";
3
3
  import { createBabelPlugin } from "./helpers/create-plugin.cjs";
4
- import { addPluginFilter, filterPluginByFileId, getPluginName, isDuplicatePlugin } from "./helpers/filters.cjs";
4
+ import { addPluginFilter, filterPluginByFileId, getPluginName, isDuplicatePlugin, isDuplicatePreset } from "./helpers/filters.cjs";
5
5
  import { addImport, addImportsToProgram, findExport, getImport, isImportCall, listExports, listImports } from "./helpers/module-helpers.cjs";
6
- import { resolveBabelPlugin, resolvePluginFunction } from "./helpers/options.cjs";
6
+ import { getUniquePlugins, getUniquePresets, resolveBabelPlugin, resolveBabelPreset, resolvePluginFunction, resolvePresetFunction } from "./helpers/options.cjs";
7
7
  import { BabelPluginContext, BabelPluginOptions, BabelPluginResolvedConfig, BabelPluginUserConfig, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig } from "./types/plugin.cjs";
8
8
  import { Plugin } from "@powerlines/core";
9
9
 
@@ -21,5 +21,5 @@ declare module "@powerlines/core" {
21
21
  */
22
22
  declare const plugin: <TContext extends BabelPluginContext = BabelPluginContext>(options?: BabelPluginOptions) => Plugin<TContext>;
23
23
  //#endregion
24
- export { BabelPluginContext, BabelPluginOptions, BabelPluginPass, BabelPluginResolvedConfig, BabelPluginUserConfig, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, GenerateFromAstOptions, GeneratorResult, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginPass, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩGenerateFromAstOptions, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions, addImport, addImportsToProgram, addPluginFilter, createBabelPlugin, plugin as default, plugin, filterPluginByFileId, findExport, generateFromAst, getImport, getPluginName, isDuplicatePlugin, isImportCall, listExports, listImports, parseAst, resolveBabelPlugin, resolvePluginFunction };
24
+ export { BabelPluginContext, BabelPluginOptions, BabelPluginPass, BabelPluginResolvedConfig, BabelPluginUserConfig, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelTransformPreset, BabelTransformPresetOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, GenerateFromAstOptions, GeneratorResult, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, ResolvedBabelTransformPresetOptions, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginPass, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelTransformPreset, __ΩBabelTransformPresetOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩGenerateFromAstOptions, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions, __ΩResolvedBabelTransformPresetOptions, addImport, addImportsToProgram, addPluginFilter, createBabelPlugin, plugin as default, plugin, filterPluginByFileId, findExport, generateFromAst, getImport, getPluginName, getUniquePlugins, getUniquePresets, isDuplicatePlugin, isDuplicatePreset, isImportCall, listExports, listImports, parseAst, resolveBabelPlugin, resolveBabelPreset, resolvePluginFunction, resolvePresetFunction };
25
25
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;;YAoCY,MAAA;IACR,KAAA,GAAQ,kBAAA;EAAA;AAAA;;;;AAJY;;;cAcX,MAAA,oBACM,kBAAA,GAAqB,kBAAA,EAEtC,OAAA,GAAS,kBAAA,KACR,MAAA,CAAO,QAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;;YA4CY,MAAA;IACR,KAAA,GAAQ,kBAAA;EAAA;AAAA;;;;AAJY;;;cAcX,MAAA,oBACM,kBAAA,GAAqB,kBAAA,EAEtC,OAAA,GAAS,kBAAA,KACR,MAAA,CAAO,QAAA"}
package/dist/index.d.mts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { GenerateFromAstOptions, GeneratorResult, __ΩGenerateFromAstOptions, generateFromAst, parseAst } from "./helpers/ast-utils.mjs";
2
- import { BabelPluginPass, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, __ΩBabelPluginPass, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions } from "./types/config.mjs";
2
+ import { BabelPluginPass, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelTransformPreset, BabelTransformPresetOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, ResolvedBabelTransformPresetOptions, __ΩBabelPluginPass, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelTransformPreset, __ΩBabelTransformPresetOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions, __ΩResolvedBabelTransformPresetOptions } from "./types/config.mjs";
3
3
  import { createBabelPlugin } from "./helpers/create-plugin.mjs";
4
- import { addPluginFilter, filterPluginByFileId, getPluginName, isDuplicatePlugin } from "./helpers/filters.mjs";
4
+ import { addPluginFilter, filterPluginByFileId, getPluginName, isDuplicatePlugin, isDuplicatePreset } from "./helpers/filters.mjs";
5
5
  import { addImport, addImportsToProgram, findExport, getImport, isImportCall, listExports, listImports } from "./helpers/module-helpers.mjs";
6
- import { resolveBabelPlugin, resolvePluginFunction } from "./helpers/options.mjs";
6
+ import { getUniquePlugins, getUniquePresets, resolveBabelPlugin, resolveBabelPreset, resolvePluginFunction, resolvePresetFunction } from "./helpers/options.mjs";
7
7
  import { BabelPluginContext, BabelPluginOptions, BabelPluginResolvedConfig, BabelPluginUserConfig, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig } from "./types/plugin.mjs";
8
8
  import { Plugin } from "@powerlines/core";
9
9
 
@@ -21,5 +21,5 @@ declare module "@powerlines/core" {
21
21
  */
22
22
  declare const plugin: <TContext extends BabelPluginContext = BabelPluginContext>(options?: BabelPluginOptions) => Plugin<TContext>;
23
23
  //#endregion
24
- export { BabelPluginContext, BabelPluginOptions, BabelPluginPass, BabelPluginResolvedConfig, BabelPluginUserConfig, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, GenerateFromAstOptions, GeneratorResult, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginPass, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩGenerateFromAstOptions, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions, addImport, addImportsToProgram, addPluginFilter, createBabelPlugin, plugin as default, plugin, filterPluginByFileId, findExport, generateFromAst, getImport, getPluginName, isDuplicatePlugin, isImportCall, listExports, listImports, parseAst, resolveBabelPlugin, resolvePluginFunction };
24
+ export { BabelPluginContext, BabelPluginOptions, BabelPluginPass, BabelPluginResolvedConfig, BabelPluginUserConfig, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelTransformPreset, BabelTransformPresetOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, GenerateFromAstOptions, GeneratorResult, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, ResolvedBabelTransformPresetOptions, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginPass, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelTransformPreset, __ΩBabelTransformPresetOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩGenerateFromAstOptions, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions, __ΩResolvedBabelTransformPresetOptions, addImport, addImportsToProgram, addPluginFilter, createBabelPlugin, plugin as default, plugin, filterPluginByFileId, findExport, generateFromAst, getImport, getPluginName, getUniquePlugins, getUniquePresets, isDuplicatePlugin, isDuplicatePreset, isImportCall, listExports, listImports, parseAst, resolveBabelPlugin, resolveBabelPreset, resolvePluginFunction, resolvePresetFunction };
25
25
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;;YAoCY,MAAA;IACR,KAAA,GAAQ,kBAAA;EAAA;AAAA;;;;AAJY;;;cAcX,MAAA,oBACM,kBAAA,GAAqB,kBAAA,EAEtC,OAAA,GAAS,kBAAA,KACR,MAAA,CAAO,QAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;;YA4CY,MAAA;IACR,KAAA,GAAQ,kBAAA;EAAA;AAAA;;;;AAJY;;;cAcX,MAAA,oBACM,kBAAA,GAAqB,kBAAA,EAEtC,OAAA,GAAS,kBAAA,KACR,MAAA,CAAO,QAAA"}
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { addPluginFilter, filterPluginByFileId, getPluginName, isDuplicatePlugin } from "./helpers/filters.mjs";
2
- import { resolveBabelPlugin, resolvePluginFunction } from "./helpers/options.mjs";
1
+ import { addPluginFilter, filterPluginByFileId, getPluginName, isDuplicatePlugin, isDuplicatePreset } from "./helpers/filters.mjs";
2
+ import { getUniquePlugins, getUniquePresets, resolveBabelPlugin, resolveBabelPreset, resolvePluginFunction, resolvePresetFunction } from "./helpers/options.mjs";
3
3
  import { generateFromAst, parseAst } from "./helpers/ast-utils.mjs";
4
4
  import { createBabelPlugin } from "./helpers/create-plugin.mjs";
5
5
  import { addImport, addImportsToProgram, findExport, getImport, isImportCall, listExports, listImports } from "./helpers/module-helpers.mjs";
@@ -31,6 +31,8 @@ const plugin = (options = {}) => {
31
31
  plugins: [],
32
32
  presets: []
33
33
  });
34
+ this.config.babel.plugins = getUniquePlugins(this.config.babel.plugins);
35
+ this.config.babel.presets = getUniquePresets(this.config.babel.presets);
34
36
  }
35
37
  },
36
38
  async transform(code, id) {
@@ -41,21 +43,16 @@ const plugin = (options = {}) => {
41
43
  id
42
44
  };
43
45
  }
44
- const plugins = this.config.babel.plugins.map((plugin) => resolveBabelPlugin(this, code, id, plugin)).filter(Boolean).reduce((ret, plugin) => {
45
- if (plugin && !isDuplicatePlugin(ret, plugin)) ret.push(plugin);
46
- return ret;
47
- }, []);
48
- const presets = this.config.babel.presets.map((preset) => resolveBabelPlugin(this, code, id, preset)).filter(Boolean).reduce((ret, preset) => {
49
- if (preset && !isDuplicatePlugin(ret, preset)) ret.push(preset);
50
- return ret;
51
- }, []);
46
+ const plugins = getUniquePlugins(this.config.babel.plugins.map((plugin) => resolveBabelPlugin(this, code, id, plugin)).filter(Boolean));
47
+ const presets = getUniquePresets(this.config.babel.presets.map((preset) => resolveBabelPreset(this, code, id, preset)).filter(Boolean));
52
48
  if (Array.isArray(plugins) && plugins.length === 0 && Array.isArray(presets) && presets.length === 0) return {
53
49
  code,
54
50
  id
55
51
  };
56
- if (!this.config.babel?.skipConfigResolution && /^(?:m|c)?tsx?$/.test(findFileExtensionSafe(id, { fullExtension: true })) && !isDuplicatePlugin(plugins, "@babel/plugin-syntax-typescript") && !isDuplicatePlugin(presets, "@babel/preset-typescript")) plugins.unshift(["@babel/plugin-syntax-typescript", { isTSX: findFileExtension(id) === "tsx" }]);
52
+ if (!this.config.babel?.skipConfigResolution && /^(?:m|c)?tsx?$/.test(findFileExtensionSafe(id, { fullExtension: true })) && !isDuplicatePlugin(plugins, "@babel/plugin-syntax-typescript") && !isDuplicatePreset(presets, "@babel/preset-typescript")) plugins.unshift(["@babel/plugin-syntax-typescript", { isTSX: findFileExtension(id) === "tsx" }]);
57
53
  this.trace(`Running babel transformations with ${plugins.length} plugins and ${presets.length} presets for file: ${id}`);
58
54
  const result = await transformAsync(code, {
55
+ cwd: this.config.cwd,
59
56
  highlightCode: true,
60
57
  code: true,
61
58
  ast: false,
@@ -86,5 +83,5 @@ const plugin = (options = {}) => {
86
83
  };
87
84
 
88
85
  //#endregion
89
- export { addImport, addImportsToProgram, addPluginFilter, createBabelPlugin, plugin as default, plugin, filterPluginByFileId, findExport, generateFromAst, getImport, getPluginName, isDuplicatePlugin, isImportCall, listExports, listImports, parseAst, resolveBabelPlugin, resolvePluginFunction };
86
+ export { addImport, addImportsToProgram, addPluginFilter, createBabelPlugin, plugin as default, plugin, filterPluginByFileId, findExport, generateFromAst, getImport, getPluginName, getUniquePlugins, getUniquePresets, isDuplicatePlugin, isDuplicatePreset, isImportCall, listExports, listImports, parseAst, resolveBabelPlugin, resolveBabelPreset, resolvePluginFunction, resolvePresetFunction };
90
87
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { transformAsync } from \"@babel/core\";\nimport type { Plugin } from \"@powerlines/core\";\nimport {\n findFileExtension,\n findFileExtensionSafe\n} from \"@stryke/path/file-path-fns\";\nimport { isParentPath } from \"@stryke/path/is-parent-path\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport defu from \"defu\";\nimport { isDuplicatePlugin } from \"./helpers/filters\";\nimport { resolveBabelPlugin } from \"./helpers/options\";\nimport { ResolvedBabelTransformPluginOptions } from \"./types/config\";\nimport { BabelPluginContext, BabelPluginOptions } from \"./types/plugin\";\n\nexport * from \"./helpers\";\nexport * from \"./types\";\n\ndeclare module \"@powerlines/core\" {\n interface Config {\n babel?: BabelPluginOptions;\n }\n}\n\n/**\n * Babel plugin for Powerlines.\n *\n * @param options - The Babel plugin user configuration options.\n * @returns A Powerlines plugin that integrates Babel transformations.\n */\nexport const plugin = <\n TContext extends BabelPluginContext = BabelPluginContext\n>(\n options: BabelPluginOptions = {}\n): Plugin<TContext> => {\n return {\n name: \"babel\",\n config() {\n if (!isSetObject(options)) {\n return undefined;\n }\n\n return {\n babel: options\n };\n },\n configResolved: {\n order: \"pre\",\n handler() {\n this.config.babel = defu(this.config.babel ?? {}, {\n plugins: [],\n presets: []\n });\n }\n },\n async transform(code: string, id: string) {\n if (\n isParentPath(id, this.powerlinesPath) ||\n code.includes(\"/* @powerlines-ignore */\") ||\n code.includes(\"/* @powerlines-disable */\")\n ) {\n this.trace(`Skipping Babel transformation for: ${id}`);\n\n return { code, id };\n }\n\n const plugins = this.config.babel.plugins\n .map(plugin => resolveBabelPlugin(this, code, id, plugin))\n .filter(Boolean)\n .reduce(\n (\n ret: ResolvedBabelTransformPluginOptions[],\n plugin: ResolvedBabelTransformPluginOptions\n ) => {\n if (plugin && !isDuplicatePlugin(ret, plugin)) {\n ret.push(plugin);\n }\n\n return ret;\n },\n [] as ResolvedBabelTransformPluginOptions[]\n ) as ResolvedBabelTransformPluginOptions[];\n const presets = this.config.babel.presets\n .map(preset => resolveBabelPlugin(this, code, id, preset))\n .filter(Boolean)\n .reduce(\n (\n ret: ResolvedBabelTransformPluginOptions[],\n preset: ResolvedBabelTransformPluginOptions\n ) => {\n if (preset && !isDuplicatePlugin(ret, preset)) {\n ret.push(preset);\n }\n\n return ret;\n },\n [] as ResolvedBabelTransformPluginOptions[]\n ) as ResolvedBabelTransformPluginOptions[];\n\n if (\n Array.isArray(plugins) &&\n plugins.length === 0 &&\n Array.isArray(presets) &&\n presets.length === 0\n ) {\n return { code, id };\n }\n\n if (\n !this.config.babel?.skipConfigResolution &&\n /^(?:m|c)?tsx?$/.test(\n findFileExtensionSafe(id, {\n fullExtension: true\n })\n ) &&\n !isDuplicatePlugin(plugins, \"@babel/plugin-syntax-typescript\") &&\n !isDuplicatePlugin(presets, \"@babel/preset-typescript\")\n ) {\n plugins.unshift([\n \"@babel/plugin-syntax-typescript\",\n { isTSX: findFileExtension(id) === \"tsx\" }\n ]);\n }\n\n this.trace(\n `Running babel transformations with ${plugins.length} plugins and ${\n presets.length\n } presets for file: ${id}`\n );\n\n const result = await transformAsync(code, {\n highlightCode: true,\n code: true,\n ast: false,\n cloneInputAst: false,\n comments: true,\n sourceType: \"module\",\n configFile: false,\n babelrc: false,\n envName: this.config.mode,\n caller: {\n name: this.config.framework\n },\n ...(this.config.babel ?? {}),\n filename: id,\n plugins: plugins\n .map(plugin => {\n return Array.isArray(plugin) && plugin.length >= 2\n ? [\n plugin[0],\n defu(plugin.length > 1 && plugin[1] ? plugin[1] : {}, {\n options\n })\n ]\n : plugin;\n })\n .filter(Boolean),\n presets: presets\n .map(preset => {\n return Array.isArray(preset) && preset.length >= 2\n ? [\n preset[0],\n defu(preset.length > 1 && preset[1] ? preset[1] : {}, {\n options\n })\n ]\n : preset;\n })\n .filter(Boolean)\n });\n if (!result?.code) {\n throw new Error(`Powerlines - Babel plugin failed to compile ${id}`);\n }\n\n this.trace(`Completed babel transformations for file: ${id}`);\n\n return { code: result.code, id };\n }\n } as Plugin<TContext>;\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AA+CA,MAAa,UAGX,UAA8B,EAAE,KACX;AACrB,QAAO;EACL,MAAM;EACN,SAAS;AACP,OAAI,CAAC,YAAY,QAAQ,CACvB;AAGF,UAAO,EACL,OAAO,SACR;;EAEH,gBAAgB;GACd,OAAO;GACP,UAAU;AACR,SAAK,OAAO,QAAQ,KAAK,KAAK,OAAO,SAAS,EAAE,EAAE;KAChD,SAAS,EAAE;KACX,SAAS,EAAE;KACZ,CAAC;;GAEL;EACD,MAAM,UAAU,MAAc,IAAY;AACxC,OACE,aAAa,IAAI,KAAK,eAAe,IACrC,KAAK,SAAS,2BAA2B,IACzC,KAAK,SAAS,4BAA4B,EAC1C;AACA,SAAK,MAAM,sCAAsC,KAAK;AAEtD,WAAO;KAAE;KAAM;KAAI;;GAGrB,MAAM,UAAU,KAAK,OAAO,MAAM,QAC/B,KAAI,WAAU,mBAAmB,MAAM,MAAM,IAAI,OAAO,CAAC,CACzD,OAAO,QAAQ,CACf,QAEG,KACA,WACG;AACH,QAAI,UAAU,CAAC,kBAAkB,KAAK,OAAO,CAC3C,KAAI,KAAK,OAAO;AAGlB,WAAO;MAET,EAAE,CACH;GACH,MAAM,UAAU,KAAK,OAAO,MAAM,QAC/B,KAAI,WAAU,mBAAmB,MAAM,MAAM,IAAI,OAAO,CAAC,CACzD,OAAO,QAAQ,CACf,QAEG,KACA,WACG;AACH,QAAI,UAAU,CAAC,kBAAkB,KAAK,OAAO,CAC3C,KAAI,KAAK,OAAO;AAGlB,WAAO;MAET,EAAE,CACH;AAEH,OACE,MAAM,QAAQ,QAAQ,IACtB,QAAQ,WAAW,KACnB,MAAM,QAAQ,QAAQ,IACtB,QAAQ,WAAW,EAEnB,QAAO;IAAE;IAAM;IAAI;AAGrB,OACE,CAAC,KAAK,OAAO,OAAO,wBACpB,iBAAiB,KACf,sBAAsB,IAAI,EACxB,eAAe,MAChB,CAAC,CACH,IACD,CAAC,kBAAkB,SAAS,kCAAkC,IAC9D,CAAC,kBAAkB,SAAS,2BAA2B,CAEvD,SAAQ,QAAQ,CACd,mCACA,EAAE,OAAO,kBAAkB,GAAG,KAAK,OAAO,CAC3C,CAAC;AAGJ,QAAK,MACH,sCAAsC,QAAQ,OAAO,eACnD,QAAQ,OACT,qBAAqB,KACvB;GAED,MAAM,SAAS,MAAM,eAAe,MAAM;IACxC,eAAe;IACf,MAAM;IACN,KAAK;IACL,eAAe;IACf,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,SAAS,KAAK,OAAO;IACrB,QAAQ,EACN,MAAM,KAAK,OAAO,WACnB;IACD,GAAI,KAAK,OAAO,SAAS,EAAE;IAC3B,UAAU;IACV,SAAS,QACN,KAAI,WAAU;AACb,YAAO,MAAM,QAAQ,OAAO,IAAI,OAAO,UAAU,IAC7C,CACE,OAAO,IACP,KAAK,OAAO,SAAS,KAAK,OAAO,KAAK,OAAO,KAAK,EAAE,EAAE,EACpD,SACD,CAAC,CACH,GACD;MACJ,CACD,OAAO,QAAQ;IAClB,SAAS,QACN,KAAI,WAAU;AACb,YAAO,MAAM,QAAQ,OAAO,IAAI,OAAO,UAAU,IAC7C,CACE,OAAO,IACP,KAAK,OAAO,SAAS,KAAK,OAAO,KAAK,OAAO,KAAK,EAAE,EAAE,EACpD,SACD,CAAC,CACH,GACD;MACJ,CACD,OAAO,QAAQ;IACnB,CAAC;AACF,OAAI,CAAC,QAAQ,KACX,OAAM,IAAI,MAAM,+CAA+C,KAAK;AAGtE,QAAK,MAAM,6CAA6C,KAAK;AAE7D,UAAO;IAAE,MAAM,OAAO;IAAM;IAAI;;EAEnC"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { PluginItem, PresetItem, transformAsync } from \"@babel/core\";\nimport type { Plugin } from \"@powerlines/core\";\nimport {\n findFileExtension,\n findFileExtensionSafe\n} from \"@stryke/path/file-path-fns\";\nimport { isParentPath } from \"@stryke/path/is-parent-path\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport defu from \"defu\";\nimport { isDuplicatePlugin, isDuplicatePreset } from \"./helpers/filters\";\nimport {\n getUniquePlugins,\n getUniquePresets,\n resolveBabelPlugin,\n resolveBabelPreset\n} from \"./helpers/options\";\nimport {\n ResolvedBabelTransformPluginOptions,\n ResolvedBabelTransformPresetOptions\n} from \"./types/config\";\nimport { BabelPluginContext, BabelPluginOptions } from \"./types/plugin\";\n\nexport * from \"./helpers\";\nexport * from \"./types\";\n\ndeclare module \"@powerlines/core\" {\n interface Config {\n babel?: BabelPluginOptions;\n }\n}\n\n/**\n * Babel plugin for Powerlines.\n *\n * @param options - The Babel plugin user configuration options.\n * @returns A Powerlines plugin that integrates Babel transformations.\n */\nexport const plugin = <\n TContext extends BabelPluginContext = BabelPluginContext\n>(\n options: BabelPluginOptions = {}\n): Plugin<TContext> => {\n return {\n name: \"babel\",\n config() {\n if (!isSetObject(options)) {\n return undefined;\n }\n\n return {\n babel: options\n };\n },\n configResolved: {\n order: \"pre\",\n handler() {\n this.config.babel = defu(this.config.babel ?? {}, {\n plugins: [],\n presets: []\n });\n\n this.config.babel.plugins = getUniquePlugins(this.config.babel.plugins);\n this.config.babel.presets = getUniquePresets(this.config.babel.presets);\n }\n },\n async transform(code: string, id: string) {\n if (\n isParentPath(id, this.powerlinesPath) ||\n code.includes(\"/* @powerlines-ignore */\") ||\n code.includes(\"/* @powerlines-disable */\")\n ) {\n this.trace(`Skipping Babel transformation for: ${id}`);\n\n return { code, id };\n }\n\n const plugins = getUniquePlugins(\n this.config.babel.plugins\n .map(plugin => resolveBabelPlugin(this, code, id, plugin))\n .filter(Boolean) as ResolvedBabelTransformPluginOptions[]\n );\n const presets = getUniquePresets(\n this.config.babel.presets\n .map(preset => resolveBabelPreset(this, code, id, preset))\n .filter(Boolean) as ResolvedBabelTransformPresetOptions[]\n );\n\n if (\n Array.isArray(plugins) &&\n plugins.length === 0 &&\n Array.isArray(presets) &&\n presets.length === 0\n ) {\n return { code, id };\n }\n\n if (\n !this.config.babel?.skipConfigResolution &&\n /^(?:m|c)?tsx?$/.test(\n findFileExtensionSafe(id, {\n fullExtension: true\n })\n ) &&\n !isDuplicatePlugin(plugins, \"@babel/plugin-syntax-typescript\") &&\n !isDuplicatePreset(presets, \"@babel/preset-typescript\")\n ) {\n plugins.unshift([\n \"@babel/plugin-syntax-typescript\",\n { isTSX: findFileExtension(id) === \"tsx\" }\n ]);\n }\n\n this.trace(\n `Running babel transformations with ${plugins.length} plugins and ${\n presets.length\n } presets for file: ${id}`\n );\n\n const result = await transformAsync(code, {\n cwd: this.config.cwd,\n highlightCode: true,\n code: true,\n ast: false,\n cloneInputAst: false,\n comments: true,\n sourceType: \"module\",\n configFile: false,\n babelrc: false,\n envName: this.config.mode,\n caller: {\n name: this.config.framework\n },\n ...(this.config.babel ?? {}),\n filename: id,\n plugins: plugins\n .map(plugin => {\n return Array.isArray(plugin) && plugin.length >= 2\n ? [\n plugin[0],\n defu(plugin.length > 1 && plugin[1] ? plugin[1] : {}, {\n options\n })\n ]\n : plugin;\n })\n .filter(Boolean) as PluginItem<object>[],\n presets: presets\n .map(preset => {\n return Array.isArray(preset) && preset.length >= 2\n ? [\n preset[0],\n defu(preset.length > 1 && preset[1] ? preset[1] : {}, {\n options\n })\n ]\n : preset;\n })\n .filter(Boolean) as PresetItem<object>[]\n });\n if (!result?.code) {\n throw new Error(`Powerlines - Babel plugin failed to compile ${id}`);\n }\n\n this.trace(`Completed babel transformations for file: ${id}`);\n\n return { code: result.code, id };\n }\n } as Plugin<TContext>;\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAuDA,MAAa,UAGX,UAA8B,EAAE,KACX;AACrB,QAAO;EACL,MAAM;EACN,SAAS;AACP,OAAI,CAAC,YAAY,QAAQ,CACvB;AAGF,UAAO,EACL,OAAO,SACR;;EAEH,gBAAgB;GACd,OAAO;GACP,UAAU;AACR,SAAK,OAAO,QAAQ,KAAK,KAAK,OAAO,SAAS,EAAE,EAAE;KAChD,SAAS,EAAE;KACX,SAAS,EAAE;KACZ,CAAC;AAEF,SAAK,OAAO,MAAM,UAAU,iBAAiB,KAAK,OAAO,MAAM,QAAQ;AACvE,SAAK,OAAO,MAAM,UAAU,iBAAiB,KAAK,OAAO,MAAM,QAAQ;;GAE1E;EACD,MAAM,UAAU,MAAc,IAAY;AACxC,OACE,aAAa,IAAI,KAAK,eAAe,IACrC,KAAK,SAAS,2BAA2B,IACzC,KAAK,SAAS,4BAA4B,EAC1C;AACA,SAAK,MAAM,sCAAsC,KAAK;AAEtD,WAAO;KAAE;KAAM;KAAI;;GAGrB,MAAM,UAAU,iBACd,KAAK,OAAO,MAAM,QACf,KAAI,WAAU,mBAAmB,MAAM,MAAM,IAAI,OAAO,CAAC,CACzD,OAAO,QAAQ,CACnB;GACD,MAAM,UAAU,iBACd,KAAK,OAAO,MAAM,QACf,KAAI,WAAU,mBAAmB,MAAM,MAAM,IAAI,OAAO,CAAC,CACzD,OAAO,QAAQ,CACnB;AAED,OACE,MAAM,QAAQ,QAAQ,IACtB,QAAQ,WAAW,KACnB,MAAM,QAAQ,QAAQ,IACtB,QAAQ,WAAW,EAEnB,QAAO;IAAE;IAAM;IAAI;AAGrB,OACE,CAAC,KAAK,OAAO,OAAO,wBACpB,iBAAiB,KACf,sBAAsB,IAAI,EACxB,eAAe,MAChB,CAAC,CACH,IACD,CAAC,kBAAkB,SAAS,kCAAkC,IAC9D,CAAC,kBAAkB,SAAS,2BAA2B,CAEvD,SAAQ,QAAQ,CACd,mCACA,EAAE,OAAO,kBAAkB,GAAG,KAAK,OAAO,CAC3C,CAAC;AAGJ,QAAK,MACH,sCAAsC,QAAQ,OAAO,eACnD,QAAQ,OACT,qBAAqB,KACvB;GAED,MAAM,SAAS,MAAM,eAAe,MAAM;IACxC,KAAK,KAAK,OAAO;IACjB,eAAe;IACf,MAAM;IACN,KAAK;IACL,eAAe;IACf,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,SAAS,KAAK,OAAO;IACrB,QAAQ,EACN,MAAM,KAAK,OAAO,WACnB;IACD,GAAI,KAAK,OAAO,SAAS,EAAE;IAC3B,UAAU;IACV,SAAS,QACN,KAAI,WAAU;AACb,YAAO,MAAM,QAAQ,OAAO,IAAI,OAAO,UAAU,IAC7C,CACE,OAAO,IACP,KAAK,OAAO,SAAS,KAAK,OAAO,KAAK,OAAO,KAAK,EAAE,EAAE,EACpD,SACD,CAAC,CACH,GACD;MACJ,CACD,OAAO,QAAQ;IAClB,SAAS,QACN,KAAI,WAAU;AACb,YAAO,MAAM,QAAQ,OAAO,IAAI,OAAO,UAAU,IAC7C,CACE,OAAO,IACP,KAAK,OAAO,SAAS,KAAK,OAAO,KAAK,OAAO,KAAK,EAAE,EAAE,EACpD,SACD,CAAC,CACH,GACD;MACJ,CACD,OAAO,QAAQ;IACnB,CAAC;AACF,OAAI,CAAC,QAAQ,KACX,OAAM,IAAI,MAAM,+CAA+C,KAAK;AAGtE,QAAK,MAAM,6CAA6C,KAAK;AAE7D,UAAO;IAAE,MAAM,OAAO;IAAM;IAAI;;EAEnC"}
@@ -1,6 +1,5 @@
1
1
  import { Context, LogFn } from "@powerlines/core";
2
- import { PluginItem, PluginObj, PluginPass, TransformOptions, transformAsync } from "@babel/core";
3
- import { BabelAPI } from "@babel/helper-plugin-utils";
2
+ import { ConfigItem, InputOptions, PluginAPI, PluginItem, PluginObject, PluginPass, PluginTarget, PresetAPI, PresetItem, PresetObject, PresetTarget } from "@babel/core";
4
3
 
5
4
  //#region src/types/config.d.ts
6
5
  interface NamedImportDefinition {
@@ -15,29 +14,41 @@ interface DefaultImportDefinition {
15
14
  type ImportDefinition = NamedImportDefinition | DefaultImportDefinition;
16
15
  type BabelPluginPass<TState = unknown> = PluginPass & TState;
17
16
  type BabelTransformPluginFilter = (code: string, id: string) => boolean;
18
- type BabelTransformPlugin<TContext extends Context = Context, TOptions extends Record<string, any> = Record<string, any>, TState = unknown> = ((context: TContext) => (options: {
17
+ type BabelTransformPlugin<TContext extends Context = Context, TOptions extends object = object, TState = unknown> = ((context: TContext) => (options: {
19
18
  name: string;
20
19
  log: LogFn;
21
- api: BabelAPI;
20
+ api: PluginAPI;
22
21
  options: TOptions;
23
22
  context: TContext;
24
23
  dirname: string;
25
- }) => PluginObj<TOptions & BabelPluginPass<TState>>) & {
24
+ }) => PluginObject<TOptions & BabelPluginPass<TState>>) & {
26
25
  $$name: string;
27
26
  };
28
- type BabelTransformPluginOptions<TContext extends Context = Context, TOptions extends Record<string, any> = Record<string, any>, TState = unknown> = PluginItem | BabelTransformPlugin<TContext, TOptions, TState> | [BabelTransformPlugin<TContext, TOptions, TState>, TOptions] | [BabelTransformPlugin<TContext, TOptions, TState>, TOptions, BabelTransformPluginFilter];
29
- type ResolvedBabelTransformPluginOptions<TContext extends Context = Context, TOptions extends Record<string, any> = Record<string, any>, TState = unknown> = PluginItem | [BabelTransformPlugin<TContext, TOptions, TState>, TOptions, BabelTransformPluginFilter | null];
30
- type BabelTransformInput = Omit<TransformOptions & Required<Pick<TransformOptions, "presets" | "plugins">>, "filename" | "root" | "sourceFileName" | "sourceMaps" | "inputSourceMap">;
31
- interface BabelTransformPluginBuilderParams<TContext extends Context = Context, TOptions extends Record<string, any> = Record<string, any>> {
27
+ type BabelTransformPreset<TContext extends Context = Context, TOptions extends object = object> = ((context: TContext) => (options: {
32
28
  name: string;
33
29
  log: LogFn;
34
- api: BabelAPI;
30
+ api: PresetAPI;
31
+ options: TOptions;
32
+ context: TContext;
33
+ dirname: string;
34
+ }) => PresetObject) & {
35
+ $$name: string;
36
+ };
37
+ type BabelTransformPluginOptions<TContext extends Context = Context, TOptions extends object = object, TState = unknown> = ConfigItem<PluginAPI> | PluginTarget<TOptions> | BabelTransformPlugin<TContext, TOptions, TState> | [PluginTarget<TOptions> | BabelTransformPlugin<TContext, TOptions, TState>, TOptions] | [BabelTransformPlugin<TContext, TOptions, TState>, TOptions, BabelTransformPluginFilter];
38
+ type BabelTransformPresetOptions<TContext extends Context = Context, TOptions extends object = object> = ConfigItem<PresetAPI> | PresetTarget<TOptions> | BabelTransformPreset<TContext, TOptions> | [PresetTarget<TOptions> | BabelTransformPreset<TContext, TOptions>, TOptions] | [BabelTransformPreset<TContext, TOptions>, TOptions, BabelTransformPluginFilter];
39
+ type ResolvedBabelTransformPluginOptions<TContext extends Context = Context, TOptions extends object = object, TState = unknown> = PluginItem<TOptions> | [BabelTransformPlugin<TContext, TOptions, TState>, TOptions, BabelTransformPluginFilter | string | null];
40
+ type ResolvedBabelTransformPresetOptions<TContext extends Context = Context, TOptions extends object = object> = PresetItem<TOptions> | [BabelTransformPreset<TContext, TOptions>, TOptions, BabelTransformPluginFilter | string | null];
41
+ type BabelTransformInput = Omit<InputOptions & Required<Pick<InputOptions, "presets" | "plugins">>, "filename" | "root" | "sourceFileName" | "sourceMaps" | "inputSourceMap">;
42
+ interface BabelTransformPluginBuilderParams<TContext extends Context = Context, TOptions extends object = object> {
43
+ name: string;
44
+ log: LogFn;
45
+ api: PluginAPI;
35
46
  options: TOptions;
36
47
  context: TContext;
37
48
  dirname: string;
38
49
  }
39
- type BabelTransformPluginBuilder<TContext extends Context = Context, TOptions extends Record<string, any> = Record<string, any>, TState = any> = (params: BabelTransformPluginBuilderParams<TContext, TOptions>) => PluginObj<TState & BabelPluginPass<TOptions>>;
40
- type DeclareBabelTransformPluginReturn<TContext extends Context = Context, TOptions extends Record<string, any> = Record<string, any>, TState = any> = Omit<BabelTransformPlugin<TContext, TOptions, TState>, "$$name"> & Required<Pick<BabelTransformPlugin<TContext, TOptions, TState>, "$$name">>;
50
+ type BabelTransformPluginBuilder<TContext extends Context = Context, TOptions extends object = object, TState = any> = (params: BabelTransformPluginBuilderParams<TContext, TOptions>) => PluginObject<TState & BabelPluginPass<TOptions>>;
51
+ type DeclareBabelTransformPluginReturn<TContext extends Context = Context, TOptions extends object = object, TState = any> = Omit<BabelTransformPlugin<TContext, TOptions, TState>, "$$name"> & Required<Pick<BabelTransformPlugin<TContext, TOptions, TState>, "$$name">>;
41
52
  /**
42
53
  * A non-local import specifier represents an import that is not defined within the current module.
43
54
  *
@@ -55,7 +66,7 @@ interface ImportSpecifier {
55
66
  module: string;
56
67
  imported: string;
57
68
  }
58
- type BabelUserConfig = Parameters<typeof transformAsync>[1] & {
69
+ type BabelUserConfig = Omit<InputOptions, "plugins" | "presets"> & {
59
70
  /**
60
71
  * The Babel plugins to be used during the build process
61
72
  */
@@ -63,7 +74,7 @@ type BabelUserConfig = Parameters<typeof transformAsync>[1] & {
63
74
  /**
64
75
  * The Babel presets to be used during the build process
65
76
  */
66
- presets?: BabelTransformPluginOptions[];
77
+ presets?: BabelTransformPresetOptions[];
67
78
  };
68
79
  type BabelResolvedConfig = Omit<BabelUserConfig, "plugins" | "presets"> & Required<Pick<BabelUserConfig, "plugins" | "presets">>;
69
80
  declare type __ΩNamedImportDefinition = any[];
@@ -72,8 +83,11 @@ declare type __ΩImportDefinition = any[];
72
83
  declare type __ΩBabelPluginPass = any[];
73
84
  declare type __ΩBabelTransformPluginFilter = any[];
74
85
  declare type __ΩBabelTransformPlugin = any[];
86
+ declare type __ΩBabelTransformPreset = any[];
75
87
  declare type __ΩBabelTransformPluginOptions = any[];
88
+ declare type __ΩBabelTransformPresetOptions = any[];
76
89
  declare type __ΩResolvedBabelTransformPluginOptions = any[];
90
+ declare type __ΩResolvedBabelTransformPresetOptions = any[];
77
91
  declare type __ΩBabelTransformInput = any[];
78
92
  declare type __ΩBabelTransformPluginBuilderParams = any[];
79
93
  declare type __ΩBabelTransformPluginBuilder = any[];
@@ -82,5 +96,5 @@ declare type __ΩImportSpecifier = any[];
82
96
  declare type __ΩBabelUserConfig = any[];
83
97
  declare type __ΩBabelResolvedConfig = any[];
84
98
  //#endregion
85
- export { BabelPluginPass, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, __ΩBabelPluginPass, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions };
99
+ export { BabelPluginPass, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelTransformPreset, BabelTransformPresetOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, ResolvedBabelTransformPresetOptions, __ΩBabelPluginPass, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelTransformPreset, __ΩBabelTransformPresetOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions, __ΩResolvedBabelTransformPresetOptions };
86
100
  //# sourceMappingURL=config.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.cts","names":[],"sources":["../../src/types/config.ts"],"mappings":";;;;;UA4BiB,qBAAA;EACf,IAAA;EACA,MAAA;EACA,IAAA;AAAA;AAAA,UAGe,uBAAA;EACf,MAAA;EACA,IAAA;AAAA;AAAA,KAGU,gBAAA,GAAmB,qBAAA,GAAwB,uBAAA;AAAA,KAE3C,eAAA,qBAAoC,UAAA,GAAa,MAAA;AAAA,KAEjD,0BAAA,IAA8B,IAAA,UAAc,EAAA;AAAA,KAE5C,oBAAA,kBACO,OAAA,GAAU,OAAA,mBACV,MAAA,gBAAsB,MAAA,qCAGvC,OAAA,EAAS,QAAA,MACL,OAAA;EACJ,IAAA;EACA,GAAA,EAAK,KAAA;EACL,GAAA,EAAK,QAAA;EACL,OAAA,EAAS,QAAA;EACT,OAAA,EAAS,QAAA;EACT,OAAA;AAAA,MACI,SAAA,CAAU,QAAA,GAAW,eAAA,CAAgB,MAAA;EACzC,MAAA;AAAA;AAAA,KAGU,2BAAA,kBACO,OAAA,GAAU,OAAA,mBACV,MAAA,gBAAsB,MAAA,mCAGrC,UAAA,GACA,oBAAA,CAAqB,QAAA,EAAU,QAAA,EAAU,MAAA,KACxC,oBAAA,CAAqB,QAAA,EAAU,QAAA,EAAU,MAAA,GAAS,QAAA,KAEjD,oBAAA,CAAqB,QAAA,EAAU,QAAA,EAAU,MAAA,GACzC,QAAA,EACA,0BAAA;AAAA,KAGM,mCAAA,kBACO,OAAA,GAAU,OAAA,mBACV,MAAA,gBAAsB,MAAA,mCAGrC,UAAA,IAEE,oBAAA,CAAqB,QAAA,EAAU,QAAA,EAAU,MAAA,GACzC,QAAA,EACA,0BAAA;AAAA,KAGM,mBAAA,GAAsB,IAAA,CAChC,gBAAA,GAAmB,QAAA,CAAS,IAAA,CAAK,gBAAA;AAAA,UAIlB,iCAAA,kBACE,OAAA,GAAU,OAAA,mBACV,MAAA,gBAAsB,MAAA;EAEvC,IAAA;EACA,GAAA,EAAK,KAAA;EACL,GAAA,EAAK,QAAA;EACL,OAAA,EAAS,QAAA;EACT,OAAA,EAAS,QAAA;EACT,OAAA;AAAA;AAAA,KAGU,2BAAA,kBACO,OAAA,GAAU,OAAA,mBACV,MAAA,gBAAsB,MAAA,gCAGvC,MAAA,EAAQ,iCAAA,CAAkC,QAAA,EAAU,QAAA,MACjD,SAAA,CAAU,MAAA,GAAS,eAAA,CAAgB,QAAA;AAAA,KAE5B,iCAAA,kBACO,OAAA,GAAU,OAAA,mBACV,MAAA,gBAAsB,MAAA,+BAErC,IAAA,CAAK,oBAAA,CAAqB,QAAA,EAAU,QAAA,EAAU,MAAA,eAChD,QAAA,CAAS,IAAA,CAAK,oBAAA,CAAqB,QAAA,EAAU,QAAA,EAAU,MAAA;;;;;;;;;;;;;UAcxC,eAAA;EACf,IAAA;EACA,MAAA;EACA,QAAA;AAAA;AAAA,KAGU,eAAA,GAAkB,UAAA,QAAkB,cAAA;EAxF9C;;;EA4FA,OAAA,GAAU,2BAAA;EAxFV;;;EA6FA,OAAA,GAAU,2BAAA;AAAA;AAAA,KAGA,mBAAA,GAAsB,IAAA,CAAK,eAAA,2BACrC,QAAA,CAAS,IAAA,CAAK,eAAA;AAAA"}
1
+ {"version":3,"file":"config.d.cts","names":[],"sources":["../../src/types/config.ts"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { PluginItem, PluginObj, PluginPass, TransformOptions, transformAsync } from "@babel/core";
2
- import { BabelAPI } from "@babel/helper-plugin-utils";
1
+ import { ConfigItem, InputOptions, PluginAPI, PluginItem, PluginObject, PluginPass, PluginTarget, PresetAPI, PresetItem, PresetObject, PresetTarget } from "@babel/core";
3
2
  import { Context, LogFn } from "@powerlines/core";
4
3
 
5
4
  //#region src/types/config.d.ts
@@ -15,29 +14,41 @@ interface DefaultImportDefinition {
15
14
  type ImportDefinition = NamedImportDefinition | DefaultImportDefinition;
16
15
  type BabelPluginPass<TState = unknown> = PluginPass & TState;
17
16
  type BabelTransformPluginFilter = (code: string, id: string) => boolean;
18
- type BabelTransformPlugin<TContext extends Context = Context, TOptions extends Record<string, any> = Record<string, any>, TState = unknown> = ((context: TContext) => (options: {
17
+ type BabelTransformPlugin<TContext extends Context = Context, TOptions extends object = object, TState = unknown> = ((context: TContext) => (options: {
19
18
  name: string;
20
19
  log: LogFn;
21
- api: BabelAPI;
20
+ api: PluginAPI;
22
21
  options: TOptions;
23
22
  context: TContext;
24
23
  dirname: string;
25
- }) => PluginObj<TOptions & BabelPluginPass<TState>>) & {
24
+ }) => PluginObject<TOptions & BabelPluginPass<TState>>) & {
26
25
  $$name: string;
27
26
  };
28
- type BabelTransformPluginOptions<TContext extends Context = Context, TOptions extends Record<string, any> = Record<string, any>, TState = unknown> = PluginItem | BabelTransformPlugin<TContext, TOptions, TState> | [BabelTransformPlugin<TContext, TOptions, TState>, TOptions] | [BabelTransformPlugin<TContext, TOptions, TState>, TOptions, BabelTransformPluginFilter];
29
- type ResolvedBabelTransformPluginOptions<TContext extends Context = Context, TOptions extends Record<string, any> = Record<string, any>, TState = unknown> = PluginItem | [BabelTransformPlugin<TContext, TOptions, TState>, TOptions, BabelTransformPluginFilter | null];
30
- type BabelTransformInput = Omit<TransformOptions & Required<Pick<TransformOptions, "presets" | "plugins">>, "filename" | "root" | "sourceFileName" | "sourceMaps" | "inputSourceMap">;
31
- interface BabelTransformPluginBuilderParams<TContext extends Context = Context, TOptions extends Record<string, any> = Record<string, any>> {
27
+ type BabelTransformPreset<TContext extends Context = Context, TOptions extends object = object> = ((context: TContext) => (options: {
32
28
  name: string;
33
29
  log: LogFn;
34
- api: BabelAPI;
30
+ api: PresetAPI;
31
+ options: TOptions;
32
+ context: TContext;
33
+ dirname: string;
34
+ }) => PresetObject) & {
35
+ $$name: string;
36
+ };
37
+ type BabelTransformPluginOptions<TContext extends Context = Context, TOptions extends object = object, TState = unknown> = ConfigItem<PluginAPI> | PluginTarget<TOptions> | BabelTransformPlugin<TContext, TOptions, TState> | [PluginTarget<TOptions> | BabelTransformPlugin<TContext, TOptions, TState>, TOptions] | [BabelTransformPlugin<TContext, TOptions, TState>, TOptions, BabelTransformPluginFilter];
38
+ type BabelTransformPresetOptions<TContext extends Context = Context, TOptions extends object = object> = ConfigItem<PresetAPI> | PresetTarget<TOptions> | BabelTransformPreset<TContext, TOptions> | [PresetTarget<TOptions> | BabelTransformPreset<TContext, TOptions>, TOptions] | [BabelTransformPreset<TContext, TOptions>, TOptions, BabelTransformPluginFilter];
39
+ type ResolvedBabelTransformPluginOptions<TContext extends Context = Context, TOptions extends object = object, TState = unknown> = PluginItem<TOptions> | [BabelTransformPlugin<TContext, TOptions, TState>, TOptions, BabelTransformPluginFilter | string | null];
40
+ type ResolvedBabelTransformPresetOptions<TContext extends Context = Context, TOptions extends object = object> = PresetItem<TOptions> | [BabelTransformPreset<TContext, TOptions>, TOptions, BabelTransformPluginFilter | string | null];
41
+ type BabelTransformInput = Omit<InputOptions & Required<Pick<InputOptions, "presets" | "plugins">>, "filename" | "root" | "sourceFileName" | "sourceMaps" | "inputSourceMap">;
42
+ interface BabelTransformPluginBuilderParams<TContext extends Context = Context, TOptions extends object = object> {
43
+ name: string;
44
+ log: LogFn;
45
+ api: PluginAPI;
35
46
  options: TOptions;
36
47
  context: TContext;
37
48
  dirname: string;
38
49
  }
39
- type BabelTransformPluginBuilder<TContext extends Context = Context, TOptions extends Record<string, any> = Record<string, any>, TState = any> = (params: BabelTransformPluginBuilderParams<TContext, TOptions>) => PluginObj<TState & BabelPluginPass<TOptions>>;
40
- type DeclareBabelTransformPluginReturn<TContext extends Context = Context, TOptions extends Record<string, any> = Record<string, any>, TState = any> = Omit<BabelTransformPlugin<TContext, TOptions, TState>, "$$name"> & Required<Pick<BabelTransformPlugin<TContext, TOptions, TState>, "$$name">>;
50
+ type BabelTransformPluginBuilder<TContext extends Context = Context, TOptions extends object = object, TState = any> = (params: BabelTransformPluginBuilderParams<TContext, TOptions>) => PluginObject<TState & BabelPluginPass<TOptions>>;
51
+ type DeclareBabelTransformPluginReturn<TContext extends Context = Context, TOptions extends object = object, TState = any> = Omit<BabelTransformPlugin<TContext, TOptions, TState>, "$$name"> & Required<Pick<BabelTransformPlugin<TContext, TOptions, TState>, "$$name">>;
41
52
  /**
42
53
  * A non-local import specifier represents an import that is not defined within the current module.
43
54
  *
@@ -55,7 +66,7 @@ interface ImportSpecifier {
55
66
  module: string;
56
67
  imported: string;
57
68
  }
58
- type BabelUserConfig = Parameters<typeof transformAsync>[1] & {
69
+ type BabelUserConfig = Omit<InputOptions, "plugins" | "presets"> & {
59
70
  /**
60
71
  * The Babel plugins to be used during the build process
61
72
  */
@@ -63,7 +74,7 @@ type BabelUserConfig = Parameters<typeof transformAsync>[1] & {
63
74
  /**
64
75
  * The Babel presets to be used during the build process
65
76
  */
66
- presets?: BabelTransformPluginOptions[];
77
+ presets?: BabelTransformPresetOptions[];
67
78
  };
68
79
  type BabelResolvedConfig = Omit<BabelUserConfig, "plugins" | "presets"> & Required<Pick<BabelUserConfig, "plugins" | "presets">>;
69
80
  declare type __ΩNamedImportDefinition = any[];
@@ -72,8 +83,11 @@ declare type __ΩImportDefinition = any[];
72
83
  declare type __ΩBabelPluginPass = any[];
73
84
  declare type __ΩBabelTransformPluginFilter = any[];
74
85
  declare type __ΩBabelTransformPlugin = any[];
86
+ declare type __ΩBabelTransformPreset = any[];
75
87
  declare type __ΩBabelTransformPluginOptions = any[];
88
+ declare type __ΩBabelTransformPresetOptions = any[];
76
89
  declare type __ΩResolvedBabelTransformPluginOptions = any[];
90
+ declare type __ΩResolvedBabelTransformPresetOptions = any[];
77
91
  declare type __ΩBabelTransformInput = any[];
78
92
  declare type __ΩBabelTransformPluginBuilderParams = any[];
79
93
  declare type __ΩBabelTransformPluginBuilder = any[];
@@ -82,5 +96,5 @@ declare type __ΩImportSpecifier = any[];
82
96
  declare type __ΩBabelUserConfig = any[];
83
97
  declare type __ΩBabelResolvedConfig = any[];
84
98
  //#endregion
85
- export { BabelPluginPass, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, __ΩBabelPluginPass, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions };
99
+ export { BabelPluginPass, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelTransformPreset, BabelTransformPresetOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, ResolvedBabelTransformPresetOptions, __ΩBabelPluginPass, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelTransformPreset, __ΩBabelTransformPresetOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions, __ΩResolvedBabelTransformPresetOptions };
86
100
  //# sourceMappingURL=config.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.mts","names":[],"sources":["../../src/types/config.ts"],"mappings":";;;;;UA4BiB,qBAAA;EACf,IAAA;EACA,MAAA;EACA,IAAA;AAAA;AAAA,UAGe,uBAAA;EACf,MAAA;EACA,IAAA;AAAA;AAAA,KAGU,gBAAA,GAAmB,qBAAA,GAAwB,uBAAA;AAAA,KAE3C,eAAA,qBAAoC,UAAA,GAAa,MAAA;AAAA,KAEjD,0BAAA,IAA8B,IAAA,UAAc,EAAA;AAAA,KAE5C,oBAAA,kBACO,OAAA,GAAU,OAAA,mBACV,MAAA,gBAAsB,MAAA,qCAGvC,OAAA,EAAS,QAAA,MACL,OAAA;EACJ,IAAA;EACA,GAAA,EAAK,KAAA;EACL,GAAA,EAAK,QAAA;EACL,OAAA,EAAS,QAAA;EACT,OAAA,EAAS,QAAA;EACT,OAAA;AAAA,MACI,SAAA,CAAU,QAAA,GAAW,eAAA,CAAgB,MAAA;EACzC,MAAA;AAAA;AAAA,KAGU,2BAAA,kBACO,OAAA,GAAU,OAAA,mBACV,MAAA,gBAAsB,MAAA,mCAGrC,UAAA,GACA,oBAAA,CAAqB,QAAA,EAAU,QAAA,EAAU,MAAA,KACxC,oBAAA,CAAqB,QAAA,EAAU,QAAA,EAAU,MAAA,GAAS,QAAA,KAEjD,oBAAA,CAAqB,QAAA,EAAU,QAAA,EAAU,MAAA,GACzC,QAAA,EACA,0BAAA;AAAA,KAGM,mCAAA,kBACO,OAAA,GAAU,OAAA,mBACV,MAAA,gBAAsB,MAAA,mCAGrC,UAAA,IAEE,oBAAA,CAAqB,QAAA,EAAU,QAAA,EAAU,MAAA,GACzC,QAAA,EACA,0BAAA;AAAA,KAGM,mBAAA,GAAsB,IAAA,CAChC,gBAAA,GAAmB,QAAA,CAAS,IAAA,CAAK,gBAAA;AAAA,UAIlB,iCAAA,kBACE,OAAA,GAAU,OAAA,mBACV,MAAA,gBAAsB,MAAA;EAEvC,IAAA;EACA,GAAA,EAAK,KAAA;EACL,GAAA,EAAK,QAAA;EACL,OAAA,EAAS,QAAA;EACT,OAAA,EAAS,QAAA;EACT,OAAA;AAAA;AAAA,KAGU,2BAAA,kBACO,OAAA,GAAU,OAAA,mBACV,MAAA,gBAAsB,MAAA,gCAGvC,MAAA,EAAQ,iCAAA,CAAkC,QAAA,EAAU,QAAA,MACjD,SAAA,CAAU,MAAA,GAAS,eAAA,CAAgB,QAAA;AAAA,KAE5B,iCAAA,kBACO,OAAA,GAAU,OAAA,mBACV,MAAA,gBAAsB,MAAA,+BAErC,IAAA,CAAK,oBAAA,CAAqB,QAAA,EAAU,QAAA,EAAU,MAAA,eAChD,QAAA,CAAS,IAAA,CAAK,oBAAA,CAAqB,QAAA,EAAU,QAAA,EAAU,MAAA;;;;;;;;;;;;;UAcxC,eAAA;EACf,IAAA;EACA,MAAA;EACA,QAAA;AAAA;AAAA,KAGU,eAAA,GAAkB,UAAA,QAAkB,cAAA;EAxF9C;;;EA4FA,OAAA,GAAU,2BAAA;EAxFV;;;EA6FA,OAAA,GAAU,2BAAA;AAAA;AAAA,KAGA,mBAAA,GAAsB,IAAA,CAAK,eAAA,2BACrC,QAAA,CAAS,IAAA,CAAK,eAAA;AAAA"}
1
+ {"version":3,"file":"config.d.mts","names":[],"sources":["../../src/types/config.ts"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { BabelPluginPass, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, __ΩBabelPluginPass, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions } from "./config.cjs";
1
+ import { BabelPluginPass, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelTransformPreset, BabelTransformPresetOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, ResolvedBabelTransformPresetOptions, __ΩBabelPluginPass, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelTransformPreset, __ΩBabelTransformPresetOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions, __ΩResolvedBabelTransformPresetOptions } from "./config.cjs";
2
2
  import { BabelPluginContext, BabelPluginOptions, BabelPluginResolvedConfig, BabelPluginUserConfig, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig } from "./plugin.cjs";
3
- export { BabelPluginContext, BabelPluginOptions, BabelPluginPass, BabelPluginResolvedConfig, BabelPluginUserConfig, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginPass, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions };
3
+ export { BabelPluginContext, BabelPluginOptions, BabelPluginPass, BabelPluginResolvedConfig, BabelPluginUserConfig, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelTransformPreset, BabelTransformPresetOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, ResolvedBabelTransformPresetOptions, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginPass, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelTransformPreset, __ΩBabelTransformPresetOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions, __ΩResolvedBabelTransformPresetOptions };
@@ -1,3 +1,3 @@
1
- import { BabelPluginPass, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, __ΩBabelPluginPass, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions } from "./config.mjs";
1
+ import { BabelPluginPass, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelTransformPreset, BabelTransformPresetOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, ResolvedBabelTransformPresetOptions, __ΩBabelPluginPass, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelTransformPreset, __ΩBabelTransformPresetOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions, __ΩResolvedBabelTransformPresetOptions } from "./config.mjs";
2
2
  import { BabelPluginContext, BabelPluginOptions, BabelPluginResolvedConfig, BabelPluginUserConfig, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig } from "./plugin.mjs";
3
- export { BabelPluginContext, BabelPluginOptions, BabelPluginPass, BabelPluginResolvedConfig, BabelPluginUserConfig, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginPass, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions };
3
+ export { BabelPluginContext, BabelPluginOptions, BabelPluginPass, BabelPluginResolvedConfig, BabelPluginUserConfig, BabelResolvedConfig, BabelTransformInput, BabelTransformPlugin, BabelTransformPluginBuilder, BabelTransformPluginBuilderParams, BabelTransformPluginFilter, BabelTransformPluginOptions, BabelTransformPreset, BabelTransformPresetOptions, BabelUserConfig, DeclareBabelTransformPluginReturn, DefaultImportDefinition, ImportDefinition, ImportSpecifier, NamedImportDefinition, ResolvedBabelTransformPluginOptions, ResolvedBabelTransformPresetOptions, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginPass, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig, __ΩBabelResolvedConfig, __ΩBabelTransformInput, __ΩBabelTransformPlugin, __ΩBabelTransformPluginBuilder, __ΩBabelTransformPluginBuilderParams, __ΩBabelTransformPluginFilter, __ΩBabelTransformPluginOptions, __ΩBabelTransformPreset, __ΩBabelTransformPresetOptions, __ΩBabelUserConfig, __ΩDeclareBabelTransformPluginReturn, __ΩDefaultImportDefinition, __ΩImportDefinition, __ΩImportSpecifier, __ΩNamedImportDefinition, __ΩResolvedBabelTransformPluginOptions, __ΩResolvedBabelTransformPresetOptions };