marciobarrios / rollup-jest-boilerplate

πŸŽ‰ Full featured boilerplate for building JavaScript libraries the modern way

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ“š rollup-jest-boilerplate

Full featured boilerplate for building JavaScript libraries the modern way.

Features

  • πŸ“œ Rollup.js configuration providing compatibility with different module systems (CommonJS, ECMAScript, UMD for <script> tags)
  • πŸƒ Jest setup with watch mode working
  • πŸ›€ Renovate configuration for auto updates (you have to activate it)
  • 🐈 Yarn lock file with pinned devDependencies
  • βœ… Travis CI setup with pinned Yarn version
  • πŸ— .nvmrc file to enforce the Node.js version for contributors and continuous integration
  • ⚑️ Ready to publish and use

How to use

Decide of a new library name, let's say new-super-library (πŸ€¦πŸΌβ€β™€οΈ), then in a terminal:

curl --output rollup-jest-boilerplate.zip -LOk https://github.com/algolia/rollup-jest-boilerplate/archive/master.zip
unzip rollup-jest-boilerplate.zip
rm rollup-jest-boilerplate.zip
mv rollup-jest-boilerplate-master new-super-library

Next steps:

  • search the project for rollup-starter-lib and replace everywhere with new-super-library
  • start coding in src/main.js
  • profit πŸ’Έ

Live examples

Those examples are using the live published version of this boilerplate library on npm and they run with CodeSandbox.

Developer environment requirements

To run this project, you will need:

Running tests

yarn
yarn test
yarn test --watch

Dev mode

When developing you can run:

yarn watch

This will regenerate the build files each time a source file is changed.

Previewing umd build in the browser

If your package works in the browser, you can open dev/index.html to try it out.

Publishing

npm publish

Additional tooling

Based on your need, you might want to add:

If so, please do and open pull requests when you feel like it.

Original idea

I initially used rollup/rollup-starter-lib but really needed that Jest support so I did it.

About

πŸŽ‰ Full featured boilerplate for building JavaScript libraries the modern way

License:MIT License


Languages

Language:JavaScript 89.0%Language:HTML 11.0%