@epxing/cli 0.3.1 → 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.
- package/README.md +31 -28
- package/dist/THIRD_PARTY_NOTICES.txt +25 -0
- package/dist/cli.mjs +29 -22
- package/dist/lib-build.mjs +1 -1
- package/dist/lib-vite-config.mjs +1 -1
- package/dist/project.mjs +6 -6
- package/dist/skills/epxing-frontend-vue3-migrate/SKILL.md +17 -2
- package/dist/skills/epxing-frontend-vue3-migrate/pitfalls.md +498 -381
- package/dist/tools/chunks/AMQWUBTZ.mjs +2 -0
- package/dist/tools/chunks/H4POBCHI.mjs +1 -0
- package/dist/tools/chunks/PP5RD4RH.mjs +4 -0
- package/dist/tools/chunks/SH6LMMHZ.mjs +32 -0
- package/dist/tools/epx-create/scaffold.mjs +2 -0
- package/dist/tools/epx-migrate/detect-vue3-risks.mjs +1 -1
- package/dist/tools/epx-migrate/fix-date-formats.mjs +2 -0
- package/dist/tools/epx-migrate/fix-theme-styles.mjs +2 -0
- package/dist/tools/epx-migrate/migrate.mjs +58 -65
- package/dist/tools/epx-migrate/verify-components.mjs +5 -5
- package/package.json +30 -29
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
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
|
|
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)}`),!
|
|
9
|
-
\u2717 \u7EBF\u4E0A\u6709\u3001\u672C\u5730\u65E0\uFF08${
|
|
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)}
|
|
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.
|
|
4
|
-
"description": "EPX 交互式工程开发、服务启动、构建、Vue3 迁移及技能安装工具",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"
|
|
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
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
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
|
+
}
|