This monorepo is implemented using Lerna, a tool for managing JavaScript projects with multiple packages.
The packages prefixed with awc-
are Assemblage Web Components.
The packages prefixed with acm-
are Assemblage Class Mixins.
The packages prefixed with amw-
are Assemblage Middleware.
The packages prefixed with aso-
are Assemblage Store Objects.
The packages prefixed with au-
are Assemblage Utilities.
npm install
npm start
npx lerna link
npx lerna run build
or
npx lerna exec tsc
or
npx tsc -b $(find components -type d -mindepth 1 -maxdepth 1)
or
(cd components/<PACKAGE>; npx -p typescript tsc)
npx tsc -b $(find components -type d -mindepth 1 -maxdepth 1) --watch
npx lerna run build --scope=@assemblage/<PACKAGE>
or
npx tsc -b components/awc-base
As lerna run first calls npm run
, it is necessary to pass -- twice in order to pass arguments to the npm script itself. This is necessary to preserve the ability to pass flags to npm or yarn.
npx lerna run build --scope=@assemblage/<PACKAGE> -- -- --foo=bar
This doesn't work as Docker cannot traverse symlinks, which is how the various Niveau modules are included as dependencies.