0
0
mirror of https://github.com/sveltejs/svelte.git synced 2024-12-01 17:30:59 +01:00
svelte/rollup.config.js

84 lines
1.7 KiB
JavaScript
Raw Normal View History

2017-11-23 14:45:22 +01:00
import replace from 'rollup-plugin-replace';
2017-08-20 17:56:21 +02:00
import resolve from 'rollup-plugin-node-resolve';
2017-06-25 00:58:21 +02:00
import commonjs from 'rollup-plugin-commonjs';
import json from 'rollup-plugin-json';
import typescript from 'rollup-plugin-typescript';
2017-11-23 14:45:22 +01:00
import pkg from './package.json';
2017-06-25 00:58:21 +02:00
export default [
/* compiler.js */
2017-06-25 00:58:21 +02:00
{
2017-08-20 17:09:05 +02:00
input: 'src/index.ts',
2017-06-25 00:58:21 +02:00
plugins: [
2017-11-23 14:45:22 +01:00
replace({
__VERSION__: pkg.version
}),
2017-08-20 17:56:21 +02:00
resolve(),
2017-06-25 00:58:21 +02:00
commonjs(),
json(),
typescript({
include: 'src/**',
exclude: 'src/internal/**',
2017-06-25 00:58:21 +02:00
typescript: require('typescript')
})
],
2017-08-20 17:09:05 +02:00
output: {
file: 'compiler.js',
2017-08-20 17:09:05 +02:00
format: 'umd',
name: 'svelte',
sourcemap: true
}
2017-06-25 00:58:21 +02:00
},
2018-04-30 02:25:12 +02:00
/* cli/*.js */
{
2018-04-30 02:39:35 +02:00
input: ['src/cli/index.ts'],
2018-04-30 02:25:12 +02:00
output: {
dir: 'cli',
format: 'cjs',
paths: {
svelte: '../compiler.js'
}
2018-04-30 02:25:12 +02:00
},
external: ['fs', 'path', 'os', 'svelte'],
plugins: [
json(),
commonjs(),
2018-04-30 02:39:35 +02:00
resolve(),
typescript({
typescript: require('typescript')
})
2018-04-30 02:25:12 +02:00
],
experimentalCodeSplitting: true
},
2019-01-01 22:54:50 +01:00
/* internal.[m]js, motion.mjs */
...['internal', 'motion'].map(name => ({
input: `src/${name}/index.js`,
output: [
{
2019-01-01 22:54:50 +01:00
file: `${name}.mjs`,
format: 'esm',
paths: id => id.startsWith('svelte/') && id.replace('svelte', '.')
},
{
2019-01-01 22:54:50 +01:00
file: `${name}.js`,
format: 'cjs',
paths: id => id.startsWith('svelte/') && id.replace('svelte', '.')
}
2019-01-01 22:54:50 +01:00
],
external: id => id.startsWith('svelte/')
})),
2019-01-01 22:54:50 +01:00
// everything else
2018-12-23 22:51:50 +01:00
...['index', 'store', 'easing', 'transition'].map(name => ({
input: `${name}.mjs`,
2017-08-20 17:09:05 +02:00
output: {
2018-12-23 22:51:50 +01:00
file: `${name}.js`,
2019-01-01 22:54:50 +01:00
format: 'cjs',
paths: id => id.startsWith('svelte/') && id.replace('svelte', '.')
},
2018-12-23 22:51:50 +01:00
external: id => id !== `${name}.mjs`
}))
2017-06-25 00:58:21 +02:00
];