3.0.0-beta.3 • Published 4 years ago

@vaju/generator-ts-np v3.0.0-beta.3

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

generator-ts-np

Yet another yeoman generator for building npm packages with TypeScript.

npm.io Greenkeeper badge

npm.io

Install

Requires Node >= 8.

Install yeoman first

npm i -g yo

Then install this generator from npm,

npm i -g generator-ts-np

From Github Package Registry. (Guide).

Usage

$ mkdir my-new-package # new dir
$ cd my-new-pacakge # go to the package dir
$ yo ts-np # use yeoman

Why

  • 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
  • /src compiling creates /dist directory 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.json

Handy 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