diff --git a/.env b/.env
index d2d7f54..1eb3205 100644
--- a/.env
+++ b/.env
@@ -51,3 +51,6 @@ VITE_STORAGE_PREFIX=SOY_
# used to control whether the program automatically detects updates
VITE_AUTOMATICALLY_DETECT_UPDATE=Y
+
+# show proxy url log in terminal
+VITE_PROXY_LOG=Y
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0c44771..c28b6ff 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,42 @@
# Changelog
+## [v1.3.12](https://github.com/skyfeiz/soybean-admin-element-plus/compare/v1.3.11...v1.3.12) (2025-03-21)
+
+### 🚀 Features
+
+- **projects**: ✨ support loading page dark mode adaptation - by **一寸灰** in https://github.com/skyfeiz/soybean-admin-element-plus/issues/56 [(62282)](https://github.com/skyfeiz/soybean-admin-element-plus/commit/622820f)
+
+### 🐞 Bug Fixes
+
+- **deps**:
+ - 🐛 fix lint error. [#63] - by **一寸灰** in https://github.com/skyfeiz/soybean-admin-element-plus/issues/63 [(77741)](https://github.com/skyfeiz/soybean-admin-element-plus/commit/77741e3)
+- **projects**:
+ - 🐛 fix update notifications - by **skyfeiz** [(ecbf1)](https://github.com/skyfeiz/soybean-admin-element-plus/commit/ecbf1d1)
+ - 🐛 add Menu default-openeds. - by **一寸灰** in https://github.com/skyfeiz/soybean-admin-element-plus/issues/58 [(3831e)](https://github.com/skyfeiz/soybean-admin-element-plus/commit/3831e0f)
+ - 🐛 fix can`t click reverse menus button。[#59] - by **一寸灰** in https://github.com/skyfeiz/soybean-admin-element-plus/issues/60 and https://github.com/skyfeiz/soybean-admin-element-plus/issues/59 [(2ab97)](https://github.com/skyfeiz/soybean-admin-element-plus/commit/2ab9737)
+
+### 💅 Refactors
+
+- **projects**: ♻️ sync code: support proxy log in terminal - by **skyfeiz** [(1d890)](https://github.com/skyfeiz/soybean-admin-element-plus/commit/1d89061)
+
+### 📖 Documentation
+
+- **projects**: update README. - by @Azir-11 [(3f127)](https://github.com/skyfeiz/soybean-admin-element-plus/commit/3f127be)
+
+### 📦 Build
+
+- **deps**: 📦️ Restrict the minimum Node.js version. - by **一寸灰** in https://github.com/skyfeiz/soybean-admin-element-plus/issues/66 [(223b5)](https://github.com/skyfeiz/soybean-admin-element-plus/commit/223b5d1)
+
+### 🏡 Chore
+
+- **projects**: ⬆️ update deps - by **一寸灰** in https://github.com/skyfeiz/soybean-admin-element-plus/issues/62 [(57380)](https://github.com/skyfeiz/soybean-admin-element-plus/commit/57380e1)
+
+### ❤️ Contributors
+
+[](https://github.com/Azir-11)
+[skyfeiz](mailto:webzhangfei@163.com), [一寸灰](mailto:webyicunhui@outlook.com),
+
## [v1.3.11](https://github.com/skyfeiz/soybean-admin-element-plus/compare/v1.3.10...v1.3.11) (2025-02-10)
### 🚀 Features
diff --git a/build/config/proxy.ts b/build/config/proxy.ts
index cdf1f8d..3585238 100644
--- a/build/config/proxy.ts
+++ b/build/config/proxy.ts
@@ -1,7 +1,7 @@
import type { HttpProxy, ProxyOptions } from 'vite';
+import { bgRed, bgYellow, green, lightBlue } from 'kolorist';
+import { consola } from 'consola';
import { createServiceConfig } from '../../src/utils/service';
-import { clearScreen, createColors } from './cli-helper';
-const colors = createColors();
/**
* Set http proxy
@@ -14,18 +14,20 @@ export function createViteProxy(env: Env.ImportMeta, enable: boolean) {
if (!isEnableHttpProxy) return undefined;
+ const isEnableProxyLog = env.VITE_PROXY_LOG === 'Y';
+
const { baseURL, proxyPattern, other } = createServiceConfig(env);
- const proxy: Record = createProxyItem({ baseURL, proxyPattern });
+ const proxy: Record = createProxyItem({ baseURL, proxyPattern }, isEnableProxyLog);
other.forEach(item => {
- Object.assign(proxy, createProxyItem(item));
+ Object.assign(proxy, createProxyItem(item, isEnableProxyLog));
});
return proxy;
}
-function createProxyItem(item: App.Service.ServiceConfigItem) {
+function createProxyItem(item: App.Service.ServiceConfigItem, enableLog: boolean) {
const proxy: Record = {};
proxy[item.proxyPattern] = {
@@ -33,13 +35,19 @@ function createProxyItem(item: App.Service.ServiceConfigItem) {
changeOrigin: true,
configure: (_proxy: HttpProxy.Server, options: ProxyOptions) => {
_proxy.on('proxyReq', (_proxyReq, req, _res) => {
- clearScreen();
- // eslint-disable-next-line no-console
- console.log(colors.bgYellow(` ${req.method} `), colors.green(`${options.target}${req.url}`));
+ if (!enableLog) return;
+
+ const requestUrl = `${lightBlue('[proxy url]')}: ${bgYellow(` ${req.method} `)} ${green(
+ `${item.proxyPattern}${req.url}`
+ )}`;
+
+ const proxyUrl = `${lightBlue('[real request url]')}: ${green(`${options.target}${req.url}`)}`;
+
+ consola.log(`${requestUrl}\n${proxyUrl}`);
});
_proxy.on('error', (_err, req, _res) => {
- // eslint-disable-next-line no-console
- console.log(colors.bgRed(`Error:${req.method} `), colors.green(`${options.target}${req.url}`));
+ if (!enableLog) return;
+ consola.log(bgRed(`Error: ${req.method} `), green(`${options.target}${req.url}`));
});
},
rewrite: path => path.replace(new RegExp(`^${item.proxyPattern}`), '')
diff --git a/package.json b/package.json
index 6d1ee75..b2dfe3b 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@sa/elp",
"type": "module",
- "version": "1.3.11",
+ "version": "1.3.12",
"description": "A fresh and elegant admin template, based on Vue3、Vite3、TypeScript、ElementPlus and UnoCSS. 一个基于Vue3、Vite3、TypeScript、ElementPlus and UnoCSS的清新优雅的中后台模版。",
"author": {
"name": "Soybean",
@@ -110,8 +110,10 @@
"@unocss/vite": "66.0.0",
"@vitejs/plugin-vue": "5.2.1",
"@vitejs/plugin-vue-jsx": "4.1.1",
+ "consola": "3.4.0",
"eslint": "9.21.0",
"eslint-plugin-vue": "10.0.0",
+ "kolorist": "1.8.0",
"lint-staged": "15.4.3",
"sass": "1.85.1",
"simple-git-hooks": "2.11.1",
diff --git a/packages/alova/package.json b/packages/alova/package.json
index bd9d8f0..b5d3066 100644
--- a/packages/alova/package.json
+++ b/packages/alova/package.json
@@ -1,6 +1,6 @@
{
"name": "@sa/alova",
- "version": "1.3.11",
+ "version": "1.3.12",
"exports": {
".": "./src/index.ts",
"./fetch": "./src/fetch.ts",
diff --git a/packages/axios/package.json b/packages/axios/package.json
index 0249148..f6d372a 100644
--- a/packages/axios/package.json
+++ b/packages/axios/package.json
@@ -1,6 +1,6 @@
{
"name": "@sa/axios",
- "version": "1.3.11",
+ "version": "1.3.12",
"exports": {
".": "./src/index.ts"
},
diff --git a/packages/color/package.json b/packages/color/package.json
index 454eb54..c4faaaa 100644
--- a/packages/color/package.json
+++ b/packages/color/package.json
@@ -1,6 +1,6 @@
{
"name": "@sa/color",
- "version": "1.3.11",
+ "version": "1.3.12",
"exports": {
".": "./src/index.ts"
},
diff --git a/packages/hooks/package.json b/packages/hooks/package.json
index 5964948..3fca0aa 100644
--- a/packages/hooks/package.json
+++ b/packages/hooks/package.json
@@ -1,6 +1,6 @@
{
"name": "@sa/hooks",
- "version": "1.3.11",
+ "version": "1.3.12",
"exports": {
".": "./src/index.ts"
},
diff --git a/packages/materials/package.json b/packages/materials/package.json
index 8d9d763..0dcb2f7 100644
--- a/packages/materials/package.json
+++ b/packages/materials/package.json
@@ -1,6 +1,6 @@
{
"name": "@sa/materials",
- "version": "1.3.11",
+ "version": "1.3.12",
"exports": {
".": "./src/index.ts"
},
diff --git a/packages/ofetch/package.json b/packages/ofetch/package.json
index 74aff4f..5ea1544 100644
--- a/packages/ofetch/package.json
+++ b/packages/ofetch/package.json
@@ -1,6 +1,6 @@
{
"name": "@sa/fetch",
- "version": "1.3.11",
+ "version": "1.3.12",
"exports": {
".": "./src/index.ts"
},
diff --git a/packages/scripts/package.json b/packages/scripts/package.json
index 1a85efc..7912959 100644
--- a/packages/scripts/package.json
+++ b/packages/scripts/package.json
@@ -1,6 +1,6 @@
{
"name": "@sa/scripts",
- "version": "1.3.11",
+ "version": "1.3.12",
"bin": {
"sa": "./bin.ts"
},
diff --git a/packages/uno-preset/package.json b/packages/uno-preset/package.json
index b6d20a1..ae78f0f 100644
--- a/packages/uno-preset/package.json
+++ b/packages/uno-preset/package.json
@@ -1,6 +1,6 @@
{
"name": "@sa/uno-preset",
- "version": "1.3.11",
+ "version": "1.3.12",
"exports": {
".": "./src/index.ts"
},
diff --git a/packages/utils/package.json b/packages/utils/package.json
index 3805429..2a7c454 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@sa/utils",
- "version": "1.3.11",
+ "version": "1.3.12",
"exports": {
".": "./src/index.ts"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8d3b393..4d1eb29 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -192,12 +192,18 @@ importers:
'@vitejs/plugin-vue-jsx':
specifier: 4.1.1
version: 4.1.1(vite@6.2.0)(vue@3.5.13)
+ consola:
+ specifier: 3.4.0
+ version: 3.4.0
eslint:
specifier: 9.21.0
version: 9.21.0
eslint-plugin-vue:
specifier: 10.0.0
version: 10.0.0(eslint@9.21.0)(vue-eslint-parser@10.1.1)
+ kolorist:
+ specifier: 1.8.0
+ version: 1.8.0
lint-staged:
specifier: 15.4.3
version: 15.4.3
@@ -1381,6 +1387,16 @@ packages:
eslint-visitor-keys: 3.4.3
dev: true
+ /@eslint-community/eslint-utils@4.5.1(eslint@8.57.1):
+ resolution: {integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: 8.57.1
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
/@eslint-community/eslint-utils@4.5.1(eslint@9.21.0):
resolution: {integrity: sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -1431,10 +1447,10 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
- debug: 4.3.7
+ debug: 4.4.0
espree: 9.6.1
globals: 13.24.0
- ignore: 5.3.1
+ ignore: 5.3.2
import-fresh: 3.3.0
js-yaml: 4.1.0
minimatch: 3.1.2
@@ -1546,7 +1562,7 @@ packages:
deprecated: Use @eslint/config-array instead
dependencies:
'@humanwhocodes/object-schema': 2.0.3
- debug: 4.3.7
+ debug: 4.4.0
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@@ -4243,6 +4259,7 @@ packages:
electron-to-chromium: 1.5.70
node-releases: 2.0.18
update-browserslist-db: 1.1.1(browserslist@4.24.2)
+ dev: true
/browserslist@4.24.4:
resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==}
@@ -4253,7 +4270,6 @@ packages:
electron-to-chromium: 1.5.118
node-releases: 2.0.19
update-browserslist-db: 1.1.1(browserslist@4.24.4)
- dev: true
/bubblesets-js@2.3.4:
resolution: {integrity: sha512-DyMjHmpkS2+xcFNtyN00apJYL3ESdp9fTrkDr5+9Qg/GPqFmcWgGsK1akZnttE1XFxJ/VMy4DNNGMGYtmFp1Sg==}
@@ -4411,10 +4427,10 @@ packages:
/caniuse-lite@1.0.30001686:
resolution: {integrity: sha512-Y7deg0Aergpa24M3qLC5xjNklnKnhsmSyR/V89dLZ1n0ucJIFNs7PgR2Yfa/Zf6W79SbBicgtGxZr2juHkEUIA==}
+ dev: true
/caniuse-lite@1.0.30001704:
resolution: {integrity: sha512-+L2IgBbV6gXB4ETf0keSvLr7JUrRVbIaB/lrQ1+z8mRcQiisG5k+lG6O4n6Y5q6f5EuNfaYXKgymucphlEXQew==}
- dev: true
/center-align@0.1.3:
resolution: {integrity: sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==}
@@ -5436,10 +5452,10 @@ packages:
/electron-to-chromium@1.5.118:
resolution: {integrity: sha512-yNDUus0iultYyVoEFLnQeei7LOQkL8wg8GQpkPCRrOlJXlcCwa6eGKZkxQ9ciHsqZyYbj8Jd94X1CTPzGm+uIA==}
- dev: true
/electron-to-chromium@1.5.70:
resolution: {integrity: sha512-P6FPqAWIZrC3sHDAwBitJBs7N7IF58m39XVny7DFseQXK2eiMn7nNQizFf63mWDDUnFvaqsM8FI0+ZZfLkdUGA==}
+ dev: true
/element-plus@2.9.6(vue@3.5.13):
resolution: {integrity: sha512-D9zU28Ce0s/9O/Vp3ewemikxzFVA6gdZyMwmWijHijo+t5/9H3sHRTIm1WlfeNpFW2Yq0y8nHXD0fU5YxU6qlQ==}
@@ -6025,7 +6041,7 @@ packages:
deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
hasBin: true
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
+ '@eslint-community/eslint-utils': 4.5.1(eslint@8.57.1)
'@eslint-community/regexpp': 4.12.1
'@eslint/eslintrc': 2.1.4
'@eslint/js': 8.57.1
@@ -6035,8 +6051,8 @@ packages:
'@ungap/structured-clone': 1.2.0
ajv: 6.12.6
chalk: 4.1.2
- cross-spawn: 7.0.3
- debug: 4.3.7
+ cross-spawn: 7.0.6
+ debug: 4.4.0
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.2
@@ -6050,7 +6066,7 @@ packages:
glob-parent: 6.0.2
globals: 13.24.0
graphemer: 1.4.0
- ignore: 5.3.1
+ ignore: 5.3.2
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
@@ -8336,10 +8352,10 @@ packages:
/node-releases@2.0.18:
resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
+ dev: true
/node-releases@2.0.19:
resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
- dev: true
/normalize-package-data@2.5.0:
resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
@@ -10559,6 +10575,7 @@ packages:
browserslist: 4.24.2
escalade: 3.2.0
picocolors: 1.1.1
+ dev: true
/update-browserslist-db@1.1.1(browserslist@4.24.4):
resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
@@ -10569,7 +10586,6 @@ packages:
browserslist: 4.24.4
escalade: 3.2.0
picocolors: 1.1.1
- dev: true
/uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
@@ -10928,7 +10944,7 @@ packages:
'@webassemblyjs/wasm-edit': 1.14.1
'@webassemblyjs/wasm-parser': 1.14.1
acorn: 8.14.0
- browserslist: 4.24.2
+ browserslist: 4.24.4
chrome-trace-event: 1.0.4
enhanced-resolve: 5.17.1
es-module-lexer: 1.5.4
diff --git a/src/typings/components.d.ts b/src/typings/components.d.ts
index 84fc18d..ecc1a6f 100644
--- a/src/typings/components.d.ts
+++ b/src/typings/components.d.ts
@@ -2,6 +2,7 @@
// @ts-nocheck
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
+// biome-ignore lint: disable
export {}
/* prettier-ignore */