diff --git a/rollup.config.mjs b/rollup.config.mjs index 06cf07bf8f..fafc4fb1a1 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -1,23 +1,23 @@ -import fs from "node:fs"; -import { createRequire } from "node:module"; -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 sucrase from "@rollup/plugin-sucrase"; -import typescript from "@rollup/plugin-typescript"; +import fs from 'node:fs'; +import { createRequire } from 'node:module'; +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 sucrase from '@rollup/plugin-sucrase'; +import typescript from '@rollup/plugin-typescript'; const require = createRequire(import.meta.url); -const pkg = JSON.parse(fs.readFileSync("package.json", "utf-8")); +const pkg = JSON.parse(fs.readFileSync('package.json', 'utf-8')); const is_publish = !!process.env.PUBLISH; const ts_plugin = is_publish ? typescript({ - typescript: require("typescript"), + typescript: require('typescript'), }) : sucrase({ - transforms: ["typescript"], + transforms: ['typescript'], }); fs.writeFileSync( @@ -27,7 +27,7 @@ fs.writeFileSync( const runtime_entrypoints = Object.fromEntries( fs - .readdirSync("src/runtime", { withFileTypes: true }) + .readdirSync('src/runtime', { withFileTypes: true }) .filter((dirent) => dirent.isDirectory()) .map((dirent) => [dirent.name, `src/runtime/${dirent.name}/index.ts`]) ); @@ -39,30 +39,30 @@ export default [ { input: { ...runtime_entrypoints, - index: "src/runtime/index.ts", - ssr: "src/runtime/ssr.ts", + index: 'src/runtime/index.ts', + ssr: 'src/runtime/ssr.ts', }, - output: ["es", "cjs"].map( + output: ['es', 'cjs'].map( /** @returns {import('rollup').OutputOptions} */ (format) => { - const ext = format === "es" ? "mjs" : "js"; + const ext = format === 'es' ? 'mjs' : 'js'; return { entryFileNames: (entry) => { if (entry.isEntry) { - if (entry.name === "index") return `index.${ext}`; - else if (entry.name === "ssr") return `ssr.${ext}`; + if (entry.name === 'index') return `index.${ext}`; + else if (entry.name === 'ssr') return `ssr.${ext}`; return `${entry.name}/index.${ext}`; } }, manualChunks: (id) => { - if (id.endsWith("internal/index.ts")) { - return "internal"; + if (id.endsWith('internal/index.ts')) { + return 'internal'; } }, format, - dir: ".", + dir: '.', }; } ), @@ -76,17 +76,17 @@ export default [ ts_plugin, { writeBundle(options, bundle) { - if (options.format !== "es") return; + if (options.format !== 'es') return; for (const entry of Object.values(bundle)) { const dir = entry.name; if (!entry.isEntry || !runtime_entrypoints[dir]) continue; - if (dir === "internal") { + if (dir === 'internal') { const mod = bundle[`internal/index.mjs`]; if (mod) { fs.writeFileSync( - "src/compiler/compile/internal_exports.ts", + 'src/compiler/compile/internal_exports.ts', `// This file is automatically generated\n` + `export default new Set(${JSON.stringify(mod.exports)});` ); @@ -97,12 +97,12 @@ export default [ `${dir}/package.json`, JSON.stringify( { - main: "./index.js", - module: "./index.mjs", - types: "./index.d.ts", + main: './index.js', + module: './index.mjs', + types: './index.d.ts', }, null, - " " + ' ' ) ); @@ -117,48 +117,48 @@ export default [ }, /* compiler.js */ { - input: "src/compiler/index.ts", + input: 'src/compiler/index.ts', plugins: [ replace({ preventAssignment: true, values: { __VERSION__: pkg.version, - "process.env.NODE_DEBUG": false, // appears inside the util package + 'process.env.NODE_DEBUG': false, // appears inside the util package }, }), { resolveId(id) { // util is a built-in module in Node.js, but we want a self-contained compiler bundle // that also works in the browser, so we load its polyfill instead - if (id === "util") { - return require.resolve("./node_modules/util"); // just 'utils' would resolve this to the built-in module + if (id === 'util') { + return require.resolve('./node_modules/util'); // just 'utils' would resolve this to the built-in module } }, }, resolve(), commonjs({ - include: ["node_modules/**"], + include: ['node_modules/**'], }), json(), ts_plugin, ], output: [ { - file: "compiler.mjs", - format: "esm", - name: "svelte", + file: 'compiler.js', + format: is_publish ? 'umd' : 'cjs', + name: 'svelte', sourcemap: true, }, { - file: "compiler.js", - format: is_publish ? "umd" : "cjs", - name: "svelte", + file: 'compiler.mjs', + format: 'esm', + name: 'svelte', sourcemap: true, }, ], external: is_publish ? [] : (id) => - id === "acorn" || id === "magic-string" || id.startsWith("css-tree"), + id === 'acorn' || id === 'magic-string' || id.startsWith('css-tree'), }, ];