caviar
caviar copied to clipboard
The skeleton of frameworks for micro frontends
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
Thinking in caviar
about web mesh
Why caviar?
The sections below is for development purpose
Extend caviar
for your own business
Config chain
How to write caviar plugins
API Documentation
caviar(options).run(phase?)
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)
options
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
Return Value
License
MIT
Thanks @reallinfo for the great logo