Commit 8a77c947109678c852cdcc9e60111076d85cfc4c

Authored by xingyu4j
1 parent a5287d71

refactor: less to scss

Showing 36 changed files with 293 additions and 327 deletions
yudao-ui-admin-vue3/README.md
... ... @@ -9,7 +9,7 @@
9 9 <img src="https://img.shields.io/badge/-pnpm7-F69220?logo=pnpm&logoColor=white" />
10 10 <img src="https://img.shields.io/badge/-Axios-008fc7?logo=axios.js&logoColor=white" />
11 11 <img src="https://img.shields.io/badge/-Prettier-ef9421?logo=Prettier&logoColor=white" alt="Prettier">
12   - <img src="https://img.shields.io/badge/-Less-1D365D?logo=less&logoColor=white" alt="Less">
  12 + <img src="https://img.shields.io/badge/-Sass-1D365D?logo=Sass&logoColor=white" alt="Sass">
13 13 <img src="https://img.shields.io/badge/-Wind%20CSS-06B6D4?logo=Tailwind%20CSS&logoColor=white" alt="Taiwind">
14 14 </p>
15 15  
... ...
yudao-ui-admin-vue3/package.json
... ... @@ -18,7 +18,7 @@
18 18 "clean": "npx rimraf node_modules",
19 19 "clean:cache": "npx rimraf node_modules/.cache",
20 20 "lint:eslint": "eslint --fix --ext .js,.ts,.vue ./src",
21   - "lint:format": "prettier --write --loglevel warn \"src/**/*.{js,ts,json,tsx,css,less,vue,html,md}\"",
  21 + "lint:format": "prettier --write --loglevel warn \"src/**/*.{js,ts,json,tsx,css,less,scss,vue,html,md}\"",
22 22 "lint:style": "stylelint --fix \"**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/",
23 23 "lint:lint-staged": "lint-staged -c ",
24 24 "lint:pretty": "pretty-quick --staged",
... ... @@ -78,12 +78,13 @@
78 78 "eslint-define-config": "^1.12.0",
79 79 "eslint-plugin-prettier": "^4.2.1",
80 80 "eslint-plugin-vue": "^9.7.0",
81   - "less": "^4.1.3",
  81 + "sass": "^1.56.1",
  82 + "sass-loader": "^13.2.0",
82 83 "lint-staged": "^13.0.3",
83 84 "plop": "^3.1.1",
84 85 "postcss": "^8.4.19",
85 86 "postcss-html": "^1.5.0",
86   - "postcss-less": "^6.0.0",
  87 + "postcss-scss": "^4.0.5",
87 88 "prettier": "^2.7.1",
88 89 "rimraf": "^3.0.2",
89 90 "rollup": "^3.4.0",
... ...
yudao-ui-admin-vue3/pnpm-lock.yaml
... ... @@ -37,7 +37,6 @@ specifiers:
37 37 intro.js: ^6.0.0
38 38 js-cookie: ^3.0.1
39 39 jsencrypt: ^3.3.1
40   - less: ^4.1.3
41 40 lint-staged: ^13.0.3
42 41 lodash-es: ^4.17.21
43 42 mitt: ^3.0.0
... ... @@ -46,12 +45,14 @@ specifiers:
46 45 plop: ^3.1.1
47 46 postcss: ^8.4.19
48 47 postcss-html: ^1.5.0
49   - postcss-less: ^6.0.0
  48 + postcss-scss: ^4.0.5
50 49 prettier: ^2.7.1
51 50 qrcode: ^1.5.1
52 51 qs: ^6.11.0
53 52 rimraf: ^3.0.2
54 53 rollup: ^3.4.0
  54 + sass: ^1.56.1
  55 + sass-loader: ^13.2.0
55 56 stylelint: ^14.15.0
56 57 stylelint-config-html: ^1.1.0
57 58 stylelint-config-prettier: ^9.0.4
... ... @@ -134,15 +135,16 @@ devDependencies:
134 135 eslint-define-config: registry.npmmirror.com/eslint-define-config/1.12.0
135 136 eslint-plugin-prettier: registry.npmmirror.com/eslint-plugin-prettier/4.2.1_pgxuib4rd7wiymfktharf5ydt4
136 137 eslint-plugin-vue: registry.npmmirror.com/eslint-plugin-vue/9.7.0_eslint@8.28.0
137   - less: registry.npmmirror.com/less/4.1.3
138 138 lint-staged: registry.npmmirror.com/lint-staged/13.0.3
139 139 plop: registry.npmmirror.com/plop/3.1.1
140 140 postcss: registry.npmmirror.com/postcss/8.4.19
141 141 postcss-html: registry.npmmirror.com/postcss-html/1.5.0
142   - postcss-less: registry.npmmirror.com/postcss-less/6.0.0_postcss@8.4.19
  142 + postcss-scss: registry.npmmirror.com/postcss-scss/4.0.5_postcss@8.4.19
143 143 prettier: registry.npmmirror.com/prettier/2.7.1
144 144 rimraf: registry.npmmirror.com/rimraf/3.0.2
145 145 rollup: registry.npmmirror.com/rollup/3.4.0
  146 + sass: registry.npmmirror.com/sass/1.56.1
  147 + sass-loader: registry.npmmirror.com/sass-loader/13.2.0_sass@1.56.1
146 148 stylelint: registry.npmmirror.com/stylelint/14.15.0
147 149 stylelint-config-html: registry.npmmirror.com/stylelint-config-html/1.1.0_qendsqix7hqecpnpx4fjs6qry4
148 150 stylelint-config-prettier: registry.npmmirror.com/stylelint-config-prettier/9.0.4_stylelint@14.15.0
... ... @@ -150,7 +152,7 @@ devDependencies:
150 152 stylelint-config-standard: registry.npmmirror.com/stylelint-config-standard/29.0.0_stylelint@14.15.0
151 153 stylelint-order: registry.npmmirror.com/stylelint-order/5.0.0_stylelint@14.15.0
152 154 typescript: registry.npmmirror.com/typescript/4.9.3
153   - vite: registry.npmmirror.com/vite/3.2.4_mp5lu76ee5qtwstsyca37sdhqi
  155 + vite: registry.npmmirror.com/vite/3.2.4_ajklay5k626t46b6fyghkbup3i
154 156 vite-plugin-compression: registry.npmmirror.com/vite-plugin-compression/0.5.1_vite@3.2.4
155 157 vite-plugin-eslint: registry.npmmirror.com/vite-plugin-eslint/1.8.1_eslint@8.28.0+vite@3.2.4
156 158 vite-plugin-html: registry.npmmirror.com/vite-plugin-html/3.2.0_vite@3.2.4
... ... @@ -987,7 +989,7 @@ packages:
987 989 debug: registry.npmmirror.com/debug/4.3.4
988 990 fast-glob: registry.npmmirror.com/fast-glob/3.2.12
989 991 source-map: registry.npmmirror.com/source-map/0.6.1
990   - vite: registry.npmmirror.com/vite/3.2.4_mp5lu76ee5qtwstsyca37sdhqi
  992 + vite: registry.npmmirror.com/vite/3.2.4_ajklay5k626t46b6fyghkbup3i
991 993 vue-i18n: registry.npmmirror.com/vue-i18n/9.2.2_vue@3.2.45
992 994 transitivePeerDependencies:
993 995 - supports-color
... ... @@ -1540,7 +1542,7 @@ packages:
1540 1542 '@babel/core': registry.npmmirror.com/@babel/core/7.20.2
1541 1543 '@babel/plugin-transform-typescript': registry.npmmirror.com/@babel/plugin-transform-typescript/7.20.2_@babel+core@7.20.2
1542 1544 '@vue/babel-plugin-jsx': registry.npmmirror.com/@vue/babel-plugin-jsx/1.1.1_@babel+core@7.20.2
1543   - vite: registry.npmmirror.com/vite/3.2.4_mp5lu76ee5qtwstsyca37sdhqi
  1545 + vite: registry.npmmirror.com/vite/3.2.4_ajklay5k626t46b6fyghkbup3i
1544 1546 vue: registry.npmmirror.com/vue/3.2.45
1545 1547 transitivePeerDependencies:
1546 1548 - supports-color
... ... @@ -1556,7 +1558,7 @@ packages:
1556 1558 vite: ^3.0.0
1557 1559 vue: ^3.2.25
1558 1560 dependencies:
1559   - vite: registry.npmmirror.com/vite/3.2.4_mp5lu76ee5qtwstsyca37sdhqi
  1561 + vite: registry.npmmirror.com/vite/3.2.4_ajklay5k626t46b6fyghkbup3i
1560 1562 vue: registry.npmmirror.com/vue/3.2.45
1561 1563 dev: true
1562 1564  
... ... @@ -2167,6 +2169,16 @@ packages:
2167 2169 engines: {node: '>=12'}
2168 2170 dev: true
2169 2171  
  2172 + registry.npmmirror.com/anymatch/3.1.3:
  2173 + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz}
  2174 + name: anymatch
  2175 + version: 3.1.3
  2176 + engines: {node: '>= 8'}
  2177 + dependencies:
  2178 + normalize-path: registry.npmmirror.com/normalize-path/3.0.0
  2179 + picomatch: registry.npmmirror.com/picomatch/2.3.1
  2180 + dev: true
  2181 +
2170 2182 registry.npmmirror.com/arg/4.1.3:
2171 2183 resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz}
2172 2184 name: arg
... ... @@ -2362,6 +2374,13 @@ packages:
2362 2374 version: 5.2.2
2363 2375 dev: true
2364 2376  
  2377 + registry.npmmirror.com/binary-extensions/2.2.0:
  2378 + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz}
  2379 + name: binary-extensions
  2380 + version: 2.2.0
  2381 + engines: {node: '>=8'}
  2382 + dev: true
  2383 +
2365 2384 registry.npmmirror.com/bl/4.1.0:
2366 2385 resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz}
2367 2386 name: bl
... ... @@ -2625,6 +2644,23 @@ packages:
2625 2644 version: 0.7.0
2626 2645 dev: true
2627 2646  
  2647 + registry.npmmirror.com/chokidar/3.5.3:
  2648 + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz}
  2649 + name: chokidar
  2650 + version: 3.5.3
  2651 + engines: {node: '>= 8.10.0'}
  2652 + dependencies:
  2653 + anymatch: registry.npmmirror.com/anymatch/3.1.3
  2654 + braces: registry.npmmirror.com/braces/3.0.2
  2655 + glob-parent: registry.npmmirror.com/glob-parent/5.1.2
  2656 + is-binary-path: registry.npmmirror.com/is-binary-path/2.1.0
  2657 + is-glob: registry.npmmirror.com/is-glob/4.0.3
  2658 + normalize-path: registry.npmmirror.com/normalize-path/3.0.0
  2659 + readdirp: registry.npmmirror.com/readdirp/3.6.0
  2660 + optionalDependencies:
  2661 + fsevents: registry.npmmirror.com/fsevents/2.3.2
  2662 + dev: true
  2663 +
2628 2664 registry.npmmirror.com/class-utils/0.3.6:
2629 2665 resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/class-utils/-/class-utils-0.3.6.tgz}
2630 2666 name: class-utils
... ... @@ -2923,14 +2959,6 @@ packages:
2923 2959 version: 1.9.0
2924 2960 dev: true
2925 2961  
2926   - registry.npmmirror.com/copy-anything/2.0.6:
2927   - resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz}
2928   - name: copy-anything
2929   - version: 2.0.6
2930   - dependencies:
2931   - is-what: registry.npmmirror.com/is-what/3.14.1
2932   - dev: true
2933   -
2934 2962 registry.npmmirror.com/copy-descriptor/0.1.1:
2935 2963 resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz}
2936 2964 name: copy-descriptor
... ... @@ -3111,20 +3139,6 @@ packages:
3111 3139 ms: registry.npmmirror.com/ms/2.0.0
3112 3140 dev: true
3113 3141  
3114   - registry.npmmirror.com/debug/3.2.7:
3115   - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz}
3116   - name: debug
3117   - version: 3.2.7
3118   - peerDependencies:
3119   - supports-color: '*'
3120   - peerDependenciesMeta:
3121   - supports-color:
3122   - optional: true
3123   - dependencies:
3124   - ms: registry.npmmirror.com/ms/2.1.3
3125   - dev: true
3126   - optional: true
3127   -
3128 3142 registry.npmmirror.com/debug/4.3.4:
3129 3143 resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz}
3130 3144 name: debug
... ... @@ -3514,17 +3528,6 @@ packages:
3514 3528 engines: {node: '>=0.12'}
3515 3529 dev: true
3516 3530  
3517   - registry.npmmirror.com/errno/0.1.8:
3518   - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz}
3519   - name: errno
3520   - version: 0.1.8
3521   - hasBin: true
3522   - requiresBuild: true
3523   - dependencies:
3524   - prr: registry.npmmirror.com/prr/1.0.1
3525   - dev: true
3526   - optional: true
3527   -
3528 3531 registry.npmmirror.com/error-ex/1.3.2:
3529 3532 resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz}
3530 3533 name: error-ex
... ... @@ -4903,16 +4906,6 @@ packages:
4903 4906 safer-buffer: registry.npmmirror.com/safer-buffer/2.1.2
4904 4907 dev: true
4905 4908  
4906   - registry.npmmirror.com/iconv-lite/0.6.3:
4907   - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz}
4908   - name: iconv-lite
4909   - version: 0.6.3
4910   - engines: {node: '>=0.10.0'}
4911   - dependencies:
4912   - safer-buffer: registry.npmmirror.com/safer-buffer/2.1.2
4913   - dev: true
4914   - optional: true
4915   -
4916 4909 registry.npmmirror.com/ieee754/1.2.1:
4917 4910 resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz}
4918 4911 name: ieee754
... ... @@ -4940,6 +4933,12 @@ packages:
4940 4933 version: 9.0.16
4941 4934 dev: false
4942 4935  
  4936 + registry.npmmirror.com/immutable/4.1.0:
  4937 + resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/immutable/-/immutable-4.1.0.tgz}
  4938 + name: immutable
  4939 + version: 4.1.0
  4940 + dev: true
  4941 +
4943 4942 registry.npmmirror.com/import-fresh/3.3.0:
4944 4943 resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz}
4945 4944 name: import-fresh
... ... @@ -5062,6 +5061,15 @@ packages:
5062 5061 version: 0.2.1
5063 5062 dev: true
5064 5063  
  5064 + registry.npmmirror.com/is-binary-path/2.1.0:
  5065 + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz}
  5066 + name: is-binary-path
  5067 + version: 2.1.0
  5068 + engines: {node: '>=8'}
  5069 + dependencies:
  5070 + binary-extensions: registry.npmmirror.com/binary-extensions/2.2.0
  5071 + dev: true
  5072 +
5065 5073 registry.npmmirror.com/is-buffer/1.1.6:
5066 5074 resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz}
5067 5075 name: is-buffer
... ... @@ -5301,12 +5309,6 @@ packages:
5301 5309 version: 1.2.4
5302 5310 dev: false
5303 5311  
5304   - registry.npmmirror.com/is-what/3.14.1:
5305   - resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz}
5306   - name: is-what
5307   - version: 3.14.1
5308   - dev: true
5309   -
5310 5312 registry.npmmirror.com/is-windows/1.0.2:
5311 5313 resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz}
5312 5314 name: is-windows
... ... @@ -5526,6 +5528,13 @@ packages:
5526 5528 engines: {node: '>=0.10.0'}
5527 5529 dev: true
5528 5530  
  5531 + registry.npmmirror.com/klona/2.0.5:
  5532 + resolution: {integrity: sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/klona/-/klona-2.0.5.tgz}
  5533 + name: klona
  5534 + version: 2.0.5
  5535 + engines: {node: '>= 8'}
  5536 + dev: true
  5537 +
5529 5538 registry.npmmirror.com/known-css-properties/0.26.0:
5530 5539 resolution: {integrity: sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/known-css-properties/-/known-css-properties-0.26.0.tgz}
5531 5540 name: known-css-properties
... ... @@ -5538,28 +5547,6 @@ packages:
5538 5547 version: 1.6.0
5539 5548 dev: true
5540 5549  
5541   - registry.npmmirror.com/less/4.1.3:
5542   - resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/less/-/less-4.1.3.tgz}
5543   - name: less
5544   - version: 4.1.3
5545   - engines: {node: '>=6'}
5546   - hasBin: true
5547   - dependencies:
5548   - copy-anything: registry.npmmirror.com/copy-anything/2.0.6
5549   - parse-node-version: registry.npmmirror.com/parse-node-version/1.0.1
5550   - tslib: registry.npmmirror.com/tslib/2.4.1
5551   - optionalDependencies:
5552   - errno: registry.npmmirror.com/errno/0.1.8
5553   - graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10
5554   - image-size: registry.npmmirror.com/image-size/0.5.5
5555   - make-dir: registry.npmmirror.com/make-dir/2.1.0
5556   - mime: registry.npmmirror.com/mime/1.6.0
5557   - needle: registry.npmmirror.com/needle/3.2.0
5558   - source-map: registry.npmmirror.com/source-map/0.6.1
5559   - transitivePeerDependencies:
5560   - - supports-color
5561   - dev: true
5562   -
5563 5550 registry.npmmirror.com/levn/0.4.1:
5564 5551 resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz}
5565 5552 name: levn
... ... @@ -5871,18 +5858,6 @@ packages:
5871 5858 sourcemap-codec: registry.npmmirror.com/sourcemap-codec/1.4.8
5872 5859 dev: true
5873 5860  
5874   - registry.npmmirror.com/make-dir/2.1.0:
5875   - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz}
5876   - name: make-dir
5877   - version: 2.1.0
5878   - engines: {node: '>=6'}
5879   - requiresBuild: true
5880   - dependencies:
5881   - pify: registry.npmmirror.com/pify/4.0.1
5882   - semver: registry.npmmirror.com/semver/5.7.1
5883   - dev: true
5884   - optional: true
5885   -
5886 5861 registry.npmmirror.com/make-error/1.3.6:
5887 5862 resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz}
5888 5863 name: make-error
... ... @@ -6064,16 +6039,6 @@ packages:
6064 6039 mime-db: registry.npmmirror.com/mime-db/1.52.0
6065 6040 dev: false
6066 6041  
6067   - registry.npmmirror.com/mime/1.6.0:
6068   - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz}
6069   - name: mime
6070   - version: 1.6.0
6071   - engines: {node: '>=4'}
6072   - hasBin: true
6073   - requiresBuild: true
6074   - dev: true
6075   - optional: true
6076   -
6077 6042 registry.npmmirror.com/mimic-fn/2.1.0:
6078 6043 resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz}
6079 6044 name: mimic-fn
... ... @@ -6165,13 +6130,6 @@ packages:
6165 6130 version: 2.1.2
6166 6131 dev: true
6167 6132  
6168   - registry.npmmirror.com/ms/2.1.3:
6169   - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz}
6170   - name: ms
6171   - version: 2.1.3
6172   - dev: true
6173   - optional: true
6174   -
6175 6133 registry.npmmirror.com/muggle-string/0.1.0:
6176 6134 resolution: {integrity: sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/muggle-string/-/muggle-string-0.1.0.tgz}
6177 6135 name: muggle-string
... ... @@ -6230,22 +6188,6 @@ packages:
6230 6188 version: 1.4.0
6231 6189 dev: true
6232 6190  
6233   - registry.npmmirror.com/needle/3.2.0:
6234   - resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/needle/-/needle-3.2.0.tgz}
6235   - name: needle
6236   - version: 3.2.0
6237   - engines: {node: '>= 4.4.x'}
6238   - hasBin: true
6239   - requiresBuild: true
6240   - dependencies:
6241   - debug: registry.npmmirror.com/debug/3.2.7
6242   - iconv-lite: registry.npmmirror.com/iconv-lite/0.6.3
6243   - sax: registry.npmmirror.com/sax/1.2.4
6244   - transitivePeerDependencies:
6245   - - supports-color
6246   - dev: true
6247   - optional: true
6248   -
6249 6191 registry.npmmirror.com/neo-async/2.6.2:
6250 6192 resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz}
6251 6193 name: neo-async
... ... @@ -6626,13 +6568,6 @@ packages:
6626 6568 lines-and-columns: registry.npmmirror.com/lines-and-columns/1.2.4
6627 6569 dev: true
6628 6570  
6629   - registry.npmmirror.com/parse-node-version/1.0.1:
6630   - resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz}
6631   - name: parse-node-version
6632   - version: 1.0.1
6633   - engines: {node: '>= 0.10'}
6634   - dev: true
6635   -
6636 6571 registry.npmmirror.com/parse-passwd/1.0.0:
6637 6572 resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse-passwd/-/parse-passwd-1.0.0.tgz}
6638 6573 name: parse-passwd
... ... @@ -6753,14 +6688,6 @@ packages:
6753 6688 hasBin: true
6754 6689 dev: true
6755 6690  
6756   - registry.npmmirror.com/pify/4.0.1:
6757   - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz}
6758   - name: pify
6759   - version: 4.0.1
6760   - engines: {node: '>=6'}
6761   - dev: true
6762   - optional: true
6763   -
6764 6691 registry.npmmirror.com/pinia/2.0.25_mgnvym7yiazkylwwogi5r767ue:
6765 6692 resolution: {integrity: sha512-3reAkjJ6bW2D5hZKRMS0c9rUbHVlsVyZd037xO0PJr2AuF/09RRSBnFLlJgmHF4Jx6dEoW/jZBOHTushY7IMlw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pinia/-/pinia-2.0.25.tgz}
6766 6693 id: registry.npmmirror.com/pinia/2.0.25
... ... @@ -6825,18 +6752,6 @@ packages:
6825 6752 postcss-safe-parser: registry.npmmirror.com/postcss-safe-parser/6.0.0_postcss@8.4.19
6826 6753 dev: true
6827 6754  
6828   - registry.npmmirror.com/postcss-less/6.0.0_postcss@8.4.19:
6829   - resolution: {integrity: sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-less/-/postcss-less-6.0.0.tgz}
6830   - id: registry.npmmirror.com/postcss-less/6.0.0
6831   - name: postcss-less
6832   - version: 6.0.0
6833   - engines: {node: '>=12'}
6834   - peerDependencies:
6835   - postcss: ^8.3.5
6836   - dependencies:
6837   - postcss: registry.npmmirror.com/postcss/8.4.19
6838   - dev: true
6839   -
6840 6755 registry.npmmirror.com/postcss-media-query-parser/0.2.3:
6841 6756 resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz}
6842 6757 name: postcss-media-query-parser
... ... @@ -6872,6 +6787,18 @@ packages:
6872 6787 postcss: registry.npmmirror.com/postcss/8.4.19
6873 6788 dev: true
6874 6789  
  6790 + registry.npmmirror.com/postcss-scss/4.0.5_postcss@8.4.19:
  6791 + resolution: {integrity: sha512-F7xpB6TrXyqUh3GKdyB4Gkp3QL3DDW1+uI+gxx/oJnUt/qXI4trj5OGlp9rOKdoABGULuqtqeG+3HEVQk4DjmA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-scss/-/postcss-scss-4.0.5.tgz}
  6792 + id: registry.npmmirror.com/postcss-scss/4.0.5
  6793 + name: postcss-scss
  6794 + version: 4.0.5
  6795 + engines: {node: '>=12.0'}
  6796 + peerDependencies:
  6797 + postcss: ^8.3.3
  6798 + dependencies:
  6799 + postcss: registry.npmmirror.com/postcss/8.4.19
  6800 + dev: true
  6801 +
6875 6802 registry.npmmirror.com/postcss-selector-parser/6.0.10:
6876 6803 resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz}
6877 6804 name: postcss-selector-parser
... ... @@ -7016,13 +6943,6 @@ packages:
7016 6943 version: 1.1.0
7017 6944 dev: false
7018 6945  
7019   - registry.npmmirror.com/prr/1.0.1:
7020   - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz}
7021   - name: prr
7022   - version: 1.0.1
7023   - dev: true
7024   - optional: true
7025   -
7026 6946 registry.npmmirror.com/punycode/1.3.2:
7027 6947 resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/punycode/-/punycode-1.3.2.tgz}
7028 6948 name: punycode
... ... @@ -7138,6 +7058,15 @@ packages:
7138 7058 util-deprecate: registry.npmmirror.com/util-deprecate/1.0.2
7139 7059 dev: true
7140 7060  
  7061 + registry.npmmirror.com/readdirp/3.6.0:
  7062 + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz}
  7063 + name: readdirp
  7064 + version: 3.6.0
  7065 + engines: {node: '>=8.10.0'}
  7066 + dependencies:
  7067 + picomatch: registry.npmmirror.com/picomatch/2.3.1
  7068 + dev: true
  7069 +
7141 7070 registry.npmmirror.com/rechoir/0.8.0:
7142 7071 resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rechoir/-/rechoir-0.8.0.tgz}
7143 7072 name: rechoir
... ... @@ -7396,12 +7325,44 @@ packages:
7396 7325 version: 2.1.2
7397 7326 dev: true
7398 7327  
7399   - registry.npmmirror.com/sax/1.2.4:
7400   - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz}
7401   - name: sax
7402   - version: 1.2.4
  7328 + registry.npmmirror.com/sass-loader/13.2.0_sass@1.56.1:
  7329 + resolution: {integrity: sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sass-loader/-/sass-loader-13.2.0.tgz}
  7330 + id: registry.npmmirror.com/sass-loader/13.2.0
  7331 + name: sass-loader
  7332 + version: 13.2.0
  7333 + engines: {node: '>= 14.15.0'}
  7334 + peerDependencies:
  7335 + fibers: '>= 3.1.0'
  7336 + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
  7337 + sass: ^1.3.0
  7338 + sass-embedded: '*'
  7339 + webpack: ^5.0.0
  7340 + peerDependenciesMeta:
  7341 + fibers:
  7342 + optional: true
  7343 + node-sass:
  7344 + optional: true
  7345 + sass:
  7346 + optional: true
  7347 + sass-embedded:
  7348 + optional: true
  7349 + dependencies:
  7350 + klona: registry.npmmirror.com/klona/2.0.5
  7351 + neo-async: registry.npmmirror.com/neo-async/2.6.2
  7352 + sass: registry.npmmirror.com/sass/1.56.1
  7353 + dev: true
  7354 +
  7355 + registry.npmmirror.com/sass/1.56.1:
  7356 + resolution: {integrity: sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sass/-/sass-1.56.1.tgz}
  7357 + name: sass
  7358 + version: 1.56.1
  7359 + engines: {node: '>=12.0.0'}
  7360 + hasBin: true
  7361 + dependencies:
  7362 + chokidar: registry.npmmirror.com/chokidar/3.5.3
  7363 + immutable: registry.npmmirror.com/immutable/4.1.0
  7364 + source-map-js: registry.npmmirror.com/source-map-js/1.0.2
7403 7365 dev: true
7404   - optional: true
7405 7366  
7406 7367 registry.npmmirror.com/scroll-into-view-if-needed/2.2.29:
7407 7368 resolution: {integrity: sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.29.tgz}
... ... @@ -8490,7 +8451,7 @@ packages:
8490 8451 chalk: registry.npmmirror.com/chalk/4.1.2
8491 8452 debug: registry.npmmirror.com/debug/4.3.4
8492 8453 fs-extra: registry.npmmirror.com/fs-extra/10.1.0
8493   - vite: registry.npmmirror.com/vite/3.2.4_mp5lu76ee5qtwstsyca37sdhqi
  8454 + vite: registry.npmmirror.com/vite/3.2.4_ajklay5k626t46b6fyghkbup3i
8494 8455 transitivePeerDependencies:
8495 8456 - supports-color
8496 8457 dev: true
... ... @@ -8508,7 +8469,7 @@ packages:
8508 8469 '@types/eslint': registry.npmmirror.com/@types/eslint/8.4.10
8509 8470 eslint: registry.npmmirror.com/eslint/8.28.0
8510 8471 rollup: registry.npmmirror.com/rollup/2.79.1
8511   - vite: registry.npmmirror.com/vite/3.2.4_mp5lu76ee5qtwstsyca37sdhqi
  8472 + vite: registry.npmmirror.com/vite/3.2.4_ajklay5k626t46b6fyghkbup3i
8512 8473 dev: true
8513 8474  
8514 8475 registry.npmmirror.com/vite-plugin-html/3.2.0_vite@3.2.4:
... ... @@ -8531,7 +8492,7 @@ packages:
8531 8492 html-minifier-terser: registry.npmmirror.com/html-minifier-terser/6.1.0
8532 8493 node-html-parser: registry.npmmirror.com/node-html-parser/5.4.2
8533 8494 pathe: registry.npmmirror.com/pathe/0.2.0
8534   - vite: registry.npmmirror.com/vite/3.2.4_mp5lu76ee5qtwstsyca37sdhqi
  8495 + vite: registry.npmmirror.com/vite/3.2.4_ajklay5k626t46b6fyghkbup3i
8535 8496 dev: true
8536 8497  
8537 8498 registry.npmmirror.com/vite-plugin-progress/0.0.6_vite@3.2.4:
... ... @@ -8546,7 +8507,7 @@ packages:
8546 8507 picocolors: registry.npmmirror.com/picocolors/1.0.0
8547 8508 progress: registry.npmmirror.com/progress/2.0.3
8548 8509 rd: registry.npmmirror.com/rd/2.0.1
8549   - vite: registry.npmmirror.com/vite/3.2.4_mp5lu76ee5qtwstsyca37sdhqi
  8510 + vite: registry.npmmirror.com/vite/3.2.4_ajklay5k626t46b6fyghkbup3i
8550 8511 dev: true
8551 8512  
8552 8513 registry.npmmirror.com/vite-plugin-purge-icons/0.9.1_vite@3.2.4:
... ... @@ -8561,7 +8522,7 @@ packages:
8561 8522 '@purge-icons/core': registry.npmmirror.com/@purge-icons/core/0.9.1
8562 8523 '@purge-icons/generated': registry.npmmirror.com/@purge-icons/generated/0.9.0
8563 8524 rollup-plugin-purge-icons: registry.npmmirror.com/rollup-plugin-purge-icons/0.9.1
8564   - vite: registry.npmmirror.com/vite/3.2.4_mp5lu76ee5qtwstsyca37sdhqi
  8525 + vite: registry.npmmirror.com/vite/3.2.4_ajklay5k626t46b6fyghkbup3i
8565 8526 transitivePeerDependencies:
8566 8527 - encoding
8567 8528 - supports-color
... ... @@ -8582,7 +8543,7 @@ packages:
8582 8543 fs-extra: registry.npmmirror.com/fs-extra/10.1.0
8583 8544 magic-string: registry.npmmirror.com/magic-string/0.25.9
8584 8545 pathe: registry.npmmirror.com/pathe/0.2.0
8585   - vite: registry.npmmirror.com/vite/3.2.4_mp5lu76ee5qtwstsyca37sdhqi
  8546 + vite: registry.npmmirror.com/vite/3.2.4_ajklay5k626t46b6fyghkbup3i
8586 8547 dev: true
8587 8548  
8588 8549 registry.npmmirror.com/vite-plugin-svg-icons/2.0.1_vite@3.2.4:
... ... @@ -8601,7 +8562,7 @@ packages:
8601 8562 pathe: registry.npmmirror.com/pathe/0.2.0
8602 8563 svg-baker: registry.npmmirror.com/svg-baker/1.7.0
8603 8564 svgo: registry.npmmirror.com/svgo/2.8.0
8604   - vite: registry.npmmirror.com/vite/3.2.4_mp5lu76ee5qtwstsyca37sdhqi
  8565 + vite: registry.npmmirror.com/vite/3.2.4_ajklay5k626t46b6fyghkbup3i
8605 8566 transitivePeerDependencies:
8606 8567 - supports-color
8607 8568 dev: true
... ... @@ -8617,13 +8578,13 @@ packages:
8617 8578 '@windicss/plugin-utils': registry.npmmirror.com/@windicss/plugin-utils/1.8.8
8618 8579 debug: registry.npmmirror.com/debug/4.3.4
8619 8580 kolorist: registry.npmmirror.com/kolorist/1.6.0
8620   - vite: registry.npmmirror.com/vite/3.2.4_mp5lu76ee5qtwstsyca37sdhqi
  8581 + vite: registry.npmmirror.com/vite/3.2.4_ajklay5k626t46b6fyghkbup3i
8621 8582 windicss: registry.npmmirror.com/windicss/3.5.6
8622 8583 transitivePeerDependencies:
8623 8584 - supports-color
8624 8585 dev: true
8625 8586  
8626   - registry.npmmirror.com/vite/3.2.4_mp5lu76ee5qtwstsyca37sdhqi:
  8587 + registry.npmmirror.com/vite/3.2.4_ajklay5k626t46b6fyghkbup3i:
8627 8588 resolution: {integrity: sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite/-/vite-3.2.4.tgz}
8628 8589 id: registry.npmmirror.com/vite/3.2.4
8629 8590 name: vite
... ... @@ -8653,10 +8614,10 @@ packages:
8653 8614 dependencies:
8654 8615 '@types/node': registry.npmmirror.com/@types/node/18.11.9
8655 8616 esbuild: registry.npmmirror.com/esbuild/0.15.14
8656   - less: registry.npmmirror.com/less/4.1.3
8657 8617 postcss: registry.npmmirror.com/postcss/8.4.19
8658 8618 resolve: registry.npmmirror.com/resolve/1.22.1
8659 8619 rollup: registry.npmmirror.com/rollup/2.79.1
  8620 + sass: registry.npmmirror.com/sass/1.56.1
8660 8621 optionalDependencies:
8661 8622 fsevents: registry.npmmirror.com/fsevents/2.3.2
8662 8623 dev: true
... ...
yudao-ui-admin-vue3/src/App.vue
... ... @@ -33,8 +33,8 @@ const setDefaultTheme = () =&gt; {
33 33 setDefaultTheme()
34 34 </script>
35 35  
36   -<style lang="less">
37   -@prefix-cls: ~'@{namespace}-app';
  36 +<style lang="scss">
  37 +$prefix-cls: #{$namespace}-app;
38 38  
39 39 .size {
40 40 width: 100%;
... ... @@ -46,14 +46,14 @@ body {
46 46 padding: 0 !important;
47 47 margin: 0;
48 48 overflow: hidden;
49   - .size;
  49 + @extend .size;
50 50  
51 51 #app {
52   - .size;
  52 + @extend .size;
53 53 }
54 54 }
55 55  
56   -.@{prefix-cls}-grey-mode {
  56 +.#{$prefix-cls}-grey-mode {
57 57 filter: grayscale(100%);
58 58 }
59 59 </style>
... ...
yudao-ui-admin-vue3/src/components/Breadcrumb/src/Breadcrumb.vue
... ... @@ -87,13 +87,13 @@ export default defineComponent({
87 87 })
88 88 </script>
89 89  
90   -<style lang="less" scoped>
91   -@prefix-cls: ~'@{elNamespace}-breadcrumb';
  90 +<style lang="scss" scoped>
  91 +$prefix-cls: #{$elNamespace}-breadcrumb;
92 92  
93   -.@{prefix-cls} {
  93 +.#{$prefix-cls} {
94 94 :deep(&__item) {
95 95 display: flex;
96   - .@{prefix-cls}__inner {
  96 + .#{$prefix-cls}__inner {
97 97 display: flex;
98 98 align-items: center;
99 99 color: var(--top-header-text-color);
... ... @@ -105,7 +105,7 @@ export default defineComponent({
105 105 }
106 106  
107 107 :deep(&__item):not(:last-child) {
108   - .@{prefix-cls}__inner {
  108 + .#{$prefix-cls}__inner {
109 109 color: var(--top-header-text-color);
110 110  
111 111 &:hover {
... ... @@ -115,7 +115,7 @@ export default defineComponent({
115 115 }
116 116  
117 117 :deep(&__item):last-child {
118   - .@{prefix-cls}__inner {
  118 + .#{$prefix-cls}__inner {
119 119 color: var(--el-text-color-placeholder);
120 120  
121 121 &:hover {
... ...
yudao-ui-admin-vue3/src/components/Descriptions/src/Descriptions.vue
... ... @@ -129,10 +129,10 @@ const toggleClick = () =&gt; {
129 129 </div>
130 130 </template>
131 131  
132   -<style lang="less" scoped>
133   -@prefix-cls: ~'@{namespace}-descriptions';
  132 +<style lang="scss" scoped>
  133 +$prefix-cls: #{$namespace}-descriptions;
134 134  
135   -.@{prefix-cls}-header {
  135 +.#{$prefix-cls}-header {
136 136 &__title {
137 137 &::after {
138 138 position: absolute;
... ... @@ -146,8 +146,8 @@ const toggleClick = () =&gt; {
146 146 }
147 147 }
148 148  
149   -.@{prefix-cls}-content {
150   - :deep(.@{elNamespace}-descriptions__cell) {
  149 +.#{$prefix-cls}-content {
  150 + :deep(.#{$elNamespace}-descriptions__cell) {
151 151 width: 0;
152 152 }
153 153 }
... ...
yudao-ui-admin-vue3/src/components/Dialog/src/Dialog.vue
... ... @@ -92,23 +92,14 @@ const dialogStyle = computed(() =&gt; {
92 92 </ElDialog>
93 93 </template>
94 94  
95   -<style lang="less">
96   -.@{elNamespace}-dialog__header {
  95 +<style lang="scss">
  96 +.#{$elNamespace}-dialog__header {
97 97 margin-right: 0 !important;
98   - padding-bottom: 6px;
99   - padding-top: 10px;
100 98 border-bottom: 1px solid var(--tags-view-border-color);
101 99 }
102 100  
103   -.@{elNamespace}-dialog__headerbtn {
104   - top: -4px !important;
105   -}
106   -
107   -.@{elNamespace}-dialog__footer {
108   - border-top: 0px solid var(--tags-view-border-color);
109   -}
110   -.dialog-footer button:first-child {
111   - margin-right: 10px;
  101 +.#{$elNamespace}-dialog__footer {
  102 + border-top: 1px solid var(--tags-view-border-color);
112 103 }
113 104  
114 105 .is-hover {
... ... @@ -118,11 +109,11 @@ const dialogStyle = computed(() =&gt; {
118 109 }
119 110  
120 111 .dark {
121   - .@{elNamespace}-dialog__header {
  112 + .#{$elNamespace}-dialog__header {
122 113 border-bottom: 1px solid var(--el-border-color);
123 114 }
124 115  
125   - .@{elNamespace}-dialog__footer {
  116 + .#{$elNamespace}-dialog__footer {
126 117 border-top: 1px solid var(--el-border-color);
127 118 }
128 119 }
... ...
yudao-ui-admin-vue3/src/components/Form/src/Form.vue
... ... @@ -294,8 +294,8 @@ export default defineComponent({
294 294 })
295 295 </script>
296 296  
297   -<style lang="less" scoped>
298   -.@{elNamespace}-form.@{namespace}-form .@{elNamespace}-row {
  297 +<style lang="scss" scoped>
  298 +.#{$elNamespace}-form.#{$namespace}-form .#{$elNamespace}-row {
299 299 margin-right: 0 !important;
300 300 margin-left: 0 !important;
301 301 }
... ...
yudao-ui-admin-vue3/src/components/IFrame/src/IFrame.vue
... ... @@ -29,4 +29,3 @@ onMounted(() =&gt; {
29 29 ></iframe>
30 30 </div>
31 31 </template>
32   -<script lang="less" scoped></script>
... ...
yudao-ui-admin-vue3/src/components/Icon/src/IconSelect.vue
... ... @@ -182,7 +182,7 @@ watch(
182 182 </div>
183 183 </template>
184 184  
185   -<style lang="less" scoped>
  185 +<style lang="scss" scoped>
186 186 .el-divider--horizontal {
187 187 margin: 1px auto !important;
188 188 }
... ...
yudao-ui-admin-vue3/src/components/InputPassword/src/InputPassword.vue
... ... @@ -74,11 +74,11 @@ const getIconName = computed(() =&gt; (unref(textType) === &#39;password&#39; ? &#39;ep:hide&#39; :
74 74 </div>
75 75 </template>
76 76  
77   -<style lang="less" scoped>
78   -@prefix-cls: ~'@{namespace}-input-password';
  77 +<style lang="scss" scoped>
  78 +$prefix-cls: #{$namespace}-input-password;
79 79  
80   -.@{prefix-cls} {
81   - :deep(.@{elNamespace}-input__clear) {
  80 +.#{$prefix-cls} {
  81 + :deep(.#{$elNamespace}-input__clear) {
82 82 margin-left: 5px;
83 83 }
84 84  
... ...
yudao-ui-admin-vue3/src/components/Menu/src/Menu.vue
... ... @@ -121,8 +121,8 @@ export default defineComponent({
121 121 })
122 122 </script>
123 123  
124   -<style lang="less" scoped>
125   -@prefix-cls: ~'@{namespace}-menu';
  124 +<style lang="scss" scoped>
  125 +$prefix-cls: #{$namespace}-menu;
126 126  
127 127 .is-active--after {
128 128 position: absolute;
... ... @@ -134,7 +134,7 @@ export default defineComponent({
134 134 content: '';
135 135 }
136 136  
137   -.@{prefix-cls} {
  137 +.#{$prefix-cls} {
138 138 position: relative;
139 139 transition: width var(--transition-time-02);
140 140  
... ... @@ -147,20 +147,20 @@ export default defineComponent({
147 147 content: '';
148 148 }
149 149  
150   - :deep(.@{elNamespace}-menu) {
  150 + :deep(.#{$elNamespace}-menu) {
151 151 width: 100% !important;
152 152 border-right: none;
153 153  
154 154 // 设置选中时子标题的颜色
155 155 .is-active {
156   - & > .@{elNamespace}-sub-menu__title {
  156 + & > .#{$elNamespace}-sub-menu__title {
157 157 color: var(--left-menu-text-active-color) !important;
158 158 }
159 159 }
160 160  
161 161 // 设置子菜单悬停的高亮和背景色
162   - .@{elNamespace}-sub-menu__title,
163   - .@{elNamespace}-menu-item {
  162 + .#{$elNamespace}-sub-menu__title,
  163 + .#{$elNamespace}-menu-item {
164 164 &:hover {
165 165 color: var(--left-menu-text-active-color) !important;
166 166 background-color: var(--left-menu-bg-color) !important;
... ... @@ -168,8 +168,8 @@ export default defineComponent({
168 168 }
169 169  
170 170 // 设置选中时的高亮背景和高亮颜色
171   - .@{elNamespace}-sub-menu.is-active,
172   - .@{elNamespace}-menu-item.is-active {
  171 + .#{$elNamespace}-sub-menu.is-active,
  172 + .#{$elNamespace}-menu-item.is-active {
173 173 color: var(--left-menu-text-active-color) !important;
174 174 background-color: var(--left-menu-bg-active-color) !important;
175 175  
... ... @@ -178,34 +178,34 @@ export default defineComponent({
178 178 }
179 179 }
180 180  
181   - .@{elNamespace}-menu-item.is-active {
  181 + .#{$elNamespace}-menu-item.is-active {
182 182 position: relative;
183 183  
184 184 &:after {
185   - .is-active--after;
  185 + @extend .is-active--after;
186 186 }
187 187 }
188 188  
189 189 // 设置子菜单的背景颜色
190   - .@{elNamespace}-menu {
191   - .@{elNamespace}-sub-menu__title,
192   - .@{elNamespace}-menu-item:not(.is-active) {
  190 + .#{$elNamespace}-menu {
  191 + .#{$elNamespace}-sub-menu__title,
  192 + .#{$elNamespace}-menu-item:not(.is-active) {
193 193 background-color: var(--left-menu-bg-light-color) !important;
194 194 }
195 195 }
196 196 }
197 197  
198 198 // 折叠时的最小宽度
199   - :deep(.@{elNamespace}-menu--collapse) {
  199 + :deep(.#{$elNamespace}-menu--collapse) {
200 200 width: var(--left-menu-min-width);
201 201  
202 202 & > .is-active,
203   - & > .is-active > .@{elNamespace}-sub-menu__title {
  203 + & > .is-active > .#{$elNamespace}-sub-menu__title {
204 204 position: relative;
205 205 background-color: var(--left-menu-collapse-bg-active-color) !important;
206 206  
207 207 &:after {
208   - .is-active--after;
  208 + @extend .is-active--after;
209 209 }
210 210 }
211 211 }
... ... @@ -213,26 +213,26 @@ export default defineComponent({
213 213 // 折叠动画的时候,就需要把文字给隐藏掉
214 214 :deep(.horizontal-collapse-transition) {
215 215 // transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out !important;
216   - .@{prefix-cls}__title {
  216 + .#{$prefix-cls}__title {
217 217 display: none;
218 218 }
219 219 }
220 220  
221 221 // 水平菜单
222 222 &__horizontal {
223   - height: calc(~'var(--top-tool-height)') !important;
  223 + height: calc(var(--top-tool-height)) !important;
224 224  
225   - :deep(.@{elNamespace}-menu--horizontal) {
226   - height: calc(~'var(--top-tool-height)');
  225 + :deep(.#{$elNamespace}-menu--horizontal) {
  226 + height: calc(var(--top-tool-height));
227 227 border-bottom: none;
228 228 // 重新设置底部高亮颜色
229   - & > .@{elNamespace}-sub-menu.is-active {
230   - .@{elNamespace}-sub-menu__title {
  229 + & > .#{$elNamespace}-sub-menu.is-active {
  230 + .#{$elNamespace}-sub-menu__title {
231 231 border-bottom-color: var(--el-color-primary) !important;
232 232 }
233 233 }
234 234  
235   - .@{elNamespace}-menu-item.is-active {
  235 + .#{$elNamespace}-menu-item.is-active {
236 236 position: relative;
237 237  
238 238 &:after {
... ... @@ -240,19 +240,19 @@ export default defineComponent({
240 240 }
241 241 }
242 242  
243   - .@{prefix-cls}__title {
  243 + .#{$prefix-cls}__title {
244 244 /* stylelint-disable-next-line */
245   - max-height: calc(~'var(--top-tool-height) - 2px') !important;
  245 + max-height: calc(var(--top-tool-height) - 2px) !important;
246 246 /* stylelint-disable-next-line */
247   - line-height: calc(~'var(--top-tool-height) - 2px');
  247 + line-height: calc(var(--top-tool-height) - 2px);
248 248 }
249 249 }
250 250 }
251 251 }
252 252 </style>
253 253  
254   -<style lang="less">
255   -@prefix-cls: ~'@{namespace}-menu-popper';
  254 +<style lang="scss">
  255 +$prefix-cls: #{$namespace}-menu-popper;
256 256  
257 257 .is-active--after {
258 258 position: absolute;
... ... @@ -264,8 +264,8 @@ export default defineComponent({
264 264 content: '';
265 265 }
266 266  
267   -.@{prefix-cls}--vertical,
268   -.@{prefix-cls}--horizontal {
  267 +.#{$prefix-cls}--vertical,
  268 +.#{$prefix-cls}--horizontal {
269 269 // 设置选中时子标题的颜色
270 270 .is-active {
271 271 & > .el-sub-menu__title {
... ... @@ -292,7 +292,7 @@ export default defineComponent({
292 292 }
293 293  
294 294 &:after {
295   - .is-active--after;
  295 + @extend .is-active--after;
296 296 }
297 297 }
298 298 }
... ...
yudao-ui-admin-vue3/src/components/Qrcode/src/Qrcode.vue
... ... @@ -237,10 +237,10 @@ const disabledClick = () =&gt; {
237 237 </div>
238 238 </template>
239 239  
240   -<style lang="less" scoped>
241   -@prefix-cls: ~'@{namespace}-qrcode';
  240 +<style lang="scss" scoped>
  241 +$prefix-cls: #{$namespace}-qrcode;
242 242  
243   -.@{prefix-cls} {
  243 +.#{$prefix-cls} {
244 244 &--disabled {
245 245 background: rgba(255, 255, 255, 0.95);
246 246  
... ...
yudao-ui-admin-vue3/src/components/Setting/src/Setting.vue
... ... @@ -288,10 +288,10 @@ const clear = () =&gt; {
288 288 </ElDrawer>
289 289 </template>
290 290  
291   -<style lang="less" scoped>
292   -@prefix-cls: ~'@{namespace}-setting';
  291 +<style lang="scss" scoped>
  292 +$prefix-cls: #{$namespace}-setting;
293 293  
294   -.@{prefix-cls} {
  294 +.#{$prefix-cls} {
295 295 border-radius: 6px 0 0 6px;
296 296 }
297 297 </style>
... ...
yudao-ui-admin-vue3/src/components/Setting/src/components/ColorRadioPicker.vue
... ... @@ -54,10 +54,10 @@ watch(
54 54 </div>
55 55 </template>
56 56  
57   -<style lang="less" scoped>
58   -@prefix-cls: ~'@{namespace}-color-radio-picker';
  57 +<style lang="scss" scoped>
  58 +$prefix-cls: #{$namespace}-color-radio-picker;
59 59  
60   -.@{prefix-cls} {
  60 +.#{$prefix-cls} {
61 61 .is-active {
62 62 border-color: var(--el-color-primary);
63 63 }
... ...
yudao-ui-admin-vue3/src/components/Setting/src/components/LayoutRadioPicker.vue
... ... @@ -59,10 +59,10 @@ const layout = computed(() =&gt; appStore.getLayout)
59 59 </div>
60 60 </template>
61 61  
62   -<style lang="less" scoped>
63   -@prefix-cls: ~'@{namespace}-layout-radio-picker';
  62 +<style lang="scss" scoped>
  63 +$prefix-cls: #{$namespace}-layout-radio-picker;
64 64  
65   -.@{prefix-cls} {
  65 +.#{$prefix-cls} {
66 66 &__classic {
67 67 border: 2px solid #e5e7eb;
68 68 border-radius: 4px;
... ...
yudao-ui-admin-vue3/src/components/TabMenu/src/TabMenu.vue
... ... @@ -213,10 +213,10 @@ export default defineComponent({
213 213 })
214 214 </script>
215 215  
216   -<style lang="less" scoped>
217   -@prefix-cls: ~'@{namespace}-tab-menu';
  216 +<style lang="scss" scoped>
  217 +$prefix-cls: #{$namespace}-tab-menu;
218 218  
219   -.@{prefix-cls} {
  219 +.#{$prefix-cls} {
220 220 transition: all var(--transition-time-02);
221 221  
222 222 &:after {
... ...
yudao-ui-admin-vue3/src/components/Table/src/Table.vue
... ... @@ -295,7 +295,7 @@ export default defineComponent({
295 295 }
296 296 })
297 297 </script>
298   -<style lang="less" scoped>
  298 +<style lang="scss" scoped>
299 299 :deep(.el-button.is-text) {
300 300 margin-left: 0;
301 301 padding: 8px 4px;
... ...
yudao-ui-admin-vue3/src/components/TagsView/src/TagsView.vue
... ... @@ -463,11 +463,11 @@ watch(
463 463 </div>
464 464 </template>
465 465  
466   -<style lang="less" scoped>
467   -@prefix-cls: ~'@{namespace}-tags-view';
  466 +<style lang="scss" scoped>
  467 +$prefix-cls: #{$namespace}-tags-view;
468 468  
469   -.@{prefix-cls} {
470   - :deep(.@{elNamespace}-scrollbar__view) {
  469 +.#{$prefix-cls} {
  470 + :deep(.#{$elNamespace}-scrollbar__view) {
471 471 height: 100%;
472 472 }
473 473  
... ... @@ -485,7 +485,7 @@ watch(
485 485 top: 1px;
486 486 left: 0;
487 487 width: 100%;
488   - height: calc(~'100% - 1px');
  488 + height: calc(100% - 1px);
489 489 border-right: 1px solid var(--tags-view-border-color);
490 490 border-left: 1px solid var(--tags-view-border-color);
491 491 content: '';
... ... @@ -495,7 +495,7 @@ watch(
495 495 &__item {
496 496 position: relative;
497 497 top: 2px;
498   - height: calc(~'100% - 4px');
  498 + height: calc(100% - 4px);
499 499 padding-right: 25px;
500 500 margin-left: 4px;
501 501 font-size: 12px;
... ... @@ -509,8 +509,8 @@ watch(
509 509 display: none;
510 510 transform: translate(0, -50%);
511 511 }
512   - &:not(.@{prefix-cls}__item--affix):hover {
513   - .@{prefix-cls}__item--close {
  512 + &:not(.#{$prefix-cls}__item--affix):hover {
  513 + .#{$prefix-cls}__item--close {
514 514 display: block;
515 515 }
516 516 }
... ... @@ -526,7 +526,7 @@ watch(
526 526 color: var(--el-color-white);
527 527 background-color: var(--el-color-primary);
528 528 border: 1px solid var(--el-color-primary);
529   - .@{prefix-cls}__item--close {
  529 + .#{$prefix-cls}__item--close {
530 530 :deep(span) {
531 531 color: var(--el-color-white) !important;
532 532 }
... ... @@ -535,7 +535,7 @@ watch(
535 535 }
536 536  
537 537 .dark {
538   - .@{prefix-cls} {
  538 + .#{$prefix-cls} {
539 539 &__tool {
540 540 &:hover {
541 541 :deep(span) {
... ... @@ -552,7 +552,7 @@ watch(
552 552 &__item {
553 553 position: relative;
554 554 top: 2px;
555   - height: calc(~'100% - 4px');
  555 + height: calc(100% - 4px);
556 556 padding-right: 25px;
557 557 font-size: 12px;
558 558 cursor: pointer;
... ... @@ -568,7 +568,7 @@ watch(
568 568 &__item.is-active {
569 569 color: var(--el-color-white);
570 570 background-color: var(--el-color-primary);
571   - .@{prefix-cls}__item--close {
  571 + .#{$prefix-cls}__item--close {
572 572 :deep(span) {
573 573 color: var(--el-color-white) !important;
574 574 }
... ...
yudao-ui-admin-vue3/src/components/XButton/src/XButton.vue
... ... @@ -35,7 +35,7 @@ const getBindValue = computed(() =&gt; {
35 35 <Icon :icon="postIcon" v-if="postIcon" class="mr-1px" />
36 36 </el-button>
37 37 </template>
38   -<style lang="less" scoped>
  38 +<style lang="scss" scoped>
39 39 :deep(.el-button.is-text) {
40 40 margin-left: 0;
41 41 padding: 8px 4px;
... ...
yudao-ui-admin-vue3/src/components/XButton/src/XTextButton.vue
... ... @@ -34,7 +34,7 @@ const getBindValue = computed(() =&gt; {
34 34 <Icon :icon="postIcon" v-if="postIcon" class="mr-1px" />
35 35 </el-button>
36 36 </template>
37   -<style lang="less" scoped>
  37 +<style lang="scss" scoped>
38 38 :deep(.el-button.is-text) {
39 39 margin-left: 0;
40 40 padding: 8px 4px;
... ...
yudao-ui-admin-vue3/src/hooks/web/useDesign.ts
1   -import variables from '@/styles/variables.module.less'
  1 +import variables from '@/styles/global.module.scss'
2 2  
3 3 export const useDesign = () => {
4   - const lessVariables = variables
  4 + const scssVariables = variables
5 5  
6 6 /**
7 7 * @param scope 类名
8 8 * @returns 返回空间名-类名
9 9 */
10 10 const getPrefixCls = (scope: string) => {
11   - return `${lessVariables.namespace}-${scope}`
  11 + return `${scssVariables.namespace}-${scope}`
12 12 }
13 13  
14 14 return {
15   - variables: lessVariables,
  15 + variables: scssVariables,
16 16 getPrefixCls
17 17 }
18 18 }
... ...
yudao-ui-admin-vue3/src/layout/Layout.vue
... ... @@ -66,12 +66,12 @@ export default defineComponent({
66 66 })
67 67 </script>
68 68  
69   -<style lang="less" scoped>
70   -@prefix-cls: ~'@{namespace}-layout';
  69 +<style lang="scss" scoped>
  70 +$prefix-cls: #{$namespace}-layout;
71 71  
72   -.@{prefix-cls} {
73   - background-color: var(--app-contnet-bg-color);
74   - :deep(.@{elNamespace}-scrollbar__view) {
  72 +.#{$prefix-cls} {
  73 + background-color: var(--app-content-bg-color);
  74 + :deep(.#{$elNamespace}-scrollbar__view) {
75 75 height: 100% !important;
76 76 }
77 77 }
... ...
yudao-ui-admin-vue3/src/layout/components/ToolHeader.vue
... ... @@ -74,10 +74,10 @@ export default defineComponent({
74 74 })
75 75 </script>
76 76  
77   -<style lang="less" scoped>
78   -@prefix-cls: ~'@{namespace}-tool-header';
  77 +<style lang="scss" scoped>
  78 +$prefix-cls: #{$namespace}-tool-header;
79 79  
80   -.@{prefix-cls} {
  80 +.#{$prefix-cls} {
81 81 transition: left var(--transition-time-02);
82 82 }
83 83 </style>
... ...
yudao-ui-admin-vue3/src/main.ts
... ... @@ -20,7 +20,7 @@ import { setupElementPlus } from &#39;@/plugins/elementPlus&#39;
20 20 import { setupVxeTable } from '@/plugins/vxeTable'
21 21  
22 22 // 引入全局样式
23   -import '@/styles/index.less'
  23 +import '@/styles/index.scss'
24 24  
25 25 // 引入动画
26 26 import '@/plugins/animate.css'
... ...
yudao-ui-admin-vue3/src/styles/global.module.scss 0 → 100644
  1 +@import './variables.scss';
  2 +// 导出变量
  3 +:export {
  4 + namespace: $namespace;
  5 + elNamespace: $elNamespace;
  6 +}
... ...
yudao-ui-admin-vue3/src/styles/index.less deleted
1   -@import './var.css';
2   -@import './vxe.css';
3   -@import 'element-plus/theme-chalk/dark/css-vars.css';
yudao-ui-admin-vue3/src/styles/index.scss 0 → 100644
  1 +@import './var.css';
  2 +@import './vxe.css';
  3 +@import 'element-plus/theme-chalk/dark/css-vars.css';
  4 +
  5 +.reset-margin [class*='el-icon'] + span {
  6 + margin-left: 2px !important;
  7 +}
  8 +
  9 +/* nprogress 适配 element-plus 的主题色 */
  10 +#nprogress {
  11 + & .bar {
  12 + background-color: var(--el-color-primary) !important;
  13 + }
  14 +
  15 + & .peg {
  16 + box-shadow: 0 0 10px var(--el-color-primary), 0 0 5px var(--el-color-primary) !important;
  17 + }
  18 +
  19 + & .spinner-icon {
  20 + border-top-color: var(--el-color-primary);
  21 + border-left-color: var(--el-color-primary);
  22 + }
  23 +}
... ...
yudao-ui-admin-vue3/src/styles/theme.less deleted
1   -// .text-color {
2   -// color: var(--el-text-color-regular);
3   -// }
4   -// .dark .dark\:text-color {
5   -// color: rgba(255, 255, 255, var(--dark-text-color));
6   -// }
yudao-ui-admin-vue3/src/styles/variables.module.less deleted
1   -// 命名空间
2   -@namespace: v;
3   -// el命名空间
4   -@elNamespace: el;
5   -
6   -// 导出变量
7   -:export {
8   - namespace: @namespace;
9   - elNamespace: @elNamespace;
10   -}
yudao-ui-admin-vue3/src/styles/variables.scss 0 → 100644
  1 +// 命名空间
  2 +$namespace: v;
  3 +// el命名空间
  4 +$elNamespace: el;
... ...
yudao-ui-admin-vue3/src/views/Home/Index2.vue
... ... @@ -270,10 +270,10 @@ const getAllApi = async () =&gt; {
270 270 getAllApi()
271 271 </script>
272 272  
273   -<style lang="less" scoped>
274   -@prefix-cls: ~'@{namespace}-panel';
  273 +<style lang="scss" scoped>
  274 +$prefix-cls: #{$namespace}-panel;
275 275  
276   -.@{prefix-cls} {
  276 +.#{$prefix-cls} {
277 277 &__item {
278 278 &--peoples {
279 279 color: #40c9c6;
... ... @@ -292,22 +292,22 @@ getAllApi()
292 292 }
293 293  
294 294 &:hover {
295   - :deep(.@{namespace}-icon) {
  295 + :deep(.#{$namespace}-icon) {
296 296 color: #fff !important;
297 297 }
298   - .@{prefix-cls}__item--icon {
  298 + .#{$prefix-cls}__item--icon {
299 299 transition: all 0.38s ease-out;
300 300 }
301   - .@{prefix-cls}__item--peoples {
  301 + .#{$prefix-cls}__item--peoples {
302 302 background: #40c9c6;
303 303 }
304   - .@{prefix-cls}__item--message {
  304 + .#{$prefix-cls}__item--message {
305 305 background: #36a3f7;
306 306 }
307   - .@{prefix-cls}__item--money {
  307 + .#{$prefix-cls}__item--money {
308 308 background: #f4516c;
309 309 }
310   - .@{prefix-cls}__item--shopping {
  310 + .#{$prefix-cls}__item--shopping {
311 311 background: #34bfa3;
312 312 }
313 313 }
... ...
yudao-ui-admin-vue3/src/views/Login/Login.vue
... ... @@ -73,10 +73,10 @@ const { getPrefixCls } = useDesign()
73 73 const prefixCls = getPrefixCls('login')
74 74 </script>
75 75  
76   -<style lang="less" scoped>
77   -@prefix-cls: ~'@{namespace}-login';
  76 +<style lang="scss" scoped>
  77 +$prefix-cls: #{$namespace}-panel;
78 78  
79   -.@{prefix-cls} {
  79 +.#{$prefix-cls} {
80 80 &__left {
81 81 &::before {
82 82 position: absolute;
... ...
yudao-ui-admin-vue3/src/views/Login/components/LoginForm.vue
... ... @@ -307,7 +307,7 @@ onMounted(() =&gt; {
307 307 })
308 308 </script>
309 309  
310   -<style lang="less" scoped>
  310 +<style lang="scss" scoped>
311 311 :deep(.anticon) {
312 312 &:hover {
313 313 color: var(--el-color-primary) !important;
... ...
yudao-ui-admin-vue3/src/views/Login/components/MobileForm.vue
... ... @@ -197,7 +197,7 @@ const signIn = async () =&gt; {
197 197 }
198 198 </script>
199 199  
200   -<style lang="less" scoped>
  200 +<style lang="scss" scoped>
201 201 :deep(.anticon) {
202 202 &:hover {
203 203 color: var(--el-color-primary) !important;
... ...
yudao-ui-admin-vue3/vite.config.ts
... ... @@ -105,14 +105,14 @@ export default ({ command, mode }: ConfigEnv): UserConfig =&gt; {
105 105 ],
106 106 css: {
107 107 preprocessorOptions: {
108   - less: {
109   - additionalData: '@import "./src/styles/variables.module.less";',
  108 + scss: {
  109 + additionalData: '@import "./src/styles/variables.scss";',
110 110 javascriptEnabled: true
111 111 }
112 112 }
113 113 },
114 114 resolve: {
115   - extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.less', '.css'],
  115 + extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.scss', '.css'],
116 116 alias: [
117 117 {
118 118 find: 'vue-i18n',
... ...