Project Structure
LavaMoat is a monorepo organized into discrete packages. Below is a directory tree showing directories of interest, and how directories map to packages.
Click a link to view detailed information about each directory or package.
Directory.config/ Common TypeScript, ESLint & other configuration
- …
Directory.github/ CI configuration
- …
Directorypackages/ Contains all npm workspaces
Directoryaa/ @lavamoat/aa - Generates canonical package names
- …
Directoryallow-scripts/ @lavamoat/allow-scripts - Allow-list for on-install lifecycle scripts
- …
Directorybrowserify/ lavamoat-browserify - Browserify plugin
- …
Directorycore/ lavamoat-core Core LavaMoat functionality
- …
Directorylavapack/ @lavamoat/lavapack - Bundle packer for lavamoat-browserify
- …
Directorylaverna/ @lavamoat/laverna - Tool to publish multiple workspaces in a monorepo
- …
Directorynode/ lavamoat-node - Node.js adapter
- …
Directorypreinstall-always-fail/ @lavamoat/preinstall-always-fail - Fails if preinstall lifecycle script is run; helper for allow-scripts
- …
Directorytofu/ lavamoat-tofu - Generate LavaMoat policy from dependency graph
- …
Directorywebpack/ @lavamoat/webpack - Webpack plugin
- …
Directoryscripts/ Custom scripts
- …