@das-fed/cli 6.4.0-hot.3 → 6.4.0-hot.30

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 (78) hide show
  1. package/package.json +1 -1
  2. package/src/commands/build/extra/auth/index.js +1 -0
  3. package/src/commands/build/extra/i18n/index.js +2 -0
  4. package/src/commands/build/extra/i18n/vite.config.ts +1 -0
  5. package/src/commands/build/extra/index.js +1 -0
  6. package/src/commands/build/extra/theme/index.js +1 -0
  7. package/src/commands/build/generate-nginx.js +1 -1
  8. package/src/commands/build/index.js +1 -1
  9. package/src/commands/build/nginx.main.conf +54 -54
  10. package/src/commands/build/nginx.micro.conf +56 -61
  11. package/src/commands/dev-helper/init-public-config.js +1 -1
  12. package/src/commands/dev-helper/watchers/i18n/index.js +1 -1
  13. package/src/commands/dev-helper/watchers/theme/index.js +1 -1
  14. package/src/commands/extra/auth/index.js +1 -0
  15. package/src/commands/extra/i18n/index.js +2 -0
  16. package/src/commands/extra/i18n/vite.config.ts +1 -0
  17. package/src/commands/extra/index.js +1 -0
  18. package/src/commands/extra/theme/index.js +1 -0
  19. package/src/commands/helper/modules/gen-auth/gen/index.js +1 -1
  20. package/src/commands/helper/modules/gen-auth/index.js +1 -1
  21. package/src/commands/helper/modules/gen-esm-module-map/index.js +1 -1
  22. package/src/commands/helper/modules/gen-packages-entry/index.js +1 -1
  23. package/src/commands/init/index.js +1 -1
  24. package/src/commands/init/template/.pnpmfile.cjs +29 -0
  25. package/src/commands/init/template/.prettierignore +21 -21
  26. package/src/commands/init/template/.prettierrc +8 -8
  27. package/src/commands/init/template/README.md +29 -19
  28. package/src/commands/init/template/config.js +3 -3
  29. package/src/commands/init/template/index.html +12 -12
  30. package/src/commands/init/template/package.json +7 -12
  31. package/src/commands/init/template/packages/microapp/index.html +13 -0
  32. package/src/commands/init/template/packages/microapp/package.json +25 -0
  33. package/src/commands/init/template/packages/microapp/public/config.js +3 -0
  34. package/src/commands/init/template/packages/microapp/src/das-web-app.ts +11 -0
  35. package/src/commands/init/template/packages/microapp/src/main.dev.ts +16 -0
  36. package/src/commands/init/template/packages/microapp/src/main.ts +10 -0
  37. package/src/commands/init/template/packages/microapp/src/views/demo/api/index.ts +6 -0
  38. package/src/commands/init/template/packages/microapp/src/views/demo/app.vue +157 -0
  39. package/src/commands/init/template/packages/microapp/src/views/demo/assets/das.png +0 -0
  40. package/src/commands/init/template/packages/microapp/src/views/demo/assets/vite.svg +1 -0
  41. package/src/commands/init/template/packages/microapp/src/views/demo/assets/vue.svg +1 -0
  42. package/src/commands/init/template/packages/microapp/src/views/demo/i18n/index.ts +16 -0
  43. package/src/commands/init/template/packages/microapp/src/views/demo/router.ts +12 -0
  44. package/src/commands/init/template/packages/microapp/src/views/demo/theme/index.ts +18 -0
  45. package/src/commands/init/template/packages/microapp/tsconfig.json +32 -0
  46. package/src/commands/init/template/packages/microapp/tsconfig.node.json +10 -0
  47. package/src/commands/init/template/packages/microapp/vite.config.ts +7 -0
  48. package/src/commands/init/template/pnpm-workspace.yaml +6 -0
  49. package/src/commands/init/template/public/config.js +4 -1
  50. package/src/commands/init/template/scripts/build.js +34 -0
  51. package/src/commands/init/template/src/das-web-app.ts +9 -0
  52. package/src/commands/init/template/src/main.ts +9 -9
  53. package/src/commands/init/template/src/micro-app.ts +8 -8
  54. package/src/commands/init/template/src/views/demo/app.vue +61 -61
  55. package/src/commands/init/template/src/views/demo/i18n/index.ts +14 -14
  56. package/src/commands/init/template/src/views/demo/router.ts +13 -13
  57. package/src/commands/init/template/src/views/demo/theme/index.ts +7 -7
  58. package/src/commands/init/template/src/views/hello/api/index.ts +6 -6
  59. package/src/commands/init/template/src/views/hello/app.vue +157 -157
  60. package/src/commands/init/template/src/views/hello/i18n/index.ts +16 -16
  61. package/src/commands/init/template/src/views/hello/router.ts +12 -12
  62. package/src/commands/init/template/src/views/hello/theme/index.ts +18 -18
  63. package/src/commands/init/template/src/vite-env.d.ts +1 -1
  64. package/src/commands/init/template/tsconfig.app.json +28 -28
  65. package/src/commands/init/template/tsconfig.json +11 -11
  66. package/src/commands/init/template/tsconfig.node.json +13 -13
  67. package/src/commands/init/template/vite.config.ts +11 -14
  68. package/src/utils/pure-resolve/index.js +1 -0
  69. package/src/vite-plugins/das-fe/index.js +1 -1
  70. package/src/vite-plugins/das-fe-resolve/index.js +1 -0
  71. package/src/vite-plugins/das-fe-ui/index.js +1 -1
  72. package/src/vite-plugins/das-fe-web/index.js +1 -1
  73. package/src/vite-plugins/das-fe-web-app/index.js +1 -1
  74. package/src/vite-plugins/dynamic-entry/index.js +1 -0
  75. package/src/commands/build/get-window-config.js +0 -1
  76. package/src/commands/helper/modules/gen-auth/gen/dist/config.js +0 -1
  77. package/src/commands/helper/modules/gen-auth/gen/dist/config.local.js +0 -1
  78. package/src/commands/helper/modules/gen-auth/gen/dist/index.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@das-fed/cli",
3
- "version": "6.4.0-hot.3",
3
+ "version": "6.4.0-hot.30",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -0,0 +1 @@
1
+ let extraAuth=async()=>{};export{extraAuth};
@@ -0,0 +1,2 @@
1
+ import{resolve,relative,dirname}from"path";import{fileURLToPath}from"url";import fs from"fs-extra";import{build}from"vite";import prettier from"prettier";import glob from"fast-glob";let __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename),extractWrappedChinese=e=>{var s,e=(s=e.replace(/<!--[\s\S]*?-->/g,"").replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/^\s*console\..*$/gm,"")).replace(/(\bi18n\b|\bt\b)\s*\(([^)]*)$/gm,(e,r,t,i)=>{var a=s.indexOf(")",i);return-1!==a?e+s.slice(i+e.length,a+1).replace(/\n\s*/g,""):e});let a=/[\u4e00-\u9fa5]+/g,l=/(?:i18n|t)\s*\(\s*(['"`])/,o=[];return e.split("\n").forEach(e=>{for(;null!==(t=a.exec(e));){var[r]=t,t=t.index,i=t+r.length,t=e.slice(0,t).trim(),i=e.slice(i).trim();l.test(t)&&i.includes(")")&&o.push(r)}}),o},extraI18n=async e=>{var{cwd:r=process.cwd()}=e||{},e=resolve(r,"i18n-colletion.local.ts"),t=(await fs.exists(e)||(await fs.ensureFile(e),await fs.writeFile(e,"export default import.meta.glob(['./src/**/**/i18n/*.ts','!./src/**/**/i18n/useI18n.ts'], { eager: true, import: 'default' })")),resolve(__dirname,"./.temp"));await fs.ensureDir(t);let i=`index.${(new Date).getTime()}.cjs`;await build({configFile:resolve(__dirname,"./vite.config.ts"),build:{emptyOutDir:!0,outDir:t,lib:{entry:e,fileName:()=>i,formats:["cjs"]}}});var a,s,l=(await import("./.temp/"+i)).default;let o={};for(a in l)Object.assign(o,l[a]);for(s of await glob(["src/**/**/*.vue","src/**/**/*.ts","!src/**/**/i18n/*.ts"],{cwd:r,onlyFiles:!0})){var n=resolve(r,s),n=(await fs.readFile(n)).toString(),n=extractWrappedChinese(n);0<n.length&&n.map(e=>o[e]="")}var f=resolve(r,"public/i18n-collection");await fs.ensureDir(f),await fs.emptyDir(f);for(let a of["zh-CN","en"]){let i="export default {";Object.keys(o).map(e=>{var r=o[e];let t=r[a]||"";"zh-CN"===a&&(t=r[a]||r["zh-cn"]||r),i+=`'${e}': "${t}",\r
2
+ `}),i+="}";var m=resolve(f,a+".js");await fs.ensureFile(m),await fs.writeFile(m,await prettier.format(i,{parser:"typescript"}))}};export{extraI18n};
@@ -0,0 +1 @@
1
+ export default {}
@@ -0,0 +1 @@
1
+ import{extraI18n}from"./i18n/index.js";import{extraTheme}from"./theme/index.js";import{extraAuth}from"./auth/index.js";let extra=async e=>{await Promise.all([extraI18n(e),extraTheme(e),extraAuth(e)])};export{extra};
@@ -0,0 +1 @@
1
+ let extraTheme=async()=>{};export{extraTheme};
@@ -1 +1 @@
1
- import fs from"fs-extra";import{dirname,resolve}from"path";import{fileURLToPath}from"url";let __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename),generateNginx=async e=>{let{cwd:r,mainAppName:a="",microAppName:i="",microApps:n=""}=e;0<n.length&&(n=n.map(e=>({...e,name:e.name.toLocaleLowerCase()}))),a=a.toLocaleLowerCase(),i=i.toLocaleLowerCase();a;var e=!!i,o=resolve(__dirname,"./nginx.main.conf"),t=resolve(__dirname,"./nginx.micro.conf"),l=resolve(r,"public/nginx.conf"),o=(await fs.ensureFile(l),fs.readFileSync(o).toString());let m=fs.readFileSync(t).toString();e&&(m=m.replace(/\{url\}/g,("/"+i).replace(/\/\//g,"/"))),await fs.writeFile(l,e?m:o)};export{generateNginx};
1
+ import fs from"fs-extra";import{dirname,resolve}from"path";import{fileURLToPath}from"url";let __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename),generateNginx=async e=>{let{cwd:r,mainAppName:a="",microAppName:i="",microApps:o=""}=e;0<o.length&&(o=o.map(e=>({...e,name:e.name.toLocaleLowerCase()}))),a=a.toLocaleLowerCase(),i=i.toLocaleLowerCase();a;var e=!!i,n=resolve(__dirname,"./nginx.main.conf"),t=resolve(__dirname,"./nginx.micro.conf"),l=resolve(r,"public/nginx.conf"),n=(await fs.ensureFile(l),fs.readFileSync(n).toString());let m=fs.readFileSync(t).toString();e&&(m=m.replace(/\{url\}/g,("/web/"+i.split("/").pop()).replace(/\/\//g,"/"))),await fs.writeFile(l,e?m:n)};export{generateNginx};
@@ -1 +1 @@
1
- import{initPublicConfig}from"../dev-helper/init-public-config.js";import{initWatchers}from"../dev-helper/watchers/index.js";import{execSync}from"child_process";import{resolve,relative,dirname}from"path";import{fileURLToPath}from"url";import minimist from"minimist";import fs from"fs-extra";import{generateNginx}from"./generate-nginx.js";import{getWindowConfig}from"../../utils/get-window-config/index.js";import{getCliConfig}from"../../utils/get-cli-config/index.js";let __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);export default{handle:async i=>{var[,...e]=i,i=minimist(i),t=process.cwd(),o={cwd:t,isDev:!1,isBuild:!0,...await getCliConfig(),...i};if(!(o.isLib??!1)){await initPublicConfig(o),await initWatchers(o);let i=await getWindowConfig(resolve(t,"public/config.js"));try{var r,n=resolve(t,"config.js");await fs.exists(n)&&(r=(await import(relative(resolve(__dirname),n)))["default"],""===i.microAppName&&delete i.microAppName,i={...r,...i})}catch(i){console.log("get rootConfig error",i)}}(e||[]).join(" ");let a="";i.c&&(a+="-c "+i.c),execSync("npx vite build "+a,{cwd:t,stdio:"inherit"})}};
1
+ import{initPublicConfig}from"../dev-helper/init-public-config.js";import{initWatchers}from"../dev-helper/watchers/index.js";import{execSync}from"child_process";import{resolve,relative,dirname}from"path";import{fileURLToPath}from"url";import minimist from"minimist";import fs from"fs-extra";import{getWindowConfig}from"../../utils/get-window-config/index.js";import{getCliConfig}from"../../utils/get-cli-config/index.js";import{generateNginx}from"./generate-nginx.js";let __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);export default{handle:async i=>{var[,...e]=i,i=minimist(i),t=process.cwd(),o={cwd:t,isDev:!1,isBuild:!0,...await getCliConfig(),...i};if(!(o.isLib??!1)){await initPublicConfig(o),await initWatchers(o);let i=await getWindowConfig(resolve(t,"public/config.js"));try{var r,n=resolve(t,"config.js");await fs.exists(n)&&(r=(await import(relative(resolve(__dirname),n))).default,""===i.microAppName&&delete i.microAppName,i={...r,...i}),await generateNginx({cwd:t,...i})}catch(i){console.log("get rootConfig error",i)}}(e||[]).join(" ");let a="";i.c&&(a+="-c "+i.c),execSync("npx vite build "+a,{cwd:t,stdio:"inherit"})}};
@@ -1,55 +1,55 @@
1
- worker_processes 8;
2
- worker_rlimit_nofile 6000;
3
- events {
4
- worker_connections 1000;
5
- }
6
- http {
7
- include mime.types;
8
- default_type application/octet-stream;
9
-
10
- # 使用gzip压缩
11
- gzip on;
12
- gzip_proxied any;
13
- gzip_http_version 1.0;
14
- gzip_min_length 1100;
15
- gzip_buffers 4 16k;
16
- gzip_comp_level 1;
17
- gzip_vary on;
18
- gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/json application/javascript image/x-icon;
19
- gzip_disable "MSIE [1-6]\.";
20
-
21
- # proxy配置
22
- proxy_http_version 1.1;
23
- proxy_connect_timeout 86400s;
24
- proxy_read_timeout 86400s;
25
- proxy_send_timeout 86400s;
26
- proxy_set_header Upgrade $http_upgrade;
27
- proxy_set_header Connection "upgrade";
28
- proxy_set_header Host $host;
29
- proxy_set_header X-Real-IP $remote_addr;
30
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
31
- proxy_set_header X-Forwarded-Proto $scheme;
32
- proxy_set_header X-Frame-Options SAMEORIGIN;
33
-
34
-
35
-
36
- sendfile on;
37
- keepalive_timeout 65;
38
- client_max_body_size 500m;
39
- server_tokens off;
40
- server {
41
- listen 80;
42
- etag on;
43
- location / {
44
- root /usr/share/nginx/html;
45
- index index.html index.htm;
46
- try_files $uri $uri/ /index.html;
47
- expires 0;
48
- }
49
-
50
- error_page 500 502 503 504 /50x.html;
51
- location = /50x.html {
52
- root html;
53
- }
54
- }
1
+ worker_processes 4;
2
+ worker_rlimit_nofile 6000;
3
+ events {
4
+ worker_connections 1000;
5
+ }
6
+ http {
7
+ include mime.types;
8
+ default_type application/octet-stream;
9
+
10
+ # 使用gzip压缩
11
+ gzip on;
12
+ gzip_proxied any;
13
+ gzip_http_version 1.0;
14
+ gzip_min_length 1100;
15
+ gzip_buffers 4 16k;
16
+ gzip_comp_level 1;
17
+ gzip_vary on;
18
+ gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/json application/javascript image/x-icon;
19
+ gzip_disable "MSIE [1-6]\.";
20
+
21
+ # proxy配置
22
+ proxy_http_version 1.1;
23
+ proxy_connect_timeout 86400s;
24
+ proxy_read_timeout 86400s;
25
+ proxy_send_timeout 86400s;
26
+ proxy_set_header Upgrade $http_upgrade;
27
+ proxy_set_header Connection "upgrade";
28
+ proxy_set_header Host $host;
29
+ proxy_set_header X-Real-IP $remote_addr;
30
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
31
+ proxy_set_header X-Forwarded-Proto $scheme;
32
+ proxy_set_header X-Frame-Options SAMEORIGIN;
33
+
34
+
35
+
36
+ sendfile on;
37
+ keepalive_timeout 65;
38
+ client_max_body_size 500m;
39
+ server_tokens off;
40
+ server {
41
+ listen 80;
42
+ etag on;
43
+ location / {
44
+ root /usr/share/nginx/html;
45
+ index index.html index.htm;
46
+ try_files $uri $uri/ /index.html;
47
+ expires 0;
48
+ }
49
+
50
+ error_page 500 502 503 504 /50x.html;
51
+ location = /50x.html {
52
+ root html;
53
+ }
54
+ }
55
55
  }
@@ -1,62 +1,57 @@
1
- worker_processes 8;
2
- worker_rlimit_nofile 2000;
3
- events {
4
- worker_connections 1000;
5
- }
6
- http {
7
- include mime.types;
8
- default_type application/octet-stream;
9
- # 使用gzip压缩
10
- gzip on;
11
- gzip_proxied any;
12
- gzip_http_version 1.0;
13
- gzip_min_length 1100;
14
- gzip_buffers 4 16k;
15
- gzip_comp_level 1;
16
- gzip_vary on;
17
- gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/json application/javascript image/x-icon;
18
- gzip_disable "MSIE [1-6]\.";
19
-
20
- # proxy配置
21
- proxy_http_version 1.1;
22
- proxy_connect_timeout 86400s;
23
- proxy_read_timeout 86400s;
24
- proxy_send_timeout 86400s;
25
- proxy_set_header Upgrade $http_upgrade;
26
- proxy_set_header Connection "upgrade";
27
- proxy_set_header Host $host;
28
- proxy_set_header X-Real-IP $remote_addr;
29
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
30
- proxy_set_header X-Forwarded-Proto $scheme;
31
- proxy_set_header X-Frame-Options SAMEORIGIN;
32
-
33
-
34
- sendfile on;
35
- keepalive_timeout 65;
36
- client_max_body_size 500m;
37
- server_tokens off;
38
- server {
39
- listen 80;
40
- etag on;
41
- location / {
42
- root /usr/share/nginx/html;
43
- try_files $uri $uri/ /index.html;
44
- expires 0;
45
- }
46
-
47
- location ~ ^/(api|oss)/ {
48
- proxy_pass http://gateway;
49
- }
50
-
51
- location {url} {
52
- alias /usr/share/nginx/html;
53
- try_files $uri $uri/ {url}/index.html;
54
- expires 0;
55
- }
56
-
57
- error_page 500 502 503 504 /50x.html;
58
- location = /50x.html {
59
- root html;
60
- }
61
- }
1
+ worker_processes 2;
2
+ worker_rlimit_nofile 2000;
3
+ events {
4
+ worker_connections 1000;
5
+ }
6
+ http {
7
+ include mime.types;
8
+ default_type application/octet-stream;
9
+ # 使用gzip压缩
10
+ gzip on;
11
+ gzip_proxied any;
12
+ gzip_http_version 1.0;
13
+ gzip_min_length 1100;
14
+ gzip_buffers 4 16k;
15
+ gzip_comp_level 1;
16
+ gzip_vary on;
17
+ gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/json application/javascript image/x-icon;
18
+ gzip_disable "MSIE [1-6]\.";
19
+
20
+ # proxy配置
21
+ proxy_http_version 1.1;
22
+ proxy_connect_timeout 86400s;
23
+ proxy_read_timeout 86400s;
24
+ proxy_send_timeout 86400s;
25
+ proxy_set_header Upgrade $http_upgrade;
26
+ proxy_set_header Connection "upgrade";
27
+ proxy_set_header Host $host;
28
+ proxy_set_header X-Real-IP $remote_addr;
29
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
30
+ proxy_set_header X-Forwarded-Proto $scheme;
31
+ proxy_set_header X-Frame-Options SAMEORIGIN;
32
+
33
+
34
+ sendfile on;
35
+ keepalive_timeout 65;
36
+ client_max_body_size 500m;
37
+ server_tokens off;
38
+ server {
39
+ listen 80;
40
+ etag on;
41
+
42
+ location ~ ^/(api|oss)/ {
43
+ proxy_pass http://gateway:9080;
44
+ }
45
+
46
+ location {url} {
47
+ alias /usr/share/nginx/html;
48
+ try_files $uri $uri/ /index.html;
49
+ expires 0;
50
+ }
51
+
52
+ error_page 500 502 503 504 /50x.html;
53
+ location = /50x.html {
54
+ root html;
55
+ }
56
+ }
62
57
  }
@@ -1 +1 @@
1
- import{resolve}from"path";import fs from"fs-extra";let initPublicConfig=async(i={})=>{var i=i["isDev"],s=resolve(process.cwd(),"public/config.js"),e=resolve(process.cwd(),"public/config.local.js");await fs.exists(s)||(await fs.ensureFile(s),await fs.writeFile(s,"window.config = {}")),i&&!await fs.exists(e)&&await fs.copyFile(s,e)};export{initPublicConfig};
1
+ import{resolve}from"path";import fs from"fs-extra";let initPublicConfig=async(i={})=>{var i=i.isDev,s=resolve(process.cwd(),"public/config.js"),e=resolve(process.cwd(),"public/config.local.js");await fs.exists(s)||(await fs.ensureFile(s),await fs.writeFile(s,"window.config = {}")),i&&!await fs.exists(e)&&await fs.copyFile(s,e)};export{initPublicConfig};
@@ -1 +1 @@
1
- import glob from"fast-glob";import fs from"fs-extra";import json5 from"json5";import{resolve}from"path";import{getExportDefaultsByAst}from"../../../../utils/ts-morph/index.js";import{json2type}from"../../../../utils/json2type/index.js";import{getCliConfig}from"../../../../utils/get-cli-config/index.js";let watchGlob=["src/**/i18n/*.ts"],handle=async(t={})=>{var e=t["cwd"],a=(await getCliConfig()).i18n?.watchGlob||[],a=getExportDefaultsByAst([...watchGlob,...a],t);let o={};a.map((t,e)=>{t=t.defaultText;Object.assign(o,json5.parse(t))});var s,r=[];for(s of await glob(["src/**/*.vue","src/**/*.tsx"]))for(var i=(await fs.readFile(s)).toString(),l=/i18n\(\s*(.+)\s*\)/g;null!==(n=l.exec(i));){var[,n]=n;r.push(n)}r.forEach(t=>{for(var e=/['"](.*?)['"]/g;null!==(a=e.exec(t));){var[,a]=a;o[a]||(o[a]={})}});let f={"zh-CN":""};Object.values(o).filter(t=>!!t["zh-CN"]).map(t=>Object.assign(f,t)),0===Object.keys(o).length&&(o.any="");t=resolve(e,"src/das-fe-local-runtime/i18n-runtime/type.d.ts");await json2type({data:[{title:"I18NName",type:"string",enum:Object.keys(f)},{title:"I18NKey",type:"string",enum:Object.keys(o)}],outputFilePath:t})};export default{name:"das-i18n",glob:watchGlob,ignoreGlob:[],load:handle,change:handle};
1
+ import glob from"fast-glob";import fs from"fs-extra";import{resolve}from"path";import vm from"vm";import{json2type}from"../../../../utils/json2type/index.js";import{getCliConfig}from"../../../../utils/get-cli-config/index.js";let watchGlob=["src/**/**/i18n/*.ts","!src/**/**/i18n/useI18.ts"];function getExportedDefault(t){var e={data:{}},t=new vm.Script("data = "+t.replace("export default","")),a=vm.createContext(e);return t.runInContext(a),e.data}let handle=async(t={})=>{var{isDev:t,cwd:a}=t;if(t){var o,t=(await getCliConfig()).i18n?.watchGlob||[],r={};for(o of await glob([...watchGlob,...t],{cwd:a,absolute:!0,onlyFiles:!0}))try{var i=getExportedDefault((await fs.readFile(o)).toString());Object.assign(r,i)}catch(t){console.log("i18n文件解析错误",o),console.error(t)}let e={"zh-CN":""};Object.values(r).filter(t=>!!t["zh-CN"]).map(t=>Object.assign(e,t)),0===Object.keys(r).length&&(r.any="");t=resolve(a,"src/das-fe-local-runtime/i18n-runtime/type.d.ts");await json2type({data:[{title:"I18NName",type:"string",enum:Object.keys(e)},{title:"I18NKey",type:"string",enum:Object.keys(r)}],outputFilePath:t})}};export default{name:"das-i18n",glob:watchGlob,ignoreGlob:[],load:handle,change:handle};
@@ -1 +1 @@
1
- import json5 from"json5";import{resolve}from"path";import{getExportDefaultsByAst}from"../../../../utils/ts-morph/index.js";import{json2type}from"../../../../utils/json2type/index.js";import{json2snippets}from"../../../../utils/json2snippets/index.js";import{getCliConfig}from"../../../../utils/get-cli-config/index.js";let watchGlob=["src/**/theme/*.ts"],handle=async(e={})=>{var t=e["cwd"],s=await getCliConfig(),o=s.theme?.watchGlob||[],o=getExportDefaultsByAst([...watchGlob,...o],e);let r={},a=(o.map((e,t)=>{let s=e.defaultText;var o,e=s.match(/getVar\(.*\)/g);if(!e)return Object.assign(r,json5.parse(s));for(o of e){var a=o.replace("getVar('","").replace("')","");s=s.replace(o,`'var(${a})'`)}Object.assign(r,json5.parse(s))}),{light:""}),l=(Object.values(r).filter(e=>!!e.light).map(e=>Object.assign(a,e)),0===Object.keys(r).length&&(r.any=""),json2type({data:[{title:"ThemeName",type:"string",enum:Object.keys(a)},{title:"ThemeVarKey",type:"string",enum:Object.keys(r)}],outputFilePath:resolve(t,"src/das-fe-local-runtime/theme-runtime/type.d.ts")}),resolve(t,".vscode/das-theme.local.code-snippets"));s.workspaceRoot&&(e=resolve(t,s.workspaceRoot),l=resolve(e,".vscode/das-theme.local.code-snippets")),json2snippets({data:{"das-theme-css变量":{prefix:"dasvar",body:[`var(\${1|${Object.keys(r).join(",")}|})`],scope:"css,scss,less",description:"das-theme-css变量"}},outputFilePath:l})};export default{name:"das-theme",glob:watchGlob,ignoreGlob:[],load:handle,change:handle};
1
+ import json5 from"json5";import{resolve}from"path";import{getExportDefaultsByAst}from"../../../../utils/ts-morph/index.js";import{json2type}from"../../../../utils/json2type/index.js";import{json2snippets}from"../../../../utils/json2snippets/index.js";import{getCliConfig}from"../../../../utils/get-cli-config/index.js";let watchGlob=["src/**/theme/*.ts"],handle=async(e={})=>{var t=e.cwd,s=await getCliConfig(),o=s.theme?.watchGlob||[],o=getExportDefaultsByAst([...watchGlob,...o],e);let r={},a=(o.map((e,t)=>{let s=e.defaultText;var o,e=s.match(/getVar\(.*\)/g);if(!e)return Object.assign(r,json5.parse(s));for(o of e){var a=o.replace("getVar('","").replace("')","");s=s.replace(o,`'var(${a})'`)}Object.assign(r,json5.parse(s))}),{light:""}),l=(Object.values(r).filter(e=>!!e.light).map(e=>Object.assign(a,e)),0===Object.keys(r).length&&(r.any=""),json2type({data:[{title:"ThemeName",type:"string",enum:Object.keys(a)},{title:"ThemeVarKey",type:"string",enum:Object.keys(r)}],outputFilePath:resolve(t,"src/das-fe-local-runtime/theme-runtime/type.d.ts")}),resolve(t,".vscode/das-theme.local.code-snippets"));s.workspaceRoot&&(e=resolve(t,s.workspaceRoot),l=resolve(e,".vscode/das-theme.local.code-snippets")),json2snippets({data:{"das-theme-css变量":{prefix:"dasvar",body:[`var(\${1|${Object.keys(r).join(",")}|})`],scope:"css,scss,less",description:"das-theme-css变量"}},outputFilePath:l})};export default{name:"das-theme",glob:watchGlob,ignoreGlob:[],load:handle,change:handle};
@@ -0,0 +1 @@
1
+ let extraAuth=async()=>{};export{extraAuth};
@@ -0,0 +1,2 @@
1
+ import{resolve,relative,dirname}from"path";import{fileURLToPath}from"url";import fs from"fs-extra";import{build}from"vite";import prettier from"prettier";import glob from"fast-glob";let __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename),extractWrappedChinese=e=>{var i,e=(i=e.replace(/<!--[\s\S]*?-->/g,"").replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/^\s*console\..*$/gm,"")).replace(/(\bi18n\b|\bt\b)\s*\(([^)]*)$/gm,(e,t,a,r)=>{var s=i.indexOf(")",r);return-1!==s?e+i.slice(r+e.length,s+1).replace(/\n\s*/g,""):e});let s=/[\u4e00-\u9fa5]+/g,o=/(?:i18n|t)\s*\(\s*(['"`])/,p=[];return e.split("\n").forEach(e=>{for(;null!==(a=s.exec(e));){var[t]=a,a=a.index,r=a+t.length,a=e.slice(0,a).trim(),r=e.slice(r).trim();o.test(a)&&r.includes(")")&&p.push(t)}}),p},extraI18n=async e=>{var{cwd:t=process.cwd(),type:e="app"}=e||{},a=resolve(t,"i18n-colletion.local.ts"),r=(!await fs.exists(a)&&(await fs.ensureFile(a),r={app:"export default import.meta.glob(['./src/**/**/i18n/*.ts','!./src/**/**/i18n/useI18n.ts'], { eager: true, import: 'default' })",dasui:"export default import.meta.glob(['./packages/business-components/**/**/i18n/*.ts','./packages/components/**/**/i18n/*.ts',], { eager: true, import: 'default' })",dasweb:"export default import.meta.glob(['./packages/main-app-framework/**/**/i18n/*.ts'], { eager: true, import: 'default' })",dasutils:"export default import.meta.glob(['./api-services/**/**/i18n/*.ts','./create-api-service/**/**/i18n/*.ts'], { eager: true, import: 'default' })",daswebcomponents:"export default import.meta.glob(['./components/**/**/i18n/*.ts'], { eager: true, import: 'default' })"}[e])&&await fs.writeFile(a,r),resolve(__dirname,"./.temp"));await fs.ensureDir(r);let s=`index.${(new Date).getTime()}.cjs`;await build({configFile:resolve(__dirname,"./vite.config.ts"),build:{emptyOutDir:!0,outDir:r,lib:{entry:a,fileName:()=>s,formats:["cjs"]}}});var i,o=(await import("./.temp/"+s)).default;let p={};for(i in o)Object.assign(p,o[i]);var n;for(n of await glob({app:["src/**/**/*.vue","src/**/**/*.ts","!src/**/**/i18n/*.ts"],dasui:["packages/business-components/**/**/*.vue","packages/business-components/**/**/*.ts","packages/components/**/**/*.vue","packages/components/**/**/*.ts","!packages/**/**/i18n/*.ts"],dasweb:["packages/main-app-framework/**/**/*.vue","packages/main-app-framework/**/**/*.ts","!packages/**/**/i18n/*.ts"],dasutils:["api-services/**/**/*.ts","create-api-service/**/**/*.ts","!api-services/**/**/i18n/*.ts","!create-api-service/**/**/i18n/*.ts"],daswebcomponents:["components/**/**/*.vue","components/**/**/*.ts","!components/**/**/i18n/*.ts"]}[e],{cwd:t,onlyFiles:!0})){var l=resolve(t,n),l=(await fs.readFile(l)).toString(),l=extractWrappedChinese(l);0<l.length&&l.map(e=>p[e]="")}var m=resolve(t,"dist/i18n-collection");await fs.ensureDir(m),await fs.emptyDir(m);for(let s of["zh-CN","en"]){let r="export default {";Object.keys(p).map(e=>{var t=p[e];let a=t[s]||"";"zh-CN"===s&&(a=t[s]||t["zh-cn"]||t||e),r+=`'${e}': "${a}",\r
2
+ `}),r+="}";var c=resolve(m,s+".js");await fs.ensureFile(c),await fs.writeFile(c,await prettier.format(r,{parser:"typescript"}))}};export{extraI18n};
@@ -0,0 +1 @@
1
+ export default {}
@@ -0,0 +1 @@
1
+ import{extraI18n}from"./i18n/index.js";import{extraTheme}from"./theme/index.js";import{extraAuth}from"./auth/index.js";import minimist from"minimist";let extra=async e=>{await Promise.all([extraI18n(e),extraTheme(e),extraAuth(e)])};export default{handle:async e=>{console.log("das-cli extra running!");e=minimist(e),e={cwd:process.cwd(),isDev:!0,type:"app",...e};extra(e)}};export{extra};
@@ -0,0 +1 @@
1
+ let extraTheme=async()=>{};export{extraTheme};
@@ -1 +1 @@
1
- import{build}from"vite";import{dirname,resolve}from"path";import{fileURLToPath}from"url";import fs from"fs-extra";let __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename),genAuthData=async e=>{var a,{cwd:e,entry:t="src/auth/index.ts"}=e,r=(await build({configFile:resolve(__dirname,"./vite.config.js"),build:{outDir:resolve(__dirname,"dist"),lib:{entry:resolve(e,t),name:"index",fileName:"index",formats:["es"]},rollupOptions:{external:["vue","vue-router",/^@das-fed\//]}},esbuild:{drop:["console","debugger"]}}),await import("./dist/index.js"))["default"],i=[];for(a of Object.values(r.modules)){for(var o of Object.values(a.apis)){var{method:o,urlPrefix:n,url:m}=await o,o={app:{code:r.code,name:r.name},api:{method:o,path:""+n+m},page:{path:a.path,name:a.name}};i.push(o)}for(var p of Object.keys(a.btns)){var d,l=a.btns[p];for(d of l.apis){var{method:s,urlPrefix:u,url:f}=await d,s={app:{code:r.code,name:r.name},api:{method:s,path:""+u+f},page:{path:a.path,name:a.name},btn:{code:p,name:l.name}};i.push(s)}}}return Object.values(i.reduce((e,a)=>{var t=`${a.page.path}:${a.api.method}:`+a.api.path;return(a.btn||!e[t]||e[t]&&!e[t].btn)&&(e[t]=a),e},{}))};export{genAuthData};
1
+ import{build}from"vite";import{dirname,resolve}from"path";import{fileURLToPath}from"url";import fs from"fs-extra";let __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename),genAuthData=async e=>{var a,{cwd:e,entry:t="src/auth/index.ts"}=e,r=(await build({configFile:resolve(__dirname,"./vite.config.js"),build:{outDir:resolve(__dirname,"dist"),lib:{entry:resolve(e,t),name:"index",fileName:"index",formats:["es"]},rollupOptions:{external:["vue","vue-router",/^@das-fed\//]}},esbuild:{drop:["console","debugger"]}}),await import("./dist/index.js")).default,i=[];for(a of Object.values(r.modules)){for(var o of Object.values(a.apis)){var{method:o,urlPrefix:n,url:m}=await o,o={app:{code:r.code,name:r.name},api:{method:o,path:""+n+m},page:{path:a.path,name:a.name}};i.push(o)}for(var p of Object.keys(a.btns)){var d,l=a.btns[p];for(d of l.apis){var{method:s,urlPrefix:u,url:f}=await d,s={app:{code:r.code,name:r.name},api:{method:s,path:""+u+f},page:{path:a.path,name:a.name},btn:{code:p,name:l.name}};i.push(s)}}}return Object.values(i.reduce((e,a)=>{var t=`${a.page.path}:${a.api.method}:`+a.api.path;return(a.btn||!e[t]||e[t]&&!e[t].btn)&&(e[t]=a),e},{}))};export{genAuthData};
@@ -1 +1 @@
1
- import fs from"fs-extra";import{resolve}from"path";import{consola}from"consola";import{genAuthData}from"./gen/index.js";import{diffWriteJson}from"../../../../utils/diff/index.js";export default async s=>{var t,o,e=(s?.helper||{})["genAuth"];e&&(e.cwd=e.cwd||s.cwd||process.cwd(),s=e["cwd"],{entry:o="src/auth/index.ts",result:t="auth.json"}=e,await fs.exists(resolve(s,o)))&&(consola.start("正在生成auth.json..."),o=await genAuthData(e),await diffWriteJson(resolve(s,t),o,{spaces:2}),consola.success("auth.json已生成!"))};
1
+ import fs from"fs-extra";import{resolve}from"path";import{consola}from"consola";import{genAuthData}from"./gen/index.js";import{diffWriteJson}from"../../../../utils/diff/index.js";export default async s=>{var t,o,e=(s?.helper||{}).genAuth;e&&(e.cwd=e.cwd||s.cwd||process.cwd(),s=e.cwd,{entry:o="src/auth/index.ts",result:t="auth.json"}=e,await fs.exists(resolve(s,o)))&&(consola.start("正在生成auth.json..."),o=await genAuthData(e),await diffWriteJson(resolve(s,t),o,{spaces:2}),consola.success("auth.json已生成!"))};
@@ -1 +1 @@
1
- import glob from"fast-glob";import fs from"fs-extra";import{resolve}from"path";import{diffWriteJson}from"../../../../utils/diff/index.js";import{consola}from"consola";import{parse}from"es-module-lexer";let genEsmData=async e=>{let{cwd:s,modules:a}=e,o={};e=await glob(a,{cwd:s});return await Promise.all(e.map(async e=>{let a=e.replace(s,"").replace(/\\/g,"/").replace(".ts","").replace(".js","");(a=a.startsWith("./")?a.replace("./","/"):a).startsWith("/")||(a="/"+a);var e=await fs.readFile(e),[,e]=parse(e.toString());e&&e.map(e=>{"default"!==e.n&&(o[e.n]=a)})})),o};export default async e=>{var a=(e?.helper||{})["genEsmModuleMap"];a&&(e=a.cwd||e.cwd||process.cwd(),a=a["modules"],consola.start("正在生成esm-map.json..."),a=await genEsmData({modules:a}),await diffWriteJson(resolve(e,"esm-map.json"),a),consola.success("esm-map.json已生成!"))};
1
+ import glob from"fast-glob";import fs from"fs-extra";import{resolve}from"path";import{diffWriteJson}from"../../../../utils/diff/index.js";import{consola}from"consola";import{parse}from"es-module-lexer";let genEsmData=async e=>{let{cwd:s,modules:a}=e,o={};e=await glob(a,{cwd:s});return await Promise.all(e.map(async e=>{let a=e.replace(s,"").replace(/\\/g,"/").replace(".ts","").replace(".js","");(a=a.startsWith("./")?a.replace("./","/"):a).startsWith("/")||(a="/"+a);var e=await fs.readFile(e),[,e]=parse(e.toString());e&&e.map(e=>{"default"!==e.n&&(o[e.n]=a)})})),o};export default async e=>{var a=(e?.helper||{}).genEsmModuleMap;a&&(e=a.cwd||e.cwd||process.cwd(),a=a.modules,consola.start("正在生成esm-map.json..."),a=await genEsmData({modules:a}),await diffWriteJson(resolve(e,"esm-map.json"),a),consola.success("esm-map.json已生成!"))};
@@ -1,2 +1,2 @@
1
1
  import glob from"fast-glob";import fs from"fs-extra";import{resolve,relative}from"path";import{minimatch}from"minimatch";import{extractExports}from"../../../../utils/ts-morph/index.js";import ora from"ora";import{consola}from"consola";let genModulesEntry=async e=>{let{globString:r,result:o,cwd:t}=e;e=await glob(r,{cwd:t,onlyDirectories:!0,absolute:!0});let a="",s="";e.map(e=>{s=s||resolve(e,o||"../index.ts");e=relative(resolve(s,"../"),e);a+=`export * from './${e}'\r
2
- `}),await fs.ensureFile(s),await fs.writeFile(s,a)};export default async e=>{var o=(e?.helper||{})["genPacakgesEntry"];if(o){let r=o.cwd||e.cwd||process.cwd();e=o["modules"];e&&(consola.start("正在生成packages entry..."),await Promise.all(e.map(e=>genModulesEntry({cwd:r,globString:e}))),consola.success("packages entry已生成!"))}};
2
+ `}),await fs.ensureFile(s),await fs.writeFile(s,a)};export default async e=>{var o=(e?.helper||{}).genPacakgesEntry;if(o){let r=o.cwd||e.cwd||process.cwd();e=o.modules;e&&(consola.start("正在生成packages entry..."),await Promise.all(e.map(e=>genModulesEntry({cwd:r,globString:e}))),consola.success("packages entry已生成!"))}};
@@ -1 +1 @@
1
- import inquirer from"inquirer";import glob from"fast-glob";import{dirname,resolve}from"path";import{fileURLToPath}from"url";import fs from"fs-extra";import{consola}from"consola";import{execSync}from"child_process";import semver from"semver";let __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename),getPackageJson=()=>{var e=resolve(__dirname,"../../../package.json");return fs.existsSync(e)?fs.readJSONSync(e):{}};export default{alias:["create","create-app","-c"],handle:async e=>{var r=getPackageJson(),a=(consola.box(`Using ${r.name} v`+r.version),consola.info("create app for @das-fed"),consola.warn("必须使用 pnpm 作为依赖安装工具"),await inquirer.prompt([{name:"inputName",type:"input",message:"请输入应用名称(一般为英文缩写)"}]))["inputName"],[i]=(a||(consola.error("应用名称必填!"),process.exit()),a.split("/").slice(-1)),o="enterpriseadmin/"+i,a=(consola.success(`子应用名称为: ${o} (enterpriseadmin为默认加入的前缀)`),await inquirer.prompt([{name:"overwrite",type:"confirm",message:"初始化项目将覆盖当前目录的文件及文件夹,是否继续?"}]))["overwrite"];if(!a)return process.exit();var s,t=process.cwd(),n=resolve(__dirname,"./template");for(s of await glob(["**/**"],{cwd:n,dot:!0})){var p,c=resolve(t,s);await fs.copy(resolve(n,s),c,{overwrite:!0}),-1<s.indexOf("config.js")&&(p=(await fs.readFile(c)).toString(),await fs.writeFile(c,p.replaceAll("%microAppName%",o))),-1<s.indexOf("package.json")&&(p=(await fs.readFile(c)).toString(),await fs.writeFile(c,p.replaceAll("%packageName%",i)))}var a=["vue","vue-router"],m=["@vitejs/plugin-vue","typescript","vite","vue-tsc"];let l=["@das-fed/web","@das-fed/ui","@das-fed/utils"],d=["@das-fed/cli"],f=semver.parse(r.version).prerelease[0];f&&(l=l.map(e=>e+"@"+f),d=d.map(e=>e+"@"+f)),a.push(...l),m.push(...d),execSync("pnpm add "+a.join(" "),{cwd:t,stdio:"inherit"}),execSync("pnpm add -D "+m.join(" "),{cwd:t,stdio:"inherit"}),console.log(""),consola.success("项目初始化完成!"),consola.box("run: pnpm run dev")}};
1
+ import inquirer from"inquirer";import glob from"fast-glob";import{dirname,resolve}from"path";import{fileURLToPath}from"url";import fs from"fs-extra";import{consola}from"consola";import{execSync}from"child_process";import semver from"semver";let __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename),getPackageJson=()=>{var e=resolve(__dirname,"../../../package.json");return fs.existsSync(e)?fs.readJSONSync(e):{}};export default{alias:["create","create-app","-c"],handle:async e=>{var a=getPackageJson(),a=(consola.box(`Using ${a.name} v`+a.version),consola.info("create app for @das-fed"),consola.warn("必须使用 pnpm 作为依赖安装工具"),await inquirer.prompt([{name:"inputName",type:"input",message:"请输入应用名称,要求全小写(请与git地址保持一致,比如:http://das-git.chn-das.com/DasAIoT/EnterpriseAdmin/PaymentCenter/front-end/payment-center.git;则payment-center)"}])).inputName,[r]=(a||(consola.error("应用名称必填!"),process.exit()),a.split("/").slice(-1)),i="enterpriseadmin/"+r,a=(consola.success(`子应用名称为: ${i} (enterpriseadmin为默认加入的前缀)`),await inquirer.prompt([{name:"overwrite",type:"confirm",message:"初始化项目将覆盖当前目录的文件及文件夹,是否继续?"}])).overwrite;if(!a)return process.exit();var o,t=process.cwd(),s=resolve(__dirname,"./template");for(o of await glob(["**/**"],{cwd:s,dot:!0})){var n=resolve(t,o);await fs.copy(resolve(s,o),n,{overwrite:!0})}var p,a=resolve(t,"./packages/microapp"),c=resolve(t,"./packages/"+r),a=(await fs.ensureDir(c),await fs.copy(a,c,{overwrite:!0}),await fs.remove(a),await glob(["**/**"],{cwd:s,dot:!0}));for(p of a){var m,l=resolve(c,p);(-1<p.indexOf("public/config.js")||-1<p.indexOf("src/main.dev.ts")||-1<p.indexOf("src/main.ts"))&&(m=(await fs.readFile(l)).toString(),await fs.writeFile(l,m.replaceAll("%microAppName%",i))),-1<p.indexOf("package.json")&&(m=(await fs.readFile(l)).toString(),await fs.writeFile(l,m.replaceAll("%packageName%",r)))}var a=["vue","vue-router","pinia-plugin-persistedstate"],d=["@vitejs/plugin-vue","typescript","vite","vue-tsc"];let f=(await inquirer.prompt([{name:"inputName",type:"input",message:"请输入需要安装的@das-fed版本"}])).tag,u=(f||(consola.error("@das-fed版本必填!"),process.exit()),["@das-fed/web","@das-fed/ui","@das-fed/utils"]),v=["@das-fed/cli"];f&&(u=u.map(e=>e+"@"+f),v=v.map(e=>e+"@"+f)),a.push(...u),d.push(...v),execSync("pnpm add "+a.join(" "),{cwd:c,stdio:"inherit"}),execSync("pnpm add -D "+d.join(" "),{cwd:c,stdio:"inherit"}),console.log(""),consola.success("项目初始化完成!"),consola.box("run: pnpm run dev")}};
@@ -0,0 +1,29 @@
1
+ const parseArgs = (args) => {
2
+ return args.reduce((acc, arg) => {
3
+ const [key, value] = arg.split('=')
4
+ acc[key.replace(/^--/, '')] = value
5
+ return acc
6
+ }, {})
7
+ }
8
+ const argv = parseArgs(process.argv.slice(2))
9
+ const frameworkVersion = argv['config.frameworkVersion']
10
+
11
+ function readPackage(pkg, context) {
12
+ const lockPackages = {
13
+ '@das-fed/cli': frameworkVersion,
14
+ '@das-fed/ui': frameworkVersion,
15
+ '@das-fed/utils': frameworkVersion,
16
+ '@das-fed/web': frameworkVersion,
17
+ '@das-fed/web-components': frameworkVersion,
18
+ 'mpegts.js': '1.7.3',
19
+ }
20
+ Object.keys(pkg.dependencies)
21
+ .filter((key) => pkg.dependencies[key] && lockPackages[key])
22
+ .forEach((key) => (pkg.dependencies[key] = lockPackages[key]))
23
+ Object.keys(pkg.devDependencies)
24
+ .filter((key) => pkg.dependencies[key] && lockPackages[key])
25
+ .forEach((key) => (pkg.dependencies[key] = lockPackages[key]))
26
+ return pkg
27
+ }
28
+
29
+ module.exports = { hooks: { readPackage } }
@@ -1,21 +1,21 @@
1
- ## OS
2
- .DS_Store
3
- .idea
4
- .editorconfig
5
- pnpm-lock.yaml
6
- .npmrc
7
-
8
- # Ignored suffix
9
- *.log
10
- *.md
11
- *.svg
12
- *.png
13
- *.ico
14
- *ignore
15
-
16
- ## Local
17
- .husky
18
-
19
- ## Built-files
20
- .cache
21
- dist
1
+ ## OS
2
+ .DS_Store
3
+ .idea
4
+ .editorconfig
5
+ pnpm-lock.yaml
6
+ .npmrc
7
+
8
+ # Ignored suffix
9
+ *.log
10
+ *.md
11
+ *.svg
12
+ *.png
13
+ *.ico
14
+ *ignore
15
+
16
+ ## Local
17
+ .husky
18
+
19
+ ## Built-files
20
+ .cache
21
+ dist
@@ -1,8 +1,8 @@
1
- {
2
- "singleQuote": true,
3
- "tabWidth": 2,
4
- "printWidth": 120,
5
- "semi": false,
6
- "trailingComma": "all",
7
- "bracketSpacing": true
8
- }
1
+ {
2
+ "singleQuote": true,
3
+ "tabWidth": 2,
4
+ "printWidth": 120,
5
+ "semi": false,
6
+ "trailingComma": "all",
7
+ "bracketSpacing": true
8
+ }
@@ -1,19 +1,29 @@
1
- # pnpm-workspace app for @das-fed
2
-
3
- ## install
4
-
5
- ```
6
- pnpm i
7
- ```
8
-
9
- ## dev
10
-
11
- ```
12
- pnpm run dev
13
- ```
14
-
15
- ## build
16
-
17
- ```
18
- pnpm run build
19
- ```
1
+ # pnpm-workspace app for @das-fed
2
+
3
+ ## install
4
+
5
+ ```
6
+ pnpm i
7
+ ```
8
+
9
+ ## dev
10
+
11
+ ```
12
+ pnpm run dev
13
+ ```
14
+
15
+ ## build
16
+
17
+ ```
18
+ pnpm run build
19
+ ```
20
+
21
+ ## config配置
22
+
23
+ ### 如需本地开发开启sso登录
24
+
25
+ public/config.js,public/config.local.js中设置配置【sso: true, baseURL: 'http://ssoServer.com'】,其中baseURL为某个支持sso登录的环境地址
26
+
27
+
28
+ ### 如本地需要登录失效后重定向到登录页面
29
+ public/config.js,public/config.local.js中设置配置【noRedireLogin: false】
@@ -1,3 +1,3 @@
1
- export default {
2
- microAppName: '%microAppName%',
3
- }
1
+ export default {
2
+ microAppName: '%microAppName%',
3
+ }
@@ -1,12 +1,12 @@
1
- <!doctype html>
2
- <html lang="zh-CN">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title></title>
7
- </head>
8
- <body>
9
- <div id="app"></div>
10
- <script type="module" src="/src/main.ts"></script>
11
- </body>
12
- </html>
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title></title>
7
+ </head>
8
+ <body>
9
+ <div id="app"></div>
10
+ <script type="module" src="/src/main.ts"></script>
11
+ </body>
12
+ </html>
@@ -1,12 +1,7 @@
1
- {
2
- "name": "@das-fed-apps/%packageName%",
3
- "description": "pnpm-workspace app for @das-fed",
4
- "private": true,
5
- "version": "0.0.0",
6
- "type": "module",
7
- "scripts": {
8
- "dev": "das-cli dev",
9
- "build": "das-cli build",
10
- "preview": "vite preview"
11
- }
12
- }
1
+ {
2
+ "private": "true",
3
+ "type": "module",
4
+ "scripts": {
5
+ "build": "node scripts/build"
6
+ }
7
+ }
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title></title>
8
+ </head>
9
+ <body>
10
+ <div id="app"></div>
11
+ <script type="module" src="/src/main.ts"></script>
12
+ </body>
13
+ </html>
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@das-fed-apps/%packageName%",
3
+ "version": "0.0.0",
4
+ "type": "module",
5
+ "scripts": {
6
+ "dev": "das-cli dev",
7
+ "build": "das-cli build",
8
+ "preview": "vite preview"
9
+ },
10
+ "dependencies": {
11
+ "@das-fed/ui": "6.4.0-dev.83",
12
+ "@das-fed/utils": "6.4.0-dev.83",
13
+ "@das-fed/web": "6.4.0-dev.83",
14
+ "vue": "^3.5.13",
15
+ "vue-router": "^4.5.0",
16
+ "dayjs": "^1.11.10"
17
+ },
18
+ "devDependencies": {
19
+ "@das-fed/cli": "6.4.0-dev.83",
20
+ "@vitejs/plugin-vue": "^5.0.4",
21
+ "typescript": "^5.7.2",
22
+ "vite": "^5.2.7",
23
+ "vue-tsc": "^1.6.5"
24
+ }
25
+ }
@@ -0,0 +1,3 @@
1
+ window.config = {
2
+ microAppName: '%microAppName%',
3
+ }