@hap-toolkit/server 2.0.7-beta.1 → 2.0.8-beta.1
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/LICENSE +51 -51
- package/README.md +3 -3
- package/lib/preview/static/common.css +7 -7
- package/lib/preview/static/common.js +116 -116
- package/lib/preview/static/web.js +56878 -56878
- package/lib/preview/views/404.html +3 -3
- package/lib/preview/views/page.html +25 -25
- package/lib/server.js +1 -1
- package/package.json +5 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Copyright (c) 2021-present, the hapjs-platform Project Contributors
|
|
3
|
-
SPDX-License-Identifier: Apache-2.0
|
|
1
|
+
<!--
|
|
2
|
+
Copyright (c) 2021-present, the hapjs-platform Project Contributors
|
|
3
|
+
SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
--><!DOCTYPE html><html><head><meta charset="utf-8"><title>404 Not Found</title><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="apple-touch-fullscreen" content="yes"><meta name="format-detection" content="telephone=no, email=no"><meta name="referrer" content="no-referrer"><link href="/preview-static/common.css" rel="stylesheet"><style type="text/css">body{margin:0;background-color:#fff;font-size:16px}.content{padding-top:26vh;display:flex;flex-direction:column;align-items:center}.img{display:block;width:100px;height:100px}.tips{margin-top:6px;margin-bottom:0;color:rgba(0,0,0,.5)}.btn{margin-top:20px;font-size:16px;line-height:34px;border-radius:17px;padding:0 13px;background:#fff;color:#0ea8ff;text-align:center;text-decoration:none;border:2px solid #0ea8ff}</style></head><body><div class="content"><img src="/preview-static/img.png" alt="page-not-found" class="img"><p class="tips">很抱歉,该页面不存在</p><p class="tips"><b>{{message}}</b></p><a class="btn" href="/preview">返回快应用首页</a></div><script src="/preview-static/common.js"></script><!-- Global site tag (gtag.js) - Google Analytics --><script async src="https://www.googletagmanager.com/gtag/js?id=UA-129793617-6"></script><script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","UA-129793617-6")</script></body></html>
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Copyright (c) 2021-present, the hapjs-platform Project Contributors
|
|
3
|
-
SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
--><!DOCTYPE html><html><head><meta charset="utf-8"><title>{{ title }}</title><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="apple-touch-fullscreen" content="yes"><meta name="format-detection" content="telephone=no, email=no"><meta name="referrer" content="no-referrer"><style>#mask{position:fixed;top:0;bottom:0;left:0;right:0;background:rgba(42,43,46,.9);padding:.8rem .27rem .27rem .27rem;z-index:1002}#btn{width:.67rem;height:.67rem;border:.04rem solid #ccc;border-radius:50%;color:#ccc;line-height:.59rem;font-size:.67rem;text-align:center;margin:auto}#text{height:95%;color:#f60;font-size:.35rem;white-space:break-spaces;word-break:break-word;overflow:auto;margin-top:.27rem}#text::-webkit-scrollbar{display:none}#loading{position:fixed;top:0;bottom:0;left:0;right:0;background:url(/preview-static/loading.gif) no-repeat center;background-size:15%;background-position:center;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1001}.dark{background-color:#252526!important;color:rgba(255,255,255,.8)}.light{background-color:#fff!important;color:rgba(0,0,0,.8)}#loading:after{display:block;font-size:.45rem;transform:translateY(200%)}#progress-bar{position:fixed;top:55%;width:100%;font-size:.45rem;text-align:center;z-index:1002}</style><script src="hap-preview://index.js"></script><script type="text/javascript">if (`{{devtoolUrl}}`) {
|
|
5
|
-
document.write('<script src="{{devtoolUrl}}">\x3C/script>')
|
|
6
|
-
}</script><!-- https://statres.quickapp.cn/quickapp/ide/web.js --><script src="{{webJsUrl}}"></script><script type="text/javascript">window.Hap||document.write('<script src="/preview-static/web.js"><\/script>')</script><script type="text/javascript">var base = '/preview'
|
|
7
|
-
var type = '{{ type }}'
|
|
8
|
-
window.language = `{{language}}`
|
|
9
|
-
window.mediaQueryParams = JSON.parse(`{{mediaQueryParams}}`)
|
|
10
|
-
;(function preview() {
|
|
11
|
-
var routeName = '{{ routeName }}'
|
|
12
|
-
Hap.init({
|
|
13
|
-
base,
|
|
14
|
-
type,
|
|
15
|
-
idePlatform: `{{devtoolUrl}}` ? 'extensionOnline' : undefined
|
|
16
|
-
})
|
|
17
|
-
})()</script><script src="/preview-static/common.js"></script></head><body><div id="scriptNotFound" style="display:none"><p>找不到页面 js 文件 {{ script }}</p><p>编译可能存在异常</p></div><script type="text/javascript">if ({{ scriptNotFound }}) {
|
|
18
|
-
// TODO loading
|
|
19
|
-
setTimeout(() => {
|
|
20
|
-
var el = document.getElementById('scriptNotFound')
|
|
21
|
-
// 如果页面 js 已加载,#scriptNotFound 将会被 web.js 移除
|
|
22
|
-
if (el) {
|
|
23
|
-
el.style.display = 'block'
|
|
24
|
-
}
|
|
25
|
-
}, 1000)
|
|
1
|
+
<!--
|
|
2
|
+
Copyright (c) 2021-present, the hapjs-platform Project Contributors
|
|
3
|
+
SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
--><!DOCTYPE html><html><head><meta charset="utf-8"><title>{{ title }}</title><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="apple-touch-fullscreen" content="yes"><meta name="format-detection" content="telephone=no, email=no"><meta name="referrer" content="no-referrer"><style>#mask{position:fixed;top:0;bottom:0;left:0;right:0;background:rgba(42,43,46,.9);padding:.8rem .27rem .27rem .27rem;z-index:1002}#btn{width:.67rem;height:.67rem;border:.04rem solid #ccc;border-radius:50%;color:#ccc;line-height:.59rem;font-size:.67rem;text-align:center;margin:auto}#text{height:95%;color:#f60;font-size:.35rem;white-space:break-spaces;word-break:break-word;overflow:auto;margin-top:.27rem}#text::-webkit-scrollbar{display:none}#loading{position:fixed;top:0;bottom:0;left:0;right:0;background:url(/preview-static/loading.gif) no-repeat center;background-size:15%;background-position:center;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1001}.dark{background-color:#252526!important;color:rgba(255,255,255,.8)}.light{background-color:#fff!important;color:rgba(0,0,0,.8)}#loading:after{display:block;font-size:.45rem;transform:translateY(200%)}#progress-bar{position:fixed;top:55%;width:100%;font-size:.45rem;text-align:center;z-index:1002}</style><script src="hap-preview://index.js"></script><script type="text/javascript">if (`{{devtoolUrl}}`) {
|
|
5
|
+
document.write('<script src="{{devtoolUrl}}">\x3C/script>')
|
|
6
|
+
}</script><!-- https://statres.quickapp.cn/quickapp/ide/web.js --><script src="{{webJsUrl}}"></script><script type="text/javascript">window.Hap||document.write('<script src="/preview-static/web.js"><\/script>')</script><script type="text/javascript">var base = '/preview'
|
|
7
|
+
var type = '{{ type }}'
|
|
8
|
+
window.language = `{{language}}`
|
|
9
|
+
window.mediaQueryParams = JSON.parse(`{{mediaQueryParams}}`)
|
|
10
|
+
;(function preview() {
|
|
11
|
+
var routeName = '{{ routeName }}'
|
|
12
|
+
Hap.init({
|
|
13
|
+
base,
|
|
14
|
+
type,
|
|
15
|
+
idePlatform: `{{devtoolUrl}}` ? 'extensionOnline' : undefined
|
|
16
|
+
})
|
|
17
|
+
})()</script><script src="/preview-static/common.js"></script></head><body><div id="scriptNotFound" style="display:none"><p>找不到页面 js 文件 {{ script }}</p><p>编译可能存在异常</p></div><script type="text/javascript">if ({{ scriptNotFound }}) {
|
|
18
|
+
// TODO loading
|
|
19
|
+
setTimeout(() => {
|
|
20
|
+
var el = document.getElementById('scriptNotFound')
|
|
21
|
+
// 如果页面 js 已加载,#scriptNotFound 将会被 web.js 移除
|
|
22
|
+
if (el) {
|
|
23
|
+
el.style.display = 'block'
|
|
24
|
+
}
|
|
25
|
+
}, 1000)
|
|
26
26
|
}</script><!-- Global site tag (gtag.js) - Google Analytics --><script async src="https://www.googletagmanager.com/gtag/js?id=G-W1C4XTJP2Y"></script><script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-W1C4XTJP2Y")</script></body></html>
|
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.1",
|
|
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.1",
|
|
30
|
+
"@hap-toolkit/packager": "2.0.8-beta.1",
|
|
31
|
+
"@hap-toolkit/shared-utils": "2.0.8-beta.1",
|
|
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": "3212c62605681226a0608a2839e413834f713b6a"
|
|
51
51
|
}
|