A pluggable and extendable skeleton which help to integrate several existing web frameworks to create your own micro frontends out of the box with even zero configuration.
caviar
brings web mesh to the real world.
An architectural style where independently deliverable frontend applications are composed into a greater whole
Why caviar?
The sections below is for development purpose
await caviar(options: object).run(phase?: string): ChildProcess | void
- phase?
string='default'
const {
caviar
} = require('caviar')
caviar({
cwd: '/path/to/project',
preset: '@my/caviar-preset'
})
.run()
.catch(console.error)
Common options
- cwd
path
the current working directory - dev?
boolean=false
whether is for development purpose - preset?
string
module id or absolute path of the preset - configFile?
path
absolute path of the configuration file.options.configFile
often takes the return value ofrequire.resolve()
- sandbox?
boolean=false
whether to enable caviar sandbox
Sandbox options
- env?
object
extra environment key-value pairs. - stdio?
(Array | string)='inherit'
theoptions.stdio
option ofchild_process.fork
Thanks @reallinfo for the great logo