Skip to content

caviarjs/caviar

Repository files navigation

caviar

Build Status Coverage

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 of require.resolve()
  • sandbox? boolean=false whether to enable caviar sandbox

Sandbox options

  • env? object extra environment key-value pairs.
  • stdio? (Array | string)='inherit' the options.stdio option of child_process.fork

Return Value

License

MIT


Thanks @reallinfo for the great logo