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
paththe current working directory - dev?
boolean=falsewhether is for development purpose - preset?
stringmodule id or absolute path of the preset - configFile?
pathabsolute path of the configuration file.options.configFileoften takes the return value ofrequire.resolve() - sandbox?
boolean=falsewhether to enable caviar sandbox
Sandbox options
- env?
objectextra environment key-value pairs. - stdio?
(Array | string)='inherit'theoptions.stdiooption ofchild_process.fork
Thanks @reallinfo for the great logo
