@das-fed/cli 6.4.0-test.2 → 6.4.0-test.20
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/package.json +1 -1
- package/src/commands/build/generate-nginx.js +1 -1
- package/src/commands/build/index.js +1 -1
- package/src/commands/build/nginx.main.conf +1 -1
- package/src/commands/build/nginx.micro.conf +3 -8
- package/src/commands/dev-helper/init-public-config.js +1 -1
- package/src/commands/dev-helper/watchers/i18n/index.js +1 -1
- package/src/commands/dev-helper/watchers/theme/index.js +1 -1
- package/src/commands/extra/i18n/index.js +2 -0
- package/src/commands/extra/index.js +1 -0
- package/src/commands/helper/modules/gen-auth/gen/index.js +1 -1
- package/src/commands/helper/modules/gen-auth/index.js +1 -1
- package/src/commands/helper/modules/gen-esm-module-map/index.js +1 -1
- package/src/commands/helper/modules/gen-packages-entry/index.js +1 -1
- package/src/commands/init/index.js +1 -1
- package/src/commands/init/template/.pnpmfile.cjs +29 -0
- package/src/commands/init/template/package.json +2 -7
- package/src/commands/init/template/{index.html → packages/microapp/index.html} +1 -0
- package/src/commands/init/template/packages/microapp/package.json +25 -0
- package/src/commands/init/template/{config.js → packages/microapp/public/config.js} +1 -1
- package/src/commands/init/template/packages/microapp/src/das-web-app.ts +11 -0
- package/src/commands/init/template/packages/microapp/src/main.dev.ts +16 -0
- package/src/commands/init/template/packages/microapp/src/main.ts +10 -0
- package/src/commands/init/template/{tsconfig.app.json → packages/microapp/tsconfig.json} +10 -6
- package/src/commands/init/template/{tsconfig.node.json → packages/microapp/tsconfig.node.json} +1 -4
- package/src/commands/init/template/packages/microapp/vite.config.ts +7 -0
- package/src/commands/init/template/pnpm-workspace.yaml +6 -0
- package/src/commands/init/template/scripts/build.js +34 -0
- package/src/utils/pure-resolve/index.js +1 -0
- package/src/vite-plugins/das-fe-web-app/index.js +1 -1
- package/src/commands/build/extra/i18n/index.js +0 -2
- package/src/commands/build/extra/index.js +0 -1
- package/src/commands/init/template/README.md +0 -19
- package/src/commands/init/template/public/config.js +0 -1
- package/src/commands/init/template/src/main.ts +0 -9
- package/src/commands/init/template/src/micro-app.ts +0 -8
- package/src/commands/init/template/src/views/demo/app.vue +0 -61
- package/src/commands/init/template/src/views/demo/i18n/index.ts +0 -14
- package/src/commands/init/template/src/views/demo/router.ts +0 -13
- package/src/commands/init/template/src/views/demo/theme/index.ts +0 -7
- package/src/commands/init/template/src/vite-env.d.ts +0 -1
- package/src/commands/init/template/tsconfig.json +0 -11
- package/src/commands/init/template/vite.config.ts +0 -14
- package/src/vite-plugins/das-fe-resolve/index.js +0 -1
- package/src/vite-plugins/das-fe-ui/index.js +0 -1
- package/src/vite-plugins/das-fe-utils/index.js +0 -1
- package/src/vite-plugins/das-fe-web/index.js +0 -1
- package/src/vite-plugins/dynamic-entry/index.js +0 -1
- /package/src/commands/{build/extra → extra}/auth/index.js +0 -0
- /package/src/commands/{build/extra → extra}/i18n/vite.config.ts +0 -0
- /package/src/commands/{build/extra → extra}/theme/index.js +0 -0
- /package/src/commands/init/template/{src/views/hello → packages/microapp/src/views/demo}/api/index.ts +0 -0
- /package/src/commands/init/template/{src/views/hello → packages/microapp/src/views/demo}/app.vue +0 -0
- /package/src/commands/init/template/{src/views/hello → packages/microapp/src/views/demo}/assets/das.png +0 -0
- /package/src/commands/init/template/{src/views/hello → packages/microapp/src/views/demo}/assets/vite.svg +0 -0
- /package/src/commands/init/template/{src/views/hello → packages/microapp/src/views/demo}/assets/vue.svg +0 -0
- /package/src/commands/init/template/{src/views/hello → packages/microapp/src/views/demo}/i18n/index.ts +0 -0
- /package/src/commands/init/template/{src/views/hello → packages/microapp/src/views/demo}/router.ts +0 -0
- /package/src/commands/init/template/{src/views/hello → packages/microapp/src/views/demo}/theme/index.ts +0 -0
package/package.json
CHANGED
@@ -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:
|
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{
|
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,4 +1,4 @@
|
|
1
|
-
worker_processes
|
1
|
+
worker_processes 2;
|
2
2
|
worker_rlimit_nofile 2000;
|
3
3
|
events {
|
4
4
|
worker_connections 1000;
|
@@ -38,19 +38,14 @@ http {
|
|
38
38
|
server {
|
39
39
|
listen 80;
|
40
40
|
etag on;
|
41
|
-
location / {
|
42
|
-
root /usr/share/nginx/html;
|
43
|
-
try_files $uri $uri/ /index.html;
|
44
|
-
expires 0;
|
45
|
-
}
|
46
41
|
|
47
42
|
location ~ ^/(api|oss)/ {
|
48
|
-
proxy_pass http://gateway;
|
43
|
+
proxy_pass http://gateway:9080;
|
49
44
|
}
|
50
45
|
|
51
46
|
location {url} {
|
52
47
|
alias /usr/share/nginx/html;
|
53
|
-
try_files $uri $uri/
|
48
|
+
try_files $uri $uri/ /index.html;
|
54
49
|
expires 0;
|
55
50
|
}
|
56
51
|
|
@@ -1 +1 @@
|
|
1
|
-
import{resolve}from"path";import fs from"fs-extra";let initPublicConfig=async(i={})=>{var i=i
|
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
|
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
|
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,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
|
+
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};
|
@@ -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"))
|
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||{})
|
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||{})
|
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||{})
|
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";
|
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";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://xxx/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 s,o=process.cwd(),t=resolve(__dirname,"./template");for(s of await glob(["**/**"],{cwd:t,dot:!0})){var n=resolve(o,s);await fs.copy(resolve(t,s),n,{overwrite:!0})}var p,a=resolve(o,"./packages/microapp"),c=resolve(o,"./packages/"+r),a=(await fs.ensureDir(c),await fs.copy(a,c,{overwrite:!0}),await fs.remove(a),await glob(["**/**"],{cwd:c,dot:!0}));for(p of a){var l,m=resolve(c,p);(-1<p.indexOf("public/config.js")||-1<p.indexOf("src/das-web-app")||-1<p.indexOf("src/main.dev.ts")||-1<p.indexOf("src/main.ts"))&&(l=(await fs.readFile(m)).toString(),await fs.writeFile(m,l.replaceAll("%microAppName%",i))),-1<p.indexOf("package.json")&&(l=(await fs.readFile(m)).toString(),await fs.writeFile(m,l.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:"version",type:"input",message:"请输入需要安装的@das-fed版本"}]))["version"],v=(f||(consola.error("@das-fed版本必填!"),process.exit()),["@das-fed/web","@das-fed/ui","@das-fed/utils"]),u=["@das-fed/cli"];f&&(v=v.map(e=>e+"@"+f),u=u.map(e=>e+"@"+f)),a.push(...v),d.push(...u),execSync("pnpm add "+a.join(" "),{cwd:c,stdio:"inherit"}),execSync("pnpm add -D "+d.join(" "),{cwd:c,stdio:"inherit"}),console.log(""),consola.success("项目初始化完成!")}};
|
@@ -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,12 +1,7 @@
|
|
1
1
|
{
|
2
|
-
"
|
3
|
-
"description": "pnpm-workspace app for @das-fed",
|
4
|
-
"private": true,
|
5
|
-
"version": "0.0.0",
|
2
|
+
"private": "true",
|
6
3
|
"type": "module",
|
7
4
|
"scripts": {
|
8
|
-
"
|
9
|
-
"build": "das-cli build",
|
10
|
-
"preview": "vite preview"
|
5
|
+
"build": "node scripts/build"
|
11
6
|
}
|
12
7
|
}
|
@@ -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,11 @@
|
|
1
|
+
import '@das-fed/web/packages/style'
|
2
|
+
|
3
|
+
export default () => {
|
4
|
+
return {
|
5
|
+
microAppName: '%microAppName%',
|
6
|
+
router: { glob: import.meta.glob('@/views/**/**/router.ts', { eager: true, import: 'default' }) },
|
7
|
+
plugins: { glob: import.meta.glob('@/plugins/*/index.ts', { eager: true, import: 'default' }) },
|
8
|
+
theme: { glob: import.meta.glob('@/**/**/theme/*.ts', { eager: true, import: 'default' }) },
|
9
|
+
i18n: { glob: import.meta.glob('@/**/**/i18n/*.ts', { eager: true, import: 'default' }) },
|
10
|
+
}
|
11
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { createDasWebApp, mainAppFramework } from '@das-fed/web'
|
2
|
+
import '@das-fed/web/packages/style'
|
3
|
+
|
4
|
+
createDasWebApp({
|
5
|
+
root: { component: mainAppFramework.Layout },
|
6
|
+
router: { routers: mainAppFramework.routes },
|
7
|
+
microApps: [
|
8
|
+
{
|
9
|
+
microAppName: '%microAppName%',
|
10
|
+
router: { glob: import.meta.glob('@/views/**/**/router.ts', { eager: true, import: 'default' }) },
|
11
|
+
plugins: { glob: import.meta.glob('@/plugins/*/index.ts', { eager: true, import: 'default' }) },
|
12
|
+
theme: { glob: import.meta.glob('@/**/**/theme/*.ts', { eager: true, import: 'default' }) },
|
13
|
+
i18n: { glob: import.meta.glob('@/**/**/i18n/*.ts', { eager: true, import: 'default' }) },
|
14
|
+
},
|
15
|
+
],
|
16
|
+
})
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { createDasWebApp } from '@das-fed/web'
|
2
|
+
import '@das-fed/web/packages/style'
|
3
|
+
|
4
|
+
createDasWebApp({
|
5
|
+
microAppName: '%microAppName%',
|
6
|
+
router: { glob: import.meta.glob('@/views/**/**/router.ts', { eager: true, import: 'default' }) },
|
7
|
+
plugins: { glob: import.meta.glob('@/plugins/*/index.ts', { eager: true, import: 'default' }) },
|
8
|
+
theme: { glob: import.meta.glob('@/**/**/theme/*.ts', { eager: true, import: 'default' }) },
|
9
|
+
i18n: { glob: import.meta.glob('@/**/**/i18n/*.ts', { eager: true, import: 'default' }) },
|
10
|
+
})
|
@@ -1,7 +1,5 @@
|
|
1
1
|
{
|
2
2
|
"compilerOptions": {
|
3
|
-
"composite": true,
|
4
|
-
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
5
3
|
"target": "ES2020",
|
6
4
|
"useDefineForClassFields": true,
|
7
5
|
"module": "ESNext",
|
@@ -13,16 +11,22 @@
|
|
13
11
|
"allowImportingTsExtensions": true,
|
14
12
|
"resolveJsonModule": true,
|
15
13
|
"isolatedModules": true,
|
16
|
-
"moduleDetection": "force",
|
17
14
|
"noEmit": true,
|
18
15
|
"jsx": "preserve",
|
19
16
|
"jsxImportSource": "vue", // vue 3.4+ 需要显示指定jsx导出为vue
|
20
17
|
|
21
18
|
/* Linting */
|
22
19
|
"strict": true,
|
23
|
-
"noUnusedLocals":
|
20
|
+
"noUnusedLocals": false,
|
24
21
|
"noUnusedParameters": true,
|
25
|
-
"noFallthroughCasesInSwitch": true
|
22
|
+
"noFallthroughCasesInSwitch": true,
|
23
|
+
|
24
|
+
/* @ alias */
|
25
|
+
"baseUrl": "./",
|
26
|
+
"paths": {
|
27
|
+
"@/*": ["src/*"]
|
28
|
+
}
|
26
29
|
},
|
27
|
-
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]
|
30
|
+
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
|
31
|
+
"references": [{ "path": "./tsconfig.node.json" }]
|
28
32
|
}
|
package/src/commands/init/template/{tsconfig.node.json → packages/microapp/tsconfig.node.json}
RENAMED
@@ -1,13 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"compilerOptions": {
|
3
3
|
"composite": true,
|
4
|
-
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
|
5
4
|
"skipLibCheck": true,
|
6
5
|
"module": "ESNext",
|
7
6
|
"moduleResolution": "bundler",
|
8
|
-
"allowSyntheticDefaultImports": true
|
9
|
-
"strict": true,
|
10
|
-
"noEmit": true
|
7
|
+
"allowSyntheticDefaultImports": true
|
11
8
|
},
|
12
9
|
"include": ["vite.config.ts"]
|
13
10
|
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import path from 'path'
|
2
|
+
import fs from 'fs'
|
3
|
+
import { execSync } from 'child_process'
|
4
|
+
import { fileURLToPath } from 'url'
|
5
|
+
|
6
|
+
const __filename = fileURLToPath(import.meta.url)
|
7
|
+
const __dirname = path.dirname(__filename)
|
8
|
+
|
9
|
+
const getFirstPackage = (dirPath) => {
|
10
|
+
const items = fs.readdirSync(dirPath)
|
11
|
+
for (const item of items) {
|
12
|
+
const fullPath = path.join(dirPath, item)
|
13
|
+
if (fs.statSync(fullPath).isDirectory()) return fullPath
|
14
|
+
}
|
15
|
+
return null
|
16
|
+
}
|
17
|
+
|
18
|
+
const copyDirectorySync = (src, dest) => {
|
19
|
+
if (!fs.existsSync(dest)) fs.mkdirSync(dest, { recursive: true })
|
20
|
+
const items = fs.readdirSync(src)
|
21
|
+
items.forEach((item) => {
|
22
|
+
const srcPath = path.join(src, item)
|
23
|
+
const destPath = path.join(dest, item)
|
24
|
+
if (fs.statSync(srcPath).isDirectory()) {
|
25
|
+
copyDirectorySync(srcPath, destPath)
|
26
|
+
} else {
|
27
|
+
fs.copyFileSync(srcPath, destPath)
|
28
|
+
}
|
29
|
+
})
|
30
|
+
}
|
31
|
+
|
32
|
+
const cwd = getFirstPackage(path.resolve(__dirname, `../packages`))
|
33
|
+
execSync('pnpm run build', { cwd, stdio: 'inherit' })
|
34
|
+
copyDirectorySync(path.join(cwd, 'dist'), path.join(__dirname, '../dist'))
|
@@ -0,0 +1 @@
|
|
1
|
+
import{fileURLToPath}from"url";import{dirname,resolve,sep}from"path";import fs from"fs-extra";let __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);import{parse as lexerParse}from"es-module-lexer";import MagicString from"magic-string";function addDirectoryAtLevel(e,r,i){if(i<0||i>e.split(sep).length)throw new Error("层级无效");return e.split(sep).reduce((e,s,t)=>(t===i&&e.push(r),e.push(s),e),[]).join(sep)}let pureExtname=async(e,s)=>{var t,r=[".js",".mjs","/index.js","/index.mjs"],i=resolve(s,e);for(t of r)if(await fs.exists(i+t))return""+e+t;if(e.startsWith("@das-fed/")){var a,n=resolve(s,addDirectoryAtLevel(e,"dist",2));for(a of r)if(await fs.exists(n+a))return""+e+a}},pureResolve=async(e,s)=>{var t,{cwd:r,nodeModulesCwd:i,packages:a=["@das-fed/ui","@das-fed/web","@das-fed/utils","@das-fed/web-components","dayjs","element-plus","ant-design-vue"]}=s||{};for(t of e){var n=resolve(r,t),l=(await fs.readFile(n)).toString(),[o]=lexerParse(l);if(o){o=o.filter(e=>!!e.n).filter(e=>!(e.n.endsWith(".js")||e.n.endsWith(".mjs")));if(o.length){var d=new MagicString(l);for(let t of o){let s=null;var f=t.n.endsWith(".css"),m=t.n.startsWith("element-plus")&&t.n.endsWith("/style/css"),p=t.n.startsWith("ant-design-vue")&&t.n.endsWith("/style/css"),u=!f&&!p&&!m&&!a.includes(t.n)&&(a.find(e=>t.n.startsWith(e))||t.n.startsWith("."));if(f&&d.overwrite(t.ss,t.se,""),m&&d.overwrite(t.ss,t.se,""),p&&d.overwrite(t.ss,t.se,""),u)if(t.n.startsWith(".")){f=await pureExtname(t.n,resolve(n,"../"));f&&(s=f)}else{let e=t.n;e.startsWith("dayjs")&&(e=e.replace("dayjs","dayjs/esm"));m=await pureExtname(e,i);console.log(m),m&&(s=m)}null!==s&&(2===t.t&&(s=`"${s}"`),d.overwrite(t.s,t.e,s))}await fs.writeFile(n,d.toString())}}}};export{pureResolve};
|
@@ -1 +1 @@
|
|
1
|
-
import{resolve,extname}from"path";import dayjs from"dayjs";let pureOpt=e=>{process.cwd();let{base:
|
1
|
+
import{resolve,extname}from"path";import dayjs from"dayjs";import fs from"fs-extra";import glob from"fast-glob";import{pureResolve}from"../../utils/pure-resolve/index.js";let pureOpt=e=>{process.cwd();let{base:s="./",apply:p="build",type:t="singleApp",external:a=["vue","vue-router","pinia","pinia-plugin-persistedstate",/^@das-fed\//,/^dayjs(\/.*)?$/,/^element-plus(\/.*)?$/,/^ant-design-vue(\/.*)?$/],entry:r="src/das-web-app.ts",outputDir:i="dist",...l}=e||{};return{base:s,apply:p,type:t,external:a,entry:r,outputDir:i,isSingleApp:"singleApp"===t,isDasMainApp:"mainApp"===t,isDasMicroApp:"microApp"===t,...l}},dasFeWebApp=e=>{let p=process.cwd(),{base:t,apply:s,external:a,entry:r,isSingleApp:i}=pureOpt(e);return i?{}:{name:"das-fe-web-app",apply:s,config:(e,{})=>{let s=e?.build?.assetsDir??"assets";(s=s||"")&&!s.endsWith("/")&&(s+="/");e=dayjs().format("YYYY-MM-DD-HH-mm-ss-SSS");return{base:t,build:{lib:{entry:resolve(p,r),name:"index",fileName:"index",formats:["es"]},rollupOptions:{external:a,output:{chunkFileNames:`[name]-[hash]-${e}.js`}}}}},closeBundle:async()=>{var e=resolve(p,"dist"),s=await glob("**/**/*.js",{cwd:e});await pureResolve(s,{cwd:e,nodeModulesCwd:resolve(p,"node_modules")})}}};export default e=>[dasFeWebApp(e)];
|
@@ -1,2 +0,0 @@
|
|
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};
|
@@ -1 +0,0 @@
|
|
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};
|
@@ -1 +0,0 @@
|
|
1
|
-
window.config = {}
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { createDasWebApp } from '@das-fed/web'
|
2
|
-
import '@das-fed/web/packages/style'
|
3
|
-
|
4
|
-
createDasWebApp({
|
5
|
-
// @ts-ignore
|
6
|
-
microAppName: __MICRO_APPNAME__,
|
7
|
-
router: { glob: import.meta.glob('@/views/**/router.ts', { eager: true, import: 'default' }) },
|
8
|
-
plugins: { glob: import.meta.glob('@/plugins/*/index.ts', { eager: true, import: 'default' }) },
|
9
|
-
})
|
@@ -1,8 +0,0 @@
|
|
1
|
-
import { createDasWebApp } from '@das-fed/web'
|
2
|
-
|
3
|
-
createDasWebApp({
|
4
|
-
// @ts-ignore
|
5
|
-
microAppName: __MICRO_APPNAME__,
|
6
|
-
router: { glob: import.meta.glob('@/views/**/router.ts', { eager: true, import: 'default' }) },
|
7
|
-
plugins: { glob: import.meta.glob('@/plugins/*/index.ts', { eager: true, import: 'default' }) },
|
8
|
-
})
|
@@ -1,61 +0,0 @@
|
|
1
|
-
<template>
|
2
|
-
<div class="demo-container">
|
3
|
-
<h2>
|
4
|
-
{{ t('demo-msg') }}
|
5
|
-
</h2>
|
6
|
-
|
7
|
-
<a href="http://aiot-ui.rd.chn-das.com/das-ui" target="_blank">
|
8
|
-
<p class="read-the-docs">{{ t('demo-doc-tip') }}</p>
|
9
|
-
</a>
|
10
|
-
|
11
|
-
<div>{{ t('demo-component-msg') }}</div>
|
12
|
-
<div class="alert-container">
|
13
|
-
<div v-for="item in ['info', 'success', 'warning', 'error']" :key="item" class="alert-item">
|
14
|
-
<DasAlert show-icon :message="`${item} Text`" :type="item" />
|
15
|
-
</div>
|
16
|
-
</div>
|
17
|
-
|
18
|
-
<div>@das-fed/ui组件库中DasIcon使用案例</div>
|
19
|
-
<DasIconAdd />
|
20
|
-
</div>
|
21
|
-
</template>
|
22
|
-
|
23
|
-
<script setup lang="ts">
|
24
|
-
import { t } from '@das-fed/web'
|
25
|
-
import { DasAlert, DasIconAdd } from '@das-fed/ui'
|
26
|
-
</script>
|
27
|
-
|
28
|
-
<style>
|
29
|
-
.demo-container {
|
30
|
-
margin: 0 auto;
|
31
|
-
padding: 2rem;
|
32
|
-
text-align: center;
|
33
|
-
height: 100%;
|
34
|
-
background: var(--hello-bg);
|
35
|
-
color: var(--hello-color);
|
36
|
-
}
|
37
|
-
.demo-container h2 {
|
38
|
-
color: var(--hello-color);
|
39
|
-
}
|
40
|
-
.alert-container {
|
41
|
-
background: var(--demo-alert-bg);
|
42
|
-
color: var(--demo-alert-color);
|
43
|
-
padding: 20px;
|
44
|
-
margin: 10px 0;
|
45
|
-
border-radius: 10px;
|
46
|
-
box-sizing: border-box;
|
47
|
-
height: auto;
|
48
|
-
min-width: 600px;
|
49
|
-
}
|
50
|
-
.alert-item {
|
51
|
-
margin-top: 20px;
|
52
|
-
}
|
53
|
-
.alert-item:first-child {
|
54
|
-
margin-top: 0;
|
55
|
-
}
|
56
|
-
.read-the-docs {
|
57
|
-
cursor: pointer;
|
58
|
-
font-size: 14px;
|
59
|
-
font-weight: 400;
|
60
|
-
}
|
61
|
-
</style>
|
@@ -1,14 +0,0 @@
|
|
1
|
-
export default {
|
2
|
-
'demo-msg': {
|
3
|
-
'zh-CN': '这是第一个示例路由页面',
|
4
|
-
en: 'This is Demo Page',
|
5
|
-
},
|
6
|
-
'demo-doc-tip': {
|
7
|
-
'zh-CN': '查看完整组件库文档',
|
8
|
-
en: 'read the components doc',
|
9
|
-
},
|
10
|
-
'demo-component-msg': {
|
11
|
-
'zh-CN': '@das-fed/ui组件库中DasAlert使用案例',
|
12
|
-
en: 'the DasAlert example of @das-fed/ui',
|
13
|
-
},
|
14
|
-
}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
import type { RouteRecordRaw } from 'vue-router'
|
2
|
-
import { setI18nRule, setThemeRule } from '@das-fed/web'
|
3
|
-
import i18n from './i18n'
|
4
|
-
import theme from './theme'
|
5
|
-
|
6
|
-
setI18nRule(i18n)
|
7
|
-
setThemeRule(theme)
|
8
|
-
|
9
|
-
export default {
|
10
|
-
path: '/demo',
|
11
|
-
component: () => import('./app.vue'),
|
12
|
-
meta: { keepAlive: true },
|
13
|
-
} as RouteRecordRaw
|
@@ -1 +0,0 @@
|
|
1
|
-
/// <reference types="vite/client" />
|
@@ -1,14 +0,0 @@
|
|
1
|
-
import { defineConfig } from 'vite'
|
2
|
-
import vue from '@vitejs/plugin-vue'
|
3
|
-
import { dasFeWebVitePlugin } from '@das-fed/cli'
|
4
|
-
import config from './config.js'
|
5
|
-
|
6
|
-
// https://vitejs.dev/config/
|
7
|
-
export default defineConfig(({ command }) => {
|
8
|
-
const isBuild = command === 'build'
|
9
|
-
return {
|
10
|
-
define: { __MICRO_APPNAME__: JSON.stringify(config.microAppName) },
|
11
|
-
base: isBuild ? `/${config.microAppName}` : '/',
|
12
|
-
plugins: [vue(), dasFeWebVitePlugin()],
|
13
|
-
}
|
14
|
-
})
|
@@ -1 +0,0 @@
|
|
1
|
-
import{resolve,extname}from"path";import dayjs from"dayjs";import fs from"fs-extra";import{parse as lexerParse}from"es-module-lexer";import MagicString from"magic-string";import{parseImportCode}from"../../utils/parse-import-code.js";let dasFeExternal=e=>{var r=process.cwd();resolve(r,"node_modules");let n=["@das-fed/web","@das-fed/ui","@das-fed/utils"];return{name:"das-fe-web-app-external",enforce:"pre",apply:"build",async transform(e,r){if(!(-1<r.indexOf("?"))&&[".vue",".ts",".js",".jsx",".tsx"].includes(extname(r))){if([".ts",".js"].includes(extname(r))&&r.indexOf("node_modules")<0){var s,[r,,]=lexerParse(e),a=new MagicString(e);for(s of r){var t=e.slice(s.s,s.e);!t.startsWith("@das-fed/")||t.endsWith(".js")||(t.endsWith("/index")?a.overwrite(s.s,s.e,t+".js"):a.overwrite(s.s,s.e,t+"/index.js"))}e=a.toString()}var i,r=parseImportCode(e);if(r)for(i of r.filter(e=>e.name.startsWith("@das-fed/")).filter(e=>!n.includes(e.name)))i.name.endsWith(".js")||(e=i.name.endsWith("/index")?e.replaceAll(`'${i.name}'`,`'${i.name}.js'`):e.replaceAll(`'${i.name}'`,`'${i.name}/index.js'`));return e}}}};export default e=>[dasFeExternal()];
|
@@ -1 +0,0 @@
|
|
1
|
-
import{resolve,extname}from"path";import fs from"fs-extra";import MagicString from"magic-string";import stripComments from"strip-comments";import kebabCase from"lodash-es/kebabCase.js";import{parseImportCode}from"../../utils/parse-import-code.js";let cwd=process.cwd(),nodeModulesDir=resolve(cwd,"node_modules"),nodeModulesDasUIDir=resolve(cwd,"node_modules/@das-fed/ui"),dasFeUIEsmMapPath=resolve(nodeModulesDasUIDir,"esm-map.json"),dasFeUIEsmMapPathPathExits=fs.existsSync(dasFeUIEsmMapPath),esmMap=dasFeUIEsmMapPathPathExits?fs.readJSONSync(dasFeUIEsmMapPath):{},iconComponentName="DasIcon",getEsmPath=e=>{let s=esmMap[e];if(s)return s=s.endsWith("/index")?s.slice(0,-6):s},DasFeUIEsm=e=>({name:"das-fed-ui-esm",enforce:"pre",async transform(e,s){if(!(-1<s.indexOf("?"))&&!(-1<s.indexOf("@das-fed/ui/packages/icon"))&&[".vue",".ts",".js",".jsx",".tsx"].includes(extname(s))){s=parseImportCode(e,"@das-fed/ui");if(s){var t,o=new MagicString(e);for(t of s){let a="";for(var r of t.members){var i=r.name,d=getEsmPath(i);if(d){a+=`import { ${r.code} } from '@das-fed/ui${d}';`;let e=resolve(nodeModulesDir,`@das-fed/ui${d}/style.css`),s=`import '@das-fed/ui${d}/style.css';`;i.startsWith(iconComponentName)&&(r=getEsmPath(iconComponentName),e=resolve(nodeModulesDir,`@das-fed/ui${r}/style.css`),s=`import '@das-fed/ui${r}/style.css';`);d=await fs.exists(e);d&&(a+=s)}}a&&o.overwrite(t.start,t.end,a)}return o.toString()}}}});export default(e={})=>[DasFeUIEsm(e)];
|
@@ -1 +0,0 @@
|
|
1
|
-
import{extname}from"path";import MagicString from"magic-string";import{parseImportCode}from"../../utils/parse-import-code.js";import{resolve}from"path";import fs from"fs-extra";let cwd=process.cwd(),nodeModulesDir=resolve(cwd,"node_modules"),esmMapPath=resolve(nodeModulesDir,"@das-fed/utils/esm-map.json"),esmMapPathExits=fs.existsSync(esmMapPath),esmMap=esmMapPathExits?fs.readJSONSync(esmMapPath):{};export default(e=0)=>({name:"das-fed-ui-esm",enforce:"pre",transform(e,t){if(!(-1<t.indexOf("?"))&&[".vue",".ts",".js",".jsx",".tsx"].includes(extname(t))){t=parseImportCode(e,"@das-fed/utils");if(t){let s=new MagicString(e);return t.map(e=>{let t="";e.members.map(e=>{var s=e.name,s=esmMap[s];s&&(t+=`import { ${e.code} } from '@das-fed/utils${s}';`)}),s.overwrite(e.start,e.end,t)}),s.toString()}}}});
|
@@ -1 +0,0 @@
|
|
1
|
-
import{resolve,extname}from"path";import fs from"fs-extra";import MagicString from"magic-string";import{parseImportCode}from"../../utils/parse-import-code.js";let cwd=process.cwd(),dasFeWeb=e=>{let a;return{name:"das-fe-web",config:(e,{})=>({resolve:{alias:{"@":resolve(process.cwd(),"src")}}}),configResolved(e){a=e},buildStart:async()=>{a.cwd=resolve(process.cwd())},transformIndexHtml:{order:"post",handler:()=>{var e=a.base||"./";let s="development"===a.mode?e+"config.local.js":e+"config.js";return[{tag:"script",attrs:{src:s}}]}}}},dasFeWebEsmMapPath=resolve(cwd,"node_modules","@das-fed/web/esm-map.json"),dasFeWebEsmMapPathExits=fs.existsSync(dasFeWebEsmMapPath),esmMap=dasFeWebEsmMapPathExits?fs.readJSONSync(dasFeWebEsmMapPath):{},dasFeWebEsm=async e=>({name:"das-fed-web-esm",enforce:"pre",transform(e,a){if(dasFeWebEsmMapPathExits&&!(-1<a.indexOf("?"))&&[".vue",".ts",".js",".jsx",".tsx"].includes(extname(a))){a=parseImportCode(e,"@das-fed/web");if(a){let s=new MagicString(e);return a.map(e=>{let a="";e.members.map(e=>{var s=e.name,s=esmMap[s];s&&(a+=`import { ${e.code} } from '@das-fed/web${s}';`)}),s.overwrite(e.start,e.end,a)}),s.toString()}}}});export default e=>[dasFeWeb(e),dasFeWebEsm(e)];
|
@@ -1 +0,0 @@
|
|
1
|
-
import{resolve}from"path";import fs from"fs-extra";export default(s="/src/main.ts")=>{let a=process.cwd();return{name:"das-fe-dynamic-entry",apply:"serve",transformIndexHtml:{order:"pre",handler:async r=>{var e="/src/main.dev.ts";return await fs.exists(resolve(a,"."+e))?r.replace(s,e):r}}}};
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/package/src/commands/init/template/{src/views/hello → packages/microapp/src/views/demo}/app.vue
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/package/src/commands/init/template/{src/views/hello → packages/microapp/src/views/demo}/router.ts
RENAMED
File without changes
|
File without changes
|