UNPKG

redhot

Version:

TypeScript Monorepo Management

99 lines (69 loc) 2.28 kB
# Red Hot > Monorepo management for TypeScript projects # Features and Design Goals - [ ] Manage many interlinks or closely related packages with ease - [x] First Class Support for TypeScript 2.x - [ ] Manage commit messages - [ ] Generate Documentation that is GitHub Pages compatible - [ ] Automatic Semantic Versioning - [ ] Automated Deployment - [ ] Automated Changelog generation - [x] Support for npm 3+ only - [x] Useful out-of-box with configuration - [x] Convention over configuration - [x] DRY/KISS # **API** ## **redhot init** Initialized your new `redhot` managed project with default configurations. Will generate the following files for you. - redhot.json - tsconfig.json - tslint.json - package.json - README.md - LICENSE.md (MIT) - .travis.yml - .github/ISSUE_TEMPLATE.md - .github/PULL_REQUEST.md - .gitignore ## **redhot create [packageName]** Scaffolds and sets up a new managed package. Generates a folder named `packageName` and generates the following files inside - package.json - README.md - src/index.ts - test/index.ts ## **redhot commit** Used to enforce good commit messages that are used to follow semantic versioning as well as generate changelogs. It will bring you through a series of prompts to generate your awesome commit messages in a nice and easy manner. ## **redhot build** Builds all managed packages with `tsc`. Configurable via `tsconfig.json` ## **redhot lint** Lints all managed packages with `tslint` configured via `tslint.json` ## **redhot test** Runs tests for all managed packages with `mocha` and `ts-node` ## **redhot release** Publishes all modified packages to NPM following semantic versioning. Recursively updates packages that depend upon them as long as there are no breaking changes included. Generates changelogs and updates documentation. ## **redhot exec -- [command]** Runs a command inside of all managed packages ## **redhot labels** If you are using GitHub, this will generate issue labels that correspond your configured packages. # **redhot.json** The configuration for all of your monorepo needs ```json { "packages": [ "package1", "nested/package2" ], "scripts": { "clean": "rimraf lib", } } ``` ### packages An array of all the directories you'd like to manage