beerxml v1.0.6
ES6 library starter
A boilerplate for a universal (Node, web, UMD) ES6 library.
Quick usage
- Clone this repo.
- Change all relevant entries in
package.jsonandREADME.md, so they match your new shiny library. - Run
npm installto install dev dependencies. - Write your ES6 code in
srcfolder. - Write your ES6 tests in
testfolder. - Run
npm run buildto build for node. This will compile to ES5, minify, and output the result tolibfolder. - Run
npm run build-webto build and pack the files for the web. This will output the result todistfolder. Run
npm publishto pulish to the world.
(Or, if you don't need Webpack bundling, you can use the even lighter ES6 starter).
Detailed overview
Installation
After cloning this repository, make sure to change all the relevant entries in package.json so they match your library.
npm installBuild for npm
npm run buildThis will:
1. Run Webpack starting from the entry point file (src/library.js, can be configured)
2. Convert all files in src folder from ES6 to ES5
3. According to the bundle-node flag in package.json, it will either:
1. Leave them as separate files, or -
2. Minify and bundle them using Webpack, without their node_modules dependencies
4. Output the result to the lib folder
Build for web
npm run build-webThis will:
1. Run Webpack starting from the entry point file (src/library.js, can be configured)
2. Convert all files from ES6 to ES5
3. Minify them, including all of their module dependencies, as a UMD module (so the file will be self-contained)
4. Output the file to the dist folder
Test
npm run testConfiguration
In package.json, change all the relevant entries so they match your library.
Under the section library, you can configure:
1. Library name (defaults to "Library")
2. Webpack entry point (defaults to library.js)
3. Dist folder for Node (defaults to lib)
4. Dist folder for Web (defaults to dist)
5. Choose whether to bundle for Node (defaults to true)
License
MIT