3.0.0-beta.3 • Published 6 years ago
@vaju/generator-ts-np v3.0.0-beta.3
generator-ts-np
Yet another yeoman generator for building npm packages with TypeScript.

Install
Requires Node >= 8.
Install yeoman first
npm i -g yoThen install this generator from npm,
npm i -g generator-ts-npFrom Github Package Registry. (Guide).
Usage
$ mkdir my-new-package # new dir
$ cd my-new-pacakge # go to the package dir
$ yo ts-np # use yeomanWhy
- No global dependencies.
- Written in TypeScript and when publishing, definition(
.d.ts) will also ship with this package. - Prettier and Eslint.
- Support for Github Package Registry and NPM
- Tests uses Jest (tests are also written in TypeScript)
- Pre-publish hook for build (so you never miss it)
- Automated build and deployments (using Github Actions) (eg: scope-prefixer package)
- Lint rules adopted from Google Repo (which means higher coding standard)
- Publishes only the required files (less bundle size)
Directory Structure
$ yo ts-np command will ask you a few questions and generate the below structure.
- You write your typescript files in
/src. - Write their tests in
/tests /srccompiling creates/distdirectory which is used for publishing
The generator produces following files.
.
├── .eslintignore
├── .eslintrc.json
├── .github
│ └── workflows
│ ├── Build.yml_disabled
│ └── Deploy.yml_disabled
├── .gitignore
├── .npmignore
├── .prettierrc
├── .yo-rc.json
├── LICENSE
├── README.md
├── gulpfile.js
├── jest.config.json
├── package.json
├── src
│ └── index.ts
├── tests
│ └── index.spec.ts
├── tsconfig.json
└── tsconfig.spec.jsonHandy npm scripts
npm test: 🌟 compiles typescript (npm run build) and run tests.npm run build: compiles src and tests files.npm run lint: runs eslint and prettier checks.
See other scripts and their uses
Automated Build 🧪 and Deployments ✅
- Continues integration: run tests when code pushed.
- Continues deployment: run tests and publish the package when a git release is published.
By default, this feature is disabled for convenience. You can enable it in a few steps 🍼.
Licence
MIT © Vajahath Ahmed
3.0.0-beta.4
6 years ago
3.0.0-beta.3
6 years ago