Usage no npm install needed!

<script type="module">
  import testLernaLib4 from 'https://cdn.skypack.dev/test-lerna-lib4';



license Build Status Coveralls npm NPM downloads Percentage of issues still open

English | 简体中文

The best third party JS|TS library scaffold. By forking or cloning the repository, you can complete the basic framework for building a new library.

The library that based jslib-base can be shared to the jsmini platform


  • Coded in ES6+ or TypeScript, easily compile and generate production code
  • Integrated babel-runtime (Default set to closed)
  • Third parties rely on automatic injection(Tree shaking)
  • Supports multi environment, including default browsers, Node, AMD, CMD, Webpack, Rollup, Fis and so on.
  • Integrated code style lint(eslint|tslint).
  • Integrated unit test environment(mocha).
  • Integrated test coverage(istanbul).
  • Integrated continuous integration tool travis-ci
  • Supports banner
  • Supports one-key renaming.
  • Supports sideEffects
  • Integrated Issue template
  • Integrated jsmini

Note: When export and export default are not used at the same time, there is the option to turn on legacy mode. Under legacy mode, the module system can be compatible with IE6-8. For more information on legacy mode, please see rollup supplemental file.


Unit tests guarantee support on the following environment:

IE CH FF SF OP IOS Android Node
6+ 29+ 55+ 9+ 50+ 9+ 4+ 4+

Note: Compiling code depend on ES5, so you need import es5-shim to compatible with IE6-8, here is a demo


├── demo - Using demo
├── dist - Compiler output code
├── doc - Project documents
├── src - Source code directory
├── test - Unit tests
├── CHANGELOG.md - Change log
└── TODO.md - Planned features

Usage Instructions

Using npm, download and install the code.

$ npm install --save jslib-base

For node environment:

var base = require('jslib-base');

For webpack or similar environment:

import base from 'jslib-base';

For requirejs environment:

requirejs(['node_modules/jslib-base/dist/index.aio.js'], function (base) {
    // do something...

For browser environment:

<script src="node_modules/jslib-base/dist/index.aio.js"></script>



Contribution Guide

How to switch JS and TS

  • srctype and scripts in package.json
  • require file of test/test.js
  • require file of test/browser/index.html

For the first time to run, you need to install dependencies firstly.

$ npm install

To build the project:

$ npm run build

To run unit tests:

$ npm test

Note: The browser environment needs to be tested manually under test/browser

Modify the version number in package.json, modify the version number in README.md, modify the CHANGELOG.md, and then release the new version.

$ npm run release

Publish the new version to NPM.

$ npm publish

For renaming project, you need change fromName and toName in rename.js, then run npm run rename, this command will auto renaming names for below files:

  • The messages in README.md
  • The messages in package.json
  • The messages in config/rollup.js
  • The repository name in test/browser/index.html
  • Library name in demo/demo-global.html



Change Log




Current Users



Relative links