65 lines
1.8 KiB
JavaScript
65 lines
1.8 KiB
JavaScript
import commonjs from '@rollup/plugin-commonjs';
|
|
import json from '@rollup/plugin-json';
|
|
import resolve from '@rollup/plugin-node-resolve';
|
|
import replace from '@rollup/plugin-replace';
|
|
import terser from '@rollup/plugin-terser';
|
|
import typescript from '@rollup/plugin-typescript';
|
|
import autoprefixer from 'autoprefixer';
|
|
import atImport from 'postcss-import';
|
|
import copy from 'rollup-plugin-copy';
|
|
import postcss from 'rollup-plugin-postcss';
|
|
import reactSvg from 'rollup-plugin-react-svg';
|
|
import versionInjector from 'rollup-plugin-version-injector';
|
|
|
|
const { NODE_ENV: targetEnv = 'development' } = process.env;
|
|
const outDirBase = '../html_ui';
|
|
const panelDirBase = `${outDirBase}/Pages/VCockpit/Instruments/aircraft_efb/TFDi_MD11_efb`;
|
|
|
|
export default {
|
|
input: 'src/App.tsx',
|
|
output: {
|
|
dir: panelDirBase,
|
|
format: 'es',
|
|
sourcemap: targetEnv !== 'production',
|
|
manualChunks: (id) => {
|
|
if (id.includes('node_modules')) {
|
|
return 'vendor';
|
|
}
|
|
|
|
return null;
|
|
},
|
|
},
|
|
plugins: [
|
|
replace({
|
|
'process.env.NODE_ENV': JSON.stringify(targetEnv),
|
|
'import.meta.env': true,
|
|
'import.meta.env.MODE': JSON.stringify(targetEnv),
|
|
}),
|
|
versionInjector(),
|
|
postcss({
|
|
plugins: [autoprefixer(), atImport()],
|
|
extract: true,
|
|
use: ['sass'],
|
|
sourceMap: 'inline',
|
|
minimize: targetEnv === 'production',
|
|
}),
|
|
reactSvg(),
|
|
resolve(),
|
|
json(),
|
|
typescript(),
|
|
commonjs({
|
|
requireReturnsDefault: 'auto',
|
|
}),
|
|
targetEnv === 'production' && terser(),
|
|
copy({
|
|
targets: [{ src: ['src/assets/*', '!**/*.svg'], dest: `${panelDirBase}/assets` }],
|
|
}),
|
|
],
|
|
onwarn: function (warning, warn) {
|
|
if (warning.code === 'MODULE_LEVEL_DIRECTIVE') {
|
|
return;
|
|
}
|
|
warn(warning);
|
|
},
|
|
};
|