@hap-toolkit/server 2.0.7 → 2.0.8-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/server.js +1 -1
- package/package.json +5 -5
package/lib/server.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.launch=launch,exports.stop=stop;var _http=_interopRequireDefault(require("http")),_koa=_interopRequireDefault(require("koa")),_opn=_interopRequireDefault(require("opn")),_portfinder=_interopRequireDefault(require("portfinder")),_sharedUtils=require("@hap-toolkit/shared-utils"),_config=require("./config");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.launch=launch,exports.stop=stop;var _http=_interopRequireDefault(require("http")),_https=_interopRequireDefault(require("https")),_koa=_interopRequireDefault(require("koa")),_opn=_interopRequireDefault(require("opn")),_portfinder=_interopRequireDefault(require("portfinder")),_sharedUtils=require("@hap-toolkit/shared-utils"),_config=require("./config");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(e){var r=_toPrimitive(e,"string");return"symbol"==typeof r?r:String(r)}function _toPrimitive(e,r){if("object"!=typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,r||"default");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t=new WeakMap;return(_getRequireWildcardCache=function(e){return e?t:r})(e)}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var o={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if("default"!==n&&Object.prototype.hasOwnProperty.call(e,n)){var i=s?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(o,n,i):o[n]=e[n]}return o.default=e,t&&t.set(e,o),o}const moduler=[require("@hap-toolkit/debugger")];let server=null;async function launch(e){return new Promise((async r=>{try{"debug"!==_sharedUtils.globalConfig.command&&moduler.push((await Promise.resolve().then((()=>_interopRequireWildcard(require("@hap-toolkit/packager"))))).router,require("./preview/index.js"));const t=new _koa.default;t.use((async(e,r)=>{if(!e.request.url.startsWith("/api/proxy"))return r();const t=e.request.url.split("/api/proxy/")[1]||"",o=new URL(t);if(!o)return e.status=400,void(e.body={message:"Missing required query param: target"});const s=await new Promise(((r,t)=>{const o=[];e.req.on("data",(e=>o.push(e))),e.req.on("end",(()=>r(Buffer.concat(o)))),e.req.on("error",t)})),n=_objectSpread({},e.headers);delete n.host,s.length>0?n["content-length"]=s.length:delete n["content-length"];const i={method:e.method,headers:n},a="https:"===o.protocol?_https.default:_http.default,c=await new Promise(((e,r)=>{const t=a.request(o,i,(r=>{const t=[];r.on("data",(e=>t.push(e))),r.on("end",(()=>{e({statusCode:r.statusCode||500,headers:r.headers,body:Buffer.concat(t)})}))}));t.on("error",r),t.setTimeout(3e4,(()=>{t.destroy(new Error("proxy request timeout"))})),s.length>0&&t.write(s),t.end()}));e.status=c.statusCode,Object.entries(c.headers||{}).forEach((([r,t])=>{void 0!==t&&e.set(r,t)})),e.body=c.body}));let o=_sharedUtils.globalConfig.server.port;o=await _portfinder.default.getPortPromise({port:o}),Object.assign(e.defaults,{serverPort:o}),t.context.conf=e,_config.browerOptions.options=Object.assign(_config.browerOptions.options,e);const{clearRecords:s,openBrowser:n}=e.options;if(s){const{clientRecordPath:e}=_sharedUtils.globalConfig;(0,_sharedUtils.clearProjectRecord)(e)}moduler.forEach((e=>{e.applyRouter&&t.use(e.applyRouter(t).routes())})),server=_http.default.Server(t.callback()),t.server=server;for(const e of moduler)e.beforeStart&&await e.beforeStart(server,t);server.listen(o,(()=>{const e=`http://localhost:${o}`,t=(0,_sharedUtils.getIPv4IPAddress)();if(!t)return _sharedUtils.colorconsole.warn("### App Server ### 本机IP地址为空,无法通过WIFI调试"),void r({launchServerError:null,server:server,address:e,previewAddress:e+"/previewAddress"});const s=`http://${t}:${o}`;_sharedUtils.colorconsole.info(`### App Server ### 服务器地址: ${e}, ${s}`),_sharedUtils.colorconsole.info("### App Server ### 请确保手机与App Server处于相同网段"),(0,_sharedUtils.outputQRCodeOnTerminal)(s),n&&(0,_opn.default)(s),r({launchServerError:null,server:server,address:s,previewAddress:e+"/preview"})})),t.on("error",((e,t)=>{_sharedUtils.colorconsole.error(`### App Server ### 服务器错误: ${e.message}`);const o=`出错了!HTTP error code: ${e.status}, 出错信息: ${e.message}`;t&&(t.body=o),r({launchServerError:e,server:server})})),server.on("error",(e=>{_sharedUtils.colorconsole.error(`### App Server ### 服务器错误: ${e.message}`),"EADDRINUSE"===e.code&&_sharedUtils.colorconsole.error(`### App Server ### 服务器错误:端口 ${o} 被占用, 请检查`),r({launchServerError:e,server:server})})),process.on("SIGINT",(()=>{_sharedUtils.colorconsole.info("### App Server ### SIGINT信号"),_sharedUtils.colorconsole.info(`### App Server ### 退出server进程 pid: ${process.pid}`),t.context.adbDebugger._stop(),process.exit()})),process.on("uncaughtException",(e=>{_sharedUtils.colorconsole.error(`### App Server ### 未定义的异常, 出错信息: ${e.message}`),console.error(e)})),process.on("unhandledRejection",((e,r)=>{_sharedUtils.colorconsole.error(`### App Server ### 未处理的 rejection, 出错信息: ${e}`),r.catch((e=>{console.error(e)}))}))}catch(e){throw _sharedUtils.colorconsole.error(`### App Server ### 服务器启动失败: ${e.message}`),r({launchServerError:e,server:null}),e}}))}function stop(){return new Promise((e=>{if(server)try{server.close((r=>{e({stopServerError:r})}))}catch(r){throw _sharedUtils.colorconsole.error(`### App Server ### 服务器关闭失败: ${r.message}`),e({stopServerError:r}),r}else e({stopServerError:"no server"})}))}
|
|
2
2
|
//# sourceMappingURL=server.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hap-toolkit/server",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.8-beta.2",
|
|
4
4
|
"description": "hap server",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=14.0.0"
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@babel/runtime": "^7.9.6",
|
|
29
|
-
"@hap-toolkit/debugger": "2.0.
|
|
30
|
-
"@hap-toolkit/packager": "2.0.
|
|
31
|
-
"@hap-toolkit/shared-utils": "2.0.
|
|
29
|
+
"@hap-toolkit/debugger": "2.0.8-beta.2",
|
|
30
|
+
"@hap-toolkit/packager": "2.0.8-beta.2",
|
|
31
|
+
"@hap-toolkit/shared-utils": "2.0.8-beta.2",
|
|
32
32
|
"@jayfate/path": "^0.0.13",
|
|
33
33
|
"crypto-js": "^4.1.1",
|
|
34
34
|
"fs-extra": "^10.0.0",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"request": "^2.88.2",
|
|
48
48
|
"resolve": "^1.22.2"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "042b3fc23f20b55992df1f989bd00d2999bf21a3"
|
|
51
51
|
}
|