import replace from 'rollup-plugin-replace'; import resolve from 'rollup-plugin-node-resolve'; import commonjs from 'rollup-plugin-commonjs'; import json from 'rollup-plugin-json'; import typescript from 'rollup-plugin-typescript'; import pkg from './package.json'; export default [ /* compiler.js */ { input: 'src/index.ts', plugins: [ replace({ __VERSION__: pkg.version }), resolve(), commonjs(), json(), typescript({ include: 'src/**', exclude: 'src/internal/**', typescript: require('typescript') }) ], output: { file: 'compiler.js', format: 'umd', name: 'svelte', sourcemap: true } }, /* cli/*.js */ { input: ['src/cli/index.ts'], output: { dir: 'cli', format: 'cjs', paths: { svelte: '../compiler.js' } }, external: ['fs', 'path', 'os', 'svelte'], plugins: [ json(), commonjs(), resolve(), typescript({ typescript: require('typescript') }) ], experimentalCodeSplitting: true }, /* internal.[m]js, motion.mjs */ ...['internal', 'motion'].map(name => ({ input: `src/${name}/index.js`, output: [ { file: `${name}.mjs`, format: 'esm', paths: id => id.startsWith('svelte/') && id.replace('svelte', '.') }, { file: `${name}.js`, format: 'cjs', paths: id => id.startsWith('svelte/') && id.replace('svelte', '.') } ], external: id => id.startsWith('svelte/') })), // everything else ...['index', 'store', 'easing', 'transition'].map(name => ({ input: `${name}.mjs`, output: { file: `${name}.js`, format: 'cjs', paths: id => id.startsWith('svelte/') && id.replace('svelte', '.') }, external: id => id !== `${name}.mjs` })) ];