Plasmic

The visual web design tool and frontend builder that works with your codebase.

Building packages

We use lerna to help us manage dependencies between the @plasmicapp/loader-* packages, (though we may pull in more packages to be managed by lerna, right now those are the ones with tight dependencies on each other).

Getting started

Make sure you have lerna installed:

yarn global add lerna
lerna bootstrap  # inter-links all the lerna-managed packages together

We also make use of Verdaccio to locally test packages. This just stands up an npm registry that you can publish your test packages to.

yarn global add verdaccio
verdaccio &  # Runs the verdaccio server at http://localhost:4873

You'll need to update the verdaccio config file, at ~/.config/verdaccio/config.yaml, to instruct verdaccio to not use npmjs for our test packages:

packages:
  '@plasmicapp/*':
    access: $all
    publish: $all
    unpublish: $all

Workflow

  1. Make some changes!

  2. If you're ready to test, run yarn local-canary. This builds canary versions of your packages to your local registry.

  3. Install the canary version into wherever you're trying to test, via yarn add ... --registry=http://localhost:4873

  4. Once you're done making your changes, you can run yarn bump to bump the versions of the changed packages. If you already have an existing git commit you wawnt to use, do yarn bump --amend. Submit for code review.

  5. Once your change has been approved and you're ready to release to npm, run yarn release. This will individually publish each package to npm.