/Kurumi

Install npm dependencies that run directly in the browser!Imports source code URLs(it must support UMD)! most of all, It don't affect global variable as same as webpack

Primary LanguageTypeScriptMIT LicenseMIT

Kurumi

travis ci badge version license downloads downloads-month

if you think that Kurumi can help you,please star or follow to support me! 😘

Introduction

  • Install npm dependencies that run directly in the browser. No Browserify, Webpack or import maps required.
  • Imports source code URLs(it must support UMD)! most of all, It don't affect global variable as same as webpack
  • Browser will cahce js, use disk-cache when reload modules!
const kurumi = new Kurumi({
  modules: {
  'lodash': 'https://unpkg.com/lodash@4.17.11/lodash.min.js'
  }
});
await kurumi.install();
const myLodash = kurumi.get('lodash');
console.log(myLodash.template(`Wow! so cool! <%= name %>`)({ name: 'Kurumi!!!' })); // Wow! so cool! Kurumi!!!
console.log(lodash) // undefined
  • No more node_modules, no dependency to install.

Install

npm install kurumi

Usage

Webpack

use kurumi in React, Onlie Demo;

Browser

<script src="https://unpkg.com/kurumi/lib/Kurumi.min.js"></script>
<script>
(async () => {
  const kurumi = new Kurumi({
    modules: {
    'lodash': 'https://unpkg.com/lodash@4.17.11/lodash.min.js'
    }
  });
  await kurumi.install();
  const myLodash = kurumi.get('lodash');
  console.log(myLodash.template(`Wow! so cool! <%= name %>`)({ name: 'Kurumi!!!' })); // Wow! so cool! Kurumi!!!
})();
</script>

Method

constructor(opt)

opt - object

  • modules - required - key: package name, value: package url
  • order - optional - the execution order of package eg: the peerdependence of react-dom is react, order is ['react', 'react-dom']; default: Object.keys(opt.module);
  • threadNum - the maxium of xhr request, deafalt: 5

install - install packages

const kurumi = new Kurumi(...);
kurumi.setThreadNum(1);
kurumi.install();

get(name) - name in Object.keys(opt.module)

const kurumi = new Kurumi({
  modules: {
    'react': 'https://unpkg.com/react@16.8.4/umd/react.production.min.js',
    'react-dom': 'https://unpkg.com/react-dom@16.8.4/umd/react-dom.production.min.js'
  }
});
kurumi.install();
kurumi.get('react').createElement('div', {}, 'this is a div!');

setThreadNum(num) - set the maxium of xhr request

const kurumi = new Kurumi(...);
kurumi.setThreadNum(1);
kurumi.install();

FAQ

Why is it called Kurumi?

Kurumi Tokisaki (時崎 狂三ときさき くるみ, Tokisaki Kurumii?) is the third Spirit to appear. Due to her brutal actions, she is referred to as the Worst Spirit (最悪の精霊, Saiaku no Seirei?). She is also the first Spirit to appear as an antagonist in the Date A Live series.

—— From Date A Live

Contributing

Welcome to pr!

Others

inspired By import-http! thx!