packages/rolldown/src/options/docs/platform.md
export default {
platform: 'browser',
output: {
format: 'esm',
},
};
export default {
platform: 'node',
output: {
format: 'cjs',
},
};
export default {
platform: 'neutral',
output: {
format: 'esm',
},
};
The platform setting provides sensible defaults for module resolution and environment-specific behavior, similar to esbuild's platform option.
'node'Optimized for Node.js environments:
'node', 'import', 'require' based on output format['main', 'module']process.env.NODE_ENV and other Node.js globals'browser'Optimized for browser environments:
'browser', 'import', 'module', 'default'['browser', 'module', 'main'] - prefers browser-specific entry points:::tip For browser builds, you may want to use rolldown-plugin-node-polyfills to polyfill Node.js built-ins if needed. :::
'neutral'Platform-agnostic configuration:
'esm'"exports" fieldNotable differences from esbuild's platform option:
'esm' regardless of platform (in esbuild, Node.js defaults to 'cjs')Use 'browser' when:
Use 'node' when:
Use 'neutral' when: