casterly
Version:
CLI for Casterly
28 lines (27 loc) • 1.21 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = (api, options = {}) => {
var _a, _b;
const useJsxRuntime = ((_a = options['preset-react']) === null || _a === void 0 ? void 0 : _a.runtime) === 'automatic' ||
(Boolean(api.caller((caller) => !!caller && caller.hasJsxRuntime)) &&
((_b = options['preset-react']) === null || _b === void 0 ? void 0 : _b.runtime) !== 'classic');
return {
sourceType: 'unambiguous',
presets: [
[require.resolve('@babel/preset-env'), options['preset-env']],
[
require.resolve('@babel/preset-typescript'),
options['preset-typescript'],
],
[
require.resolve('@babel/preset-react'),
Object.assign(Object.assign({}, options['preset-react']), { runtime: useJsxRuntime ? 'automatic' : 'classic' }),
],
],
plugins: [
require.resolve('@babel/plugin-transform-runtime'),
require.resolve('@babel/plugin-proposal-class-properties'),
require.resolve('@babel/plugin-syntax-dynamic-import'),
].filter(Boolean),
};
};
;