Skip to content

DevUnltd/js-library-boilerplate

Repository files navigation

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!