@soleil-se/build-app
Version:
Script for building WebApps, RESTApps and Widgets with Svelte in Sitevision.
48 lines (43 loc) • 1.2 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'],
babelHelpers: 'bundled',
};
function hasBrowserslist() {
return !!findUpSync('.browserslistrc') || !!fse.readJSONSync('./package.json')?.browserslist;
}
export function getBabelClientPlugin() {
return babel({
...commonOptions,
presets: [
['@babel/preset-env', {
shippedProposals: true,
targets: hasBrowserslist() ? [] : [
'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',
]
}],
],
});
}
export function getBabelServerPlugin() {
return babel({
...commonOptions,
presets: [
['@babel/preset-env', {
exclude: ['@babel/plugin-transform-arrow-functions'],
forceAllTransforms: true,
ignoreBrowserslistConfig: true,
shippedProposals: true,
loose: true,
}],
],
});
}