index.js 6.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. // Generated by LiveScript 1.3.1
  2. (function(){
  3. var banner, ref$, readFile, writeFile, unlink, path, webpack, list, experimental, libraryBlacklist, es5SpecialCase;
  4. banner = require('./config').banner;
  5. ref$ = require('fs'), readFile = ref$.readFile, writeFile = ref$.writeFile, unlink = ref$.unlink;
  6. path = require('path');
  7. webpack = require('webpack');
  8. list = ['es5', 'es6.symbol', 'es6.object.assign', 'es6.object.is', 'es6.object.set-prototype-of', 'es6.object.to-string', 'es6.object.freeze', 'es6.object.seal', 'es6.object.prevent-extensions', 'es6.object.is-frozen', 'es6.object.is-sealed', 'es6.object.is-extensible', 'es6.object.get-own-property-descriptor', 'es6.object.get-prototype-of', 'es6.object.keys', 'es6.object.get-own-property-names', 'es6.function.name', 'es6.function.has-instance', 'es6.number.constructor', 'es6.number.epsilon', 'es6.number.is-finite', 'es6.number.is-integer', 'es6.number.is-nan', 'es6.number.is-safe-integer', 'es6.number.max-safe-integer', 'es6.number.min-safe-integer', 'es6.number.parse-float', 'es6.number.parse-int', 'es6.math.acosh', 'es6.math.asinh', 'es6.math.atanh', 'es6.math.cbrt', 'es6.math.clz32', 'es6.math.cosh', 'es6.math.expm1', 'es6.math.fround', 'es6.math.hypot', 'es6.math.imul', 'es6.math.log10', 'es6.math.log1p', 'es6.math.log2', 'es6.math.sign', 'es6.math.sinh', 'es6.math.tanh', 'es6.math.trunc', 'es6.string.from-code-point', 'es6.string.raw', 'es6.string.trim', 'es6.string.code-point-at', 'es6.string.ends-with', 'es6.string.includes', 'es6.string.repeat', 'es6.string.starts-with', 'es6.string.iterator', 'es6.array.from', 'es6.array.of', 'es6.array.iterator', 'es6.array.species', 'es6.array.copy-within', 'es6.array.fill', 'es6.array.find', 'es6.array.find-index', 'es6.regexp.constructor', 'es6.regexp.flags', 'es6.regexp.match', 'es6.regexp.replace', 'es6.regexp.search', 'es6.regexp.split', 'es6.promise', 'es6.map', 'es6.set', 'es6.weak-map', 'es6.weak-set', 'es6.reflect.apply', 'es6.reflect.construct', 'es6.reflect.define-property', 'es6.reflect.delete-property', 'es6.reflect.enumerate', 'es6.reflect.get', 'es6.reflect.get-own-property-descriptor', 'es6.reflect.get-prototype-of', 'es6.reflect.has', 'es6.reflect.is-extensible', 'es6.reflect.own-keys', 'es6.reflect.prevent-extensions', 'es6.reflect.set', 'es6.reflect.set-prototype-of', 'es6.date.to-string', 'es6.typed.array-buffer', 'es6.typed.data-view', 'es6.typed.int8-array', 'es6.typed.uint8-array', 'es6.typed.uint8-clamped-array', 'es6.typed.int16-array', 'es6.typed.uint16-array', 'es6.typed.int32-array', 'es6.typed.uint32-array', 'es6.typed.float32-array', 'es6.typed.float64-array', 'es7.array.includes', 'es7.string.at', 'es7.string.pad-left', 'es7.string.pad-right', 'es7.string.trim-left', 'es7.string.trim-right', 'es7.regexp.escape', 'es7.object.get-own-property-descriptors', 'es7.object.values', 'es7.object.entries', 'es7.map.to-json', 'es7.set.to-json', 'web.immediate', 'web.dom.iterable', 'web.timers', 'core.dict', 'core.get-iterator-method', 'core.get-iterator', 'core.is-iterable', 'core.delay', 'core.function.part', 'core.object.is-object', 'core.object.classof', 'core.object.define', 'core.object.make', 'core.number.iterator', 'core.string.escape-html', 'core.string.unescape-html', 'core.log', 'js.array.statics'];
  9. experimental = ['es6.date.to-string', 'es6.typed.array-buffer', 'es6.typed.data-view', 'es6.typed.int8-array', 'es6.typed.uint8-array', 'es6.typed.uint8-clamped-array', 'es6.typed.int16-array', 'es6.typed.uint16-array', 'es6.typed.int32-array', 'es6.typed.uint32-array', 'es6.typed.float32-array', 'es6.typed.float64-array'];
  10. libraryBlacklist = ['es6.object.to-string', 'es6.function.name', 'es6.regexp.constructor', 'es6.regexp.flags', 'es6.regexp.match', 'es6.regexp.replace', 'es6.regexp.search', 'es6.regexp.split', 'es6.number.constructor'];
  11. es5SpecialCase = ['es6.object.freeze', 'es6.object.seal', 'es6.object.prevent-extensions', 'es6.object.is-frozen', 'es6.object.is-sealed', 'es6.object.is-extensible', 'es6.string.trim'];
  12. module.exports = function(arg$, next){
  13. var modules, ref$, blacklist, library;
  14. modules = (ref$ = arg$.modules) != null
  15. ? ref$
  16. : [], blacklist = (ref$ = arg$.blacklist) != null
  17. ? ref$
  18. : [], library = (ref$ = arg$.library) != null ? ref$ : false;
  19. (function(){
  20. var check, i$, x$, ref$, len$, y$, ns, name, j$, len1$, TARGET, this$ = this;
  21. check = function(err){
  22. if (err) {
  23. next(err, '');
  24. return true;
  25. }
  26. };
  27. if (this.exp) {
  28. for (i$ = 0, len$ = (ref$ = experimental).length; i$ < len$; ++i$) {
  29. x$ = ref$[i$];
  30. this[x$] = true;
  31. }
  32. }
  33. if (this.es5) {
  34. for (i$ = 0, len$ = (ref$ = es5SpecialCase).length; i$ < len$; ++i$) {
  35. y$ = ref$[i$];
  36. this[y$] = true;
  37. }
  38. }
  39. for (ns in this) {
  40. if (this[ns]) {
  41. for (i$ = 0, len$ = (ref$ = list).length; i$ < len$; ++i$) {
  42. name = ref$[i$];
  43. if (name.indexOf(ns + ".") === 0 && !in$(name, experimental)) {
  44. this[name] = true;
  45. }
  46. }
  47. }
  48. }
  49. if (library) {
  50. blacklist = blacklist.concat(libraryBlacklist);
  51. }
  52. for (i$ = 0, len$ = blacklist.length; i$ < len$; ++i$) {
  53. ns = blacklist[i$];
  54. for (j$ = 0, len1$ = (ref$ = list).length; j$ < len1$; ++j$) {
  55. name = ref$[j$];
  56. if (name === ns || name.indexOf(ns + ".") === 0) {
  57. this[name] = false;
  58. }
  59. }
  60. }
  61. TARGET = "./__tmp" + Math.random() + "__.js";
  62. webpack({
  63. entry: list.filter(function(it){
  64. return this$[it];
  65. }).map(function(it){
  66. return path.join(__dirname, '../', (library ? '/library' : '') + "/modules/" + it);
  67. }),
  68. output: {
  69. path: '',
  70. filename: TARGET
  71. }
  72. }, function(err, info){
  73. if (check(err)) {
  74. return;
  75. }
  76. readFile(TARGET, function(err, script){
  77. if (check(err)) {
  78. return;
  79. }
  80. unlink(TARGET, function(err){
  81. if (check(err)) {
  82. return;
  83. }
  84. next(null, "" + banner + "\n!function(__e, __g, undefined){\n'use strict';\n" + script + "\n// CommonJS export\nif(typeof module != 'undefined' && module.exports)module.exports = __e;\n// RequireJS export\nelse if(typeof define == 'function' && define.amd)define(function(){return __e});\n// Export to global object\nelse __g.core = __e;\n}(1, 1);");
  85. });
  86. });
  87. });
  88. }.call(modules.reduce(function(memo, it){
  89. memo[it] = true;
  90. return memo;
  91. }, {})));
  92. };
  93. function in$(x, xs){
  94. var i = -1, l = xs.length >>> 0;
  95. while (++i < l) if (x === xs[i]) return true;
  96. return false;
  97. }
  98. }).call(this);