UNPKG

quickgame-cli

Version:

quickgame cli

1 lines 5.43 kB
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_regenerator=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.transformJsAsync=transformJsAsync,exports.transformJsByEsBuild=transformJsByEsBuild,_interopRequireDefault(require("@babel/runtime/regenerator"))),_defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty")),_asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));function ownKeys(r,e){var t,n=Object.keys(r);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(r),e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),n.push.apply(n,t)),n}function _objectSpread(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(t),!0).forEach(function(e){(0,_defineProperty2.default)(r,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))})}return r}function _createForOfIteratorHelper(e,r){var t,n,a,o,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return a=!(n=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return n=e.done,e},e:function(e){a=!0,t=e},f:function(){try{n||null==i.return||i.return()}finally{if(a)throw t}}};if(Array.isArray(e)||(i=_unsupportedIterableToArray(e))||r&&e&&"number"==typeof e.length)return i&&(e=i),o=0,{s:r=function(){},n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:r};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,r){var t;if(e)return"string"==typeof e?_arrayLikeToArray(e,r):"Map"===(t="Object"===(t={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,r):void 0}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}var esbuild=require("esbuild"),fs=require("fs"),path=require("path"),parser=require("@babel/parser"),traverse=require("@babel/traverse").default,generator=require("@babel/generator").default,t=require("@babel/types");function transformRequire(e){var e=fs.readFileSync(e,"utf-8"),r=parser.parse(e,{sourceType:"unambiguous",plugins:["dynamicImport"]}),s=new Set;return traverse(r,{Function:function(e){var r,n=_createForOfIteratorHelper(e.node.params);try{for(n.s();!(r=n.n()).done;){var a=r.value;if(t.isIdentifier(a)&&"require"===a.name&&s.add(e.scope.uid),t.isObjectPattern(a)){var o,i=_createForOfIteratorHelper(a.properties);try{for(i.s();!(o=i.n()).done;){var u=o.value;t.isIdentifier(u.key)&&"require"===u.key.name&&s.add(e.scope.uid)}}catch(e){i.e(e)}finally{i.f()}}}}catch(e){n.e(e)}finally{n.f()}},VariableDeclarator:function(e){var r=e.node.id;t.isIdentifier(r)&&"require"===r.name&&s.add(e.scope.uid)},CallExpression:function(e){var r=e.node.callee;if(t.isIdentifier(r,{name:"require"})&&1===e.node.arguments.length){for(var n=e.scope,a=!1;n;){if(s.has(n.uid)||n.hasBinding("require")){a=!0;break}n=n.parent}a||(e.node.callee=t.identifier("__mi_$require"))}}}),generator(r,{},e).code}function transformJsByEsBuild(e){return _transformJsByEsBuild.apply(this,arguments)}function _transformJsByEsBuild(){return(_transformJsByEsBuild=(0,_asyncToGenerator2.default)(_regenerator.default.mark(function e(r){var t,n=arguments;return _regenerator.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=_objectSpread({bundle:!0,write:!1,minify:!1,platform:"node",logLevel:"error",format:"cjs"},1<n.length&&void 0!==n[1]?n[1]:{}),r&&(t.entryPoints=[r]),e.next=5,esbuild.build(_objectSpread(_objectSpread({},t),{},{plugins:[{name:"ignore-require",setup:function(e){e.onResolve({filter:/.*/},function(e){return"require-call"===e.kind||"require-resolve"===e.kind||"import-statement"===e.kind&&(e.path.startsWith("./")||e.path.startsWith("../")||e.path.startsWith("/"))?{external:!0}:void 0}),e.onLoad({filter:/.*/},(()=>{var r=(0,_asyncToGenerator2.default)(_regenerator.default.mark(function e(r){var t;return _regenerator.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fs.promises.readFile(r.path,"utf8");case 2:return t=e.sent,e.abrupt("return",{contents:t,loader:"default"});case 4:case"end":return e.stop()}},e)}));return function(e){return r.apply(this,arguments)}})())}}]}));case 5:return t=e.sent,e.abrupt("return",t.outputFiles[0].text);case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function transformJsAsync(e){return _transformJsAsync.apply(this,arguments)}function _transformJsAsync(){return(_transformJsAsync=(0,_asyncToGenerator2.default)(_regenerator.default.mark(function e(r){var t;return _regenerator.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=transformRequire(r),e.prev=1,e.next=4,transformJsByEsBuild("",{stdin:{contents:t,resolveDir:path.dirname(r),sourcefile:r,loader:"js"}});case 4:return t=e.sent,e.abrupt("return",t.replace(/__mi_\$require/g,"require"));case 8:e.prev=8,e.t0=e.catch(1),console.error(e.t0);case 11:case"end":return e.stop()}},e,null,[[1,8]])}))).apply(this,arguments)}