@powerlines/plugin-babel 0.12.425 → 0.12.426
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.cjs +29 -0
- package/dist/helpers/ast-utils.cjs +35 -0
- package/dist/helpers/ast-utils.d.cts +19 -0
- package/dist/helpers/ast-utils.d.cts.map +1 -0
- package/dist/helpers/ast-utils.d.mts +19 -0
- package/dist/helpers/ast-utils.d.mts.map +1 -0
- package/dist/helpers/ast-utils.mjs +32 -0
- package/dist/helpers/ast-utils.mjs.map +1 -0
- package/dist/helpers/create-plugin.cjs +42 -0
- package/dist/helpers/create-plugin.d.cts +15 -0
- package/dist/helpers/create-plugin.d.cts.map +1 -0
- package/dist/helpers/create-plugin.d.mts +15 -0
- package/dist/helpers/create-plugin.d.mts.map +1 -0
- package/dist/helpers/create-plugin.mjs +40 -0
- package/dist/helpers/create-plugin.mjs.map +1 -0
- package/dist/helpers/filters.cjs +74 -0
- package/dist/helpers/filters.d.cts +51 -0
- package/dist/helpers/filters.d.cts.map +1 -0
- package/dist/helpers/filters.d.mts +51 -0
- package/dist/helpers/filters.d.mts.map +1 -0
- package/dist/helpers/filters.mjs +69 -0
- package/dist/helpers/filters.mjs.map +1 -0
- package/dist/helpers/index.cjs +28 -0
- package/dist/helpers/index.d.cts +6 -0
- package/dist/helpers/index.d.mts +6 -0
- package/dist/helpers/index.mjs +7 -0
- package/dist/helpers/module-helpers.cjs +104 -0
- package/dist/helpers/module-helpers.d.cts +49 -0
- package/dist/helpers/module-helpers.d.cts.map +1 -0
- package/dist/helpers/module-helpers.d.mts +49 -0
- package/dist/helpers/module-helpers.d.mts.map +1 -0
- package/dist/helpers/module-helpers.mjs +96 -0
- package/dist/helpers/module-helpers.mjs.map +1 -0
- package/dist/helpers/options.cjs +116 -0
- package/dist/helpers/options.d.cts +44 -0
- package/dist/helpers/options.d.cts.map +1 -0
- package/dist/helpers/options.d.mts +44 -0
- package/dist/helpers/options.d.mts.map +1 -0
- package/dist/helpers/options.mjs +109 -0
- package/dist/helpers/options.mjs.map +1 -0
- package/dist/index.cjs +126 -0
- package/dist/index.d.cts +25 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +25 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +102 -0
- package/dist/index.mjs.map +1 -0
- package/dist/types/config.cjs +0 -0
- package/dist/types/config.d.cts +100 -0
- package/dist/types/config.d.cts.map +1 -0
- package/dist/types/config.d.mts +100 -0
- package/dist/types/config.d.mts.map +1 -0
- package/dist/types/config.mjs +1 -0
- package/dist/types/index.cjs +0 -0
- package/dist/types/index.d.cts +3 -0
- package/dist/types/index.d.mts +3 -0
- package/dist/types/index.mjs +1 -0
- package/dist/types/plugin.cjs +0 -0
- package/dist/types/plugin.d.cts +23 -0
- package/dist/types/plugin.d.cts.map +1 -0
- package/dist/types/plugin.d.mts +23 -0
- package/dist/types/plugin.d.mts.map +1 -0
- package/dist/types/plugin.mjs +1 -0
- package/package.json +7 -7
|
@@ -0,0 +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 {\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
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
2
|
+
const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
|
|
3
|
+
const require_helpers_filters = require('./helpers/filters.cjs');
|
|
4
|
+
const require_helpers_options = require('./helpers/options.cjs');
|
|
5
|
+
const require_helpers_ast_utils = require('./helpers/ast-utils.cjs');
|
|
6
|
+
const require_helpers_create_plugin = require('./helpers/create-plugin.cjs');
|
|
7
|
+
const require_helpers_module_helpers = require('./helpers/module-helpers.cjs');
|
|
8
|
+
require('./helpers/index.cjs');
|
|
9
|
+
let _babel_core = require("@babel/core");
|
|
10
|
+
let _powerlines_core_constants = require("@powerlines/core/constants");
|
|
11
|
+
let _stryke_helpers_omit = require("@stryke/helpers/omit");
|
|
12
|
+
let _stryke_path_file_path_fns = require("@stryke/path/file-path-fns");
|
|
13
|
+
let _stryke_path_is_parent_path = require("@stryke/path/is-parent-path");
|
|
14
|
+
let _stryke_type_checks_is_empty_object = require("@stryke/type-checks/is-empty-object");
|
|
15
|
+
let _stryke_type_checks_is_set_object = require("@stryke/type-checks/is-set-object");
|
|
16
|
+
let defu = require("defu");
|
|
17
|
+
defu = require_runtime.__toESM(defu, 1);
|
|
18
|
+
let node_util_types = require("node:util/types");
|
|
19
|
+
|
|
20
|
+
//#region src/index.ts
|
|
21
|
+
/**
|
|
22
|
+
* Babel plugin for Powerlines.
|
|
23
|
+
*
|
|
24
|
+
* @param options - The Babel plugin user configuration options.
|
|
25
|
+
* @returns A Powerlines plugin that integrates Babel transformations.
|
|
26
|
+
*/
|
|
27
|
+
const plugin = (options = {}) => {
|
|
28
|
+
return {
|
|
29
|
+
name: "babel",
|
|
30
|
+
config() {
|
|
31
|
+
if (!(0, _stryke_type_checks_is_set_object.isSetObject)(options)) return;
|
|
32
|
+
return { babel: options };
|
|
33
|
+
},
|
|
34
|
+
configResolved: {
|
|
35
|
+
order: "pre",
|
|
36
|
+
handler() {
|
|
37
|
+
this.config.babel = (0, defu.default)(this.config.babel ?? {}, {
|
|
38
|
+
plugins: [],
|
|
39
|
+
presets: []
|
|
40
|
+
});
|
|
41
|
+
this.config.babel.plugins = require_helpers_options.getUniquePlugins(this.config.babel.plugins);
|
|
42
|
+
this.config.babel.presets = require_helpers_options.getUniquePresets(this.config.babel.presets);
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
async transform(code, id) {
|
|
46
|
+
if ((0, _stryke_path_is_parent_path.isParentPath)(id, this.powerlinesPath) || code.includes("/* @powerlines-ignore */") || code.includes("/* @powerlines-disable */")) {
|
|
47
|
+
this.trace(`Skipping Babel transformation for: ${id}`);
|
|
48
|
+
return {
|
|
49
|
+
code,
|
|
50
|
+
id
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
const plugins = require_helpers_options.getUniquePlugins(this.config.babel.plugins.map((plugin) => require_helpers_options.resolveBabelPlugin(this, code, id, plugin)).filter(Boolean));
|
|
54
|
+
const presets = require_helpers_options.getUniquePresets(this.config.babel.presets.map((preset) => require_helpers_options.resolveBabelPreset(this, code, id, preset)).filter(Boolean));
|
|
55
|
+
if (Array.isArray(plugins) && plugins.length === 0 && Array.isArray(presets) && presets.length === 0) return {
|
|
56
|
+
code,
|
|
57
|
+
id
|
|
58
|
+
};
|
|
59
|
+
if (!this.config.babel?.skipConfigResolution) {
|
|
60
|
+
if (/^(?: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");
|
|
61
|
+
if (/^(?:t|j)sx$/.test((0, _stryke_path_file_path_fns.findFileExtensionSafe)(id, { fullExtension: true })) && !require_helpers_filters.isDuplicatePlugin(plugins, "@babel/plugin-syntax-jsx") && !require_helpers_filters.isDuplicatePreset(presets, "@babel/preset-react")) plugins.unshift("@babel/plugin-syntax-jsx");
|
|
62
|
+
}
|
|
63
|
+
this.trace(`Running babel transformations with ${plugins.length} plugins and ${presets.length} presets for file: ${id}`);
|
|
64
|
+
const result = await (0, _babel_core.transformAsync)(code, {
|
|
65
|
+
cwd: this.config.cwd,
|
|
66
|
+
highlightCode: true,
|
|
67
|
+
code: true,
|
|
68
|
+
ast: false,
|
|
69
|
+
cloneInputAst: false,
|
|
70
|
+
comments: true,
|
|
71
|
+
sourceType: "module",
|
|
72
|
+
configFile: false,
|
|
73
|
+
babelrc: false,
|
|
74
|
+
envName: this.config.mode,
|
|
75
|
+
caller: { name: this.config.framework },
|
|
76
|
+
...(0, _stryke_helpers_omit.omit)(this.config.babel ?? {}, ["skipConfigResolution"]),
|
|
77
|
+
filename: id.replace(_powerlines_core_constants.VIRTUAL_MODULE_PREFIX_REGEX, ""),
|
|
78
|
+
plugins: plugins.map((plugin) => {
|
|
79
|
+
if (Array.isArray(plugin) && plugin.length >= 2) {
|
|
80
|
+
if (plugin.slice(1).every((item) => !(0, node_util_types.isSet)(item) || (0, _stryke_type_checks_is_empty_object.isEmptyObject)(item))) return plugin[0];
|
|
81
|
+
return [plugin[0], plugin.length > 1 && plugin[1] ? plugin[1] : {}];
|
|
82
|
+
}
|
|
83
|
+
return plugin;
|
|
84
|
+
}).filter(Boolean),
|
|
85
|
+
presets: presets.map((preset) => {
|
|
86
|
+
if (Array.isArray(preset) && preset.length >= 2) {
|
|
87
|
+
if (preset.slice(1).every((item) => !(0, node_util_types.isSet)(item) || (0, _stryke_type_checks_is_empty_object.isEmptyObject)(item))) return preset[0];
|
|
88
|
+
return [preset[0], preset.length > 1 && preset[1] ? preset[1] : {}];
|
|
89
|
+
}
|
|
90
|
+
return preset;
|
|
91
|
+
}).filter(Boolean)
|
|
92
|
+
});
|
|
93
|
+
if (!result?.code) throw new Error(`Powerlines - Babel plugin failed to compile ${id}`);
|
|
94
|
+
this.trace(`Completed babel transformations for file: ${id}`);
|
|
95
|
+
return {
|
|
96
|
+
code: result.code,
|
|
97
|
+
id
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
//#endregion
|
|
104
|
+
exports.addImport = require_helpers_module_helpers.addImport;
|
|
105
|
+
exports.addImportsToProgram = require_helpers_module_helpers.addImportsToProgram;
|
|
106
|
+
exports.addPluginFilter = require_helpers_filters.addPluginFilter;
|
|
107
|
+
exports.createBabelPlugin = require_helpers_create_plugin.createBabelPlugin;
|
|
108
|
+
exports.default = plugin;
|
|
109
|
+
exports.plugin = plugin;
|
|
110
|
+
exports.filterPluginByFileId = require_helpers_filters.filterPluginByFileId;
|
|
111
|
+
exports.findExport = require_helpers_module_helpers.findExport;
|
|
112
|
+
exports.generateFromAst = require_helpers_ast_utils.generateFromAst;
|
|
113
|
+
exports.getImport = require_helpers_module_helpers.getImport;
|
|
114
|
+
exports.getPluginName = require_helpers_filters.getPluginName;
|
|
115
|
+
exports.getUniquePlugins = require_helpers_options.getUniquePlugins;
|
|
116
|
+
exports.getUniquePresets = require_helpers_options.getUniquePresets;
|
|
117
|
+
exports.isDuplicatePlugin = require_helpers_filters.isDuplicatePlugin;
|
|
118
|
+
exports.isDuplicatePreset = require_helpers_filters.isDuplicatePreset;
|
|
119
|
+
exports.isImportCall = require_helpers_module_helpers.isImportCall;
|
|
120
|
+
exports.listExports = require_helpers_module_helpers.listExports;
|
|
121
|
+
exports.listImports = require_helpers_module_helpers.listImports;
|
|
122
|
+
exports.parseAst = require_helpers_ast_utils.parseAst;
|
|
123
|
+
exports.resolveBabelPlugin = require_helpers_options.resolveBabelPlugin;
|
|
124
|
+
exports.resolveBabelPreset = require_helpers_options.resolveBabelPreset;
|
|
125
|
+
exports.resolvePluginFunction = require_helpers_options.resolvePluginFunction;
|
|
126
|
+
exports.resolvePresetFunction = require_helpers_options.resolvePresetFunction;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { GenerateFromAstOptions, GeneratorResult, __ΩGenerateFromAstOptions, generateFromAst, parseAst } from "./helpers/ast-utils.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
|
+
import { createBabelPlugin } from "./helpers/create-plugin.cjs";
|
|
4
|
+
import { addPluginFilter, filterPluginByFileId, getPluginName, isDuplicatePlugin, isDuplicatePreset } from "./helpers/filters.cjs";
|
|
5
|
+
import { addImport, addImportsToProgram, findExport, getImport, isImportCall, listExports, listImports } from "./helpers/module-helpers.cjs";
|
|
6
|
+
import { getUniquePlugins, getUniquePresets, resolveBabelPlugin, resolveBabelPreset, resolvePluginFunction, resolvePresetFunction } from "./helpers/options.cjs";
|
|
7
|
+
import { BabelPluginContext, BabelPluginOptions, BabelPluginResolvedConfig, BabelPluginUserConfig, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig } from "./types/plugin.cjs";
|
|
8
|
+
import { Plugin } from "@powerlines/core";
|
|
9
|
+
|
|
10
|
+
//#region src/index.d.ts
|
|
11
|
+
declare module "@powerlines/core" {
|
|
12
|
+
interface Config {
|
|
13
|
+
babel?: BabelPluginOptions;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Babel plugin for Powerlines.
|
|
18
|
+
*
|
|
19
|
+
* @param options - The Babel plugin user configuration options.
|
|
20
|
+
* @returns A Powerlines plugin that integrates Babel transformations.
|
|
21
|
+
*/
|
|
22
|
+
declare const plugin: <TContext extends BabelPluginContext = BabelPluginContext>(options?: BabelPluginOptions) => Plugin<TContext>;
|
|
23
|
+
//#endregion
|
|
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
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;;YA6CY,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
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { GenerateFromAstOptions, GeneratorResult, __ΩGenerateFromAstOptions, generateFromAst, parseAst } from "./helpers/ast-utils.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
|
+
import { createBabelPlugin } from "./helpers/create-plugin.mjs";
|
|
4
|
+
import { addPluginFilter, filterPluginByFileId, getPluginName, isDuplicatePlugin, isDuplicatePreset } from "./helpers/filters.mjs";
|
|
5
|
+
import { addImport, addImportsToProgram, findExport, getImport, isImportCall, listExports, listImports } from "./helpers/module-helpers.mjs";
|
|
6
|
+
import { getUniquePlugins, getUniquePresets, resolveBabelPlugin, resolveBabelPreset, resolvePluginFunction, resolvePresetFunction } from "./helpers/options.mjs";
|
|
7
|
+
import { BabelPluginContext, BabelPluginOptions, BabelPluginResolvedConfig, BabelPluginUserConfig, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig } from "./types/plugin.mjs";
|
|
8
|
+
import { Plugin } from "@powerlines/core";
|
|
9
|
+
|
|
10
|
+
//#region src/index.d.ts
|
|
11
|
+
declare module "@powerlines/core" {
|
|
12
|
+
interface Config {
|
|
13
|
+
babel?: BabelPluginOptions;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Babel plugin for Powerlines.
|
|
18
|
+
*
|
|
19
|
+
* @param options - The Babel plugin user configuration options.
|
|
20
|
+
* @returns A Powerlines plugin that integrates Babel transformations.
|
|
21
|
+
*/
|
|
22
|
+
declare const plugin: <TContext extends BabelPluginContext = BabelPluginContext>(options?: BabelPluginOptions) => Plugin<TContext>;
|
|
23
|
+
//#endregion
|
|
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
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;;YA6CY,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
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { addPluginFilter, filterPluginByFileId, getPluginName, isDuplicatePlugin, isDuplicatePreset } from "./helpers/filters.mjs";
|
|
2
|
+
import { getUniquePlugins, getUniquePresets, resolveBabelPlugin, resolveBabelPreset, resolvePluginFunction, resolvePresetFunction } from "./helpers/options.mjs";
|
|
3
|
+
import { generateFromAst, parseAst } from "./helpers/ast-utils.mjs";
|
|
4
|
+
import { createBabelPlugin } from "./helpers/create-plugin.mjs";
|
|
5
|
+
import { addImport, addImportsToProgram, findExport, getImport, isImportCall, listExports, listImports } from "./helpers/module-helpers.mjs";
|
|
6
|
+
import "./helpers/index.mjs";
|
|
7
|
+
import { transformAsync } from "@babel/core";
|
|
8
|
+
import { VIRTUAL_MODULE_PREFIX_REGEX } from "@powerlines/core/constants";
|
|
9
|
+
import { omit } from "@stryke/helpers/omit";
|
|
10
|
+
import { findFileExtensionSafe } from "@stryke/path/file-path-fns";
|
|
11
|
+
import { isParentPath } from "@stryke/path/is-parent-path";
|
|
12
|
+
import { isEmptyObject } from "@stryke/type-checks/is-empty-object";
|
|
13
|
+
import { isSetObject } from "@stryke/type-checks/is-set-object";
|
|
14
|
+
import defu from "defu";
|
|
15
|
+
import { isSet } from "node:util/types";
|
|
16
|
+
|
|
17
|
+
//#region src/index.ts
|
|
18
|
+
/**
|
|
19
|
+
* Babel plugin for Powerlines.
|
|
20
|
+
*
|
|
21
|
+
* @param options - The Babel plugin user configuration options.
|
|
22
|
+
* @returns A Powerlines plugin that integrates Babel transformations.
|
|
23
|
+
*/
|
|
24
|
+
const plugin = (options = {}) => {
|
|
25
|
+
return {
|
|
26
|
+
name: "babel",
|
|
27
|
+
config() {
|
|
28
|
+
if (!isSetObject(options)) return;
|
|
29
|
+
return { babel: options };
|
|
30
|
+
},
|
|
31
|
+
configResolved: {
|
|
32
|
+
order: "pre",
|
|
33
|
+
handler() {
|
|
34
|
+
this.config.babel = defu(this.config.babel ?? {}, {
|
|
35
|
+
plugins: [],
|
|
36
|
+
presets: []
|
|
37
|
+
});
|
|
38
|
+
this.config.babel.plugins = getUniquePlugins(this.config.babel.plugins);
|
|
39
|
+
this.config.babel.presets = getUniquePresets(this.config.babel.presets);
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
async transform(code, id) {
|
|
43
|
+
if (isParentPath(id, this.powerlinesPath) || code.includes("/* @powerlines-ignore */") || code.includes("/* @powerlines-disable */")) {
|
|
44
|
+
this.trace(`Skipping Babel transformation for: ${id}`);
|
|
45
|
+
return {
|
|
46
|
+
code,
|
|
47
|
+
id
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const plugins = getUniquePlugins(this.config.babel.plugins.map((plugin) => resolveBabelPlugin(this, code, id, plugin)).filter(Boolean));
|
|
51
|
+
const presets = getUniquePresets(this.config.babel.presets.map((preset) => resolveBabelPreset(this, code, id, preset)).filter(Boolean));
|
|
52
|
+
if (Array.isArray(plugins) && plugins.length === 0 && Array.isArray(presets) && presets.length === 0) return {
|
|
53
|
+
code,
|
|
54
|
+
id
|
|
55
|
+
};
|
|
56
|
+
if (!this.config.babel?.skipConfigResolution) {
|
|
57
|
+
if (/^(?: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");
|
|
58
|
+
if (/^(?:t|j)sx$/.test(findFileExtensionSafe(id, { fullExtension: true })) && !isDuplicatePlugin(plugins, "@babel/plugin-syntax-jsx") && !isDuplicatePreset(presets, "@babel/preset-react")) plugins.unshift("@babel/plugin-syntax-jsx");
|
|
59
|
+
}
|
|
60
|
+
this.trace(`Running babel transformations with ${plugins.length} plugins and ${presets.length} presets for file: ${id}`);
|
|
61
|
+
const result = await transformAsync(code, {
|
|
62
|
+
cwd: this.config.cwd,
|
|
63
|
+
highlightCode: true,
|
|
64
|
+
code: true,
|
|
65
|
+
ast: false,
|
|
66
|
+
cloneInputAst: false,
|
|
67
|
+
comments: true,
|
|
68
|
+
sourceType: "module",
|
|
69
|
+
configFile: false,
|
|
70
|
+
babelrc: false,
|
|
71
|
+
envName: this.config.mode,
|
|
72
|
+
caller: { name: this.config.framework },
|
|
73
|
+
...omit(this.config.babel ?? {}, ["skipConfigResolution"]),
|
|
74
|
+
filename: id.replace(VIRTUAL_MODULE_PREFIX_REGEX, ""),
|
|
75
|
+
plugins: plugins.map((plugin) => {
|
|
76
|
+
if (Array.isArray(plugin) && plugin.length >= 2) {
|
|
77
|
+
if (plugin.slice(1).every((item) => !isSet(item) || isEmptyObject(item))) return plugin[0];
|
|
78
|
+
return [plugin[0], plugin.length > 1 && plugin[1] ? plugin[1] : {}];
|
|
79
|
+
}
|
|
80
|
+
return plugin;
|
|
81
|
+
}).filter(Boolean),
|
|
82
|
+
presets: presets.map((preset) => {
|
|
83
|
+
if (Array.isArray(preset) && preset.length >= 2) {
|
|
84
|
+
if (preset.slice(1).every((item) => !isSet(item) || isEmptyObject(item))) return preset[0];
|
|
85
|
+
return [preset[0], preset.length > 1 && preset[1] ? preset[1] : {}];
|
|
86
|
+
}
|
|
87
|
+
return preset;
|
|
88
|
+
}).filter(Boolean)
|
|
89
|
+
});
|
|
90
|
+
if (!result?.code) throw new Error(`Powerlines - Babel plugin failed to compile ${id}`);
|
|
91
|
+
this.trace(`Completed babel transformations for file: ${id}`);
|
|
92
|
+
return {
|
|
93
|
+
code: result.code,
|
|
94
|
+
id
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
//#endregion
|
|
101
|
+
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 };
|
|
102
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +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 { PluginItem, PresetItem, transformAsync } from \"@babel/core\";\nimport type { Plugin } from \"@powerlines/core\";\nimport { VIRTUAL_MODULE_PREFIX_REGEX } from \"@powerlines/core/constants\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { findFileExtensionSafe } from \"@stryke/path/file-path-fns\";\nimport { isParentPath } from \"@stryke/path/is-parent-path\";\nimport { isEmptyObject } from \"@stryke/type-checks/is-empty-object\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport defu from \"defu\";\nimport { isSet } from \"node:util/types\";\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 (!this.config.babel?.skipConfigResolution) {\n if (\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(\"@babel/plugin-syntax-typescript\");\n }\n\n if (\n /^(?:t|j)sx$/.test(\n findFileExtensionSafe(id, {\n fullExtension: true\n })\n ) &&\n !isDuplicatePlugin(plugins, \"@babel/plugin-syntax-jsx\") &&\n !isDuplicatePreset(presets, \"@babel/preset-react\")\n ) {\n plugins.unshift(\"@babel/plugin-syntax-jsx\");\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 ...omit(this.config.babel ?? {}, [\"skipConfigResolution\"]),\n filename: id.replace(VIRTUAL_MODULE_PREFIX_REGEX, \"\"),\n plugins: plugins\n .map(plugin => {\n if (Array.isArray(plugin) && plugin.length >= 2) {\n if (\n plugin\n .slice(1)\n .every(item => !isSet(item) || isEmptyObject(item))\n ) {\n return plugin[0];\n }\n\n return [\n plugin[0],\n plugin.length > 1 && plugin[1] ? plugin[1] : {}\n ];\n }\n\n return plugin;\n })\n .filter(Boolean) as PluginItem<object>[],\n presets: presets\n .map(preset => {\n if (Array.isArray(preset) && preset.length >= 2) {\n if (\n preset\n .slice(1)\n .every(item => !isSet(item) || isEmptyObject(item))\n ) {\n return preset[0];\n }\n\n return [\n preset[0],\n preset.length > 1 && preset[1] ? preset[1] : {}\n ];\n }\n\n return 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":"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"}
|
|
File without changes
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Context, LogFn } from "@powerlines/core";
|
|
2
|
+
import { ConfigItem, InputOptions, PluginAPI, PluginItem, PluginObject, PluginPass, PluginTarget, PresetAPI, PresetItem, PresetObject, PresetTarget } from "@babel/core";
|
|
3
|
+
|
|
4
|
+
//#region src/types/config.d.ts
|
|
5
|
+
interface NamedImportDefinition {
|
|
6
|
+
name: string;
|
|
7
|
+
source: string;
|
|
8
|
+
kind: "named";
|
|
9
|
+
}
|
|
10
|
+
interface DefaultImportDefinition {
|
|
11
|
+
source: string;
|
|
12
|
+
kind: "default";
|
|
13
|
+
}
|
|
14
|
+
type ImportDefinition = NamedImportDefinition | DefaultImportDefinition;
|
|
15
|
+
type BabelPluginPass<TState = unknown> = PluginPass & TState;
|
|
16
|
+
type BabelTransformPluginFilter = (code: string, id: string) => boolean;
|
|
17
|
+
type BabelTransformPlugin<TContext extends Context = Context, TOptions extends object = object, TState = unknown> = ((context: TContext) => (options: {
|
|
18
|
+
name: string;
|
|
19
|
+
log: LogFn;
|
|
20
|
+
api: PluginAPI;
|
|
21
|
+
options: TOptions;
|
|
22
|
+
context: TContext;
|
|
23
|
+
dirname: string;
|
|
24
|
+
}) => PluginObject<TOptions & BabelPluginPass<TState>>) & {
|
|
25
|
+
$$name: string;
|
|
26
|
+
};
|
|
27
|
+
type BabelTransformPreset<TContext extends Context = Context, TOptions extends object = object> = ((context: TContext) => (options: {
|
|
28
|
+
name: string;
|
|
29
|
+
log: LogFn;
|
|
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] | [PresetTarget<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;
|
|
46
|
+
options: TOptions;
|
|
47
|
+
context: TContext;
|
|
48
|
+
dirname: string;
|
|
49
|
+
}
|
|
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">>;
|
|
52
|
+
/**
|
|
53
|
+
* A non-local import specifier represents an import that is not defined within the current module.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* import { bar as baz } from 'foo';
|
|
58
|
+
* // { name: 'baz', module: 'foo', imported: 'bar' }
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* @remarks
|
|
62
|
+
* It captures the details of an import statement, including the local name used in the module, the source module from which it is imported, and the original name of the export in the source module.
|
|
63
|
+
*/
|
|
64
|
+
interface ImportSpecifier {
|
|
65
|
+
name?: string;
|
|
66
|
+
module: string;
|
|
67
|
+
imported: string;
|
|
68
|
+
}
|
|
69
|
+
type BabelUserConfig = Omit<InputOptions, "plugins" | "presets"> & {
|
|
70
|
+
/**
|
|
71
|
+
* The Babel plugins to be used during the build process
|
|
72
|
+
*/
|
|
73
|
+
plugins?: BabelTransformPluginOptions[];
|
|
74
|
+
/**
|
|
75
|
+
* The Babel presets to be used during the build process
|
|
76
|
+
*/
|
|
77
|
+
presets?: BabelTransformPresetOptions[];
|
|
78
|
+
};
|
|
79
|
+
type BabelResolvedConfig = Omit<BabelUserConfig, "plugins" | "presets"> & Required<Pick<BabelUserConfig, "plugins" | "presets">>;
|
|
80
|
+
declare type __ΩNamedImportDefinition = any[];
|
|
81
|
+
declare type __ΩDefaultImportDefinition = any[];
|
|
82
|
+
declare type __ΩImportDefinition = any[];
|
|
83
|
+
declare type __ΩBabelPluginPass = any[];
|
|
84
|
+
declare type __ΩBabelTransformPluginFilter = any[];
|
|
85
|
+
declare type __ΩBabelTransformPlugin = any[];
|
|
86
|
+
declare type __ΩBabelTransformPreset = any[];
|
|
87
|
+
declare type __ΩBabelTransformPluginOptions = any[];
|
|
88
|
+
declare type __ΩBabelTransformPresetOptions = any[];
|
|
89
|
+
declare type __ΩResolvedBabelTransformPluginOptions = any[];
|
|
90
|
+
declare type __ΩResolvedBabelTransformPresetOptions = any[];
|
|
91
|
+
declare type __ΩBabelTransformInput = any[];
|
|
92
|
+
declare type __ΩBabelTransformPluginBuilderParams = any[];
|
|
93
|
+
declare type __ΩBabelTransformPluginBuilder = any[];
|
|
94
|
+
declare type __ΩDeclareBabelTransformPluginReturn = any[];
|
|
95
|
+
declare type __ΩImportSpecifier = any[];
|
|
96
|
+
declare type __ΩBabelUserConfig = any[];
|
|
97
|
+
declare type __ΩBabelResolvedConfig = any[];
|
|
98
|
+
//#endregion
|
|
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 };
|
|
100
|
+
//# sourceMappingURL=config.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.cts","names":[],"sources":["../../src/types/config.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { ConfigItem, InputOptions, PluginAPI, PluginItem, PluginObject, PluginPass, PluginTarget, PresetAPI, PresetItem, PresetObject, PresetTarget } from "@babel/core";
|
|
2
|
+
import { Context, LogFn } from "@powerlines/core";
|
|
3
|
+
|
|
4
|
+
//#region src/types/config.d.ts
|
|
5
|
+
interface NamedImportDefinition {
|
|
6
|
+
name: string;
|
|
7
|
+
source: string;
|
|
8
|
+
kind: "named";
|
|
9
|
+
}
|
|
10
|
+
interface DefaultImportDefinition {
|
|
11
|
+
source: string;
|
|
12
|
+
kind: "default";
|
|
13
|
+
}
|
|
14
|
+
type ImportDefinition = NamedImportDefinition | DefaultImportDefinition;
|
|
15
|
+
type BabelPluginPass<TState = unknown> = PluginPass & TState;
|
|
16
|
+
type BabelTransformPluginFilter = (code: string, id: string) => boolean;
|
|
17
|
+
type BabelTransformPlugin<TContext extends Context = Context, TOptions extends object = object, TState = unknown> = ((context: TContext) => (options: {
|
|
18
|
+
name: string;
|
|
19
|
+
log: LogFn;
|
|
20
|
+
api: PluginAPI;
|
|
21
|
+
options: TOptions;
|
|
22
|
+
context: TContext;
|
|
23
|
+
dirname: string;
|
|
24
|
+
}) => PluginObject<TOptions & BabelPluginPass<TState>>) & {
|
|
25
|
+
$$name: string;
|
|
26
|
+
};
|
|
27
|
+
type BabelTransformPreset<TContext extends Context = Context, TOptions extends object = object> = ((context: TContext) => (options: {
|
|
28
|
+
name: string;
|
|
29
|
+
log: LogFn;
|
|
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] | [PresetTarget<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;
|
|
46
|
+
options: TOptions;
|
|
47
|
+
context: TContext;
|
|
48
|
+
dirname: string;
|
|
49
|
+
}
|
|
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">>;
|
|
52
|
+
/**
|
|
53
|
+
* A non-local import specifier represents an import that is not defined within the current module.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* import { bar as baz } from 'foo';
|
|
58
|
+
* // { name: 'baz', module: 'foo', imported: 'bar' }
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* @remarks
|
|
62
|
+
* It captures the details of an import statement, including the local name used in the module, the source module from which it is imported, and the original name of the export in the source module.
|
|
63
|
+
*/
|
|
64
|
+
interface ImportSpecifier {
|
|
65
|
+
name?: string;
|
|
66
|
+
module: string;
|
|
67
|
+
imported: string;
|
|
68
|
+
}
|
|
69
|
+
type BabelUserConfig = Omit<InputOptions, "plugins" | "presets"> & {
|
|
70
|
+
/**
|
|
71
|
+
* The Babel plugins to be used during the build process
|
|
72
|
+
*/
|
|
73
|
+
plugins?: BabelTransformPluginOptions[];
|
|
74
|
+
/**
|
|
75
|
+
* The Babel presets to be used during the build process
|
|
76
|
+
*/
|
|
77
|
+
presets?: BabelTransformPresetOptions[];
|
|
78
|
+
};
|
|
79
|
+
type BabelResolvedConfig = Omit<BabelUserConfig, "plugins" | "presets"> & Required<Pick<BabelUserConfig, "plugins" | "presets">>;
|
|
80
|
+
declare type __ΩNamedImportDefinition = any[];
|
|
81
|
+
declare type __ΩDefaultImportDefinition = any[];
|
|
82
|
+
declare type __ΩImportDefinition = any[];
|
|
83
|
+
declare type __ΩBabelPluginPass = any[];
|
|
84
|
+
declare type __ΩBabelTransformPluginFilter = any[];
|
|
85
|
+
declare type __ΩBabelTransformPlugin = any[];
|
|
86
|
+
declare type __ΩBabelTransformPreset = any[];
|
|
87
|
+
declare type __ΩBabelTransformPluginOptions = any[];
|
|
88
|
+
declare type __ΩBabelTransformPresetOptions = any[];
|
|
89
|
+
declare type __ΩResolvedBabelTransformPluginOptions = any[];
|
|
90
|
+
declare type __ΩResolvedBabelTransformPresetOptions = any[];
|
|
91
|
+
declare type __ΩBabelTransformInput = any[];
|
|
92
|
+
declare type __ΩBabelTransformPluginBuilderParams = any[];
|
|
93
|
+
declare type __ΩBabelTransformPluginBuilder = any[];
|
|
94
|
+
declare type __ΩDeclareBabelTransformPluginReturn = any[];
|
|
95
|
+
declare type __ΩImportSpecifier = any[];
|
|
96
|
+
declare type __ΩBabelUserConfig = any[];
|
|
97
|
+
declare type __ΩBabelResolvedConfig = any[];
|
|
98
|
+
//#endregion
|
|
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 };
|
|
100
|
+
//# sourceMappingURL=config.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.mts","names":[],"sources":["../../src/types/config.ts"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
File without changes
|
|
@@ -0,0 +1,3 @@
|
|
|
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
|
+
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, 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 };
|
|
@@ -0,0 +1,3 @@
|
|
|
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
|
+
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, 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 };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
File without changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BabelResolvedConfig, BabelUserConfig } from "./config.cjs";
|
|
2
|
+
import { PluginContext, ResolvedConfig, UserConfig } from "@powerlines/core";
|
|
3
|
+
|
|
4
|
+
//#region src/types/plugin.d.ts
|
|
5
|
+
type BabelPluginOptions = Partial<BabelUserConfig> & {
|
|
6
|
+
skipConfigResolution?: boolean;
|
|
7
|
+
};
|
|
8
|
+
type BabelPluginUserConfig = UserConfig & {
|
|
9
|
+
babel?: BabelPluginOptions;
|
|
10
|
+
};
|
|
11
|
+
interface BabelPluginResolvedConfig extends ResolvedConfig {
|
|
12
|
+
babel: BabelResolvedConfig & {
|
|
13
|
+
skipConfigResolution?: boolean;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
type BabelPluginContext<TResolvedConfig extends BabelPluginResolvedConfig = BabelPluginResolvedConfig> = PluginContext<TResolvedConfig>;
|
|
17
|
+
declare type __ΩBabelPluginOptions = any[];
|
|
18
|
+
declare type __ΩBabelPluginUserConfig = any[];
|
|
19
|
+
declare type __ΩBabelPluginResolvedConfig = any[];
|
|
20
|
+
declare type __ΩBabelPluginContext = any[];
|
|
21
|
+
//#endregion
|
|
22
|
+
export { BabelPluginContext, BabelPluginOptions, BabelPluginResolvedConfig, BabelPluginUserConfig, __ΩBabelPluginContext, __ΩBabelPluginOptions, __ΩBabelPluginResolvedConfig, __ΩBabelPluginUserConfig };
|
|
23
|
+
//# sourceMappingURL=plugin.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.cts","names":[],"sources":["../../src/types/plugin.ts"],"mappings":";;;;KAyBY,kBAAA,GAAqB,OAAA,CAAQ,eAAA;EACvC,oBAAA;AAAA;AAAA,KAGU,qBAAA,GAAwB,UAAA;EAClC,KAAA,GAAQ,kBAAA;AAAA;AAAA,UAGO,yBAAA,SAAkC,cAAA;EACjD,KAAA,EAAO,mBAAA;IACL,oBAAA;EAAA;AAAA;AAAA,KAIQ,kBAAA,yBACc,yBAAA,GAA4B,yBAAA,IAClD,aAAA,CAAc,eAAA;AAAA"}
|