/js-library-boilerplate

Javascript Starter Boilerplate - Webpack 4, Babel 7, UMD, Hot Reloading, and more

Primary LanguageJavaScriptMIT LicenseMIT

Javascript Library Boilerplate

Library Starter Kit for your Javascript projects

npm version latest commit Build Status Publish Status

This is a more robust library boilerplate. For a minimal alternative, check out js-library-boilerplate-basic.

⭐️ Features

  • Webpack 5
  • Babel 7
  • Hot Reloading (npm start)
  • CSS Autoprefixer
  • SASS/SCSS support
  • UMD exports, so your library works everywhere.
  • Based on CRA v5.0.0 (For Vanilla JS libs or React libs)
  • Jest unit testing
  • npm run demo To build a ready-for-deployment demo (Example)
  • Customizable file headers for your build (Example 1) (Example2)
  • Configurable postinstall message (Example)
  • Daily dependabot dependency updates

📦 Getting Started

git clone https://github.com/hodgef/js-library-boilerplate.git myLibrary
npm install

💎 Customization

Before shipping, make sure to:

  1. Edit LICENSE file
  2. Edit package.json information (These will be used to generate the headers for your built files)
  3. Edit library: "MyLibrary" with your library's export name in ./config/webpack.config.js
  4. Edit ./bin/postinstall (If you would like to display a message on package install)

🚀 Deployment

  1. npm publish
  2. Your users can include your library as usual

npm

import MyLibrary from 'my-library';
import 'my-library/build/index.css' // If you import a css file in your library

let libraryInstance = new MyLibrary();
...

self-host/cdn

<link href="build/index.css" rel="stylesheet">
<script src="build/index.js"></script>

let MyLibrary = window.MyLibrary.default;
let libraryInstance = new MyLibrary();
...

✅ Libraries built with this boilerplate

Made a library using this starter kit? Share it here by submitting a pull request!