Introduce a build system

* Add a multi-process, gulp-based build system to support es6 features,
  async/await, jsx and scss
* Add a package.json to support dependency management and allow starting
  the build process via npm
* Replace embedded Bluebird library with npm-installed one
* Add react, react-dom and web-library
* Introduce a custom require() loader in include.js as well as a minimal
  local require() implementation in various other places
This commit is contained in:
Tom Najdek 2017-05-23 00:01:14 +01:00
parent c0f7f6070a
commit 9aa057edee
14 changed files with 379 additions and 5663 deletions

View file

@ -24,7 +24,23 @@
*/
EXPORTED_SYMBOLS = ["ConcurrentCaller"];
Components.utils.import("resource://zotero/bluebird.js");
var require = (target) => {
var { Loader, Require, Module } = Components.utils.import('resource://gre/modules/commonjs/toolkit/loader.js');
var requirer = Module('/', '/');
var globals = {};
Components.utils.import("resource://gre/modules/Timer.jsm", globals);
var loader = Loader({
id: 'zotero/requireminimal',
globals
});
return (Require(loader, requirer))(target);
};
var Promise = require('resource://zotero/bluebird/bluebird.js');
/**
* Call a fixed number of functions at once, queueing the rest until slots