5.2.3 • Published 3 years ago

@skypilot/toolchain v5.2.3

Weekly downloads
142
License
ISC
Repository
github
Last release
3 years ago

@skypilot/toolchain

Toolchain for Node projects:

  • Babel
  • ESLint
  • Jest
  • TypeScript
  • Lint-Staged (using Husky)
  • Bumped (version release system)

With a pre-commit hook to enforce linting on commit.

What does it do?

Toolchain installs all dependencies & configurations needed to start creating Node projects using TypeScript. Compilation, typing, linting, testing, and release system are pre-configured.

How to install

$ yarn add @skypilot/toolchain
$ yarn toolchain init
$ node node_modules/husky/husky.js install

The toolchain init command creates a set of configuration files that include scripts & configs for distributing the project as a package. A planned change is to have toolchain init create only the core files & configs. A separate command would add the files & configs for creating a package.

The husky.js install command is required because Yarn doesn't automatically run Husky's post-install script. A friendlier situation is in the works.

How to use

Once Toolchain is installed and initialized:

  • The linter will run automatically on each commit Note: Branches beginning with wip- or ending with -wip will not be linted

  • ESLint, Jest, and TypeScript will automatically use the configurations created by Toolchain

Convenience scripts

These convenience scripts are added to package.json by yarn toolchain init:

  • all-ci-checks: Locally run the status checks that are run by the continuous-integration workflow
  • all-cq-checks: Run code-quality checks: linting, type-checking, and standalone tests
  • build: Build the project for distribution as an NPM package
  • ci: An alias for all-ci-checks
  • cq: An alias for all-cq-checks
  • generate-typings: Generate typings for the distribution
  • lint: Run the linter
  • prepublishOnly: Run all checks and build steps in preparation for publication to NPM
  • tc: An alias for typecheck
  • test: An alias for test:standalone
  • test:all: Run all tests using Jest
  • test:integration: Run all integration tests (tests that rely on external services) using Jest
  • test:standalone: Run all standalone tests (app, component, and unit tests, which do not rely
  • typecheck: Checks that all types in the project are valid on external services) using Jest

To run a script, use yarn run SCRIPT_NAME.

How to create and publish releases

Toolchain automates the process of creating and releasing NPM packages. Two different types of automated releases are supported:

  • Stable release: Has an ordinary semver version number, such as 1.1.2
  • Prerelease: Has a version number with a version-tag suffix, such as 1.0.0-beta

Toolchain performs the following steps when a release is created. If any step fails, the release is halted.

  • Runs all automated checks (typechecking, linting, and testing)
  • Builds the package and generates types
  • Bumps the version number in package.json and creates a CHANGELOG.md file
  • Commits these changes to the current branch
  • Creates a version tag
  • Pushes the commit and tag to the same branch of the upstream remote, if one has been set

Publication to NPM is also automatic, but the timing depends on the type of release:

  • Stable release: Published when the release commit is pushed to the master branch of the upstream remote*
  • Prerelease: Published immediately
  • This step will be automated in a future release of Toolchain

To release a stable version of your package

  1. Check out the develop branch at the commit you want to publish (if there are any changes in the working tree, stash them)

  2. Run yarn bumped release <VERSION>,
    where VERSION is one of the following: patch | minor | major | <VERSION_NUMBER>
    (Example: $ yarn bumped release minor)

  3. Merge the branch into master and push to the upstream remote. The remote will publish the package.

To release a prerelease version of your package

Prerelease branches: alpha, beta, next

  1. Check out any of the prerelease branches (alpha, beta, or next) at the commit you want to publish (if there any changes in the working tree, stash them)
  2. Run yarn bumped release <VERSION_NUMBER>
    (Example: $ yarn bumped release 1.0.0)

The package will be published with a suffix and tag that are the same as the branch name. E.g., if version 1.0.0 is released from the beta branch,

  • the version number will be 1.0.0-beta
  • the package will have the tag beta
5.2.4-next.6

3 years ago

5.2.4-next.5

3 years ago

5.2.4-next.3

3 years ago

5.2.4-next.4

3 years ago

5.2.4-next.1

3 years ago

5.2.4-next.2

3 years ago

5.2.4-next.0

3 years ago

5.2.3

3 years ago

5.2.3-next.1

3 years ago

5.2.3-next.0

3 years ago

5.2.2

3 years ago

5.2.2-next.0

3 years ago

5.2.1

3 years ago

5.2.0

3 years ago

5.2.1-next.0

3 years ago

5.2.0-next.0

3 years ago

5.2.0-alpha.6

3 years ago

5.2.0-alpha.5

3 years ago

5.2.0-alpha.4

3 years ago

5.2.0-alpha.3

3 years ago

5.2.0-alpha.2

3 years ago

5.2.0-alpha.0

3 years ago

5.2.0-alpha.1

3 years ago

5.1.4-alpha.0

3 years ago

5.1.4

3 years ago

5.1.4-next.1

3 years ago

5.1.4-next.0

3 years ago

5.1.3

3 years ago

5.1.3-next.1

3 years ago

5.1.3-next.0

3 years ago

5.1.2

3 years ago

5.1.2-next.0

3 years ago

5.1.1

4 years ago

5.1.1-next.0

4 years ago

5.1.1-next.1

4 years ago

5.1.0

4 years ago

5.1.0-next.0

4 years ago

5.0.3

4 years ago

5.0.3-next.1

4 years ago

5.0.2-next.3

4 years ago

5.0.2-main.0

4 years ago

5.0.3-next.0

4 years ago

5.0.2

4 years ago

5.0.2-next.2

4 years ago

5.0.2-next.1

4 years ago

5.0.2-next.0

4 years ago

5.0.1

4 years ago

5.0.1-next.0

4 years ago

5.0.0

4 years ago

5.0.0-next.0

4 years ago

4.1.4

4 years ago

4.1.4-next.0

4 years ago

4.1.3-next.0

4 years ago

4.1.3

4 years ago

4.1.2

4 years ago

4.1.2-next.0

4 years ago

4.1.1-next.0

4 years ago

4.1.1

4 years ago

4.1.0-next.1

4 years ago

4.1.0

4 years ago

4.1.0-next.0

4 years ago

4.0.7-next.1

4 years ago

4.0.7-next.0

4 years ago

4.0.6

4 years ago

4.0.6-next.0

4 years ago

4.0.5

4 years ago

4.0.5-next.1

4 years ago

4.0.5-alpha.1

4 years ago

4.0.5-alpha.0

4 years ago

4.0.5-next.0

4 years ago

4.0.4

4 years ago

4.0.4-next.1

4 years ago

4.0.4-next.0

4 years ago

4.0.3

4 years ago

4.0.3-next.0

4 years ago

4.0.2

4 years ago

4.0.1

4 years ago

4.0.2-next.0

4 years ago

4.0.1-next.0

4 years ago

4.0.0

4 years ago

4.0.0-next.0

4 years ago

3.6.4

4 years ago

3.6.4-next.0

4 years ago

3.6.3-next.0

4 years ago

3.6.3

4 years ago

3.6.2

4 years ago

3.6.2-next.0

4 years ago

3.6.1-next.0

4 years ago

3.6.0-next.0

4 years ago

3.6.1

4 years ago

3.6.0

4 years ago

3.5.14

4 years ago

3.5.14-next.0

4 years ago

3.5.13-next.1

4 years ago

3.5.13

4 years ago

3.5.13-next.0

4 years ago

3.5.12

4 years ago

3.5.12-next.1

4 years ago

3.5.12-next.0

4 years ago

3.5.11

4 years ago

3.5.11-next.0

4 years ago

3.5.10

4 years ago

3.5.10-next.0

4 years ago

3.5.9

4 years ago

3.5.9-next.2

4 years ago

3.5.9-next.1

4 years ago

3.5.6-next.1

4 years ago

3.5.6-next.0

4 years ago

3.5.8-next.0

4 years ago

3.5.8-next.1

4 years ago

3.5.7

4 years ago

3.5.6

4 years ago

3.5.5

4 years ago

3.5.4

4 years ago

3.5.8

4 years ago

3.5.5-next.0

4 years ago

3.5.4-next.1

4 years ago

3.5.9-next.0

4 years ago

3.5.4-next.0

4 years ago

3.5.3

4 years ago

3.5.3-next.1

4 years ago

3.5.3-next.0

4 years ago

3.5.2

4 years ago

3.5.2-next.0

4 years ago

3.5.1

4 years ago

3.5.1-next.0

4 years ago

3.5.0

4 years ago

3.5.0-next.0

4 years ago

3.5.0-beta.0

4 years ago

3.4.1-next.0

4 years ago

3.4.1-beta.1

4 years ago

3.4.1-alpha.1

4 years ago

3.4.1-alpha.0

4 years ago

3.4.1-beta.0

4 years ago

3.5.0-alpha.7

4 years ago

3.5.0-alpha.6

4 years ago

3.5.0-alpha.5

4 years ago

3.5.0-alpha.3

4 years ago

3.5.0-alpha.4

4 years ago

3.5.0-alpha.2

4 years ago

3.5.0-alpha.1

4 years ago

3.4.0-next.1

4 years ago

3.4.0-next.0

4 years ago

3.5.0-alpha.0

4 years ago

3.3.9-next.2

4 years ago

3.3.10-beta.1

4 years ago

3.4.0

4 years ago

3.3.10-beta.0

4 years ago

3.3.10-next.0

4 years ago

3.3.9

4 years ago

3.3.9-next.1

4 years ago

3.3.9-next.0

4 years ago

3.3.8-next.0

4 years ago

3.3.8

4 years ago

3.3.3-next.0

4 years ago

3.3.4-beta.0

4 years ago

3.3.4-beta.1

4 years ago

3.3.6

4 years ago

3.3.4-next.0

4 years ago

3.3.2-next.0

4 years ago

3.3.4-next.1

4 years ago

3.3.6-next.0

4 years ago

3.3.5-next.0

4 years ago

3.3.5

4 years ago

3.3.4

4 years ago

3.3.3

4 years ago

3.3.2

4 years ago

3.3.1

4 years ago

3.3.1-next.0

4 years ago

3.3.0

4 years ago

3.3.0-next.0

4 years ago

3.3.0-beta.0

4 years ago

3.1.0-next.1

4 years ago

3.1.0-next.2

4 years ago

3.2.1

4 years ago

3.2.0

4 years ago

3.2.1-next.0

4 years ago

3.1.0

4 years ago

3.1.0-next.0

4 years ago

3.1.0-alpha.1

4 years ago

3.1.0-alpha.2

4 years ago

2.1.10

4 years ago

3.0.0-beta.1

4 years ago

3.0.0-next.1

4 years ago

3.0.0-next.0

4 years ago

3.0.1

4 years ago

3.0.0

4 years ago

2.1.9

4 years ago

3.0.0-beta.0

4 years ago

2.1.8

4 years ago

2.1.7-next.0

4 years ago

2.1.5-next.1

4 years ago

2.1.6

4 years ago

2.1.7

4 years ago

2.2.0-beta.0

4 years ago

2.1.6-beta.0

4 years ago

2.1.5-next.0

4 years ago

2.1.5

4 years ago

2.1.4-next.0

4 years ago

2.1.4

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.4

4 years ago

2.0.4-next.0

4 years ago

2.0.1

4 years ago

2.1.0-next.2

4 years ago

2.1.0-next.1

4 years ago

2.1.3-next.0

4 years ago

2.1.1-next.0

4 years ago

2.1.0-next.0

4 years ago

2.1.2

4 years ago

2.1.1

4 years ago

2.1.3

4 years ago

2.0.1-next.0

4 years ago

2.1.0-beta.0

4 years ago

2.0.0-next.1

4 years ago

2.0.0

4 years ago

1.14.8

4 years ago

2.0.0-next.0

4 years ago

1.15.0-next.1

4 years ago

1.14.7

4 years ago

1.14.6-next.2

4 years ago

1.14.6-next.1

4 years ago

1.14.6

4 years ago

1.14.6-next.0

4 years ago

1.14.5

4 years ago

1.15.0-next.0

4 years ago

1.14.0

4 years ago

1.13.0

4 years ago

1.12.1

4 years ago

1.12.0

4 years ago

1.12.0-next.0

4 years ago

1.11.1-next.0

4 years ago

1.11.0-next.0

4 years ago

1.11.0-next.1

4 years ago

1.11.0

4 years ago

1.11.0-alpha.4

4 years ago

1.11.0-alpha.3

4 years ago

1.10.1-alpha.0

4 years ago

1.11.0-alpha.1

4 years ago

1.11.0-alpha.0

4 years ago

1.9.1-next.2

4 years ago

1.9.1-next.1

4 years ago

1.9.1-next

4 years ago

1.8.12-next

4 years ago

1.9.0-next

4 years ago

1.8.11-next

4 years ago

1.8.10-beta

4 years ago

1.8.9-beta

4 years ago

1.8.6

4 years ago

1.7.1-beta

4 years ago

1.7.0-beta

4 years ago

1.6.0-beta

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.5

4 years ago

1.4.4

4 years ago

1.4.3

4 years ago

1.4.1

4 years ago

1.4.0-beta

4 years ago

1.2.0

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.3.0

4 years ago

1.1.2

4 years ago

1.2.0-alpha

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.4.21

4 years ago

0.4.20

4 years ago

0.4.18

4 years ago

0.4.19

4 years ago

0.4.17-alpha

4 years ago

0.4.16-alpha

4 years ago

0.4.15-alpha

4 years ago

0.4.14-alpha

4 years ago

0.4.12-alpha

4 years ago

0.4.11-alpha

4 years ago

0.3.7

5 years ago

0.3.6

5 years ago

0.3.5

5 years ago

0.3.4

5 years ago

0.3.3

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago