edon-service
Version:
一个开箱即用的前端构建工具,基于Webpack封装,简化了前端项目的开发与构建流程。无论是开发环境的热更新、资源处理,还是生产环境的代码优化、打包部署,都能提供便捷的配置和稳定的性能
2 lines (1 loc) • 908 B
JavaScript
import s from"crypto";import i from"fs-extra";import a from"portfinder";import{getDotEnvObject as f}from"edon-helper";import{fileURLToPath as m}from"url";function l(r){if(!i.existsSync(r))throw new Error(`No Search File ${r}`);let t=i.readFileSync(r),e=s.createHash("sha256");return e.update(t),e.digest("hex")}function y(){return process.env.NODE_ENV==="production"}var _=async(r,t)=>{let e=3e3,n=await f(r);if(n.PORT&&(e=+JSON.parse(n.PORT)),t&&(e=t),e===80)return 80;try{return await a.getPortPromise({port:e,stopPort:e+10})}catch(o){throw new Error((o==null?void 0:o.message)||"No open ports found")}},g=()=>{if(typeof __filename<"u")return __filename;try{let r=import.meta.url;if(!r)throw new Error("\u8BF7\u5728 ESM \u73AF\u5883\u4E0B\u4F20\u5165 import.meta");return m(r)}catch{return typeof __filename<"u"?__filename:""}};export{l as createFileHash256Sync,g as getFilename,_ as getPort,y as isProd};