Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fluffynuts/newts
Bootstraps a TypeScript npm module project
https://github.com/fluffynuts/newts
bootstrapping cli hacktoberfest npm npm-package npx typescript
Last synced: 5 days ago
JSON representation
Bootstraps a TypeScript npm module project
- Host: GitHub
- URL: https://github.com/fluffynuts/newts
- Owner: fluffynuts
- License: bsd-3-clause
- Created: 2020-06-03T15:21:12.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-06-19T11:11:36.000Z (7 months ago)
- Last Synced: 2025-01-02T13:51:31.684Z (10 days ago)
- Topics: bootstrapping, cli, hacktoberfest, npm, npm-package, npx, typescript
- Language: Roff
- Homepage:
- Size: 1.88 MB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NEWTS
![Tests](https://github.com/fluffynuts/newts/workflows/Tests/badge.svg)![npm](https://img.shields.io/npm/v/newts)
literally: `"new ts"`
Bootstraps a TypeScript npm module project
## Why?
Because I'm making enough of them that:
1. I see a pattern
2. I'm tired of manually repeating that pattern## Why not just a yeoman (or other) generator?
I wanted full control over the pipeline and `newts` doesn't _just_ dump out some
pre-formatted files -- it:
- gives you some choices (eg licensing)
- verifies that the new project name you chose is available at npmjs.com
- actually runs `npm install` and `git init` (where appropriate)## Status
- try `npx newts --help` for all options
- easiest use: `npx newts`
- will run interactive
- specify some options and add `--interactive`,
- eg `npx newts --output /path/to/code --interactive`
- sets output and prompts for other config
- also simple: `npx newts --defaults`
- will ask for a project name
- may ask for an output folder (if the current one is under git control)
- will run with defaults:
- initialize git
- with relevant .gitignore
- dev-packages
- typescript
- jest
- faker
- npm-run-all
- tslint (for now, until eslint behaves as expected)
- zarro (for build)
- relevant @types packages
- tsconfig.json
- outputs to dist
- includes types
- tslint.json
- license: BSD-3-Clause
- skeleton README.md
- package.json
- scripts
- build
- release
- release-beta
- lint
- author info (according to git)
- set up files from dist folder
- set version to 0.0.1## Show me!
![interactive demo](newts-interactive.gif)## TODO
- create a target repo at GitHub on request
- add a GitHub workflow to automatically test when you push
- ??? make a request on the [Issues Page](https://github.com/fluffynuts/newts/issues)