contrail-lib

1.0.0 • Public • Published

Contrail Library

Common functionality and libraries that are used throughout VibeIQ's services and apps.

Local Development

Local development is largely test-driven.

When changing functionality:

  1. Write tests that define the expected behavior
  2. Implement changes so tests pass
  3. Test your changes where the library is used (e.g. contrail-api)
    • If the changes is small:
      1. npm run build in the library your change is modifying
      2. Copy build files in lib into the node_modules of the project you want to use the new code
      3. Make sure the behavior has changed as expected
    • If the change is large and spans multiple libraries:
      1. Publish an alpha version of the library to NPM
      2. Install the alpha version where the change needs to be tested

Example - Copy changes from core library into the Users Service in the api

$ cp -r contrail-lib/core/lib/* \
        contrail-api/services/users/node_modules/@contrail/core/lib

Publish Change to NPM Library

  1. cd <library-to-publish>
  2. npm version [major | minor | patch | prerelease --preid=alpha]
    • Effect - Upgrade the version number of the library that you're currently in
  3. npm run build
  4. npm publish

Pre-commit Formatting Check

Every time you run git commit, a pre-commit hook will run to check if the code is formatted correctly. If it is not, the commit will fail. To fix this, run npm run lint-staged:format from the top-level directory and then try to commit again. This cannot be run within a service's directory those directories do no have lint-staged installed.

Bypass Formatting Check

This check can be bypassed by setting the BYPASS_FORMATTING_CHEKC to true. The best way to do this is to set that environment variable temporarily, only for the life cycle of the commit. This reduces the likelihood of accidentally committing unformatted code.

BYPASS_FORMATTING_CHECK=true git commit -m "commit message"

Dependents (0)

Package Sidebar

Install

npm i contrail-lib

Weekly Downloads

0

Version

1.0.0

License

ISC

Unpacked Size

11.4 MB

Total Files

352

Last publish

Collaborators

  • mattvitello