52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
"use strict";
|
|
|
|
const babelP = import("./lib/index.js");
|
|
let babel = null;
|
|
Object.defineProperty(exports, "__ initialize @babel/core cjs proxy __", {
|
|
set(val) {
|
|
babel = val;
|
|
},
|
|
});
|
|
|
|
const functionNames = [
|
|
"createConfigItem",
|
|
"loadPartialConfig",
|
|
"loadOptions",
|
|
"transform",
|
|
"transformFile",
|
|
"transformFromAst",
|
|
"parse",
|
|
];
|
|
const propertyNames = ["types", "tokTypes", "traverse", "template", "version"];
|
|
|
|
for (const name of functionNames) {
|
|
exports[name] = function (...args) {
|
|
babelP.then(babel => {
|
|
babel[name](...args);
|
|
});
|
|
};
|
|
exports[`${name}Async`] = function (...args) {
|
|
return babelP.then(babel => babel[`${name}Async`](...args));
|
|
};
|
|
exports[`${name}Sync`] = function (...args) {
|
|
if (!babel) throw notLoadedError(`${name}Sync`, "callable");
|
|
return babel[`${name}Sync`](...args);
|
|
};
|
|
}
|
|
|
|
for (const name of propertyNames) {
|
|
Object.defineProperty(exports, name, {
|
|
get() {
|
|
if (!babel) throw notLoadedError(name, "accessible");
|
|
return babel[name];
|
|
},
|
|
});
|
|
}
|
|
|
|
function notLoadedError(name, keyword) {
|
|
return new Error(
|
|
`The \`${name}\` export of @babel/core is only ${keyword}` +
|
|
` from the CommonJS version after that the ESM version is loaded.`
|
|
);
|
|
}
|