@das-fed/cli 6.4.0-dev.5 → 6.4.0-dev.7
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/nginx.main.conf +54 -54
- package/src/commands/build/nginx.micro.conf +61 -61
- package/src/commands/init/template/.prettierignore +21 -21
- package/src/commands/init/template/.prettierrc +8 -8
- package/src/commands/init/template/README.md +19 -19
- package/src/commands/init/template/config.js +3 -3
- package/src/commands/init/template/index.html +12 -12
- package/src/commands/init/template/package.json +12 -12
- package/src/commands/init/template/public/config.js +1 -1
- package/src/commands/init/template/src/main.ts +9 -9
- package/src/commands/init/template/src/micro-app.ts +8 -8
- package/src/commands/init/template/src/views/demo/app.vue +61 -61
- package/src/commands/init/template/src/views/demo/i18n/index.ts +14 -14
- package/src/commands/init/template/src/views/demo/router.ts +13 -13
- package/src/commands/init/template/src/views/demo/theme/index.ts +7 -7
- package/src/commands/init/template/src/views/hello/api/index.ts +6 -6
- package/src/commands/init/template/src/views/hello/app.vue +157 -157
- package/src/commands/init/template/src/views/hello/i18n/index.ts +16 -16
- package/src/commands/init/template/src/views/hello/router.ts +12 -12
- package/src/commands/init/template/src/views/hello/theme/index.ts +18 -18
- package/src/commands/init/template/src/vite-env.d.ts +1 -1
- package/src/commands/init/template/tsconfig.app.json +28 -28
- package/src/commands/init/template/tsconfig.json +11 -11
- package/src/commands/init/template/tsconfig.node.json +13 -13
- package/src/commands/init/template/vite.config.ts +14 -14
- package/src/vite-plugins/das-fe-resolve/index.js +1 -0
- package/src/vite-plugins/das-fe-ui/index.js +1 -0
- package/src/vite-plugins/das-fe-utils/index.js +1 -0
- package/src/vite-plugins/das-fe-web/index.js +1 -0
- package/src/vite-plugins/dynamic-entry/index.js +1 -0
package/package.json
CHANGED
@@ -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 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
|
+
}
|
55
55
|
}
|
@@ -1,62 +1,62 @@
|
|
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 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
|
+
}
|
62
62
|
}
|
@@ -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,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
|
-
```
|
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,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,12 @@
|
|
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
|
+
"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 +1 @@
|
|
1
|
-
window.config = {}
|
1
|
+
window.config = {}
|
@@ -1,9 +1,9 @@
|
|
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
|
+
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 +1,8 @@
|
|
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
|
+
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 +1,61 @@
|
|
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
|
+
<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 +1,14 @@
|
|
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
|
+
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 +1,13 @@
|
|
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
|
+
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,7 +1,7 @@
|
|
1
|
-
export default {
|
2
|
-
'--demo-alert-bg': {
|
3
|
-
light: '#fff',
|
4
|
-
dark: 'rgba(255,255,255,.2)',
|
5
|
-
},
|
6
|
-
'--demo-alert-color': '#000',
|
7
|
-
}
|
1
|
+
export default {
|
2
|
+
'--demo-alert-bg': {
|
3
|
+
light: '#fff',
|
4
|
+
dark: 'rgba(255,255,255,.2)',
|
5
|
+
},
|
6
|
+
'--demo-alert-color': '#000',
|
7
|
+
}
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { createService } from '@das-fed/utils/create-api-service'
|
2
|
-
|
3
|
-
const http = createService('/test')
|
4
|
-
|
5
|
-
export const getUser = http.get('/user')
|
6
|
-
export const addUser = http.post('/user')
|
1
|
+
import { createService } from '@das-fed/utils/create-api-service'
|
2
|
+
|
3
|
+
const http = createService('/test')
|
4
|
+
|
5
|
+
export const getUser = http.get('/user')
|
6
|
+
export const addUser = http.post('/user')
|
@@ -1,157 +1,157 @@
|
|
1
|
-
<template>
|
2
|
-
<div class="hello-container">
|
3
|
-
<button type="button" @click="setLang('zh-CN')">中</button>
|
4
|
-
<button type="button" style="margin-left: 10px" @click="setLang('en')">英</button>
|
5
|
-
<div class="img-container">
|
6
|
-
<a href="https://vitejs.dev" target="_blank">
|
7
|
-
<img src="./assets/vite.svg" class="logo" alt="Vite logo" />
|
8
|
-
</a>
|
9
|
-
<a href="https://vuejs.org/" target="_blank">
|
10
|
-
<img src="./assets/vue.svg" class="logo vue" alt="Vue logo" />
|
11
|
-
</a>
|
12
|
-
</div>
|
13
|
-
<router-link to="/"> {{ t('home-router') }} </router-link>
|
14
|
-
<span>-</span>
|
15
|
-
<router-link to="/demo"> {{ t('demo-router') }} </router-link>
|
16
|
-
|
17
|
-
<div>
|
18
|
-
<h1>{{ msg }}</h1>
|
19
|
-
|
20
|
-
<div class="card">
|
21
|
-
<p>
|
22
|
-
{{ t('edit', 'views/hello/app.vue') }}
|
23
|
-
</p>
|
24
|
-
</div>
|
25
|
-
|
26
|
-
<p v-html="t('click-out', `<a href='http://docs.chn-das.com' target='_blank'>达实文档中心</a>`)"></p>
|
27
|
-
<p v-html="t('suggest', `<a href='https://github.com/vuejs/language-tools' target='_blank'>Volar</a>`)"></p>
|
28
|
-
<router-link to="/demo">
|
29
|
-
<p class="read-the-demo">{{ t('read-the-demo') }}</p>
|
30
|
-
</router-link>
|
31
|
-
</div>
|
32
|
-
<button type="button" @click="setTheme('light')">{{ t('light') }}</button>
|
33
|
-
<button type="button" style="margin-left: 10px" @click="setTheme('dark')">
|
34
|
-
{{ t('dark') }}
|
35
|
-
</button>
|
36
|
-
<br />
|
37
|
-
<br />
|
38
|
-
<div class="img-container">
|
39
|
-
<a href="https://aiot.chn-das.com/login" target="_blank">
|
40
|
-
<img class="das-logo" src="./assets/das.png" />
|
41
|
-
</a>
|
42
|
-
</div>
|
43
|
-
</div>
|
44
|
-
</template>
|
45
|
-
|
46
|
-
<script setup lang="ts">
|
47
|
-
import { ref } from 'vue'
|
48
|
-
import { t, setLang, setTheme } from '@das-fed/web'
|
49
|
-
|
50
|
-
const msg = ref('vite + vue + das-fe')
|
51
|
-
</script>
|
52
|
-
|
53
|
-
<style>
|
54
|
-
|
55
|
-
|
56
|
-
.hello-container {
|
57
|
-
height: 100%;
|
58
|
-
margin: 0 auto;
|
59
|
-
padding: 2rem;
|
60
|
-
text-align: center;
|
61
|
-
background: var(--hello-bg);
|
62
|
-
color: var(--hello-color);
|
63
|
-
}
|
64
|
-
.hello-container p {
|
65
|
-
margin-bottom: 10px;
|
66
|
-
}
|
67
|
-
.hello-container h1 {
|
68
|
-
font-weight: 600;
|
69
|
-
margin-bottom: 20px;
|
70
|
-
color: var(--btn-color);
|
71
|
-
}
|
72
|
-
|
73
|
-
.img-container {
|
74
|
-
display: flex;
|
75
|
-
justify-content: center;
|
76
|
-
}
|
77
|
-
body {
|
78
|
-
background: var(--hello-bg);
|
79
|
-
color: var(--hello-color);
|
80
|
-
}
|
81
|
-
button {
|
82
|
-
background: var(--btn-bg);
|
83
|
-
color: var(--btn-color);
|
84
|
-
}
|
85
|
-
.logo {
|
86
|
-
height: 6em;
|
87
|
-
padding: 1.5em;
|
88
|
-
will-change: filter;
|
89
|
-
transition: filter 300ms;
|
90
|
-
}
|
91
|
-
.logo:hover {
|
92
|
-
filter: drop-shadow(0 0 2em #646cffaa);
|
93
|
-
}
|
94
|
-
.logo.vue:hover {
|
95
|
-
filter: drop-shadow(0 0 2em #42b883aa);
|
96
|
-
}
|
97
|
-
.das-logo {
|
98
|
-
height: 30px;
|
99
|
-
will-change: filter;
|
100
|
-
transition: filter 300ms;
|
101
|
-
}
|
102
|
-
.das-logo:hover {
|
103
|
-
filter: drop-shadow(0 0 2em #646cffaa);
|
104
|
-
}
|
105
|
-
|
106
|
-
.read-the-demo {
|
107
|
-
color: #888;
|
108
|
-
/* font-size: 14px; */
|
109
|
-
font-weight: 400;
|
110
|
-
}
|
111
|
-
:root {
|
112
|
-
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
|
113
|
-
line-height: 1.5;
|
114
|
-
font-weight: 400;
|
115
|
-
|
116
|
-
color-scheme: light dark;
|
117
|
-
color: rgba(255, 255, 255, 0.87);
|
118
|
-
background-color: #242424;
|
119
|
-
|
120
|
-
font-synthesis: none;
|
121
|
-
text-rendering: optimizeLegibility;
|
122
|
-
-webkit-font-smoothing: antialiased;
|
123
|
-
-moz-osx-font-smoothing: grayscale;
|
124
|
-
}
|
125
|
-
|
126
|
-
a {
|
127
|
-
font-weight: 500;
|
128
|
-
color: #646cff;
|
129
|
-
text-decoration: inherit;
|
130
|
-
}
|
131
|
-
a:hover {
|
132
|
-
color: #535bf2;
|
133
|
-
}
|
134
|
-
|
135
|
-
h1 {
|
136
|
-
font-size: 3.2em;
|
137
|
-
line-height: 1.1;
|
138
|
-
}
|
139
|
-
|
140
|
-
button {
|
141
|
-
border-radius: 8px;
|
142
|
-
border: 1px solid transparent;
|
143
|
-
padding: 0.6em 1.2em;
|
144
|
-
font-size: 1em;
|
145
|
-
font-weight: 500;
|
146
|
-
font-family: inherit;
|
147
|
-
cursor: pointer;
|
148
|
-
transition: border-color 0.25s;
|
149
|
-
}
|
150
|
-
button:hover {
|
151
|
-
border-color: #646cff;
|
152
|
-
}
|
153
|
-
button:focus,
|
154
|
-
button:focus-visible {
|
155
|
-
outline: 4px auto -webkit-focus-ring-color;
|
156
|
-
}
|
157
|
-
</style>
|
1
|
+
<template>
|
2
|
+
<div class="hello-container">
|
3
|
+
<button type="button" @click="setLang('zh-CN')">中</button>
|
4
|
+
<button type="button" style="margin-left: 10px" @click="setLang('en')">英</button>
|
5
|
+
<div class="img-container">
|
6
|
+
<a href="https://vitejs.dev" target="_blank">
|
7
|
+
<img src="./assets/vite.svg" class="logo" alt="Vite logo" />
|
8
|
+
</a>
|
9
|
+
<a href="https://vuejs.org/" target="_blank">
|
10
|
+
<img src="./assets/vue.svg" class="logo vue" alt="Vue logo" />
|
11
|
+
</a>
|
12
|
+
</div>
|
13
|
+
<router-link to="/"> {{ t('home-router') }} </router-link>
|
14
|
+
<span>-</span>
|
15
|
+
<router-link to="/demo"> {{ t('demo-router') }} </router-link>
|
16
|
+
|
17
|
+
<div>
|
18
|
+
<h1>{{ msg }}</h1>
|
19
|
+
|
20
|
+
<div class="card">
|
21
|
+
<p>
|
22
|
+
{{ t('edit', 'views/hello/app.vue') }}
|
23
|
+
</p>
|
24
|
+
</div>
|
25
|
+
|
26
|
+
<p v-html="t('click-out', `<a href='http://docs.chn-das.com' target='_blank'>达实文档中心</a>`)"></p>
|
27
|
+
<p v-html="t('suggest', `<a href='https://github.com/vuejs/language-tools' target='_blank'>Volar</a>`)"></p>
|
28
|
+
<router-link to="/demo">
|
29
|
+
<p class="read-the-demo">{{ t('read-the-demo') }}</p>
|
30
|
+
</router-link>
|
31
|
+
</div>
|
32
|
+
<button type="button" @click="setTheme('light')">{{ t('light') }}</button>
|
33
|
+
<button type="button" style="margin-left: 10px" @click="setTheme('dark')">
|
34
|
+
{{ t('dark') }}
|
35
|
+
</button>
|
36
|
+
<br />
|
37
|
+
<br />
|
38
|
+
<div class="img-container">
|
39
|
+
<a href="https://aiot.chn-das.com/login" target="_blank">
|
40
|
+
<img class="das-logo" src="./assets/das.png" />
|
41
|
+
</a>
|
42
|
+
</div>
|
43
|
+
</div>
|
44
|
+
</template>
|
45
|
+
|
46
|
+
<script setup lang="ts">
|
47
|
+
import { ref } from 'vue'
|
48
|
+
import { t, setLang, setTheme } from '@das-fed/web'
|
49
|
+
|
50
|
+
const msg = ref('vite + vue + das-fe')
|
51
|
+
</script>
|
52
|
+
|
53
|
+
<style>
|
54
|
+
|
55
|
+
|
56
|
+
.hello-container {
|
57
|
+
height: 100%;
|
58
|
+
margin: 0 auto;
|
59
|
+
padding: 2rem;
|
60
|
+
text-align: center;
|
61
|
+
background: var(--hello-bg);
|
62
|
+
color: var(--hello-color);
|
63
|
+
}
|
64
|
+
.hello-container p {
|
65
|
+
margin-bottom: 10px;
|
66
|
+
}
|
67
|
+
.hello-container h1 {
|
68
|
+
font-weight: 600;
|
69
|
+
margin-bottom: 20px;
|
70
|
+
color: var(--btn-color);
|
71
|
+
}
|
72
|
+
|
73
|
+
.img-container {
|
74
|
+
display: flex;
|
75
|
+
justify-content: center;
|
76
|
+
}
|
77
|
+
body {
|
78
|
+
background: var(--hello-bg);
|
79
|
+
color: var(--hello-color);
|
80
|
+
}
|
81
|
+
button {
|
82
|
+
background: var(--btn-bg);
|
83
|
+
color: var(--btn-color);
|
84
|
+
}
|
85
|
+
.logo {
|
86
|
+
height: 6em;
|
87
|
+
padding: 1.5em;
|
88
|
+
will-change: filter;
|
89
|
+
transition: filter 300ms;
|
90
|
+
}
|
91
|
+
.logo:hover {
|
92
|
+
filter: drop-shadow(0 0 2em #646cffaa);
|
93
|
+
}
|
94
|
+
.logo.vue:hover {
|
95
|
+
filter: drop-shadow(0 0 2em #42b883aa);
|
96
|
+
}
|
97
|
+
.das-logo {
|
98
|
+
height: 30px;
|
99
|
+
will-change: filter;
|
100
|
+
transition: filter 300ms;
|
101
|
+
}
|
102
|
+
.das-logo:hover {
|
103
|
+
filter: drop-shadow(0 0 2em #646cffaa);
|
104
|
+
}
|
105
|
+
|
106
|
+
.read-the-demo {
|
107
|
+
color: #888;
|
108
|
+
/* font-size: 14px; */
|
109
|
+
font-weight: 400;
|
110
|
+
}
|
111
|
+
:root {
|
112
|
+
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
|
113
|
+
line-height: 1.5;
|
114
|
+
font-weight: 400;
|
115
|
+
|
116
|
+
color-scheme: light dark;
|
117
|
+
color: rgba(255, 255, 255, 0.87);
|
118
|
+
background-color: #242424;
|
119
|
+
|
120
|
+
font-synthesis: none;
|
121
|
+
text-rendering: optimizeLegibility;
|
122
|
+
-webkit-font-smoothing: antialiased;
|
123
|
+
-moz-osx-font-smoothing: grayscale;
|
124
|
+
}
|
125
|
+
|
126
|
+
a {
|
127
|
+
font-weight: 500;
|
128
|
+
color: #646cff;
|
129
|
+
text-decoration: inherit;
|
130
|
+
}
|
131
|
+
a:hover {
|
132
|
+
color: #535bf2;
|
133
|
+
}
|
134
|
+
|
135
|
+
h1 {
|
136
|
+
font-size: 3.2em;
|
137
|
+
line-height: 1.1;
|
138
|
+
}
|
139
|
+
|
140
|
+
button {
|
141
|
+
border-radius: 8px;
|
142
|
+
border: 1px solid transparent;
|
143
|
+
padding: 0.6em 1.2em;
|
144
|
+
font-size: 1em;
|
145
|
+
font-weight: 500;
|
146
|
+
font-family: inherit;
|
147
|
+
cursor: pointer;
|
148
|
+
transition: border-color 0.25s;
|
149
|
+
}
|
150
|
+
button:hover {
|
151
|
+
border-color: #646cff;
|
152
|
+
}
|
153
|
+
button:focus,
|
154
|
+
button:focus-visible {
|
155
|
+
outline: 4px auto -webkit-focus-ring-color;
|
156
|
+
}
|
157
|
+
</style>
|
@@ -1,16 +1,16 @@
|
|
1
|
-
export default {
|
2
|
-
'home-router': { 'zh-CN': '主页', en: 'home' },
|
3
|
-
'demo-router': { 'zh-CN': '示例', en: 'demo' },
|
4
|
-
light: { 'zh-CN': '浅色', en: 'light' },
|
5
|
-
dark: { 'zh-CN': '深色', en: 'dark' },
|
6
|
-
edit: {
|
7
|
-
'zh-CN': '编辑 $0 来测试模块热重载',
|
8
|
-
en: 'Edit $0 to test HMR',
|
9
|
-
},
|
10
|
-
'click-out': {
|
11
|
-
'zh-CN': '进入 $0 , 快速创建 Vue + Vite + Das Front-End 的开发模板',
|
12
|
-
en: 'Click out $0 , check the official Vue + Vite + Das Front-End starter',
|
13
|
-
},
|
14
|
-
suggest: { 'zh-CN': '安装 $0 在您的IDE中获得更好的开发体验', en: 'Install $0 in your IDE for a better DX' },
|
15
|
-
'read-the-demo': { 'zh-CN': '进入示例页面,查看组件库使用示例', en: 'to read demo' },
|
16
|
-
}
|
1
|
+
export default {
|
2
|
+
'home-router': { 'zh-CN': '主页', en: 'home' },
|
3
|
+
'demo-router': { 'zh-CN': '示例', en: 'demo' },
|
4
|
+
light: { 'zh-CN': '浅色', en: 'light' },
|
5
|
+
dark: { 'zh-CN': '深色', en: 'dark' },
|
6
|
+
edit: {
|
7
|
+
'zh-CN': '编辑 $0 来测试模块热重载',
|
8
|
+
en: 'Edit $0 to test HMR',
|
9
|
+
},
|
10
|
+
'click-out': {
|
11
|
+
'zh-CN': '进入 $0 , 快速创建 Vue + Vite + Das Front-End 的开发模板',
|
12
|
+
en: 'Click out $0 , check the official Vue + Vite + Das Front-End starter',
|
13
|
+
},
|
14
|
+
suggest: { 'zh-CN': '安装 $0 在您的IDE中获得更好的开发体验', en: 'Install $0 in your IDE for a better DX' },
|
15
|
+
'read-the-demo': { 'zh-CN': '进入示例页面,查看组件库使用示例', en: 'to read demo' },
|
16
|
+
}
|
@@ -1,12 +1,12 @@
|
|
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: '/',
|
11
|
-
component: () => import('./app.vue'),
|
12
|
-
} as RouteRecordRaw
|
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: '/',
|
11
|
+
component: () => import('./app.vue'),
|
12
|
+
} as RouteRecordRaw
|
@@ -1,18 +1,18 @@
|
|
1
|
-
export default {
|
2
|
-
'--hello-bg': {
|
3
|
-
light: '#fff',
|
4
|
-
dark: '#000',
|
5
|
-
},
|
6
|
-
'--hello-color': {
|
7
|
-
light: '#000',
|
8
|
-
dark: '#fff',
|
9
|
-
},
|
10
|
-
'--btn-bg': {
|
11
|
-
light: '#f9f9f9',
|
12
|
-
dark: '#1a1a1a',
|
13
|
-
},
|
14
|
-
'--btn-color': {
|
15
|
-
light: '#213547',
|
16
|
-
dark: '#f9f9f9',
|
17
|
-
},
|
18
|
-
}
|
1
|
+
export default {
|
2
|
+
'--hello-bg': {
|
3
|
+
light: '#fff',
|
4
|
+
dark: '#000',
|
5
|
+
},
|
6
|
+
'--hello-color': {
|
7
|
+
light: '#000',
|
8
|
+
dark: '#fff',
|
9
|
+
},
|
10
|
+
'--btn-bg': {
|
11
|
+
light: '#f9f9f9',
|
12
|
+
dark: '#1a1a1a',
|
13
|
+
},
|
14
|
+
'--btn-color': {
|
15
|
+
light: '#213547',
|
16
|
+
dark: '#f9f9f9',
|
17
|
+
},
|
18
|
+
}
|
@@ -1 +1 @@
|
|
1
|
-
/// <reference types="vite/client" />
|
1
|
+
/// <reference types="vite/client" />
|
@@ -1,28 +1,28 @@
|
|
1
|
-
{
|
2
|
-
"compilerOptions": {
|
3
|
-
"composite": true,
|
4
|
-
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
5
|
-
"target": "ES2020",
|
6
|
-
"useDefineForClassFields": true,
|
7
|
-
"module": "ESNext",
|
8
|
-
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
9
|
-
"skipLibCheck": true,
|
10
|
-
|
11
|
-
/* Bundler mode */
|
12
|
-
"moduleResolution": "bundler",
|
13
|
-
"allowImportingTsExtensions": true,
|
14
|
-
"resolveJsonModule": true,
|
15
|
-
"isolatedModules": true,
|
16
|
-
"moduleDetection": "force",
|
17
|
-
"noEmit": true,
|
18
|
-
"jsx": "preserve",
|
19
|
-
"jsxImportSource": "vue", // vue 3.4+ 需要显示指定jsx导出为vue
|
20
|
-
|
21
|
-
/* Linting */
|
22
|
-
"strict": true,
|
23
|
-
"noUnusedLocals": true,
|
24
|
-
"noUnusedParameters": true,
|
25
|
-
"noFallthroughCasesInSwitch": true
|
26
|
-
},
|
27
|
-
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]
|
28
|
-
}
|
1
|
+
{
|
2
|
+
"compilerOptions": {
|
3
|
+
"composite": true,
|
4
|
+
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
5
|
+
"target": "ES2020",
|
6
|
+
"useDefineForClassFields": true,
|
7
|
+
"module": "ESNext",
|
8
|
+
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
9
|
+
"skipLibCheck": true,
|
10
|
+
|
11
|
+
/* Bundler mode */
|
12
|
+
"moduleResolution": "bundler",
|
13
|
+
"allowImportingTsExtensions": true,
|
14
|
+
"resolveJsonModule": true,
|
15
|
+
"isolatedModules": true,
|
16
|
+
"moduleDetection": "force",
|
17
|
+
"noEmit": true,
|
18
|
+
"jsx": "preserve",
|
19
|
+
"jsxImportSource": "vue", // vue 3.4+ 需要显示指定jsx导出为vue
|
20
|
+
|
21
|
+
/* Linting */
|
22
|
+
"strict": true,
|
23
|
+
"noUnusedLocals": true,
|
24
|
+
"noUnusedParameters": true,
|
25
|
+
"noFallthroughCasesInSwitch": true
|
26
|
+
},
|
27
|
+
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]
|
28
|
+
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
{
|
2
|
-
"files": [],
|
3
|
-
"references": [
|
4
|
-
{
|
5
|
-
"path": "./tsconfig.app.json"
|
6
|
-
},
|
7
|
-
{
|
8
|
-
"path": "./tsconfig.node.json"
|
9
|
-
}
|
10
|
-
]
|
11
|
-
}
|
1
|
+
{
|
2
|
+
"files": [],
|
3
|
+
"references": [
|
4
|
+
{
|
5
|
+
"path": "./tsconfig.app.json"
|
6
|
+
},
|
7
|
+
{
|
8
|
+
"path": "./tsconfig.node.json"
|
9
|
+
}
|
10
|
+
]
|
11
|
+
}
|
@@ -1,13 +1,13 @@
|
|
1
|
-
{
|
2
|
-
"compilerOptions": {
|
3
|
-
"composite": true,
|
4
|
-
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
|
5
|
-
"skipLibCheck": true,
|
6
|
-
"module": "ESNext",
|
7
|
-
"moduleResolution": "bundler",
|
8
|
-
"allowSyntheticDefaultImports": true,
|
9
|
-
"strict": true,
|
10
|
-
"noEmit": true
|
11
|
-
},
|
12
|
-
"include": ["vite.config.ts"]
|
13
|
-
}
|
1
|
+
{
|
2
|
+
"compilerOptions": {
|
3
|
+
"composite": true,
|
4
|
+
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
|
5
|
+
"skipLibCheck": true,
|
6
|
+
"module": "ESNext",
|
7
|
+
"moduleResolution": "bundler",
|
8
|
+
"allowSyntheticDefaultImports": true,
|
9
|
+
"strict": true,
|
10
|
+
"noEmit": true
|
11
|
+
},
|
12
|
+
"include": ["vite.config.ts"]
|
13
|
+
}
|
@@ -1,14 +1,14 @@
|
|
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
|
+
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
|
+
})
|
@@ -0,0 +1 @@
|
|
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()];
|
@@ -0,0 +1 @@
|
|
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)];
|
@@ -0,0 +1 @@
|
|
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()}}}});
|
@@ -0,0 +1 @@
|
|
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)];
|
@@ -0,0 +1 @@
|
|
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}}}};
|