mirror of
https://github.com/kokonect-link/cherrypick
synced 2024-11-27 22:38:34 +09:00
Merge remote-branch 'misskey/develop'
This commit is contained in:
commit
463368277b
@ -36,6 +36,7 @@
|
||||
### Client
|
||||
- Feat: 今日誕生日のフォロー中のユーザーを一覧表示できるウィジェットを追加
|
||||
- Feat: データセーバーでコードハイライトの読み込みを削減できるように
|
||||
- Feat: MFMのアニメーション要素(`tada`, `jelly`, `twitch`, `shake`, `spin`, `jump`, `bounce`, `rainbow`)に `delay` オプションを追加
|
||||
- Enhance: 投稿フォームの絵文字ピッカーをリアクション時に使用するものと同じのを使用するように #12336 #12560
|
||||
- Enhance: リアクション用ピン留め絵文字と投稿時の絵文字入力用ピン留め絵文字を分けて設定できるように #12560
|
||||
- Enhance: 絵文字のオートコンプリート機能強化 #12364
|
||||
|
1
locales/index.d.ts
vendored
1
locales/index.d.ts
vendored
@ -1284,6 +1284,7 @@ export interface Locale {
|
||||
"code": string;
|
||||
"reloadRequiredToApplySettings": string;
|
||||
"remainingN": string;
|
||||
"overwriteContentConfirm": string;
|
||||
"showUnreadNotificationsCount": string;
|
||||
"showCatOnly": string;
|
||||
"additionalPermissionsForFlash": string;
|
||||
|
@ -1281,6 +1281,7 @@ doReaction: "リアクションする"
|
||||
code: "コード"
|
||||
reloadRequiredToApplySettings: "設定の反映にはリロードが必要です。"
|
||||
remainingN: "残り: {n}"
|
||||
overwriteContentConfirm: "現在の内容に上書きされますがよろしいですか?"
|
||||
showUnreadNotificationsCount: "未読の通知の数を表示する"
|
||||
showCatOnly: "キャット付きのみ"
|
||||
additionalPermissionsForFlash: "Playへの追加許可"
|
||||
|
@ -106,7 +106,7 @@
|
||||
"content-disposition": "0.5.4",
|
||||
"date-fns": "2.30.0",
|
||||
"deep-email-validator": "0.1.21",
|
||||
"fastify": "4.25.0",
|
||||
"fastify": "4.24.3",
|
||||
"fastify-raw-body": "4.3.0",
|
||||
"feed": "4.2.2",
|
||||
"file-type": "18.7.0",
|
||||
@ -152,7 +152,7 @@
|
||||
"ratelimiter": "3.4.1",
|
||||
"re2": "1.20.9",
|
||||
"redis-lock": "0.1.4",
|
||||
"reflect-metadata": "0.2.0",
|
||||
"reflect-metadata": "0.1.14",
|
||||
"rename": "1.0.4",
|
||||
"rss-parser": "3.13.0",
|
||||
"rxjs": "7.8.1",
|
||||
|
@ -20,7 +20,6 @@
|
||||
"@discordapp/twemoji": "14.1.2",
|
||||
"@fontsource/jetbrains-mono": "^5.0.12",
|
||||
"@github/webauthn-json": "2.1.1",
|
||||
"@rollup/plugin-alias": "5.1.0",
|
||||
"@rollup/plugin-json": "6.1.0",
|
||||
"@rollup/plugin-replace": "5.0.5",
|
||||
"@rollup/pluginutils": "5.1.0",
|
||||
@ -60,7 +59,6 @@
|
||||
"pretendard-jp": "^1.3.8",
|
||||
"prismjs": "1.29.0",
|
||||
"punycode": "2.3.1",
|
||||
"querystring": "0.2.1",
|
||||
"rollup": "4.9.0",
|
||||
"sanitize-html": "2.11.0",
|
||||
"shiki": "0.14.6",
|
||||
@ -78,7 +76,6 @@
|
||||
"typescript": "5.3.3",
|
||||
"uuid": "9.0.1",
|
||||
"v-code-diff": "1.7.2",
|
||||
"vanilla-tilt": "1.8.1",
|
||||
"vite": "5.0.8",
|
||||
"vue": "3.3.11",
|
||||
"vue-prism-editor": "2.0.0-alpha.2",
|
||||
@ -116,7 +113,6 @@
|
||||
"@types/throttle-debounce": "5.0.2",
|
||||
"@types/tinycolor2": "1.4.6",
|
||||
"@types/uuid": "9.0.7",
|
||||
"@types/websocket": "1.0.10",
|
||||
"@types/ws": "8.5.10",
|
||||
"@typescript-eslint/eslint-plugin": "6.14.0",
|
||||
"@typescript-eslint/parser": "6.14.0",
|
||||
|
@ -108,22 +108,26 @@ export default function(props: MfmProps) {
|
||||
switch (token.props.name) {
|
||||
case 'tada': {
|
||||
const speed = validTime(token.props.args.speed) ?? '1s';
|
||||
style = 'font-size: 150%;' + (useAnim ? `animation: tada ${speed} linear infinite both;` : '');
|
||||
const delay = validTime(token.props.args.delay) ?? '0s';
|
||||
style = 'font-size: 150%;' + (useAnim ? `animation: tada ${speed} linear infinite both; animation-delay: ${delay};` : '');
|
||||
break;
|
||||
}
|
||||
case 'jelly': {
|
||||
const speed = validTime(token.props.args.speed) ?? '1s';
|
||||
style = (useAnim ? `animation: mfm-rubberBand ${speed} linear infinite both;` : '');
|
||||
const delay = validTime(token.props.args.delay) ?? '0s';
|
||||
style = (useAnim ? `animation: mfm-rubberBand ${speed} linear infinite both; animation-delay: ${delay};` : '');
|
||||
break;
|
||||
}
|
||||
case 'twitch': {
|
||||
const speed = validTime(token.props.args.speed) ?? '0.5s';
|
||||
style = useAnim ? `animation: mfm-twitch ${speed} ease infinite;` : '';
|
||||
const delay = validTime(token.props.args.delay) ?? '0s';
|
||||
style = useAnim ? `animation: mfm-twitch ${speed} ease infinite; animation-delay: ${delay};` : '';
|
||||
break;
|
||||
}
|
||||
case 'shake': {
|
||||
const speed = validTime(token.props.args.speed) ?? '0.5s';
|
||||
style = useAnim ? `animation: mfm-shake ${speed} ease infinite;` : '';
|
||||
const delay = validTime(token.props.args.delay) ?? '0s';
|
||||
style = useAnim ? `animation: mfm-shake ${speed} ease infinite; animation-delay: ${delay};` : '';
|
||||
break;
|
||||
}
|
||||
case 'spin': {
|
||||
@ -136,17 +140,20 @@ export default function(props: MfmProps) {
|
||||
token.props.args.y ? 'mfm-spinY' :
|
||||
'mfm-spin';
|
||||
const speed = validTime(token.props.args.speed) ?? '1.5s';
|
||||
style = useAnim ? `animation: ${anime} ${speed} linear infinite; animation-direction: ${direction};` : '';
|
||||
const delay = validTime(token.props.args.delay) ?? '0s';
|
||||
style = useAnim ? `animation: ${anime} ${speed} linear infinite; animation-direction: ${direction}; animation-delay: ${delay};` : '';
|
||||
break;
|
||||
}
|
||||
case 'jump': {
|
||||
const speed = validTime(token.props.args.speed) ?? '0.75s';
|
||||
style = useAnim ? `animation: mfm-jump ${speed} linear infinite;` : '';
|
||||
const delay = validTime(token.props.args.delay) ?? '0s';
|
||||
style = useAnim ? `animation: mfm-jump ${speed} linear infinite; animation-delay: ${delay};` : '';
|
||||
break;
|
||||
}
|
||||
case 'bounce': {
|
||||
const speed = validTime(token.props.args.speed) ?? '0.75s';
|
||||
style = useAnim ? `animation: mfm-bounce ${speed} linear infinite; transform-origin: center bottom;` : '';
|
||||
const delay = validTime(token.props.args.delay) ?? '0s';
|
||||
style = useAnim ? `animation: mfm-bounce ${speed} linear infinite; transform-origin: center bottom; animation-delay: ${delay};` : '';
|
||||
break;
|
||||
}
|
||||
case 'flip': {
|
||||
@ -196,7 +203,8 @@ export default function(props: MfmProps) {
|
||||
}, genEl(token.children, scale));
|
||||
}
|
||||
const speed = validTime(token.props.args.speed) ?? '1s';
|
||||
style = `animation: mfm-rainbow ${speed} linear infinite;`;
|
||||
const delay = validTime(token.props.args.delay) ?? '0s';
|
||||
style = `animation: mfm-rainbow ${speed} linear infinite; animation-delay: ${delay};`;
|
||||
break;
|
||||
}
|
||||
case 'sparkle': {
|
||||
@ -210,7 +218,8 @@ export default function(props: MfmProps) {
|
||||
return genEl(token.children, scale);
|
||||
}
|
||||
const speed = validTime(token.props.args.speed) ?? '4s';
|
||||
style = `animation: mfm-fade ${speed} linear infinite;`;
|
||||
const delay = validTime(token.props.args.delay) ?? '0s';
|
||||
style = `animation: mfm-fade ${speed} linear infinite; animation-delay: ${delay};`;
|
||||
break;
|
||||
}
|
||||
case 'rotate': {
|
||||
|
@ -167,7 +167,7 @@ function previewEmoji(ev: MouseEvent) {
|
||||
async function copyFromPinnedEmojis() {
|
||||
const { canceled } = await os.confirm({
|
||||
type: 'warning',
|
||||
text: 'a',
|
||||
text: i18n.ts.overwriteContentConfirm,
|
||||
});
|
||||
|
||||
if (canceled) {
|
||||
@ -180,7 +180,7 @@ async function copyFromPinnedEmojis() {
|
||||
async function copyFromPinnedEmojisForReaction() {
|
||||
const { canceled } = await os.confirm({
|
||||
type: 'warning',
|
||||
text: 'a',
|
||||
text: i18n.ts.overwriteContentConfirm,
|
||||
});
|
||||
|
||||
if (canceled) {
|
||||
|
@ -109,10 +109,10 @@ importers:
|
||||
version: 7.2.1
|
||||
'@nestjs/common':
|
||||
specifier: 10.2.10
|
||||
version: 10.2.10(reflect-metadata@0.2.0)(rxjs@7.8.1)
|
||||
version: 10.2.10(reflect-metadata@0.1.14)(rxjs@7.8.1)
|
||||
'@nestjs/core':
|
||||
specifier: 10.2.10
|
||||
version: 10.2.10(@nestjs/common@10.2.10)(reflect-metadata@0.2.0)(rxjs@7.8.1)
|
||||
version: 10.2.10(@nestjs/common@10.2.10)(reflect-metadata@0.1.14)(rxjs@7.8.1)
|
||||
'@nestjs/testing':
|
||||
specifier: 10.2.10
|
||||
version: 10.2.10(@nestjs/common@10.2.10)(@nestjs/core@10.2.10)
|
||||
@ -198,8 +198,8 @@ importers:
|
||||
specifier: 0.1.21
|
||||
version: 0.1.21
|
||||
fastify:
|
||||
specifier: 4.25.0
|
||||
version: 4.25.0
|
||||
specifier: 4.24.3
|
||||
version: 4.24.3
|
||||
fastify-raw-body:
|
||||
specifier: 4.3.0
|
||||
version: 4.3.0
|
||||
@ -336,8 +336,8 @@ importers:
|
||||
specifier: 0.1.4
|
||||
version: 0.1.4
|
||||
reflect-metadata:
|
||||
specifier: 0.2.0
|
||||
version: 0.2.0
|
||||
specifier: 0.1.14
|
||||
version: 0.1.14
|
||||
rename:
|
||||
specifier: 1.0.4
|
||||
version: 1.0.4
|
||||
@ -761,9 +761,6 @@ importers:
|
||||
'@github/webauthn-json':
|
||||
specifier: 2.1.1
|
||||
version: 2.1.1
|
||||
'@rollup/plugin-alias':
|
||||
specifier: 5.1.0
|
||||
version: 5.1.0(rollup@4.9.0)
|
||||
'@rollup/plugin-json':
|
||||
specifier: 6.1.0
|
||||
version: 6.1.0(rollup@4.9.0)
|
||||
@ -881,9 +878,6 @@ importers:
|
||||
punycode:
|
||||
specifier: 2.3.1
|
||||
version: 2.3.1
|
||||
querystring:
|
||||
specifier: 0.2.1
|
||||
version: 0.2.1
|
||||
rollup:
|
||||
specifier: 4.9.0
|
||||
version: 4.9.0
|
||||
@ -935,9 +929,6 @@ importers:
|
||||
v-code-diff:
|
||||
specifier: 1.7.2
|
||||
version: 1.7.2(vue@3.3.11)
|
||||
vanilla-tilt:
|
||||
specifier: 1.8.1
|
||||
version: 1.8.1
|
||||
vite:
|
||||
specifier: 5.0.8
|
||||
version: 5.0.8(@types/node@20.10.4)(sass@1.69.5)(terser@5.24.0)
|
||||
@ -1044,9 +1035,6 @@ importers:
|
||||
'@types/uuid':
|
||||
specifier: 9.0.7
|
||||
version: 9.0.7
|
||||
'@types/websocket':
|
||||
specifier: 1.0.10
|
||||
version: 1.0.10
|
||||
'@types/ws':
|
||||
specifier: 8.5.10
|
||||
version: 8.5.10
|
||||
@ -4703,7 +4691,7 @@ packages:
|
||||
tar-fs: 2.1.1
|
||||
dev: true
|
||||
|
||||
/@nestjs/common@10.2.10(reflect-metadata@0.2.0)(rxjs@7.8.1):
|
||||
/@nestjs/common@10.2.10(reflect-metadata@0.1.14)(rxjs@7.8.1):
|
||||
resolution: {integrity: sha512-fwAk931rjW8CNH2Mgwawq/7HWHH1dxkOLdcgs7U52ddLk8CtHXjejm1cbNahewlSbNhvlOl7y1STLHutE6sUqw==}
|
||||
peerDependencies:
|
||||
class-transformer: '*'
|
||||
@ -4717,13 +4705,13 @@ packages:
|
||||
optional: true
|
||||
dependencies:
|
||||
iterare: 1.2.1
|
||||
reflect-metadata: 0.2.0
|
||||
reflect-metadata: 0.1.14
|
||||
rxjs: 7.8.1
|
||||
tslib: 2.6.2
|
||||
uid: 2.0.2
|
||||
dev: false
|
||||
|
||||
/@nestjs/core@10.2.10(@nestjs/common@10.2.10)(reflect-metadata@0.2.0)(rxjs@7.8.1):
|
||||
/@nestjs/core@10.2.10(@nestjs/common@10.2.10)(reflect-metadata@0.1.14)(rxjs@7.8.1):
|
||||
resolution: {integrity: sha512-+ckOI6BPi2ZMHikT9MCG4ctHDc4OnjhoIytrn7f2AYMMXI4bnutJhqyQKc30VDka5x3Wq6QAD57pgSP7y+JjJg==}
|
||||
requiresBuild: true
|
||||
peerDependencies:
|
||||
@ -4741,12 +4729,12 @@ packages:
|
||||
'@nestjs/websockets':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@nestjs/common': 10.2.10(reflect-metadata@0.2.0)(rxjs@7.8.1)
|
||||
'@nestjs/common': 10.2.10(reflect-metadata@0.1.14)(rxjs@7.8.1)
|
||||
'@nuxtjs/opencollective': 0.3.2
|
||||
fast-safe-stringify: 2.1.1
|
||||
iterare: 1.2.1
|
||||
path-to-regexp: 3.2.0
|
||||
reflect-metadata: 0.2.0
|
||||
reflect-metadata: 0.1.14
|
||||
rxjs: 7.8.1
|
||||
tslib: 2.6.2
|
||||
uid: 2.0.2
|
||||
@ -4767,8 +4755,8 @@ packages:
|
||||
'@nestjs/platform-express':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@nestjs/common': 10.2.10(reflect-metadata@0.2.0)(rxjs@7.8.1)
|
||||
'@nestjs/core': 10.2.10(@nestjs/common@10.2.10)(reflect-metadata@0.2.0)(rxjs@7.8.1)
|
||||
'@nestjs/common': 10.2.10(reflect-metadata@0.1.14)(rxjs@7.8.1)
|
||||
'@nestjs/core': 10.2.10(@nestjs/common@10.2.10)(reflect-metadata@0.1.14)(rxjs@7.8.1)
|
||||
tslib: 2.6.2
|
||||
dev: false
|
||||
|
||||
@ -5469,19 +5457,6 @@ packages:
|
||||
'@babel/runtime': 7.23.2
|
||||
dev: true
|
||||
|
||||
/@rollup/plugin-alias@5.1.0(rollup@4.9.0):
|
||||
resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
|
||||
peerDependenciesMeta:
|
||||
rollup:
|
||||
optional: true
|
||||
dependencies:
|
||||
rollup: 4.9.0
|
||||
slash: 4.0.0
|
||||
dev: false
|
||||
|
||||
/@rollup/plugin-json@6.1.0(rollup@4.9.0):
|
||||
resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
@ -8209,12 +8184,6 @@ packages:
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
|
||||
/@types/websocket@1.0.10:
|
||||
resolution: {integrity: sha512-svjGZvPB7EzuYS94cI7a+qhwgGU1y89wUgjT6E2wVUfmAGIvRfT7obBvRtnhXCSsoMdlG4gBFGE7MfkIXZLoww==}
|
||||
dependencies:
|
||||
'@types/node': 20.10.4
|
||||
dev: true
|
||||
|
||||
/@types/ws@8.5.10:
|
||||
resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==}
|
||||
dependencies:
|
||||
@ -12058,8 +12027,8 @@ packages:
|
||||
secure-json-parse: 2.7.0
|
||||
dev: false
|
||||
|
||||
/fastify@4.25.0:
|
||||
resolution: {integrity: sha512-2XANZZDadl/PccnVbmrIC8BmUtb16MO5Hyfnqv1cZIslvf7GYTVwlPuVxLKL23NNxWRc5BikY8HyhWj+NJvokA==}
|
||||
/fastify@4.24.3:
|
||||
resolution: {integrity: sha512-6HHJ+R2x2LS3y1PqxnwEIjOTZxFl+8h4kSC/TuDPXtA+v2JnV9yEtOsNSKK1RMD7sIR2y1ZsA4BEFaid/cK5pg==}
|
||||
dependencies:
|
||||
'@fastify/ajv-compiler': 3.5.0
|
||||
'@fastify/error': 3.4.0
|
||||
@ -12071,7 +12040,7 @@ packages:
|
||||
find-my-way: 7.7.0
|
||||
light-my-request: 5.11.0
|
||||
pino: 8.17.0
|
||||
process-warning: 3.0.0
|
||||
process-warning: 2.2.0
|
||||
proxy-addr: 2.0.7
|
||||
rfdc: 1.3.0
|
||||
secure-json-parse: 2.7.0
|
||||
@ -16972,10 +16941,6 @@ packages:
|
||||
resolution: {integrity: sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==}
|
||||
dev: false
|
||||
|
||||
/process-warning@3.0.0:
|
||||
resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==}
|
||||
dev: false
|
||||
|
||||
/process@0.11.10:
|
||||
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
|
||||
engines: {node: '>= 0.6.0'}
|
||||
@ -17297,11 +17262,6 @@ packages:
|
||||
engines: {node: '>=0.6'}
|
||||
dev: false
|
||||
|
||||
/querystring@0.2.1:
|
||||
resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==}
|
||||
engines: {node: '>=0.4.x'}
|
||||
dev: false
|
||||
|
||||
/querystringify@2.2.0:
|
||||
resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
|
||||
|
||||
@ -17671,10 +17631,6 @@ packages:
|
||||
resolution: {integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==}
|
||||
dev: false
|
||||
|
||||
/reflect-metadata@0.2.0:
|
||||
resolution: {integrity: sha512-vUN0wuk3MuhSVMfU/ImnPQAK8QZcXJ339DtVsP3jDscxCe6dT+PsOe3J1BYS9Ec2Fd4oC6ry6bCBebzTya0IYw==}
|
||||
dev: false
|
||||
|
||||
/regenerate-unicode-properties@10.1.0:
|
||||
resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==}
|
||||
engines: {node: '>=4'}
|
||||
@ -18428,11 +18384,6 @@ packages:
|
||||
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
/slash@4.0.0:
|
||||
resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
|
||||
engines: {node: '>=12'}
|
||||
dev: false
|
||||
|
||||
/slice-ansi@3.0.0:
|
||||
resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==}
|
||||
engines: {node: '>=8'}
|
||||
@ -19887,10 +19838,6 @@ packages:
|
||||
engines: {node: '>= 0.10'}
|
||||
dev: true
|
||||
|
||||
/vanilla-tilt@1.8.1:
|
||||
resolution: {integrity: sha512-hPB1XUsnh+SIeVSW2beb5RnuFxz4ZNgxjGD78o52F49gS4xaoLeEMh9qrQnJrnEn/vjjBI7IlxrrXmz4tGV0Kw==}
|
||||
dev: false
|
||||
|
||||
/vary@1.1.2:
|
||||
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
Loading…
Reference in New Issue
Block a user