@hap-toolkit/shared-utils 2.0.1 → 2.0.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.
Files changed (2) hide show
  1. package/lib/index.js +1 -1
  2. package/package.json +2 -2
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={logger:!0,colorconsole:!0,logWarn:!0,mkdirsSync:!0,getIPv4IPAddress:!0,getServerIPAndPort:!0,getDefaultServerHost:!0,getClientIPAddress:!0,stripPrefixForIPV4MappedIPV6Address:!0,outputQRCodeOnTerminal:!0,relateCwd:!0,equals:!0,extend:!0,renderString:!0,KnownError:!0,setCustomConfig:!0,getProjectDslName:!0,getDeviceInfo:!0,readJson:!0,calcDataDigest:!0,getStyleObjectId:!0,isNeedFullPackage:!0,getUseFullPackage:!0,globalConfig:!0,BuildModeManager:!0,getLaunchPage:!0};Object.defineProperty(exports,"BuildModeManager",{enumerable:!0,get:function(){return _BuildModeManager.default}}),exports.KnownError=KnownError,exports.calcDataDigest=calcDataDigest,exports.colorconsole=void 0,exports.equals=equals,exports.extend=extend,exports.getClientIPAddress=getClientIPAddress,exports.getDefaultServerHost=getDefaultServerHost,exports.getDeviceInfo=getDeviceInfo,exports.getIPv4IPAddress=getIPv4IPAddress,Object.defineProperty(exports,"getLaunchPage",{enumerable:!0,get:function(){return _util.getLaunchPage}}),exports.getProjectDslName=getProjectDslName,exports.getServerIPAndPort=getServerIPAndPort,exports.getStyleObjectId=getStyleObjectId,exports.getUseFullPackage=getUseFullPackage,Object.defineProperty(exports,"globalConfig",{enumerable:!0,get:function(){return _config.default}}),exports.isNeedFullPackage=isNeedFullPackage,exports.logWarn=logWarn,exports.logger=void 0,exports.mkdirsSync=mkdirsSync,exports.outputQRCodeOnTerminal=outputQRCodeOnTerminal,exports.readJson=readJson,exports.relateCwd=relateCwd,exports.renderString=renderString,exports.setCustomConfig=setCustomConfig,exports.stripPrefixForIPV4MappedIPV6Address=stripPrefixForIPV4MappedIPV6Address;var _os=_interopRequireDefault(require("os")),_fs=_interopRequireDefault(require("fs")),_path=_interopRequireDefault(require("path")),_http=_interopRequireDefault(require("http")),_console=require("console"),_chalk=_interopRequireDefault(require("chalk")),_qrcodeTerminal=_interopRequireDefault(require("qrcode-terminal")),_config=_interopRequireDefault(require("./config")),_BuildModeManager=_interopRequireDefault(require("./buildMode/BuildModeManager.js")),_crypto=_interopRequireDefault(require("crypto")),_util=require("./buildMode/util"),_compilationConfig=require("./compilation-config");Object.keys(_compilationConfig).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_compilationConfig[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _compilationConfig[e]}}))}));var _recordClient=require("./record-client");Object.keys(_recordClient).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_recordClient[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _recordClient[e]}}))}));var _eventBus=require("./event-bus");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.keys(_eventBus).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_eventBus[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _eventBus[e]}}))}));const logLevelMap={};function prependLevel(e,t){if(!logLevelMap[e]){const t=e.toUpperCase();logLevelMap[e]=t}"string"==typeof t[0]&&t[0].length>1&&"["!==t[0][0]&&(t[0]=`[${logLevelMap[e]}] ${t[0]}`)}const logger={logs:[],add(e){this.logs.push(e)},clear(){this.logs=[]},get(){return this.logs.join("\n")}};exports.logger=logger;let originConsole=global.console,console=_console.Console?new _console.Console(process.stdout,process.stderr):originConsole;const colorconsole={attach(e){e&&_console.Console&&(console=new _console.Console(e,e))},trace(...e){prependLevel("trace",e),console.trace(...e)},log(...e){prependLevel("log",e),console.log(_chalk.default.green(...e))},info(...e){prependLevel("info",e),console.info(_chalk.default.green(...e))},warn(...e){prependLevel("warn",e),console.warn(_chalk.default.yellow.bold(...e))},error(...e){prependLevel("error",e),console.error(_chalk.default.red.bold(...e))},throw(...e){throw new Error(_chalk.default.red.bold(...e))}};function logWarn(e,t,r){t&&t.length&&t.forEach((t=>{const o=t.line&&t.column?"@"+t.line+":"+t.column:"";r||(t.reason.startsWith("ERROR")?colorconsole.error(e.resourcePath,o,t.reason):colorconsole.warn(e.resourcePath,o,t.reason))}))}function mkdirsSync(e){return!!_fs.default.existsSync(e)||(mkdirsSync(_path.default.dirname(e))?(_fs.default.mkdirSync(e),!0):void 0)}function getIPv4IPAddress(){const e=_os.default.networkInterfaces();let t;for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(e[r].every((e=>!("IPv4"===e.family&&!e.internal&&"127.0.0.1"!==e.address)||(t=e,!1))),void 0!==t)break}return t&&t.address}function getServerIPAndPort(e){return(getIPv4IPAddress()||"127.0.0.1")+""+(80===e?"":":"+e)}function getDefaultServerHost(){return getServerIPAndPort(_config.default.server.port)}function getClientIPAddress(e){return stripPrefixForIPV4MappedIPV6Address(e.headers["x-forwarded-for"]||e.connection&&e.connection.remoteAddress||e.socket&&e.socket.remoteAddress||e.connection&&e.connection.socket&&e.connection.socket.remoteAddress)}function stripPrefixForIPV4MappedIPV6Address(e){return/^::1$/.test(e)&&(e="127.0.0.1"),/^::.{0,4}:(\d{1,3}\.){3}\d{1,3}/.test(e)&&(e=e.replace(/^.*:/,"")),e}function outputQRCodeOnTerminal(e){console.info(`\n生成HTTP服务器的二维码: ${e}`),_qrcodeTerminal.default.generate(e,{small:!0})}function relateCwd(e){const t=_config.default.projectPath;return _path.default.relative(t,e)}function equals(e,t,r,...o){if(r){if(r(e,t,...o))return!0}const n=Object.prototype.toString.call(e);if(n!==Object.prototype.toString.call(t))return!1;if("[object Null]"===n||"[object Undefined]"===n)return!0;if("[object Object]"!==n&&"[object Array]"!==n)return Object(e).toString()===Object(t).toString();const s={};Object.keys(e).forEach((e=>s[e]=!0)),Object.keys(t).forEach((e=>s[e]=!0));const a=Object.keys(s);for(let o=0;o<a.length;o++){const n=a[o];if(!equals(e[n],t[n],r,n))return!1}return!0}function extend(e,...t){if("function"==typeof Object.assign)Object.assign(e,...t);else{const r=t.shift();for(const t in r)e[t]=r[t];t.length&&extend(e,...t)}return e}function renderString(e,t){return e.replace(/{{(.*?)}}/gm,((e,r)=>(r=r.trim(),void 0!==t[r]?t[r]:r)))}function KnownError(e){const t=new Error(e);return t.name="KnownError",t.__KNOWN=!0,t}function setCustomConfig(e,t){e=_config.default.projectPath=e||_config.default.projectPath;const r=_path.default.join(e,"quickapp.config.js");if(_fs.default.existsSync(r)){let e={};try{e=require(r)}catch(e){colorconsole.error(`读取项目自定义配置文件出错: ${e.message}`)}const t=Object.assign(_config.default.server,e.server);Object.assign(_config.default,e,{server:t})}t&&(_config.default.server.port=t)}exports.colorconsole=colorconsole;const illegalExtsList=[".css",".less",".scss",".styl",".sass",".log",".json",".js"].map((e=>"app"+e));function getProjectDslName(e){const t=_fs.default.readdirSync(_path.default.join(e,_config.default.sourceRoot)).filter((e=>/^app\..*/.test(e)&&!illegalExtsList.includes(e)));let r;return t&&t[0]?(r=_path.default.extname(t[0]).slice(1),colorconsole.info(`获取到app文件后缀: ${r}`)):colorconsole.error("无法获取正确的app文件后缀"),"ux"===r?"xvm":r}function getDeviceInfo(e,t){const r=_http.default.request({path:"/deviceinfo",host:e.ip,port:e.port,timeout:3e3},(e=>{e.on("data",(e=>{t(null,JSON.parse(e))}))})).on("error",(e=>{t(e)})).on("timeout",(function(){r.abort()}));r.end()}function readJson(e){try{return JSON.parse(_fs.default.readFileSync(e).toString())}catch(t){throw t instanceof SyntaxError?new SyntaxError(`解析 ${e} 失败, 格式错误`):t.message.startsWith("ENOENT:")?(t.message=`读取 ${e} 失败, 找不到该文件`,t):(t.message=`读取 ${e} 失败 ${t.message}`,t)}}function calcDataDigest(e){const t=_crypto.default.createHash("SHA256");return t.update(e),t.digest()}const componentIdMap=new Map,componentPathMap=new Map;function getStyleObjectId(e){if(!componentPathMap.get(e)){const t=getHash(e);componentIdMap.set(t,e),componentPathMap.set(e,t)}return componentPathMap.get(e)}function getHash(e){const t=calcDataDigest(Buffer.from(e,"utf-8")).toString("hex");let r=e;for(let e=Math.min(6,t.length);e<t.length&&(r=t.substring(0,e),componentIdMap.has(r));e++);return r}let manifest;function isNeedFullPackage(){let e=!1;if(!manifest)try{manifest=readJson(_path.default.join(_config.default.projectPath,"./src/manifest.json"))}catch(e){manifest=null}return manifest.router.widgets&&Object.keys(manifest.router.widgets).length>0&&(e=!0),e}function getUseFullPackage(){let e=!1;if(!manifest)try{manifest=readJson(_path.default.join(_config.default.projectPath,"./src/manifest.json"))}catch(e){manifest=null}return manifest&&manifest.router&&manifest.router.pages&&Object.keys(manifest.router.pages).length>0&&(!manifest.subpackages||0===manifest.subpackages.length)&&manifest.router.widgets&&Object.keys(manifest.router.widgets).length>0&&(e=!0),e}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={logger:!0,colorconsole:!0,logWarn:!0,mkdirsSync:!0,getIPv4IPAddress:!0,getServerIPAndPort:!0,getDefaultServerHost:!0,getClientIPAddress:!0,stripPrefixForIPV4MappedIPV6Address:!0,outputQRCodeOnTerminal:!0,relateCwd:!0,equals:!0,extend:!0,renderString:!0,KnownError:!0,setCustomConfig:!0,getProjectDslName:!0,getDeviceInfo:!0,readJson:!0,calcDataDigest:!0,getStyleObjectId:!0,isNeedFullPackage:!0,getUseFullPackage:!0,globalConfig:!0,BuildModeManager:!0,getLaunchPage:!0};Object.defineProperty(exports,"BuildModeManager",{enumerable:!0,get:function(){return _BuildModeManager.default}}),exports.KnownError=KnownError,exports.calcDataDigest=calcDataDigest,exports.colorconsole=void 0,exports.equals=equals,exports.extend=extend,exports.getClientIPAddress=getClientIPAddress,exports.getDefaultServerHost=getDefaultServerHost,exports.getDeviceInfo=getDeviceInfo,exports.getIPv4IPAddress=getIPv4IPAddress,Object.defineProperty(exports,"getLaunchPage",{enumerable:!0,get:function(){return _util.getLaunchPage}}),exports.getProjectDslName=getProjectDslName,exports.getServerIPAndPort=getServerIPAndPort,exports.getStyleObjectId=getStyleObjectId,exports.getUseFullPackage=getUseFullPackage,Object.defineProperty(exports,"globalConfig",{enumerable:!0,get:function(){return _config.default}}),exports.isNeedFullPackage=isNeedFullPackage,exports.logWarn=logWarn,exports.logger=void 0,exports.mkdirsSync=mkdirsSync,exports.outputQRCodeOnTerminal=outputQRCodeOnTerminal,exports.readJson=readJson,exports.relateCwd=relateCwd,exports.renderString=renderString,exports.setCustomConfig=setCustomConfig,exports.stripPrefixForIPV4MappedIPV6Address=stripPrefixForIPV4MappedIPV6Address;var _os=_interopRequireDefault(require("os")),_fs=_interopRequireDefault(require("fs")),_path=_interopRequireDefault(require("path")),_http=_interopRequireDefault(require("http")),_console=require("console"),_chalk=_interopRequireDefault(require("chalk")),_qrcodeTerminal=_interopRequireDefault(require("qrcode-terminal")),_config=_interopRequireDefault(require("./config")),_BuildModeManager=_interopRequireDefault(require("./buildMode/BuildModeManager.js")),_crypto=_interopRequireDefault(require("crypto")),_util=require("./buildMode/util"),_compilationConfig=require("./compilation-config");Object.keys(_compilationConfig).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_compilationConfig[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _compilationConfig[e]}}))}));var _recordClient=require("./record-client");Object.keys(_recordClient).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_recordClient[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _recordClient[e]}}))}));var _eventBus=require("./event-bus");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.keys(_eventBus).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_eventBus[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _eventBus[e]}}))}));const logLevelMap={};function prependLevel(e,t){if(!logLevelMap[e]){const t=e.toUpperCase();logLevelMap[e]=t}"string"==typeof t[0]&&t[0].length>1&&"["!==t[0][0]&&(t[0]=`[${logLevelMap[e]}] ${t[0]}`)}const logger={logs:[],add(e){this.logs.push(e)},clear(){this.logs=[]},get(){return this.logs.join("\n")}};exports.logger=logger;let originConsole=global.console,console=_console.Console?new _console.Console(process.stdout,process.stderr):originConsole;const colorconsole={attach(e){e&&_console.Console&&(console=new _console.Console(e,e))},trace(...e){prependLevel("trace",e),console.trace(...e)},log(...e){prependLevel("log",e),console.log(_chalk.default.green(...e))},info(...e){prependLevel("info",e),console.info(_chalk.default.green(...e))},warn(...e){prependLevel("warn",e),console.warn(_chalk.default.yellow.bold(...e))},error(...e){prependLevel("error",e),console.error(_chalk.default.red.bold(...e))},throw(...e){throw new Error(_chalk.default.red.bold(...e))}};function logWarn(e,t,r){t&&t.length&&t.forEach((t=>{const o=t.line&&t.column?"@"+t.line+":"+t.column:"";r||(t.reason.startsWith("ERROR")?colorconsole.error(e.resourcePath,o,t.reason):colorconsole.warn(e.resourcePath,o,t.reason))}))}function mkdirsSync(e){return!!_fs.default.existsSync(e)||(mkdirsSync(_path.default.dirname(e))?(_fs.default.mkdirSync(e),!0):void 0)}function getIPv4IPAddress(){const e=_os.default.networkInterfaces();let t;for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(e[r].every((e=>!("IPv4"===e.family&&!e.internal&&"127.0.0.1"!==e.address)||(t=e,!1))),void 0!==t)break}return t&&t.address}function getServerIPAndPort(e){return(getIPv4IPAddress()||"127.0.0.1")+""+(80===e?"":":"+e)}function getDefaultServerHost(){return getServerIPAndPort(_config.default.server.port)}function getClientIPAddress(e){return stripPrefixForIPV4MappedIPV6Address(e.headers["x-forwarded-for"]||e.connection&&e.connection.remoteAddress||e.socket&&e.socket.remoteAddress||e.connection&&e.connection.socket&&e.connection.socket.remoteAddress)}function stripPrefixForIPV4MappedIPV6Address(e){return/^::1$/.test(e)&&(e="127.0.0.1"),/^::.{0,4}:(\d{1,3}\.){3}\d{1,3}/.test(e)&&(e=e.replace(/^.*:/,"")),e}function outputQRCodeOnTerminal(e){console.info(`\n生成HTTP服务器的二维码: ${e}`),_qrcodeTerminal.default.generate(e,{small:!0})}function relateCwd(e){const t=_config.default.projectPath;return _path.default.relative(t,e)}function equals(e,t,r,...o){if(r){if(r(e,t,...o))return!0}const n=Object.prototype.toString.call(e);if(n!==Object.prototype.toString.call(t))return!1;if("[object Null]"===n||"[object Undefined]"===n)return!0;if("[object Object]"!==n&&"[object Array]"!==n)return Object(e).toString()===Object(t).toString();const s={};Object.keys(e).forEach((e=>s[e]=!0)),Object.keys(t).forEach((e=>s[e]=!0));const a=Object.keys(s);for(let o=0;o<a.length;o++){const n=a[o];if(!equals(e[n],t[n],r,n))return!1}return!0}function extend(e,...t){if("function"==typeof Object.assign)Object.assign(e,...t);else{const r=t.shift();for(const t in r)e[t]=r[t];t.length&&extend(e,...t)}return e}function renderString(e,t){return e.replace(/{{(.*?)}}/gm,((e,r)=>(r=r.trim(),void 0!==t[r]?t[r]:r)))}function KnownError(e){const t=new Error(e);return t.name="KnownError",t.__KNOWN=!0,t}function setCustomConfig(e,t){e=_config.default.projectPath=e||_config.default.projectPath;const r=_path.default.join(e,"quickapp.config.js");if(_fs.default.existsSync(r)){let e={};try{e=require(r)}catch(e){colorconsole.error(`读取项目自定义配置文件出错: ${e.message}`)}const t=Object.assign(_config.default.server,e.server);Object.assign(_config.default,e,{server:t})}t&&(_config.default.server.port=t)}exports.colorconsole=colorconsole;const illegalExtsList=[".css",".less",".scss",".styl",".sass",".log",".json",".js"].map((e=>"app"+e));function getProjectDslName(e){const t=_fs.default.readdirSync(_path.default.join(e,_config.default.sourceRoot)).filter((e=>/^app\..*/.test(e)&&!illegalExtsList.includes(e)));let r;return t&&t[0]?(r=_path.default.extname(t[0]).slice(1),colorconsole.info(`获取到app文件后缀: ${r}`)):colorconsole.error("无法获取正确的app文件后缀"),"ux"===r?"xvm":r}function getDeviceInfo(e,t){const r=_http.default.request({path:"/deviceinfo",host:e.ip,port:e.port,timeout:3e3},(e=>{e.on("data",(e=>{t(null,JSON.parse(e))}))})).on("error",(e=>{t(e)})).on("timeout",(function(){r.abort()}));r.end()}function readJson(e){try{return JSON.parse(_fs.default.readFileSync(e).toString())}catch(t){throw t instanceof SyntaxError?new SyntaxError(`解析 ${e} 失败, 格式错误`):t.message.startsWith("ENOENT:")?(t.message=`读取 ${e} 失败, 找不到该文件`,t):(t.message=`读取 ${e} 失败 ${t.message}`,t)}}function calcDataDigest(e){const t=_crypto.default.createHash("SHA256");return t.update(e),t.digest()}const componentIdMap=new Map,componentPathMap=new Map;function getStyleObjectId(e){if(!componentPathMap.get(e)){const t=getHash(e);componentIdMap.set(t,e),componentPathMap.set(e,t)}return componentPathMap.get(e)}function getHash(e){const t=calcDataDigest(Buffer.from(e,"utf-8")).toString("hex");let r=e;for(let e=Math.min(6,t.length);e<t.length&&(r=t.substring(0,e),componentIdMap.has(r));e++);return r}let manifest;function isNeedFullPackage(){let e=!1;if(!manifest)try{manifest=readJson(_path.default.join(_config.default.projectPath,"./src/manifest.json"))}catch(e){manifest=null}return manifest.router.pages&&Object.keys(manifest.router.pages).length>0&&(e=!0),e}function getUseFullPackage(){let e=!1;if(!manifest)try{manifest=readJson(_path.default.join(_config.default.projectPath,"./src/manifest.json"))}catch(e){manifest=null}return manifest&&manifest.router&&manifest.router.pages&&Object.keys(manifest.router.pages).length>0&&(!manifest.subpackages||0===manifest.subpackages.length)&&manifest.router.widgets&&Object.keys(manifest.router.widgets).length>0&&(e=!0),e}
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hap-toolkit/shared-utils",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "hap shared utils",
5
5
  "engines": {
6
6
  "node": ">=14.0.0"
@@ -34,5 +34,5 @@
34
34
  "devDependencies": {
35
35
  "strip-ansi": "^5.2.0"
36
36
  },
37
- "gitHead": "0902f14a9fd55be47d970daa69c683128dcb7d34"
37
+ "gitHead": "164a568c30ca98d52f275efceb2ff61f0238df4f"
38
38
  }