@soleil-se/build-app
Version:
Script for building WebApps, RESTApps, Widgets and MCP Servers with Svelte in Sitevision.
52 lines (46 loc) • 1.25 kB
JavaScript
import { babel } from '@rollup/plugin-babel';
import fse from 'fs-extra';
import { findUpSync } from 'find-up';
const commonOptions = {
babelrc: false,
extensions: ['.js', '.mjs', '.html', '.svelte', '.cjs', 'ts'],
babelHelpers: 'bundled',
};
function hasBrowserslist() {
return !!findUpSync('.browserslistrc') || !!fse.readJSONSync('./package.json')?.browserslist;
}
export function getBabelClientPlugin() {
const presetEnvOptions = {
shippedProposals: true,
...(hasBrowserslist() ? {} : {
targets: [
'last 2 chrome major versions',
'last 2 firefox major versions',
'last 2 ios_saf major versions',
'last 2 edge major versions',
'last 2 safari major versions',
'last 2 and_chr major versions',
],
}),
};
return babel({
...commonOptions,
presets: [
['@babel/preset-env', presetEnvOptions],
],
});
}
export function getBabelServerPlugin() {
return babel({
...commonOptions,
presets: [
['@babel/preset-env', {
exclude: ['@babel/plugin-transform-arrow-functions'],
forceAllTransforms: true,
ignoreBrowserslistConfig: true,
shippedProposals: true,
loose: true,
}],
],
});
}