123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- import resolve from '@rollup/plugin-node-resolve';
- import replace from '@rollup/plugin-replace';
- import commonjs from '@rollup/plugin-commonjs';
- import svelte from 'rollup-plugin-svelte';
- import babel from '@rollup/plugin-babel';
- import { terser } from 'rollup-plugin-terser';
- import config from 'sapper/config/rollup.js';
- import pkg from './package.json';
- const mode = process.env.NODE_ENV;
- const dev = mode === 'development';
- const legacy = !!process.env.SAPPER_LEGACY_BUILD;
- const onwarn = (warning, onwarn) =>
- (warning.code === 'MISSING_EXPORT' && /'preload'/.test(warning.message)) ||
- (warning.code === 'CIRCULAR_DEPENDENCY' && /[/\\]@sapper[/\\]/.test(warning.message)) ||
- onwarn(warning);
- export default {
- client: {
- input: config.client.input(),
- output: config.client.output(),
- plugins: [
- replace({
- 'process.browser': true,
- 'process.env.NODE_ENV': JSON.stringify(mode)
- }),
- svelte({
- dev,
- hydratable: true,
- emitCss: true
- }),
- resolve({
- browser: true,
- dedupe: ['svelte']
- }),
- commonjs(),
- legacy && babel({
- extensions: ['.js', '.mjs', '.html', '.svelte'],
- babelHelpers: 'runtime',
- exclude: ['node_modules/@babel/**'],
- presets: [
- ['@babel/preset-env', {
- targets: '> 0.25%, not dead'
- }]
- ],
- plugins: [
- '@babel/plugin-syntax-dynamic-import',
- ['@babel/plugin-transform-runtime', {
- useESModules: true
- }]
- ]
- }),
- !dev && terser({
- module: true
- })
- ],
- preserveEntrySignatures: false,
- onwarn,
- },
- server: {
- input: config.server.input(),
- output: config.server.output(),
- plugins: [
- replace({
- 'process.browser': false,
- 'process.env.NODE_ENV': JSON.stringify(mode)
- }),
- svelte({
- generate: 'ssr',
- hydratable: true,
- dev
- }),
- resolve({
- dedupe: ['svelte']
- }),
- commonjs()
- ],
- external: Object.keys(pkg.dependencies).concat(require('module').builtinModules),
- preserveEntrySignatures: 'strict',
- onwarn,
- },
- serviceworker: {
- input: config.serviceworker.input(),
- output: config.serviceworker.output(),
- plugins: [
- resolve(),
- replace({
- 'process.browser': true,
- 'process.env.NODE_ENV': JSON.stringify(mode)
- }),
- commonjs(),
- !dev && terser()
- ],
- preserveEntrySignatures: false,
- onwarn,
- }
- };
|