Skip to content

Commit 5b0a75a

Browse files
committed
build: bump deps
1 parent 4c1acde commit 5b0a75a

13 files changed

Lines changed: 2939 additions & 2992 deletions

File tree

docs/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@
88
"dev": "vuepress dev src"
99
},
1010
"devDependencies": {
11-
"@fancyapps/ui": "6.1.7",
11+
"@fancyapps/ui": "6.1.9",
1212
"@vuepress/bundler-vite": "2.0.0-rc.26",
1313
"@vuepress/helper": "2.0.0-rc.121",
1414
"@vuepress/plugin-comment": "2.0.0-rc.121",
1515
"@vuepress/plugin-docsearch": "2.0.0-rc.121",
1616
"@waline/client": "workspace:*",
1717
"marked": "17.0.1",
1818
"mathjax-full": "3.2.2",
19-
"sass-embedded": "1.93.3",
19+
"sass-embedded": "1.97.3",
2020
"vidstack": "1.12.13",
21-
"vue": "3.5.25",
21+
"vue": "3.5.27",
2222
"vuepress": "2.0.0-rc.26",
2323
"vuepress-shared": "2.0.0-rc.99",
2424
"vuepress-theme-hope": "2.0.0-rc.102"

docs/src/en/guide/get-started/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ dir:
99
Welcome to Waline. In just a few steps, you can enable Waline to provide comments and pageviews on your site.
1010

1111
<!-- more -->
12+
1213
## Server Deploy
1314

1415
[![Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fwalinejs%2Fwaline%2Ftree%2Fmain%2Fexample)

docs/src/reference/server/env.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ Recaptcha Key 和 Secret 可在 <https://www.google.com/recaptcha> 申请。
104104
| `SMTP_SECURE` | 是否使用 SSL 连接 SMTP |
105105
| `SENDER_NAME` | 自定义发送邮件的发件人 |
106106
| `SENDER_EMAIL` | 自定义发送邮件的发件地址 |
107-
| `AUTHOR_EMAIL` | 博主邮箱,接收新评论通知 |
107+
| `AUTHOR_EMAIL` | 博主邮箱,接收新评论通知 |
108108

109109
::: tip
110110

@@ -118,12 +118,12 @@ SMTP 的用户名通常均支持用户的完整邮箱,而密码大多同邮箱
118118

119119
以下是选填的环境变量:
120120

121-
| 环境变量名称 | 备注 |
122-
| --------------------- | --------------------- |
123-
| `MAIL_SUBJECT` | 自定义评论回复邮件标题 |
124-
| `MAIL_TEMPLATE` | 自定义评论回复邮件内容 |
125-
| `MAIL_SUBJECT_ADMIN` | 自定义新评论通知邮件标题 |
126-
| `MAIL_TEMPLATE_ADMIN` | 自定义新评论通知邮件内容 |
121+
| 环境变量名称 | 备注 |
122+
| --------------------- | ------------------------ |
123+
| `MAIL_SUBJECT` | 自定义评论回复邮件标题 |
124+
| `MAIL_TEMPLATE` | 自定义评论回复邮件内容 |
125+
| `MAIL_SUBJECT_ADMIN` | 自定义新评论通知邮件标题 |
126+
| `MAIL_TEMPLATE_ADMIN` | 自定义新评论通知邮件内容 |
127127

128128
## 数据库
129129

package.json

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -41,47 +41,47 @@
4141
"singleQuote": true
4242
},
4343
"devDependencies": {
44-
"@babel/core": "7.28.5",
44+
"@babel/core": "7.28.6",
4545
"@babel/plugin-transform-runtime": "7.28.5",
46-
"@babel/preset-env": "7.28.5",
46+
"@babel/preset-env": "7.28.6",
4747
"@babel/preset-react": "7.28.5",
48-
"@babel/runtime": "7.28.4",
49-
"@commitlint/cli": "20.3.0",
50-
"@commitlint/config-conventional": "20.3.0",
48+
"@babel/runtime": "7.28.6",
49+
"@commitlint/cli": "20.3.1",
50+
"@commitlint/config-conventional": "20.3.1",
5151
"@rollup/plugin-commonjs": "29.0.0",
5252
"@rollup/plugin-node-resolve": "16.0.3",
5353
"@rollup/plugin-replace": "6.0.3",
54-
"@types/node": "24.10.4",
54+
"@types/node": "25.0.10",
5555
"@vitejs/plugin-react": "5.1.2",
5656
"apidoc": "1.2.0",
5757
"commitizen": "4.3.1",
5858
"cross-env": "10.1.0",
5959
"cz-conventional-changelog": "3.3.0",
60-
"eslint": "9.39.1",
60+
"eslint": "9.39.2",
6161
"eslint-config-mister-hope": "0.9.6",
6262
"eslint-plugin-react": "7.37.5",
63-
"eslint-plugin-vue": "10.6.2",
63+
"eslint-plugin-vue": "10.7.0",
6464
"husky": "9.1.7",
65-
"markdownlint-cli2": "0.19.1",
65+
"markdownlint-cli2": "0.20.0",
6666
"nano-staged": "0.9.0",
6767
"postcss": "8.5.6",
68-
"prettier": "3.7.1",
68+
"prettier": "3.8.1",
6969
"rimraf": "6.1.2",
70-
"rollup": "4.53.3",
70+
"rollup": "4.57.0",
7171
"rollup-plugin-dts": "6.3.0",
7272
"rollup-plugin-esbuild": "6.2.1",
73-
"sass-embedded": "1.93.3",
74-
"sort-package-json": "3.5.0",
75-
"stylelint": "16.26.0",
76-
"stylelint-config-hope": "10.0.0",
73+
"sass-embedded": "1.97.3",
74+
"sort-package-json": "3.6.1",
75+
"stylelint": "17.0.0",
76+
"stylelint-config-hope": "11.0.0-beta.0",
7777
"tslib": "2.8.1",
7878
"typescript": "5.9.3",
79-
"vercel": "50.4.9",
79+
"vercel": "50.8.1",
8080
"vite-plugin-css-injected-by-js": "3.5.2",
8181
"vite-plugin-svgr": "4.5.0",
82-
"vitest": "4.0.16"
82+
"vitest": "4.0.18"
8383
},
84-
"packageManager": "pnpm@10.27.0",
84+
"packageManager": "pnpm@10.28.2",
8585
"apidoc": {
8686
"title": "Waline API Documentation"
8787
}

packages/admin/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,18 @@
5050
"@rematch/core": "2.2.0",
5151
"base-icon": "2.3.2",
5252
"classnames": "2.5.1",
53-
"i18next": "25.7.2",
53+
"i18next": "25.8.0",
5454
"i18next-browser-languagedetector": "8.2.0",
5555
"md5": "2.3.0",
5656
"qrcode.react": "4.2.0",
57-
"react": "19.2.3",
58-
"react-dom": "19.2.3",
59-
"react-i18next": "16.3.5",
57+
"react": "19.2.4",
58+
"react-dom": "19.2.4",
59+
"react-i18next": "16.5.4",
6060
"react-redux": "9.2.0",
61-
"react-router": "7.9.6",
61+
"react-router": "7.13.0",
6262
"redux": "5.0.1",
6363
"typescript": "5.9.3",
64-
"vite": "7.2.4"
64+
"vite": "7.3.1"
6565
},
6666
"engines": {
6767
"node": ">=20"

packages/client/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,15 @@
8888
"marked": "^17.0.1",
8989
"marked-highlight": "^2.2.3",
9090
"recaptcha-v3": "^1.11.3",
91-
"vue": "^3.5.25"
91+
"vue": "^3.5.27"
9292
},
9393
"devDependencies": {
94-
"@babel/core": "7.28.5",
95-
"@babel/preset-env": "7.28.5",
94+
"@babel/core": "7.28.6",
95+
"@babel/preset-env": "7.28.6",
9696
"@giphy/js-types": "5.1.0",
9797
"@types/autosize": "4.0.3",
98-
"@vitejs/plugin-vue": "6.0.2",
99-
"vite": "7.2.4"
98+
"@vitejs/plugin-vue": "6.0.3",
99+
"vite": "7.3.1"
100100
},
101101
"engines": {
102102
"node": ">=18"

packages/client/src/styles/emoji.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
z-index: 1;
5555

5656
display: block;
57+
5758
max-width: 3em;
5859
max-height: 3em;
5960
padding: 0.25em;
Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,57 @@
1+
// stylelint-disable scss/operator-no-newline-after
12
@use 'sass:math';
23
@use 'sass:string';
34

4-
@function string-replace($string, $search, $replace: '') {
5-
$index: string.index($string, $search);
6-
@return if(
7-
$index,
8-
string.slice($string, 1, $index - 1) + $replace +
9-
string-replace(
10-
string.slice($string, $index + string.length($search)),
11-
$search,
12-
$replace
13-
),
14-
$string
15-
);
16-
}
17-
18-
@function svg-url($svg) {
5+
@function encode-svg($svg) {
196
$encoded: '';
207
$slice: 2000;
218
$index: 0;
229
$loops: math.ceil(math.div(string.length($svg), $slice));
2310

2411
@if not string.index($svg, xmlns) {
25-
$svg: string-replace(
26-
$svg,
27-
'<svg',
28-
'<svg xmlns="http://www.w3.org/2000/svg"'
29-
);
12+
$svg: str-replace($svg, '<svg', '<svg xmlns="http://www.w3.org/2000/svg"');
3013
}
3114

3215
@for $i from 1 through $loops {
3316
$chunk: string.slice($svg, $index, $index + $slice - 1);
34-
$chunk: string-replace($chunk, '"', "'");
35-
$chunk: string-replace($chunk, '%', '%25');
36-
$chunk: string-replace($chunk, '#', '%23');
37-
$chunk: string-replace($chunk, '{', '%7B');
38-
$chunk: string-replace($chunk, '}', '%7D');
39-
$chunk: string-replace($chunk, '<', '%3C');
40-
$chunk: string-replace($chunk, '>', '%3E');
17+
$chunk: str-replace($chunk, '"', "'");
18+
$chunk: str-replace($chunk, '%', '%25');
19+
$chunk: str-replace($chunk, '#', '%23');
20+
$chunk: str-replace($chunk, '{', '%7B');
21+
$chunk: str-replace($chunk, '}', '%7D');
22+
$chunk: str-replace($chunk, '<', '%3C');
23+
$chunk: str-replace($chunk, '>', '%3E');
4124
$encoded: #{$encoded}#{$chunk};
4225
$index: $index + $slice;
4326
}
44-
@return url('data:image/svg+xml,#{$encoded}');
27+
28+
@return url('data:image/svg+xml;utf8,#{$encoded}');
4529
}
4630

4731
@mixin background-svg($svg) {
48-
background-image: svg-url($svg);
32+
background-image: encode-svg($svg);
33+
}
34+
35+
@mixin mask-svg($svg, $color: currentColor) {
36+
background-color: $color;
37+
38+
mask-image: encode-svg($svg);
39+
mask-position: 50%;
40+
mask-size: 1em;
41+
mask-repeat: no-repeat;
42+
}
43+
44+
@function str-replace($string, $search, $replace: '') {
45+
$index: string.index($string, $search);
46+
47+
@if $index {
48+
@return string.slice($string, 1, $index - 1) + $replace +
49+
str-replace(
50+
string.slice($string, $index + string.length($search)),
51+
$search,
52+
$replace
53+
);
54+
}
55+
56+
@return $string;
4957
}

packages/client/src/utils/config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ const fallback = <T = unknown>(
7373
export const getConfig = ({
7474
serverURL,
7575

76+
// eslint-disable-next-line @typescript-eslint/no-useless-default-assignment
7677
path = location.pathname,
7778
lang = typeof navigator === 'undefined' ? 'en-US' : navigator.language,
7879
locale,

packages/client/src/widgets/userList.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,10 @@ export interface WalineUserListOptions {
5151
* 列表模式还是头像墙模式
5252
*
5353
* list mode or avatar wall mode
54+
*
55+
* @default 'list'
5456
*/
55-
mode: 'list' | 'wall';
57+
mode?: 'list' | 'wall';
5658
}
5759

5860
export interface WalineUserListResult {

0 commit comments

Comments
 (0)