Skip to content

⚑ create-ts-lib: A Starter Kit and a CLI to create your TypeScript / ES6 module bundled by Webpack without thinking about build or unit tests configurations. 🏠

License

Notifications You must be signed in to change notification settings

nobrainr/typescript-webpack-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

create-ts-lib Backers on Open Collective Sponsors on Open Collective CircleCI Npm Package

Quick Start

You can execute the create-ts-lib CLI using npx or by installing it globally with npm i -g create-ts-lib.

# Use NPX or npm install -g create-ts-lib to install it as a global package
npx create-ts-lib@latest my-typescript-lib
cd my-typescript-lib && npm start

Build and Serve it

  • Browse http://localhost:3000/ to see your bootstrapped module.
  • A bundle is created under /dist folder.
  • Create a minified bundle with npm run build.

Features

You don’t need to install or configure tools like Webpack, Typescript, Karma or Jasmine.
They are preconfigured so that you can focus on the code, but as a starter kit you still can modify all the configuration files.

Create a Typescript project

# Use NPX or npm install -g create-ts-lib to install it as a global package
npx create-ts-lib@latest my-typescript-lib
cd my-typescript-lib && npm start

Calling create-ts-lib with my-typescript-lib as an argument creates a directory my-typescript-lib inside the current directory.
Inside that directory, the initial file structure of the project is generated with all the devDependencies installed.

my-typescript-lib
β”œβ”€β”€ node_modules
β”œβ”€β”€ src
β”‚   └── index.html
β”‚   └── index.ts
β”‚   └── MyLibrary.ts
β”‚   └── MyLibrary.spec.ts
β”œβ”€β”€ tests
β”‚    └── unit
β”‚        └── spec-bundle.js
β”œβ”€β”€ README.md
β”œβ”€β”€ package.json
β”œβ”€β”€ .gitignore
β”œβ”€β”€ karma.conf.js
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ tslint.json
└── webpack.config.js

No configuration or complicated folder structures, just the files you need to start your app / package / module.

npm start or npm run server:prod

Runs the app in development / production mode using Webpack dev server. Open http://localhost:3000 πŸŽ‰ to view it in the browser.

npm test

Runs the unit tests using Karma as test runner and Jasmine as testing framework.

npm run build or npm run build:prod

Creates a bundle into the dist folder:

dist
β”œβ”€β”€ MyLibrary.d.ts # - Example of a 'd.ts' declaration file
β”œβ”€β”€ app.bundle.js # - Main bundle of the application. name from webpack.config
β”œβ”€β”€ app.bundle.js.map # - Sourcemap
β”œβ”€β”€ index.d.ts
└── index.html # - html page referencing app.bundle.js

Development

We'd love to have your helping hand on create-ts-lib! See CONTRIBUTING.md for more information on what we're looking for and how to get started.

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! πŸ™ [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]