rachelle
v0.11.2
Published
Fast, and lightweight TypeScript boilerplate that export a single file. Tests in Mocha & Chai. TSLint for better code quality.
Downloads
121
Maintainers
Readme
Rachelle
Fast, compact and lightweight
TypeScript 2.1
boilerplate that export a single file.
This boilerplate uses TypeScript 2.1
by default, and Rollup + Buble
to bundle a flat production bundle.
Mocha + Chai
are used as the testing stack. Unit tests can be run with or without JSDOM
.
Estimated bundle time: 0.3 ms
. (Depends on your computer.)
Features
- [x] Statically typed build system for working with Typescript 2.0 Pre
- [x] Consistent code style with TSLint.
- [x] Coverage report with Istanbul
- [x] Optional JSDOM
- [x] Rollup for bundling
- [x] Bublé as the ES2015 compiler
- [x] Mocha & Chai de facto standard
- [x] Environment variabels for production and development
- [x] Easy debugging
Getting started
The only development dependency of this project is Node.js. So just make sure you have it installed. Then type few commands known to every Node developer...
git clone --depth 1 https://github.com/kflash/rachelle.git
cd rachelle
# install the project's dependencies
npm i
# bundle both a development and production bundle
npm build
... and boom! You have it all setup for you!
NPM
build
- creates a development and production bundlebuild:dev
- creates a development bundlebuild:prod
- creates a production bundlecoverage
- shows the coverage reportclean
- remove the dist, coverage and build foldersclean:build
- remove the build foldertest
- run all unit tests in the node.js environmenttest:jsdom
- run all unit tests in the node.js environment with jsdomlint
- validates all source and test fileslint-src
- validates all source fileslint-tests
- validates all test filesrelease
- build the library, push to NPM and Githubwatch:tests
- run all unit tests and watch files for changeswatch:build
- watch your TypeScript files and trigger recompilation on changesupdate:dependencies
- update npm packages
Usage
You can simply use this project as a drop-in replacement for any TypeScript projects if you need something fast, and lightweight. Just replace the ./src
and ./test
folder and it should work right out of the box.
Use npm run build
to bundle your source files. The TypeScript
declarations for your bundle will be in the ./build/src
folder.
Coverage reports
The coverage reports are generated with Istanbul
, and delivered to coveralls.io
and codecov
by Travis CI
.
Istanbul generate a 100% correct coverage report. See the source and test files and do a comparison.
FAQ
Can this boilerplate be used together with React?
Yes. Bublé
supports JSX, and in fact React are now swapping out Browserify with Rollup. You can read more about it here - React - PR #7178
.
How to use this boilerplate with Karma?
NPM install the Karma
package and type karma init
on the command line. The test files are pre-transpilled by TypeScript
and located here build/test/specs/**/*.js
.
Install a Karma
preprocessor, and the NPM packages you may need.
Is JSX supported?
Yes. Both TSX
and JSX
. By default Bublé
are configured to be used with React
. You may change this inside the rollup.config.js
file.
Why is everything so strict?
What do you mean? The TypeScript
compiler have it's rules to follow, as well as TSLint
. Everytime you bundle, run a watch task or
run the unit tests, things get validated. You can't compile the source code or run unit tests if there are errors in your code.
When should I consider using this boilerplate?
You may consider this is if you need a lightweight, fast boilerplate that export a single file.
What's the browser compatibility?
As a rule of thumb, TypeScript
works best in IE9
and above.
Do I need to customize this boilerplate?
Nope. You only have to change the name on the boilerplate in the package.json
.