The Svelte guides package uses @daybrush/builder's buildHelper to generate multiple output formats (CJS and ESM) from a single configuration. The build process utilizes rollup-plugin-svelte with @pyoner/svelte-ts-preprocess for TypeScript support within Svelte components.
Key configuration details:
- Input: Defaults to
./src/index.js. - External Dependencies:
svelte is marked as an external dependency. - Outputs:
- CommonJS:
dist/guides.cjs.js - ES Modules:
dist/guides.esm.js
import buildHelper from "@daybrush/builder";
import svelte from 'rollup-plugin-svelte';
import { preprocess } from "@pyoner/svelte-ts-preprocess";
const defaultOptions = {
tsconfig: "",
input: './src/index.js',
commonjs: true,
external: {
"svelte": "svelte",
},
plugins: [
svelte({
preprocess: preprocess(),
}),
],
}
export default buildHelper([
{
...defaultOptions,
output: "dist/guides.cjs.js",
format: "cjs",
},
{
...defaultOptions,
output: "dist/guides.esm.js",
format: "es",
},
]);