@epxing/cli 0.3.0 → 0.4.0

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.
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- var S=Object.defineProperty;var t=(n,e)=>S(n,"name",{value:e,configurable:!0});import i from"node:fs";import j from"node:path";var l=process.argv.slice(2),r=l.indexOf("--online"),f=r!==-1?l[r+1]:null;r!==-1&&l.splice(r,2);var d=l.find(n=>!n.startsWith("--"));(!d||!i.existsSync(d))&&(console.error("\u7528\u6CD5\uFF1Anode tools/epx-migrate/verify-components.mjs <\u9879\u76EE\u76EE\u5F55> --online <\u7EBF\u4E0A index.js URL \u6216\u672C\u5730\u6587\u4EF6>"),process.exit(1));var p=t(n=>j.join(d,n),"rel"),m=t(n=>i.existsSync(p(n))?i.readFileSync(p(n),"utf8"):null,"readIf"),h=t(n=>{let e=new Set;for(let s of String(n).matchAll(/name\s*:\s*["'](epx-[a-z0-9-]+)["']/g))e.add(s[1]);return e},"namesFromJs");function w(){let n=m("lib/index.manifest.json");if(n)try{let o=JSON.parse(n);if(o&&o.components)return{set:new Set(Object.keys(o.components)),from:"lib/index.manifest.json"}}catch{}let e=m("lib/index.full.js")||m("lib/index.js");if(e){let o=h(e);if(o.size)return{set:o,from:"lib/index.*.js"}}let s=new Set,c=p("src/hr");if(i.existsSync(c)){let o=t(u=>{for(let a of i.readdirSync(u,{withFileTypes:!0})){let x=j.join(u,a.name);if(a.isDirectory())o(x);else if(a.name.endsWith(".vue"))for(let y of h(i.readFileSync(x,"utf8")))s.add(y)}},"walk");o(c)}return{set:s,from:"src/hr/**/*.vue\uFF08\u672A\u6253\u5305\uFF0C\u6309 name \u626B\uFF09"}}t(w,"localComponents");async function $(n){let e="";if(/^https?:\/\//.test(n)){let s=await fetch(n);if(!s.ok)throw new Error(`\u62C9\u53D6\u7EBF\u4E0A index.js \u5931\u8D25\uFF1AHTTP ${s.status} ${n}`);e=await s.text()}else{if(!i.existsSync(n))throw new Error(`\u7EBF\u4E0A\u53C2\u7167\u6587\u4EF6\u4E0D\u5B58\u5728\uFF1A${n}`);e=i.readFileSync(n,"utf8")}return h(e)}t($,"onlineComponents");var g=t(n=>[...n].sort((e,s)=>e.localeCompare(s)),"sortZh");async function b(){let n=w();if(console.log(`
2
+ import{a as t}from"../chunks/H4POBCHI.mjs";import i from"node:fs";import j from"node:path";var l=process.argv.slice(2),r=l.indexOf("--online"),f=r!==-1?l[r+1]:null;r!==-1&&l.splice(r,2);var d=l.find(n=>!n.startsWith("--"));(!d||!i.existsSync(d))&&(console.error("\u7528\u6CD5\uFF1Anode tools/epx-migrate/verify-components.mjs <\u9879\u76EE\u76EE\u5F55> --online <\u7EBF\u4E0A index.js URL \u6216\u672C\u5730\u6587\u4EF6>"),process.exit(1));var p=t(n=>j.join(d,n),"rel"),m=t(n=>i.existsSync(p(n))?i.readFileSync(p(n),"utf8"):null,"readIf"),h=t(n=>{let s=new Set;for(let e of String(n).matchAll(/name\s*:\s*["'](epx-[a-z0-9-]+)["']/g))s.add(e[1]);return s},"namesFromJs");function S(){let n=m("lib/index.manifest.json");if(n)try{let o=JSON.parse(n);if(o&&o.components)return{set:new Set(Object.keys(o.components)),from:"lib/index.manifest.json"}}catch{}let s=m("lib/index.full.js")||m("lib/index.js");if(s){let o=h(s);if(o.size)return{set:o,from:"lib/index.*.js"}}let e=new Set,c=p("src/hr");if(i.existsSync(c)){let o=t(u=>{for(let a of i.readdirSync(u,{withFileTypes:!0})){let x=j.join(u,a.name);if(a.isDirectory())o(x);else if(a.name.endsWith(".vue"))for(let y of h(i.readFileSync(x,"utf8")))e.add(y)}},"walk");o(c)}return{set:e,from:"src/hr/**/*.vue\uFF08\u672A\u6253\u5305\uFF0C\u6309 name \u626B\uFF09"}}t(S,"localComponents");async function w(n){let s="";if(/^https?:\/\//.test(n)){let e=await fetch(n);if(!e.ok)throw new Error(`\u62C9\u53D6\u7EBF\u4E0A index.js \u5931\u8D25\uFF1AHTTP ${e.status} ${n}`);s=await e.text()}else{if(!i.existsSync(n))throw new Error(`\u7EBF\u4E0A\u53C2\u7167\u6587\u4EF6\u4E0D\u5B58\u5728\uFF1A${n}`);s=i.readFileSync(n,"utf8")}return h(s)}t(w,"onlineComponents");var g=t(n=>[...n].sort((s,e)=>s.localeCompare(e)),"sortZh");async function $(){let n=S();if(console.log(`
3
3
  \u672C\u5730\u7EC4\u4EF6\uFF08\u6765\u6E90\uFF1A${n.from}\uFF09\uFF1A${n.set.size} \u4E2A`),!f){console.log(g(n.set).map(o=>" "+o).join(`
4
4
  `)),console.log(`
5
- \uFF08\u672A\u4F20 --online\uFF0C\u53EA\u5217\u672C\u5730\u6E05\u5355\u3002\u8981\u5BF9\u9F50\u6821\u9A8C\u8BF7\u52A0 --online <\u7EBF\u4E0A index.js URL \u6216\u672C\u5730\u6587\u4EF6>\uFF09`);return}let e=await $(f),s=g([...e].filter(o=>!n.set.has(o))),c=g([...n.set].filter(o=>!e.has(o)));if(console.log(`\u7EBF\u4E0A\u7EC4\u4EF6\uFF08\u6765\u6E90\uFF1A${f}\uFF09\uFF1A${e.size} \u4E2A`),console.log(`
5
+ \uFF08\u672A\u4F20 --online\uFF0C\u53EA\u5217\u672C\u5730\u6E05\u5355\u3002\u8981\u5BF9\u9F50\u6821\u9A8C\u8BF7\u52A0 --online <\u7EBF\u4E0A index.js URL \u6216\u672C\u5730\u6587\u4EF6>\uFF09`);return}let s=await w(f),e=g([...s].filter(o=>!n.set.has(o))),c=g([...n.set].filter(o=>!s.has(o)));if(console.log(`\u7EBF\u4E0A\u7EC4\u4EF6\uFF08\u6765\u6E90\uFF1A${f}\uFF09\uFF1A${s.size} \u4E2A`),console.log(`
6
6
  ${"\u2501".repeat(60)}
7
7
  \u7EC4\u4EF6\u6E05\u5355\u5BF9\u9F50\u7ED3\u679C
8
- ${"\u2501".repeat(60)}`),!s.length&&!c.length){console.log("\u2713 \u5B8C\u5168\u4E00\u81F4\u3002");return}if(s.length){console.log(`
9
- \u2717 \u7EBF\u4E0A\u6709\u3001\u672C\u5730\u65E0\uFF08${s.length}\uFF09\u2014\u2014 \u672C\u5730\u6253\u5F00\u4F1A [loadComponent] \u627E\u4E0D\u5230\u3001\u6574\u9875\u7A7A\u767D\uFF1A`);for(let o of s)console.log(" - "+o);console.log(" \u2192 \u591A\u534A\u662F\u672C\u5730\u6E90\u7801\u7248\u672C\u843D\u540E\u7EBF\u4E0A\u90E8\u7F72\u3002\u628A\u9879\u76EE\u6E90\u7801\u5BF9\u9F50\u5230\u7EBF\u4E0A\u90E8\u7F72\u7684\u4FEE\u8BA2\u540E\u91CD\u65B0\u6253\u5305\u3002")}if(c.length){console.log(`
10
- \xB7 \u672C\u5730\u6709\u3001\u7EBF\u4E0A\u65E0\uFF08${c.length}\uFF09\u2014\u2014 \u901A\u5E38\u65E0\u5BB3\uFF08\u672C\u5730\u66F4\u65B0/\u547D\u540D\u4E0D\u540C\uFF09\uFF0C\u5217\u51FA\u4F9B\u6838\u5BF9\uFF1A`);for(let o of c)console.log(" - "+o)}s.length&&process.exit(2)}t(b,"main");b().catch(n=>{console.error("\u2717 "+(n&&n.message||n)),process.exit(1)});
8
+ ${"\u2501".repeat(60)}`),!e.length&&!c.length){console.log("\u2713 \u5B8C\u5168\u4E00\u81F4\u3002");return}if(e.length){console.log(`
9
+ \u2717 \u7EBF\u4E0A\u6709\u3001\u672C\u5730\u65E0\uFF08${e.length}\uFF09\u2014\u2014 \u672C\u5730\u6253\u5F00\u4F1A [loadComponent] \u627E\u4E0D\u5230\u3001\u6574\u9875\u7A7A\u767D\uFF1A`);for(let o of e)console.log(" - "+o);console.log(" \u2192 \u591A\u534A\u662F\u672C\u5730\u6E90\u7801\u7248\u672C\u843D\u540E\u7EBF\u4E0A\u90E8\u7F72\u3002\u628A\u9879\u76EE\u6E90\u7801\u5BF9\u9F50\u5230\u7EBF\u4E0A\u90E8\u7F72\u7684\u4FEE\u8BA2\u540E\u91CD\u65B0\u6253\u5305\u3002")}if(c.length){console.log(`
10
+ \xB7 \u672C\u5730\u6709\u3001\u7EBF\u4E0A\u65E0\uFF08${c.length}\uFF09\u2014\u2014 \u901A\u5E38\u65E0\u5BB3\uFF08\u672C\u5730\u66F4\u65B0/\u547D\u540D\u4E0D\u540C\uFF09\uFF0C\u5217\u51FA\u4F9B\u6838\u5BF9\uFF1A`);for(let o of c)console.log(" - "+o)}e.length&&process.exit(2)}t($,"main");$().catch(n=>{console.error("\u2717 "+(n&&n.message||n)),process.exit(1)});
package/package.json CHANGED
@@ -1,29 +1,30 @@
1
- {
2
- "name": "@epxing/cli",
3
- "version": "0.3.0",
4
- "description": "EPX 交互式工程开发、服务启动、构建、Vue3 迁移及技能安装工具",
5
- "type": "module",
6
- "bin": {
7
- "epx": "dist/cli.mjs"
8
- },
9
- "files": [
10
- "dist"
11
- ],
12
- "engines": {
13
- "node": ">=18"
14
- },
15
- "scripts": {
16
- "build": "node build.mjs",
17
- "test": "node --test test/cli.test.mjs",
18
- "prepack": "node build.mjs",
19
- "prepublishOnly": "node ../../build/guard-publish-registry.mjs"
20
- },
21
- "devDependencies": {
22
- "@babel/parser": "7.29.3",
23
- "esbuild": "0.25.12"
24
- },
25
- "publishConfig": {
26
- "access": "public",
27
- "registry": "https://registry.npmjs.org/"
28
- }
29
- }
1
+ {
2
+ "name": "@epxing/cli",
3
+ "version": "0.4.0",
4
+ "description": "EPX 交互式工程开发、服务启动、构建、Vue3 迁移及技能安装工具",
5
+ "type": "module",
6
+ "bin": {
7
+ "epxing": "dist/cli.mjs"
8
+ },
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "engines": {
13
+ "node": ">=18"
14
+ },
15
+ "scripts": {
16
+ "build": "node build.mjs",
17
+ "test": "node --test test/cli.test.mjs",
18
+ "prepack": "node build.mjs",
19
+ "prepublishOnly": "node ../../build/guard-publish-registry.mjs"
20
+ },
21
+ "devDependencies": {
22
+ "@babel/parser": "7.29.3",
23
+ "@vue/compiler-dom": "3.5.39",
24
+ "esbuild": "0.25.12"
25
+ },
26
+ "publishConfig": {
27
+ "access": "public",
28
+ "registry": "https://registry.npmjs.org/"
29
+ }
30
+ }