@thrashplay/bootstrap-library

Tool used to initialize a new Thrashplay node project.


Keywords
code-generator
License
MIT
Install
npm install @thrashplay/bootstrap-library@0.4.0-next.0

Documentation

Build Status

thrashplay-app-creators

Generator project for creating new applications and libraries using Thrashplay's conventions for new projects. The tools in this package are meant to be executed via npx, and can be run without installing them locally. This ensures that the latest version of a generator is always used.

The following sections describe the types of projects currently supported.

@thrashplay/bootstrap-library

Quickstart: npx @thrashplay/bootstrap-library

This generator creates a new Typescript library project, structured as a monorepo. It is intended that an organization would have one (or a small number) of these monorepo libraries, supporting any number of applications (which may themselves be monorepos, or standalone packages).

If you instead want to create a single, standalone package (instead of a monorepo), then see the [TO BE DETERMINED] generator.

The new project will have default content for package.json, LICENSE, README.md, .gitignore. Lerna will be configured in independent mode. Additional configuration will be generated, based on the options you give to the generator script.

Continuous Integration

The generator will ask what type of CI configuration to create. Based on your response, the new project may have additional files added, as described below.

Drone: Thrashplay JSonnet

If this CI option is selected, a .drone.jsonnet file will be created. The default drone configuration will bootstrap, build, and test the project. If running on the develop branch, it will publish an alpha pre-release version of the project. If running on the master branch, it will publish a normal version of the project.

For publishing to work, a Drone secret called NPM_PUBLISH_TOKEN must be configured in Drone for the project. This will be added to .npmrc in the project build's workspace, and used to authenticate with the NPM registry.

Note that Thrashplay's drone JSonnet is an experimental feature, and will more than likely eventually take a different form that it has currently. As such, its usage is only lightly document. See the drone-jsonnet-test sample file for a sample of some of the currently supported capabilities.


Generator lerna