aboutsummaryrefslogtreecommitdiff
path: root/node_modules/core-js/build/build.ls
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/core-js/build/build.ls')
-rw-r--r--node_modules/core-js/build/build.ls62
1 files changed, 62 insertions, 0 deletions
diff --git a/node_modules/core-js/build/build.ls b/node_modules/core-js/build/build.ls
new file mode 100644
index 000000000..0cf210de5
--- /dev/null
+++ b/node_modules/core-js/build/build.ls
@@ -0,0 +1,62 @@
+require! {
+ '../library/fn/promise': Promise
+ './config': {list, experimental, libraryBlacklist, es5SpecialCase, banner}
+ fs: {readFile, writeFile, unlink}
+ path: {join}
+ webpack, temp
+}
+
+module.exports = ({modules = [], blacklist = [], library = no, umd = on})->
+ resolve, reject <~! new Promise _
+ let @ = modules.reduce ((memo, it)-> memo[it] = on; memo), {}
+ if @exp => for experimental => @[..] = on
+ if @es5 => for es5SpecialCase => @[..] = on
+ for ns of @
+ if @[ns]
+ for name in list
+ if name.indexOf("#ns.") is 0 and name not in experimental
+ @[name] = on
+
+ if library => blacklist ++= libraryBlacklist
+ for ns in blacklist
+ for name in list
+ if name is ns or name.indexOf("#ns.") is 0
+ @[name] = no
+
+ TARGET = temp.path {suffix: '.js'}
+
+ err, info <~! webpack do
+ entry: list.filter(~> @[it]).map ~>
+ if library => join __dirname, '..', 'library', 'modules', it
+ else join __dirname, '..', 'modules', it
+ output:
+ path: ''
+ filename: TARGET
+ if err => return reject err
+
+ err, script <~! readFile TARGET
+ if err => return reject err
+
+ err <~! unlink TARGET
+ if err => return reject err
+
+ if umd
+ exportScript = """
+ // CommonJS export
+ if(typeof module != 'undefined' && module.exports)module.exports = __e;
+ // RequireJS export
+ else if(typeof define == 'function' && define.amd)define(function(){return __e});
+ // Export to global object
+ else __g.core = __e;
+ """
+ else
+ exportScript = ""
+
+ resolve """
+ #banner
+ !function(__e, __g, undefined){
+ 'use strict';
+ #script
+ #exportScript
+ }(1, 1);
+ """ \ No newline at end of file