use Rollup

This commit is contained in:
Rich Harris
2018-09-02 15:04:47 -04:00
parent 999d5e45ae
commit 55f1e172f0
9 changed files with 7739 additions and 1792 deletions

58
rollup/client.config.js Normal file
View File

@@ -0,0 +1,58 @@
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';
const mode = process.env.NODE_ENV;
const dev = mode === 'development';
const legacy = !!process.env.SAPPER_LEGACY_BUILD;
export default {
input: config.client.input(),
output: config.client.output(),
plugins: [
svelte({
dev,
hydratable: true,
emitCss: true
}),
resolve(),
replace({
'process.browser': true,
'process.env.NODE_ENV': JSON.stringify(mode)
}),
commonjs(),
legacy && babel({
extensions: ['.js', '.html'],
runtimeHelpers: true,
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
})
],
// temporary, pending Rollup 1.0
experimentalCodeSplitting: true,
// temporary, pending https://github.com/rollup/rollup/pull/2432
watch: {
chokidar: { disableGlobbing: true }
}
};

37
rollup/server.config.js Normal file
View File

@@ -0,0 +1,37 @@
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 config from 'sapper/config/rollup.js';
import pkg from '../package.json';
const mode = process.env.NODE_ENV;
const dev = mode === 'development';
export default {
input: config.server.input(),
output: config.server.output(),
plugins: [
svelte({
generate: 'ssr',
dev
}),
resolve(),
replace({
'process.browser': true,
'process.env.NODE_ENV': JSON.stringify(mode)
}),
commonjs()
],
external: Object.keys(pkg.dependencies).concat(
require('module').builtinModules
),
// temporary, pending Rollup 1.0
experimentalCodeSplitting: true,
// temporary, pending https://github.com/rollup/rollup/pull/2432
watch: {
chokidar: { disableGlobbing: true }
}
};

View File

@@ -0,0 +1,27 @@
import resolve from 'rollup-plugin-node-resolve';
import replace from 'rollup-plugin-replace';
import commonjs from 'rollup-plugin-commonjs';
import { terser } from 'rollup-plugin-terser';
import config from 'sapper/config/rollup.js';
const mode = process.env.NODE_ENV;
const dev = mode === 'development';
export default {
input: config.serviceworker.input(),
output: config.serviceworker.output(),
plugins: [
resolve(),
replace({
'process.browser': true,
'process.env.NODE_ENV': JSON.stringify(mode)
}),
commonjs(),
!dev && terser()
],
// temporary, pending https://github.com/rollup/rollup/pull/2432
watch: {
chokidar: { disableGlobbing: true }
}
};