@storm-stack/core
Version:
A build toolkit and runtime used by Storm Software in TypeScript applications
52 lines (46 loc) • 1.47 kB
JavaScript
var chunkVAN2N5DA_cjs = require('./chunk-VAN2N5DA.cjs');
var chunkGRNJVY7I_cjs = require('./chunk-GRNJVY7I.cjs');
var defu = require('defu');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var defu__default = /*#__PURE__*/_interopDefault(defu);
function transpilerPlugin(context, options = {}) {
const handleLoad = /* @__PURE__ */ chunkGRNJVY7I_cjs.__name(async (args) => {
if (args.path) {
const resolvedPath = context.vfs.resolvePath(args.path);
if (resolvedPath) {
const contents = await context.vfs.readFile(resolvedPath);
if (!contents) {
return;
}
const result = await context.compiler.transpile(context, resolvedPath, contents, defu__default.default(options, {
skipTransformUnimport: true,
babel: {
plugins: [
chunkVAN2N5DA_cjs.ModuleResolverPlugin(context),
...context.options.babel.plugins
]
}
}));
return {
contents: result,
pluginData: args.pluginData
};
}
}
return;
}, "handleLoad");
return {
name: "storm-stack:transpiler",
setup(build) {
build.onLoad({
filter: /.*/
}, handleLoad);
build.onLoad({
filter: /^storm:/
}, handleLoad);
}
};
}
chunkGRNJVY7I_cjs.__name(transpilerPlugin, "transpilerPlugin");
exports.transpilerPlugin = transpilerPlugin;
;