Skip to content

darlean-io/darlean.ts

Repository files navigation

MonoRepo for Darlean

This is the monorepo for Darlean that contains basic npm packages, suite packages and example code.

Monorepo contents

Basic Packages

The following basic packages are part of this monorepo:

Suite packages

The following actor suite packages are part of this monorepo:

Examples

We have also included some working examples:

Testing

We also have end-to-end (blackbox) tests:

Building

Because we use a monorepo (with multiple packages in one git repo), there apply some special rules:

  • All npm commands must be executed from the root of the monorepo using the -w name or --workspaces flags to instruct npm to operate on one specific workspace (-w name) or on all workspaces together (--workspaces).
  • The -w and --workspaces flags can be combined with --if-present to ignore warnings when certain commands are not present for all workspaces
  • The following workspace names are supported:
    • base
    • core
    • utils
    • docgen
    • examples
    • webservices
    • suites/actor-lock-suite
    • suites/actor-registry-suite
    • suites/persistence-suite
    • suites/fs-persistence-suite
    • suites/webgateways-suite
    • suites/websessions-suite
  • Every workspace has its own package.json, but there is only one node_modules and one package-lock.json at the root of the repo
  • The npm run install-workspaces command automatically creates symlinks that allow all packages to see the most recent versions of all other packages, without the need for first committing the changes.

Installing

To install everything after a fresh pull:

$ npm run install-workspaces

To install only one specific workspace:

$ npm install -w base

Building

$ npm run build --workspaces
$ npm run build -w base

Formatting, linting and building

Do this before every commit!

$ npm run precommit --workspaces
$ npm run precommit -w base

Formatting, linting, installing and testing

Recommended before every commit!

$ npm run preversion --workspaces
$ npm run preversion -w base

Unit testing and running the examples

$ npm run test --workspaces --if-present
$ npm run test -w base

Documentation

Documentation can be regenerated by means of

$ npm run doc

Please ignore all the warnings, that still has to be fixed.

At regular times, the most recently generated documentation is uploaded to https://docs.darlean.io/latest/.

Versioning

$ npm run npm:version:alpha -w <workspace>
$ npm run npm:publish -w <workspace>

$ npm run update-base-alpha  --baseversion=123    // Updates package.json of all libraries that depend on base
$ npm run updated-base-alpha-version              // Updates version of all libraries that depend on base
$ npm run updated-base-alpha-publish              // Publishes all libraries that depend on base

$ npm run update-core-alpha  --coreversion=123    // Updates package.json of all libraries that depend on core

About

TypeScript libraries for Darlean

Resources

License

Stars

Watchers

Forks

Packages

No packages published