@silvermine/generator-typescript
v1.2.0
Published
A Yeoman generator for creating back-end and front-end TypeScript projects with out-of-the-box build, test, and linting configuration.
Downloads
19
Readme
Silvermine TypeScript Project Yeoman Generator
What is it?
A Yeoman generator for creating TypeScript projects.
Why?
This generator can create starter code and configuration for back-end and front-end TypeScript projects. Using it as a starting point for new TypeScript projects can help create consistency in coding standards, project structure, and configuration across your projects, and save you much time when setting up a new TypeScript project.
Benefits of using this generator
Using this generator to create TypeScript projects can save hours in setup, configuration, and debugging. Generated projects include:
- Tests, with code coverage reports. Generated projects have example tests that include code coverage reports. Code coverage reports show coverage of the original TypeScript code by using source maps.
- Coding standards for clean TypeScript. It makes use of strict but carefully considered coding standards and TypeScript compiler configuration that helps ensure TypeScript code is written in a clean, clear, and readable way.
- CommonJS, UMD, and ES Module compatibility. Generated projects that are meant to be consumed by other projects (i.e. a library) support importing through CommonJS, UMD (if it's a front-end library), and ES Modules. TypeScript type definition files are generated automatically at build time.
- Reasonable defaults for common configuration files.
.gitignore
,.npmignore
,package.json
,webpack.config.js
,LICENSE
, andREADME
files are included.
How do I use it?
First, install Yeoman globally if it's not already installed:
npm i -g yo
Then, install this generator:
npm i -g @silvermine/generator-typescript
Finally, create your project folder and run the generator in its root:
mkdir YOUR_DIR_NAME && cd YOUR_DIR_NAME
yo @silvermine/typescript
What is a library?
One of the questions that the generator prompts you with is: "Is this a library?".
Answering "Yes" means that the project you are generating is meant to be published and
consumed by other projects. For example, underscore
and lodash
are libraries because
they are meant to be consumed by other projects.
Therefore, generated libraries include configuration to output distributable files like CommonJS and EcmaScript Module compatible JavaScript, and TypeScript types. If your project is not a library, these distributable file outputs are not necessary and so are not included in your generated project. A non-library project is something like a website, an app, or a server that serves a REST API.
License
This software is released under the MIT license. See the license file for more details.