rollup-plugin-sea
v1.0.0-alpha.1
Published
rollup single executable applications
Downloads
4
Maintainers
Readme
rollup-plugin-sea
[!WARNING]
Warning: Node SEA is experimental! (see: nodejs.org)
Rollup plugin for NodeJS single executable applications (SEA!)
Usage:
npm install rollup-plugin-sea// https://rollupjs.org/configuration-options
import { defineConfig } from 'rollup'
import { sea } from 'rollup-plugin-sea'
export default defineConfig({
plugins: [sea()],
output: {
// inline dynamic imports
inlineDynamicImports: true,
},
external: [],
})// https://vite.dev/config
import { defineConfig } from 'vite'
import { sea } from 'rollup-plugin-sea'
export default defineConfig({
plugins: [sea()],
build: {
lib: { ... },
// inline dynamic imports
rollupOptions: { inlineDynamicImports: true },
// build for server runtimes
ssr: true,
},
ssr: {
// inline external dependencies
noExternal: true,
// target node-js
target: 'node',
}
})See: bin/sea.ts
import { defaultContext, createWorkspace } from 'rollup-plugin-sea/workspace'
const workspace = createWorkspace(
defaultContext(),
'{input_filename}',
'{output_filename}',
'[outdir]',
{ ...options },
)
try {
// setup files & build executable
await workspace.build()
} finally {
// remove temporary files
await workspace.finalize()
}Limitations
Native Addons:
SEA doesn't support native addons.
Single File:
SEA doesn't currently support path imports.
// This will fail at runtime.
// Error [ERR_UNKNOWN_BUILTIN_MODULE]: No such built-in module: ./test.js
require('./test.js')Errors
ERR_UNKNOWN_BUILTIN_MODULE
This error occurs when you import an external file from a SEA script (multiple files).
