Last active
June 2, 2020 16:48
-
-
Save martinburger/7c56185080055315c78e94ff1d6c8b94 to your computer and use it in GitHub Desktop.
rollup.config.js for https://stackoverflow.com/questions/62117700/
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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'; | |
import json from '@rollup/plugin-json'; | |
import globals from 'rollup-plugin-node-globals'; | |
import builtins from 'rollup-plugin-node-builtins'; | |
const mode = process.env.NODE_ENV; | |
const dev = mode === 'development'; | |
const legacy = !!process.env.SAPPER_LEGACY_BUILD; | |
const onwarn = (warning, onwarn) => (warning.code === 'CIRCULAR_DEPENDENCY' && /[/\\]@sapper[/\\]/.test(warning.message)) || onwarn(warning); | |
export default { | |
client: { | |
input: config.client.input(), | |
output: config.client.output(), | |
external: ['readable-stream', 'readable-stream/transform'], | |
plugins: [ | |
replace({ | |
'process.browser': true, | |
'process.env.NODE_ENV': JSON.stringify(mode), | |
'require(\'readable-stream/transform\')': 'require(\'stream\').Transform', | |
'require("readable-stream/transform")': 'require("stream").Transform', | |
'readable-stream': 'stream', | |
}), | |
svelte({ | |
dev, | |
hydratable: true, | |
emitCss: true | |
}), | |
resolve({ | |
browser: true, | |
dedupe: ['svelte'], | |
preferBuiltins: true, | |
}), | |
commonjs(), | |
json(), | |
globals(), | |
builtins(), | |
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', | |
dev | |
}), | |
resolve({ | |
dedupe: ['svelte'] | |
}), | |
commonjs() | |
], | |
external: Object.keys(pkg.dependencies).concat( | |
require('module').builtinModules || Object.keys(process.binding('natives')) | |
), | |
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, | |
} | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/rollup.config.js b/rollup.config.js | |
index a1d449e..55958aa 100644 | |
--- a/rollup.config.js | |
+++ b/rollup.config.js | |
@@ -7,6 +7,10 @@ import { terser } from 'rollup-plugin-terser'; | |
import config from 'sapper/config/rollup.js'; | |
import pkg from './package.json'; | |
+import json from '@rollup/plugin-json'; | |
+import globals from 'rollup-plugin-node-globals'; | |
+import builtins from 'rollup-plugin-node-builtins'; | |
+ | |
const mode = process.env.NODE_ENV; | |
const dev = mode === 'development'; | |
const legacy = !!process.env.SAPPER_LEGACY_BUILD; | |
@@ -17,10 +21,14 @@ export default { | |
client: { | |
input: config.client.input(), | |
output: config.client.output(), | |
+ external: ['readable-stream', 'readable-stream/transform'], | |
plugins: [ | |
replace({ | |
'process.browser': true, | |
- 'process.env.NODE_ENV': JSON.stringify(mode) | |
+ 'process.env.NODE_ENV': JSON.stringify(mode), | |
+ 'require(\'readable-stream/transform\')': 'require(\'stream\').Transform', | |
+ 'require("readable-stream/transform")': 'require("stream").Transform', | |
+ 'readable-stream': 'stream', | |
}), | |
svelte({ | |
dev, | |
@@ -29,9 +37,13 @@ export default { | |
}), | |
resolve({ | |
browser: true, | |
- dedupe: ['svelte'] | |
+ dedupe: ['svelte'], | |
+ preferBuiltins: true, | |
}), | |
commonjs(), | |
+ json(), | |
+ globals(), | |
+ builtins(), | |
legacy && babel({ | |
extensions: ['.js', '.mjs', '.html', '.svelte'], |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment