From 9265182729c797b08a00b74cfaffeef249c7b6a8 Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sat, 25 Jan 2025 15:56:23 +0900
Subject: [PATCH 01/14] =?UTF-8?q?feat(frontend):=20tabler-icons=E3=81=AE?=
=?UTF-8?q?=E4=BD=BF=E7=94=A8=E3=81=95=E3=82=8C=E3=81=A6=E3=81=84=E3=81=AA?=
=?UTF-8?q?=E3=81=84=E3=82=A2=E3=82=A4=E3=82=B3=E3=83=B3=E3=82=92=E5=89=8A?=
=?UTF-8?q?=E9=99=A4=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 1 +
packages/frontend-embed/package.json | 3 +-
packages/frontend-embed/src/boot.ts | 7 +-
packages/frontend/package.json | 3 +-
packages/frontend/src/_boot_.ts | 7 +-
packages/icons-subsetter/README.md | 15 +++
packages/icons-subsetter/eslint.config.js | 18 +++
packages/icons-subsetter/package.json | 25 ++++
packages/icons-subsetter/src/generator.ts | 125 ++++++++++++++++++++
packages/icons-subsetter/src/subsetter.ts | 76 +++++++++++++
packages/icons-subsetter/tsconfig.json | 20 ++++
pnpm-lock.yaml | 132 +++++++++++++++-------
pnpm-workspace.yaml | 1 +
scripts/build-assets.mjs | 5 -
scripts/clean.js | 1 +
scripts/dev.mjs | 6 +
16 files changed, 394 insertions(+), 51 deletions(-)
create mode 100644 packages/icons-subsetter/README.md
create mode 100644 packages/icons-subsetter/eslint.config.js
create mode 100644 packages/icons-subsetter/package.json
create mode 100644 packages/icons-subsetter/src/generator.ts
create mode 100644 packages/icons-subsetter/src/subsetter.ts
create mode 100644 packages/icons-subsetter/tsconfig.json
diff --git a/package.json b/package.json
index 200dbecacbc4..ace763fcf8d2 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
"packages/frontend-shared",
"packages/frontend",
"packages/frontend-embed",
+ "packages/icons-subsetter",
"packages/backend",
"packages/sw",
"packages/misskey-js",
diff --git a/packages/frontend-embed/package.json b/packages/frontend-embed/package.json
index 3d04c566b662..2429c5efc4c5 100644
--- a/packages/frontend-embed/package.json
+++ b/packages/frontend-embed/package.json
@@ -15,13 +15,13 @@
"@rollup/plugin-json": "6.1.0",
"@rollup/plugin-replace": "5.0.7",
"@rollup/pluginutils": "5.1.3",
- "@tabler/icons-webfont": "3.3.0",
"@twemoji/parser": "15.1.1",
"@vitejs/plugin-vue": "5.2.0",
"@vue/compiler-sfc": "3.5.12",
"astring": "1.9.0",
"buraha": "0.0.1",
"estree-walker": "3.0.3",
+ "icons-subsetter": "workspace:*",
"mfm-js": "0.24.0",
"misskey-js": "workspace:*",
"frontend-shared": "workspace:*",
@@ -40,6 +40,7 @@
},
"devDependencies": {
"@misskey-dev/summaly": "5.1.0",
+ "@tabler/icons-webfont": "3.3.0",
"@testing-library/vue": "8.1.0",
"@types/estree": "1.0.6",
"@types/micromatch": "4.0.9",
diff --git a/packages/frontend-embed/src/boot.ts b/packages/frontend-embed/src/boot.ts
index c1b2b58bebdf..1624df9132ec 100644
--- a/packages/frontend-embed/src/boot.ts
+++ b/packages/frontend-embed/src/boot.ts
@@ -6,7 +6,12 @@
// https://vitejs.dev/config/build-options.html#build-modulepreload
import 'vite/modulepreload-polyfill';
-import '@tabler/icons-webfont/dist/tabler-icons.scss';
+if (import.meta.env.DEV) {
+ await import('@tabler/icons-webfont/dist/tabler-icons.scss');
+} else {
+ await import('icons-subsetter/built/tabler-icons-classes.css');
+ await import('icons-subsetter/built/tabler-icons-frontendEmbed.css');
+}
import '@/style.scss';
import { createApp, defineAsyncComponent } from 'vue';
diff --git a/packages/frontend/package.json b/packages/frontend/package.json
index 8b20980d6341..790f1abf0aa9 100644
--- a/packages/frontend/package.json
+++ b/packages/frontend/package.json
@@ -25,7 +25,6 @@
"@rollup/plugin-replace": "5.0.7",
"@rollup/pluginutils": "5.1.3",
"@syuilo/aiscript": "0.19.0",
- "@tabler/icons-webfont": "3.3.0",
"@twemoji/parser": "15.1.1",
"@vitejs/plugin-vue": "5.2.0",
"@vue/compiler-sfc": "3.5.12",
@@ -46,6 +45,7 @@
"estree-walker": "3.0.3",
"eventemitter3": "5.0.1",
"frontend-shared": "workspace:*",
+ "icons-subsetter": "workspace:*",
"idb-keyval": "6.2.1",
"insert-text-at-cursor": "0.3.0",
"is-file-animated": "1.0.2",
@@ -95,6 +95,7 @@
"@storybook/types": "8.4.4",
"@storybook/vue3": "8.4.4",
"@storybook/vue3-vite": "8.4.4",
+ "@tabler/icons-webfont": "3.3.0",
"@testing-library/vue": "8.1.0",
"@types/canvas-confetti": "^1.6.4",
"@types/estree": "1.0.6",
diff --git a/packages/frontend/src/_boot_.ts b/packages/frontend/src/_boot_.ts
index c90cc6bdd016..1fd366f0c48a 100644
--- a/packages/frontend/src/_boot_.ts
+++ b/packages/frontend/src/_boot_.ts
@@ -6,7 +6,12 @@
// https://vitejs.dev/config/build-options.html#build-modulepreload
import 'vite/modulepreload-polyfill';
-import '@tabler/icons-webfont/dist/tabler-icons.scss';
+if (import.meta.env.DEV) {
+ await import('@tabler/icons-webfont/dist/tabler-icons.scss');
+} else {
+ await import('icons-subsetter/built/tabler-icons-classes.css');
+ await import('icons-subsetter/built/tabler-icons-frontend.css');
+}
import '@/style.scss';
import { mainBoot } from '@/boot/main-boot.js';
diff --git a/packages/icons-subsetter/README.md b/packages/icons-subsetter/README.md
new file mode 100644
index 000000000000..1249d656442a
--- /dev/null
+++ b/packages/icons-subsetter/README.md
@@ -0,0 +1,15 @@
+## これは何
+
+フロントエンドの各パッケージで使用されているtabler iconsのclassをスキャンし、使用されているiconのみを抽出するツールです。
+
+なお、サブセット版に無いアイコンが呼び出された場合は本物のtabler icons フォントにフォールバックするようになっています。
+
+このツールは本番ビルド時にのみ使用されます(開発モードでも最初の1回だけビルドが走りますが、これは型エラーを抑制するためにファイルを置いておく用の措置です)
+
+現時点では `src/generator.ts` の `filesToScan` にスキャン対象のファイルが書かれています。もしこれに当てはまらないファイルをサブセットのスキャン対象とする場合はこの部分を適宜修正してください。
+
+## 使い方
+
+```bash
+pnpm build
+```
diff --git a/packages/icons-subsetter/eslint.config.js b/packages/icons-subsetter/eslint.config.js
new file mode 100644
index 000000000000..957100fd8cf6
--- /dev/null
+++ b/packages/icons-subsetter/eslint.config.js
@@ -0,0 +1,18 @@
+import tsParser from '@typescript-eslint/parser';
+import sharedConfig from '../shared/eslint.config.js';
+
+// eslint-disable-next-line import/no-default-export
+export default [
+ ...sharedConfig,
+ {
+ files: ['**/*.ts', '**/*.tsx'],
+ languageOptions: {
+ parserOptions: {
+ parser: tsParser,
+ project: ['./tsconfig.json'],
+ sourceType: 'module',
+ tsconfigRootDir: import.meta.dirname,
+ },
+ },
+ },
+];
diff --git a/packages/icons-subsetter/package.json b/packages/icons-subsetter/package.json
new file mode 100644
index 000000000000..1abcc04d2968
--- /dev/null
+++ b/packages/icons-subsetter/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "icons-subsetter",
+ "version": "0.0.0",
+ "private": true,
+ "description": "Subset tabler-icons webfont",
+ "type": "module",
+ "scripts": {
+ "build": "tsx src/generator.ts",
+ "lint": "eslint"
+ },
+ "devDependencies": {
+ "@tabler/icons-webfont": "https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz",
+ "@types/node": "22.9.0",
+ "@typescript-eslint/eslint-plugin": "7.17.0",
+ "@typescript-eslint/parser": "7.17.0",
+ "harfbuzzjs": "0.4.4",
+ "tiny-glob": "^0.2.9",
+ "tsx": "4.4.0",
+ "typescript": "5.6.3",
+ "wasm-ttf2woff": "1.0.0"
+ },
+ "files": [
+ "built"
+ ]
+}
diff --git a/packages/icons-subsetter/src/generator.ts b/packages/icons-subsetter/src/generator.ts
new file mode 100644
index 000000000000..035b6f42a94a
--- /dev/null
+++ b/packages/icons-subsetter/src/generator.ts
@@ -0,0 +1,125 @@
+import { promises as fsp, existsSync } from 'fs';
+import path from 'path';
+import glob from 'tiny-glob';
+import { generateSubsettedFont } from './subsetter.js';
+
+const filesToScan = {
+ frontend: 'packages/frontend/src/**/*.{ts,vue}',
+ //frontendShared: 'packages/frontend-shared/js/**/*.{ts}', // 現時点では該当がないのでスキップ。ここをコメントアウトするときは、各フロントエンドにこのチャンクのCSSのimportを追加すること
+ frontendEmbed: 'packages/frontend-embed/src/**/*.{ts,vue}',
+};
+
+async function main() {
+ const start = performance.now();
+
+ // 1. ビルドディレクトリを削除
+ if (existsSync('./built')) {
+ await fsp.rm('./built', { recursive: true });
+ }
+ await fsp.mkdir('./built');
+
+ // 2. tabler-icons.min.cssから、class名とUnicodeのマッピングを抽出
+ const css = await fsp.readFile('node_modules/@tabler/icons-webfont/dist/tabler-icons.min.css', 'utf-8');
+ const cssRegex = /\.(ti-[a-z0-9-]+)::?before\s*{\n?\s*content:\s*["']\\([a-fA-F0-9]+)["'];?\n?\s*}/g;
+ const rgMap = new Map();
+ let matches: RegExpExecArray | null;
+ while ((matches = cssRegex.exec(css)) !== null) {
+ rgMap.set(matches[1], matches[2]);
+ }
+
+ // 3. tabler-icons-classes.cssから、@font-faceを削除して書き出し
+ const cssWithoutFontFace = css.replace(/@font-face\s*{[^}]*}/g, '');
+ await fsp.writeFile('./built/tabler-icons-classes.css', cssWithoutFontFace);
+
+ // 4. フォールバック用のtabler-icons.woff2をコピー
+ const fontPath = 'node_modules/@tabler/icons-webfont/dist/fonts/';
+ await fsp.copyFile(fontPath + 'tabler-icons.woff2', './built/tabler-icons.woff2');
+
+ // 5. 各チャンクごとにファイルをスキャンして、使用されているアイコンを抽出
+ const unicodeRangeValues = new Map();
+ for (const [key, dir] of Object.entries(filesToScan)) {
+ console.log(`Scanning ${key}...`);
+
+ const iconsToPack = new Set();
+
+ const cwd = path.resolve(process.cwd(), '../../');
+ const files = await glob(dir, { cwd });
+ for (const file of files) {
+ //console.log(`Scanning ${file}`);
+ const content = await fsp.readFile(path.resolve(cwd, file), 'utf-8');
+ const classRegex = /ti-[a-z0-9-]+/g;
+ let matches: RegExpExecArray | null;
+ while ((matches = classRegex.exec(content)) !== null) {
+ const icon = matches[0];
+ if (rgMap.has(icon)) {
+ iconsToPack.add(icon);
+ }
+ }
+ }
+
+ // 6. チャンク内で使用されているアイコンのUnicodeの配列を生成
+ const unicodeValues = Array.from(iconsToPack).map((icon) => parseInt(rgMap.get(icon)!, 16));
+ unicodeRangeValues.set(key, unicodeValues);
+ }
+
+ // 7. Tabler Iconフォントをサブセット化
+ const subsettedFonts = await generateSubsettedFont(fontPath + 'tabler-icons.ttf', unicodeRangeValues);
+
+ // 8. サブセット化したフォント・CSSを書き出し
+ await Promise.allSettled(Array.from(subsettedFonts.entries()).map(async ([key, buffer]) => {
+ const cssRules = [`@font-face {
+ font-family: "tabler-icons";
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url("./tabler-icons.woff2") format("woff2");
+}`];
+
+ // サブセット化したフォントの中身がある(=unicodeRangeValuesの配列が殻ではない)場合のみ、サブセットしたものに関する情報を追記
+ if (unicodeRangeValues.get(key)!.length > 0) {
+ await fsp.writeFile(`./built/tabler-icons-${key}.woff2`, buffer);
+
+ const unicodeRangeString = (() => {
+ const values = unicodeRangeValues.get(key)!.sort((a, b) => a - b);
+ const ranges = [];
+
+ for (let i = 0; i < values.length; i++) {
+ const start = values[i];
+ let end = values[i];
+ while (values[i + 1] === end + 1) {
+ end = values[i + 1];
+ i++;
+ }
+ if (start === end) {
+ ranges.push(`U+${start.toString(16)}`);
+ } else if (start + 1 === end) {
+ ranges.push(`U+${start.toString(16)}`, `U+${end.toString(16)}`);
+ } else {
+ ranges.push(`U+${start.toString(16)}-${end.toString(16)}`);
+ }
+ }
+
+ return ranges.join(', ');
+ })();
+
+ cssRules.push(`@font-face {
+ font-family: "tabler-icons";
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url("./tabler-icons-${key}.woff2") format("woff2");
+ unicode-range: ${unicodeRangeString};
+}`);
+ }
+
+ await fsp.writeFile(`./built/tabler-icons-${key}.css`, cssRules.join('\n\n') + '\n');
+ }));
+
+ const end = performance.now();
+ console.log(`Done in ${Math.round((end - start) * 100) / 100}ms`);
+}
+
+main().catch((err) => {
+ console.error(err);
+ process.exit(1);
+});
diff --git a/packages/icons-subsetter/src/subsetter.ts b/packages/icons-subsetter/src/subsetter.ts
new file mode 100644
index 000000000000..d959fb81a579
--- /dev/null
+++ b/packages/icons-subsetter/src/subsetter.ts
@@ -0,0 +1,76 @@
+import { promises as fsp } from 'fs';
+import { ttf2woff } from 'wasm-ttf2woff';
+
+export async function generateSubsettedFont(ttfPath: string, unicodeRangeValues: Map) {
+ const ttf = await fsp.readFile(ttfPath);
+
+ const {
+ instance: { exports: harfbuzzWasm },
+ }: any = await WebAssembly.instantiate(await fsp.readFile('./node_modules/harfbuzzjs/hb-subset.wasm'));
+
+ const heapu8 = new Uint8Array(harfbuzzWasm.memory.buffer);
+
+ const subsetFonts = new Map();
+
+ let i = 0;
+ for (const [key, unicodeValues] of unicodeRangeValues) {
+ i++;
+ console.log(`Generating subset ${i} of ${unicodeRangeValues.size}...`);
+
+ // サブセット入力を作成
+ const input = harfbuzzWasm.hb_subset_input_create_or_fail();
+ if (input === 0) {
+ throw new Error('hb_subset_input_create_or_fail (harfbuzz) returned zero');
+ }
+
+ // フォントバッファにフォントデータをセット
+ const fontBuffer = harfbuzzWasm.malloc(ttf.byteLength);
+ heapu8.set(new Uint8Array(ttf), fontBuffer);
+
+ // フォントフェイスを作成
+ const blob = harfbuzzWasm.hb_blob_create(fontBuffer, ttf.byteLength, 2, 0, 0);
+ const face = harfbuzzWasm.hb_face_create(blob, 0);
+ harfbuzzWasm.hb_blob_destroy(blob);
+
+ // Unicodeセットに指定されたUnicodeポイントを追加
+ const inputUnicodes = harfbuzzWasm.hb_subset_input_unicode_set(input);
+ for (const unicode of unicodeValues) {
+ harfbuzzWasm.hb_set_add(inputUnicodes, unicode);
+ }
+
+ // サブセットを作成
+ let subset;
+ try {
+ subset = harfbuzzWasm.hb_subset_or_fail(face, input);
+ if (subset === 0) {
+ harfbuzzWasm.hb_face_destroy(face);
+ harfbuzzWasm.free(fontBuffer);
+ throw new Error('hb_subset_or_fail (harfbuzz) returned zero');
+ }
+ } finally {
+ harfbuzzWasm.hb_subset_input_destroy(input);
+ }
+
+ // サブセットフォントデータを取得
+ const result = harfbuzzWasm.hb_face_reference_blob(subset);
+ const offset = harfbuzzWasm.hb_blob_get_data(result, 0);
+ const subsetByteLength = harfbuzzWasm.hb_blob_get_length(result);
+ if (subsetByteLength === 0) {
+ harfbuzzWasm.hb_face_destroy(face);
+ harfbuzzWasm.hb_blob_destroy(result);
+ harfbuzzWasm.free(fontBuffer);
+ throw new Error('hb_blob_get_length (harfbuzz) returned zero');
+ }
+
+ // サブセットフォントをバッファに格納
+ subsetFonts.set(key, Buffer.from(await ttf2woff(heapu8.slice(offset, offset + subsetByteLength))));
+
+ // メモリを解放
+ harfbuzzWasm.hb_blob_destroy(result);
+ harfbuzzWasm.hb_face_destroy(subset);
+ harfbuzzWasm.hb_face_destroy(face);
+ harfbuzzWasm.free(fontBuffer);
+ }
+
+ return subsetFonts;
+}
diff --git a/packages/icons-subsetter/tsconfig.json b/packages/icons-subsetter/tsconfig.json
new file mode 100644
index 000000000000..08315a91cf3e
--- /dev/null
+++ b/packages/icons-subsetter/tsconfig.json
@@ -0,0 +1,20 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "compilerOptions": {
+ "target": "ESNext",
+ "module": "ESNext",
+ "moduleResolution": "bundler",
+ "strict": true,
+ "strictFunctionTypes": true,
+ "strictNullChecks": true,
+ "esModuleInterop": true,
+ "lib": [
+ "esnext",
+ "dom"
+ ]
+ },
+ "include": [
+ "src/**/*.ts"
+ ],
+ "exclude": []
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 37869da6a12a..6973355f392e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -142,7 +142,7 @@ importers:
version: 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)
'@nestjs/testing':
specifier: 10.4.7
- version: 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7))
+ version: 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/platform-express@10.4.7)
'@peertube/http-signature':
specifier: 1.7.0
version: 1.7.0
@@ -709,9 +709,6 @@ importers:
'@syuilo/aiscript':
specifier: 0.19.0
version: 0.19.0
- '@tabler/icons-webfont':
- specifier: 3.3.0
- version: 3.3.0
'@twemoji/parser':
specifier: 15.1.1
version: 15.1.1
@@ -772,6 +769,9 @@ importers:
frontend-shared:
specifier: workspace:*
version: link:../frontend-shared
+ icons-subsetter:
+ specifier: workspace:*
+ version: link:../icons-subsetter
idb-keyval:
specifier: 6.2.1
version: 6.2.1
@@ -914,6 +914,9 @@ importers:
'@storybook/vue3-vite':
specifier: 8.4.4
version: 8.4.4(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.4))(vite@5.4.11(@types/node@22.9.0)(sass@1.79.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
+ '@tabler/icons-webfont':
+ specifier: 3.3.0
+ version: 3.3.0
'@testing-library/vue':
specifier: 8.1.0
version: 8.1.0(@vue/compiler-sfc@3.5.12)(@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))
@@ -1055,9 +1058,6 @@ importers:
'@rollup/pluginutils':
specifier: 5.1.3
version: 5.1.3(rollup@4.26.0)
- '@tabler/icons-webfont':
- specifier: 3.3.0
- version: 3.3.0
'@twemoji/parser':
specifier: 15.1.1
version: 15.1.1
@@ -1079,6 +1079,9 @@ importers:
frontend-shared:
specifier: workspace:*
version: link:../frontend-shared
+ icons-subsetter:
+ specifier: workspace:*
+ version: link:../icons-subsetter
json5:
specifier: 2.2.3
version: 2.2.3
@@ -1125,6 +1128,9 @@ importers:
'@misskey-dev/summaly':
specifier: 5.1.0
version: 5.1.0
+ '@tabler/icons-webfont':
+ specifier: 3.3.0
+ version: 3.3.0
'@testing-library/vue':
specifier: 8.1.0
version: 8.1.0(@vue/compiler-sfc@3.5.12)(@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))
@@ -1157,7 +1163,7 @@ importers:
version: 7.17.0(eslint@9.14.0)(typescript@5.6.3)
'@vitest/coverage-v8':
specifier: 1.6.0
- version: 1.6.0(vitest@1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1)(sass@1.79.4)(terser@5.36.0))
+ version: 1.6.0(vitest@1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(sass@1.79.4)(terser@5.36.0))
'@vue/runtime-core':
specifier: 3.5.12
version: 3.5.12
@@ -1244,6 +1250,36 @@ importers:
specifier: 9.4.3
version: 9.4.3(eslint@9.14.0)
+ packages/icons-subsetter:
+ devDependencies:
+ '@tabler/icons-webfont':
+ specifier: https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz
+ version: https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz
+ '@types/node':
+ specifier: 22.9.0
+ version: 22.9.0
+ '@typescript-eslint/eslint-plugin':
+ specifier: 7.17.0
+ version: 7.17.0(@typescript-eslint/parser@7.17.0(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3)
+ '@typescript-eslint/parser':
+ specifier: 7.17.0
+ version: 7.17.0(eslint@9.14.0)(typescript@5.6.3)
+ harfbuzzjs:
+ specifier: 0.4.4
+ version: 0.4.4
+ tiny-glob:
+ specifier: ^0.2.9
+ version: 0.2.9
+ tsx:
+ specifier: 4.4.0
+ version: 4.4.0
+ typescript:
+ specifier: 5.6.3
+ version: 5.6.3
+ wasm-ttf2woff:
+ specifier: 1.0.0
+ version: 1.0.0
+
packages/misskey-bubble-game:
dependencies:
eventemitter3:
@@ -4179,6 +4215,13 @@ packages:
'@tabler/icons-webfont@3.3.0':
resolution: {integrity: sha512-vMsxtwTXdC4QH4uDajZjBYThILEI0dP+Mn1s4XZkVtnJ793IF31i3596nYetWhAJnrED0UJ0HQWSbmqVxVQbxA==}
+ '@tabler/icons-webfont@https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz':
+ resolution: {tarball: https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz}
+ version: 3.29.0-mi.1913
+
+ '@tabler/icons@3.29.0':
+ resolution: {integrity: sha512-VWNINymdmhay3MDvWVREmRwuWLSrX3YiInKvs5L4AHRF4bAfJabLlEReE0BW/XFsBt22ff8/C8Eam/LXlF97mA==}
+
'@tabler/icons@3.3.0':
resolution: {integrity: sha512-PLVe9d7b59sKytbx00KgeGhQG3N176Ezv8YMmsnSz4s0ifDzMWlp/h2wEfQZ0ZNe8e377GY2OW6kovUe3Rnd0g==}
@@ -6882,10 +6925,16 @@ packages:
resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
engines: {node: '>= 0.4'}
+ globalyzer@0.1.0:
+ resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
+
globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
+ globrex@0.1.2:
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
+
google-protobuf@3.21.2:
resolution: {integrity: sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==}
@@ -6932,6 +6981,9 @@ packages:
resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
engines: {node: '>=6'}
+ harfbuzzjs@0.4.4:
+ resolution: {integrity: sha512-8rRncykQxQsHJaPchDRNLYJqkt9YbQ/dZ/LkF64W3Qxx5tgHYAsjYq+TOH2PVRwrM405AWbLChWk8BKECmTgkA==}
+
has-bigints@1.0.2:
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
@@ -10246,6 +10298,9 @@ packages:
through@2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+ tiny-glob@0.2.9:
+ resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
+
tiny-invariant@1.3.3:
resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
@@ -10897,6 +10952,9 @@ packages:
walker@1.0.8:
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
+ wasm-ttf2woff@1.0.0:
+ resolution: {integrity: sha512-JS4Xk/3TswEXBORjSEaXXTyw+YqCfpg3Ri6Gj/tDimrCeRirealWTckpf010k7mQyOo4ucYBDXLKcSXfVPh/VA==}
+
web-push@3.6.7:
resolution: {integrity: sha512-OpiIUe8cuGjrj3mMBFWY+e4MMIkW3SVT+7vEIjvD9kejGUypv8GPDf84JdPWskK8zMRIJ6xYGm+Kxr8YkPyA0A==}
engines: {node: '>= 16'}
@@ -13074,7 +13132,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@nestjs/testing@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7))':
+ '@nestjs/testing@10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.7)(@nestjs/platform-express@10.4.7)':
dependencies:
'@nestjs/common': 10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1)
'@nestjs/core': 10.4.7(@nestjs/common@10.4.7(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.7)(encoding@0.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.1)
@@ -14571,6 +14629,12 @@ snapshots:
dependencies:
'@tabler/icons': 3.3.0
+ '@tabler/icons-webfont@https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz':
+ dependencies:
+ '@tabler/icons': 3.29.0
+
+ '@tabler/icons@3.29.0': {}
+
'@tabler/icons@3.3.0': {}
'@tensorflow/tfjs-backend-cpu@4.4.0(@tensorflow/tfjs-core@4.4.0(encoding@0.1.13))':
@@ -15264,7 +15328,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1)(sass@1.79.4)(terser@5.36.0))':
+ '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(sass@1.79.4)(terser@5.36.0))':
dependencies:
'@ampproject/remapping': 2.2.1
'@bcoe/v8-coverage': 0.2.3
@@ -15279,7 +15343,7 @@ snapshots:
std-env: 3.7.0
strip-literal: 2.1.0
test-exclude: 6.0.0
- vitest: 1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1)(sass@1.79.4)(terser@5.36.0)
+ vitest: 1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(sass@1.79.4)(terser@5.36.0)
transitivePeerDependencies:
- supports-color
@@ -18036,6 +18100,8 @@ snapshots:
dependencies:
define-properties: 1.2.0
+ globalyzer@0.1.0: {}
+
globby@11.1.0:
dependencies:
array-union: 2.1.0
@@ -18045,6 +18111,8 @@ snapshots:
merge2: 1.4.1
slash: 3.0.0
+ globrex@0.1.2: {}
+
google-protobuf@3.21.2:
optional: true
@@ -18121,6 +18189,8 @@ snapshots:
hard-rejection@2.1.0: {}
+ harfbuzzjs@0.4.4: {}
+
has-bigints@1.0.2: {}
has-flag@3.0.0: {}
@@ -19046,35 +19116,6 @@ snapshots:
jsdoc-type-pratt-parser@4.1.0: {}
- jsdom@24.1.1:
- dependencies:
- cssstyle: 4.0.1
- data-urls: 5.0.0
- decimal.js: 10.4.3
- form-data: 4.0.1
- html-encoding-sniffer: 4.0.0
- http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.5
- is-potential-custom-element-name: 1.0.1
- nwsapi: 2.2.12
- parse5: 7.2.1
- rrweb-cssom: 0.7.1
- saxes: 6.0.0
- symbol-tree: 3.2.4
- tough-cookie: 4.1.4
- w3c-xmlserializer: 5.0.0
- webidl-conversions: 7.0.0
- whatwg-encoding: 3.1.1
- whatwg-mimetype: 4.0.0
- whatwg-url: 14.0.0
- ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)
- xml-name-validator: 5.0.0
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
- optional: true
-
jsdom@24.1.1(bufferutil@4.0.7)(utf-8-validate@6.0.3):
dependencies:
cssstyle: 4.0.1
@@ -21990,6 +22031,11 @@ snapshots:
through@2.3.8: {}
+ tiny-glob@0.2.9:
+ dependencies:
+ globalyzer: 0.1.0
+ globrex: 0.1.2
+
tiny-invariant@1.3.3: {}
tinybench@2.6.0: {}
@@ -22532,7 +22578,7 @@ snapshots:
- supports-color
- terser
- vitest@1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1)(sass@1.79.4)(terser@5.36.0):
+ vitest@1.6.0(@types/node@22.9.0)(happy-dom@10.0.3)(jsdom@24.1.1(bufferutil@4.0.8)(utf-8-validate@6.0.4))(sass@1.79.4)(terser@5.36.0):
dependencies:
'@vitest/expect': 1.6.0
'@vitest/runner': 1.6.0
@@ -22557,7 +22603,7 @@ snapshots:
optionalDependencies:
'@types/node': 22.9.0
happy-dom: 10.0.3
- jsdom: 24.1.1
+ jsdom: 24.1.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)
transitivePeerDependencies:
- less
- lightningcss
@@ -22691,6 +22737,8 @@ snapshots:
dependencies:
makeerror: 1.0.12
+ wasm-ttf2woff@1.0.0: {}
+
web-push@3.6.7:
dependencies:
asn1.js: 5.4.1
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index d222614edaab..7c563b437f5f 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -3,6 +3,7 @@ packages:
- 'packages/frontend-shared'
- 'packages/frontend'
- 'packages/frontend-embed'
+ - 'packages/icons-subsetter'
- 'packages/sw'
- 'packages/misskey-js'
- 'packages/misskey-js/generator'
diff --git a/scripts/build-assets.mjs b/scripts/build-assets.mjs
index 421d4a6d1bf2..08cdf019a270 100644
--- a/scripts/build-assets.mjs
+++ b/scripts/build-assets.mjs
@@ -33,10 +33,6 @@ async function copyFrontendFonts() {
await fs.cp('./packages/frontend/node_modules/three/examples/fonts', './built/_frontend_dist_/fonts', { dereference: true, recursive: true });
}
-async function copyFrontendTablerIcons() {
- await fs.cp('./packages/frontend/node_modules/@tabler/icons-webfont/dist', './built/_frontend_dist_/tabler-icons', { dereference: true, recursive: true });
-}
-
async function copyFrontendLocales() {
generateDTS();
@@ -88,7 +84,6 @@ async function buildBackendStyle() {
async function build() {
await Promise.all([
copyFrontendFonts(),
- copyFrontendTablerIcons(),
copyFrontendLocales(),
copyBackendViews(),
buildBackendScript(),
diff --git a/scripts/clean.js b/scripts/clean.js
index 86c19281ea26..69a8df76afe5 100644
--- a/scripts/clean.js
+++ b/scripts/clean.js
@@ -10,6 +10,7 @@ const fs = require('fs');
fs.rmSync(__dirname + '/../packages/frontend-shared/built', { recursive: true, force: true });
fs.rmSync(__dirname + '/../packages/frontend/built', { recursive: true, force: true });
fs.rmSync(__dirname + '/../packages/frontend-embed/built', { recursive: true, force: true });
+ fs.rmSync(__dirname + '/../packages/icons-subsetter/built', { recursive: true, force: true });
fs.rmSync(__dirname + '/../packages/sw/built', { recursive: true, force: true });
fs.rmSync(__dirname + '/../packages/misskey-js/built', { recursive: true, force: true });
fs.rmSync(__dirname + '/../packages/misskey-reversi/built', { recursive: true, force: true });
diff --git a/scripts/dev.mjs b/scripts/dev.mjs
index a4c82d46e1aa..424b29c7cc79 100644
--- a/scripts/dev.mjs
+++ b/scripts/dev.mjs
@@ -32,6 +32,12 @@ await Promise.all([
stdout: process.stdout,
stderr: process.stderr,
}),
+ // icons-subsetterは開発段階では使用されないが、型エラーを抑制するためにはじめの一度だけビルドする
+ execa('pnpm', ['--filter', 'icons-subsetter', 'build'], {
+ cwd: _dirname + '/../',
+ stdout: process.stdout,
+ stderr: process.stderr,
+ }),
]);
await Promise.all([
From 69fb609bccac27be3ea5a3e2ca60b54c55b21125 Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sat, 25 Jan 2025 16:04:51 +0900
Subject: [PATCH 02/14] fix
---
Dockerfile | 1 +
1 file changed, 1 insertion(+)
diff --git a/Dockerfile b/Dockerfile
index 13f690946285..3b8053a75cdb 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -24,6 +24,7 @@ COPY --link ["packages/backend/package.json", "./packages/backend/"]
COPY --link ["packages/frontend-shared/package.json", "./packages/frontend-shared/"]
COPY --link ["packages/frontend/package.json", "./packages/frontend/"]
COPY --link ["packages/frontend-embed/package.json", "./packages/frontend-embed/"]
+COPY --link ["packages/icons-subsetter/package.json", "./packages/icons-subsetter/"]
COPY --link ["packages/sw/package.json", "./packages/sw/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
From b02717233b5b0231aaeaa2bed3e3bb5cb3f681dc Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sat, 25 Jan 2025 16:19:46 +0900
Subject: [PATCH 03/14] fix
---
Dockerfile | 1 +
1 file changed, 1 insertion(+)
diff --git a/Dockerfile b/Dockerfile
index 3b8053a75cdb..0d51a6c5bebf 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -56,6 +56,7 @@ WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"]
COPY --link ["packages/backend/package.json", "./packages/backend/"]
+COPY --link ["packages/icons-subsetter/package.json", "./packages/icons-subsetter/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
COPY --link ["packages/misskey-bubble-game/package.json", "./packages/misskey-bubble-game/"]
From 3e593c4563971984c0132edc9867a56c9907fdbb Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sat, 25 Jan 2025 16:22:42 +0900
Subject: [PATCH 04/14] fix
---
Dockerfile | 1 -
package.json | 3 +-
pnpm-lock.yaml | 270 +++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 272 insertions(+), 2 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index 0d51a6c5bebf..3b8053a75cdb 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -56,7 +56,6 @@ WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"]
COPY --link ["packages/backend/package.json", "./packages/backend/"]
-COPY --link ["packages/icons-subsetter/package.json", "./packages/icons-subsetter/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
COPY --link ["packages/misskey-bubble-game/package.json", "./packages/misskey-bubble-game/"]
diff --git a/package.json b/package.json
index ace763fcf8d2..853c3bb7c4e4 100644
--- a/package.json
+++ b/package.json
@@ -62,7 +62,8 @@
"terser": "5.36.0",
"typescript": "5.6.3",
"esbuild": "0.24.0",
- "glob": "11.0.0"
+ "glob": "11.0.0",
+ "tsx": "4.19.2"
},
"devDependencies": {
"@misskey-dev/eslint-plugin": "2.0.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6973355f392e..2045c5fe8472 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -42,6 +42,9 @@ importers:
terser:
specifier: 5.36.0
version: 5.36.0
+ tsx:
+ specifier: 4.19.2
+ version: 4.19.2
typescript:
specifier: 5.6.3
version: 5.6.3
@@ -2007,6 +2010,12 @@ packages:
cpu: [ppc64]
os: [aix]
+ '@esbuild/aix-ppc64@0.23.1':
+ resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
'@esbuild/aix-ppc64@0.24.0':
resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==}
engines: {node: '>=18'}
@@ -2025,6 +2034,12 @@ packages:
cpu: [arm64]
os: [android]
+ '@esbuild/android-arm64@0.23.1':
+ resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
'@esbuild/android-arm64@0.24.0':
resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==}
engines: {node: '>=18'}
@@ -2043,6 +2058,12 @@ packages:
cpu: [arm]
os: [android]
+ '@esbuild/android-arm@0.23.1':
+ resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
'@esbuild/android-arm@0.24.0':
resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==}
engines: {node: '>=18'}
@@ -2061,6 +2082,12 @@ packages:
cpu: [x64]
os: [android]
+ '@esbuild/android-x64@0.23.1':
+ resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
'@esbuild/android-x64@0.24.0':
resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==}
engines: {node: '>=18'}
@@ -2079,6 +2106,12 @@ packages:
cpu: [arm64]
os: [darwin]
+ '@esbuild/darwin-arm64@0.23.1':
+ resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
'@esbuild/darwin-arm64@0.24.0':
resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==}
engines: {node: '>=18'}
@@ -2097,6 +2130,12 @@ packages:
cpu: [x64]
os: [darwin]
+ '@esbuild/darwin-x64@0.23.1':
+ resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
'@esbuild/darwin-x64@0.24.0':
resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==}
engines: {node: '>=18'}
@@ -2115,6 +2154,12 @@ packages:
cpu: [arm64]
os: [freebsd]
+ '@esbuild/freebsd-arm64@0.23.1':
+ resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
'@esbuild/freebsd-arm64@0.24.0':
resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==}
engines: {node: '>=18'}
@@ -2133,6 +2178,12 @@ packages:
cpu: [x64]
os: [freebsd]
+ '@esbuild/freebsd-x64@0.23.1':
+ resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
'@esbuild/freebsd-x64@0.24.0':
resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==}
engines: {node: '>=18'}
@@ -2151,6 +2202,12 @@ packages:
cpu: [arm64]
os: [linux]
+ '@esbuild/linux-arm64@0.23.1':
+ resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
'@esbuild/linux-arm64@0.24.0':
resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==}
engines: {node: '>=18'}
@@ -2169,6 +2226,12 @@ packages:
cpu: [arm]
os: [linux]
+ '@esbuild/linux-arm@0.23.1':
+ resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
'@esbuild/linux-arm@0.24.0':
resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==}
engines: {node: '>=18'}
@@ -2187,6 +2250,12 @@ packages:
cpu: [ia32]
os: [linux]
+ '@esbuild/linux-ia32@0.23.1':
+ resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
'@esbuild/linux-ia32@0.24.0':
resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==}
engines: {node: '>=18'}
@@ -2205,6 +2274,12 @@ packages:
cpu: [loong64]
os: [linux]
+ '@esbuild/linux-loong64@0.23.1':
+ resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
'@esbuild/linux-loong64@0.24.0':
resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==}
engines: {node: '>=18'}
@@ -2223,6 +2298,12 @@ packages:
cpu: [mips64el]
os: [linux]
+ '@esbuild/linux-mips64el@0.23.1':
+ resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
'@esbuild/linux-mips64el@0.24.0':
resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==}
engines: {node: '>=18'}
@@ -2241,6 +2322,12 @@ packages:
cpu: [ppc64]
os: [linux]
+ '@esbuild/linux-ppc64@0.23.1':
+ resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
'@esbuild/linux-ppc64@0.24.0':
resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==}
engines: {node: '>=18'}
@@ -2259,6 +2346,12 @@ packages:
cpu: [riscv64]
os: [linux]
+ '@esbuild/linux-riscv64@0.23.1':
+ resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
'@esbuild/linux-riscv64@0.24.0':
resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==}
engines: {node: '>=18'}
@@ -2277,6 +2370,12 @@ packages:
cpu: [s390x]
os: [linux]
+ '@esbuild/linux-s390x@0.23.1':
+ resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
'@esbuild/linux-s390x@0.24.0':
resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==}
engines: {node: '>=18'}
@@ -2295,6 +2394,12 @@ packages:
cpu: [x64]
os: [linux]
+ '@esbuild/linux-x64@0.23.1':
+ resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
'@esbuild/linux-x64@0.24.0':
resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==}
engines: {node: '>=18'}
@@ -2313,12 +2418,24 @@ packages:
cpu: [x64]
os: [netbsd]
+ '@esbuild/netbsd-x64@0.23.1':
+ resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
'@esbuild/netbsd-x64@0.24.0':
resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
+ '@esbuild/openbsd-arm64@0.23.1':
+ resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
'@esbuild/openbsd-arm64@0.24.0':
resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==}
engines: {node: '>=18'}
@@ -2337,6 +2454,12 @@ packages:
cpu: [x64]
os: [openbsd]
+ '@esbuild/openbsd-x64@0.23.1':
+ resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
'@esbuild/openbsd-x64@0.24.0':
resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==}
engines: {node: '>=18'}
@@ -2355,6 +2478,12 @@ packages:
cpu: [x64]
os: [sunos]
+ '@esbuild/sunos-x64@0.23.1':
+ resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
'@esbuild/sunos-x64@0.24.0':
resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==}
engines: {node: '>=18'}
@@ -2373,6 +2502,12 @@ packages:
cpu: [arm64]
os: [win32]
+ '@esbuild/win32-arm64@0.23.1':
+ resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
'@esbuild/win32-arm64@0.24.0':
resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==}
engines: {node: '>=18'}
@@ -2391,6 +2526,12 @@ packages:
cpu: [ia32]
os: [win32]
+ '@esbuild/win32-ia32@0.23.1':
+ resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
'@esbuild/win32-ia32@0.24.0':
resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==}
engines: {node: '>=18'}
@@ -2409,6 +2550,12 @@ packages:
cpu: [x64]
os: [win32]
+ '@esbuild/win32-x64@0.23.1':
+ resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
'@esbuild/win32-x64@0.24.0':
resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==}
engines: {node: '>=18'}
@@ -6291,6 +6438,11 @@ packages:
engines: {node: '>=12'}
hasBin: true
+ esbuild@0.23.1:
+ resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==}
+ engines: {node: '>=18'}
+ hasBin: true
+
esbuild@0.24.0:
resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==}
engines: {node: '>=18'}
@@ -6859,6 +7011,9 @@ packages:
resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
engines: {node: '>= 0.4'}
+ get-tsconfig@4.10.0:
+ resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==}
+
get-tsconfig@4.7.2:
resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
@@ -10457,6 +10612,11 @@ packages:
tslib@2.7.0:
resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
+ tsx@4.19.2:
+ resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==}
+ engines: {node: '>=18.0.0'}
+ hasBin: true
+
tsx@4.4.0:
resolution: {integrity: sha512-4fwcEjRUxW20ciSaMB8zkpGwCPxuRGnadDuj/pBk5S9uT29zvWz15PK36GrKJo45mSJomDxVejZ73c6lr3811Q==}
engines: {node: '>=18.0.0'}
@@ -12197,6 +12357,9 @@ snapshots:
'@esbuild/aix-ppc64@0.21.5':
optional: true
+ '@esbuild/aix-ppc64@0.23.1':
+ optional: true
+
'@esbuild/aix-ppc64@0.24.0':
optional: true
@@ -12206,6 +12369,9 @@ snapshots:
'@esbuild/android-arm64@0.21.5':
optional: true
+ '@esbuild/android-arm64@0.23.1':
+ optional: true
+
'@esbuild/android-arm64@0.24.0':
optional: true
@@ -12215,6 +12381,9 @@ snapshots:
'@esbuild/android-arm@0.21.5':
optional: true
+ '@esbuild/android-arm@0.23.1':
+ optional: true
+
'@esbuild/android-arm@0.24.0':
optional: true
@@ -12224,6 +12393,9 @@ snapshots:
'@esbuild/android-x64@0.21.5':
optional: true
+ '@esbuild/android-x64@0.23.1':
+ optional: true
+
'@esbuild/android-x64@0.24.0':
optional: true
@@ -12233,6 +12405,9 @@ snapshots:
'@esbuild/darwin-arm64@0.21.5':
optional: true
+ '@esbuild/darwin-arm64@0.23.1':
+ optional: true
+
'@esbuild/darwin-arm64@0.24.0':
optional: true
@@ -12242,6 +12417,9 @@ snapshots:
'@esbuild/darwin-x64@0.21.5':
optional: true
+ '@esbuild/darwin-x64@0.23.1':
+ optional: true
+
'@esbuild/darwin-x64@0.24.0':
optional: true
@@ -12251,6 +12429,9 @@ snapshots:
'@esbuild/freebsd-arm64@0.21.5':
optional: true
+ '@esbuild/freebsd-arm64@0.23.1':
+ optional: true
+
'@esbuild/freebsd-arm64@0.24.0':
optional: true
@@ -12260,6 +12441,9 @@ snapshots:
'@esbuild/freebsd-x64@0.21.5':
optional: true
+ '@esbuild/freebsd-x64@0.23.1':
+ optional: true
+
'@esbuild/freebsd-x64@0.24.0':
optional: true
@@ -12269,6 +12453,9 @@ snapshots:
'@esbuild/linux-arm64@0.21.5':
optional: true
+ '@esbuild/linux-arm64@0.23.1':
+ optional: true
+
'@esbuild/linux-arm64@0.24.0':
optional: true
@@ -12278,6 +12465,9 @@ snapshots:
'@esbuild/linux-arm@0.21.5':
optional: true
+ '@esbuild/linux-arm@0.23.1':
+ optional: true
+
'@esbuild/linux-arm@0.24.0':
optional: true
@@ -12287,6 +12477,9 @@ snapshots:
'@esbuild/linux-ia32@0.21.5':
optional: true
+ '@esbuild/linux-ia32@0.23.1':
+ optional: true
+
'@esbuild/linux-ia32@0.24.0':
optional: true
@@ -12296,6 +12489,9 @@ snapshots:
'@esbuild/linux-loong64@0.21.5':
optional: true
+ '@esbuild/linux-loong64@0.23.1':
+ optional: true
+
'@esbuild/linux-loong64@0.24.0':
optional: true
@@ -12305,6 +12501,9 @@ snapshots:
'@esbuild/linux-mips64el@0.21.5':
optional: true
+ '@esbuild/linux-mips64el@0.23.1':
+ optional: true
+
'@esbuild/linux-mips64el@0.24.0':
optional: true
@@ -12314,6 +12513,9 @@ snapshots:
'@esbuild/linux-ppc64@0.21.5':
optional: true
+ '@esbuild/linux-ppc64@0.23.1':
+ optional: true
+
'@esbuild/linux-ppc64@0.24.0':
optional: true
@@ -12323,6 +12525,9 @@ snapshots:
'@esbuild/linux-riscv64@0.21.5':
optional: true
+ '@esbuild/linux-riscv64@0.23.1':
+ optional: true
+
'@esbuild/linux-riscv64@0.24.0':
optional: true
@@ -12332,6 +12537,9 @@ snapshots:
'@esbuild/linux-s390x@0.21.5':
optional: true
+ '@esbuild/linux-s390x@0.23.1':
+ optional: true
+
'@esbuild/linux-s390x@0.24.0':
optional: true
@@ -12341,6 +12549,9 @@ snapshots:
'@esbuild/linux-x64@0.21.5':
optional: true
+ '@esbuild/linux-x64@0.23.1':
+ optional: true
+
'@esbuild/linux-x64@0.24.0':
optional: true
@@ -12350,9 +12561,15 @@ snapshots:
'@esbuild/netbsd-x64@0.21.5':
optional: true
+ '@esbuild/netbsd-x64@0.23.1':
+ optional: true
+
'@esbuild/netbsd-x64@0.24.0':
optional: true
+ '@esbuild/openbsd-arm64@0.23.1':
+ optional: true
+
'@esbuild/openbsd-arm64@0.24.0':
optional: true
@@ -12362,6 +12579,9 @@ snapshots:
'@esbuild/openbsd-x64@0.21.5':
optional: true
+ '@esbuild/openbsd-x64@0.23.1':
+ optional: true
+
'@esbuild/openbsd-x64@0.24.0':
optional: true
@@ -12371,6 +12591,9 @@ snapshots:
'@esbuild/sunos-x64@0.21.5':
optional: true
+ '@esbuild/sunos-x64@0.23.1':
+ optional: true
+
'@esbuild/sunos-x64@0.24.0':
optional: true
@@ -12380,6 +12603,9 @@ snapshots:
'@esbuild/win32-arm64@0.21.5':
optional: true
+ '@esbuild/win32-arm64@0.23.1':
+ optional: true
+
'@esbuild/win32-arm64@0.24.0':
optional: true
@@ -12389,6 +12615,9 @@ snapshots:
'@esbuild/win32-ia32@0.21.5':
optional: true
+ '@esbuild/win32-ia32@0.23.1':
+ optional: true
+
'@esbuild/win32-ia32@0.24.0':
optional: true
@@ -12398,6 +12627,9 @@ snapshots:
'@esbuild/win32-x64@0.21.5':
optional: true
+ '@esbuild/win32-x64@0.23.1':
+ optional: true
+
'@esbuild/win32-x64@0.24.0':
optional: true
@@ -17242,6 +17474,33 @@ snapshots:
'@esbuild/win32-ia32': 0.21.5
'@esbuild/win32-x64': 0.21.5
+ esbuild@0.23.1:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.23.1
+ '@esbuild/android-arm': 0.23.1
+ '@esbuild/android-arm64': 0.23.1
+ '@esbuild/android-x64': 0.23.1
+ '@esbuild/darwin-arm64': 0.23.1
+ '@esbuild/darwin-x64': 0.23.1
+ '@esbuild/freebsd-arm64': 0.23.1
+ '@esbuild/freebsd-x64': 0.23.1
+ '@esbuild/linux-arm': 0.23.1
+ '@esbuild/linux-arm64': 0.23.1
+ '@esbuild/linux-ia32': 0.23.1
+ '@esbuild/linux-loong64': 0.23.1
+ '@esbuild/linux-mips64el': 0.23.1
+ '@esbuild/linux-ppc64': 0.23.1
+ '@esbuild/linux-riscv64': 0.23.1
+ '@esbuild/linux-s390x': 0.23.1
+ '@esbuild/linux-x64': 0.23.1
+ '@esbuild/netbsd-x64': 0.23.1
+ '@esbuild/openbsd-arm64': 0.23.1
+ '@esbuild/openbsd-x64': 0.23.1
+ '@esbuild/sunos-x64': 0.23.1
+ '@esbuild/win32-arm64': 0.23.1
+ '@esbuild/win32-ia32': 0.23.1
+ '@esbuild/win32-x64': 0.23.1
+
esbuild@0.24.0:
optionalDependencies:
'@esbuild/aix-ppc64': 0.24.0
@@ -18023,6 +18282,10 @@ snapshots:
es-errors: 1.3.0
get-intrinsic: 1.2.4
+ get-tsconfig@4.10.0:
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+
get-tsconfig@4.7.2:
dependencies:
resolve-pkg-maps: 1.0.0
@@ -22171,6 +22434,13 @@ snapshots:
tslib@2.7.0: {}
+ tsx@4.19.2:
+ dependencies:
+ esbuild: 0.23.1
+ get-tsconfig: 4.10.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
tsx@4.4.0:
dependencies:
esbuild: 0.18.20
From 9ad37e5663e653755d62d779cfd6238eb467e5b5 Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sat, 25 Jan 2025 16:34:35 +0900
Subject: [PATCH 05/14] fix
---
package.json | 3 +-
packages/icons-subsetter/package.json | 5 +-
pnpm-lock.yaml | 509 ++++++++++++--------------
3 files changed, 231 insertions(+), 286 deletions(-)
diff --git a/package.json b/package.json
index 853c3bb7c4e4..ace763fcf8d2 100644
--- a/package.json
+++ b/package.json
@@ -62,8 +62,7 @@
"terser": "5.36.0",
"typescript": "5.6.3",
"esbuild": "0.24.0",
- "glob": "11.0.0",
- "tsx": "4.19.2"
+ "glob": "11.0.0"
},
"devDependencies": {
"@misskey-dev/eslint-plugin": "2.0.3",
diff --git a/packages/icons-subsetter/package.json b/packages/icons-subsetter/package.json
index 1abcc04d2968..fae113195140 100644
--- a/packages/icons-subsetter/package.json
+++ b/packages/icons-subsetter/package.json
@@ -9,10 +9,13 @@
"lint": "eslint"
},
"devDependencies": {
- "@tabler/icons-webfont": "https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz",
"@types/node": "22.9.0",
"@typescript-eslint/eslint-plugin": "7.17.0",
"@typescript-eslint/parser": "7.17.0",
+ "eslint": "8.0.0"
+ },
+ "dependencies": {
+ "@tabler/icons-webfont": "https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz",
"harfbuzzjs": "0.4.4",
"tiny-glob": "^0.2.9",
"tsx": "4.4.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2045c5fe8472..79e5880a3658 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -42,9 +42,6 @@ importers:
terser:
specifier: 5.36.0
version: 5.36.0
- tsx:
- specifier: 4.19.2
- version: 4.19.2
typescript:
specifier: 5.6.3
version: 5.6.3
@@ -1254,19 +1251,10 @@ importers:
version: 9.4.3(eslint@9.14.0)
packages/icons-subsetter:
- devDependencies:
+ dependencies:
'@tabler/icons-webfont':
specifier: https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz
version: https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz
- '@types/node':
- specifier: 22.9.0
- version: 22.9.0
- '@typescript-eslint/eslint-plugin':
- specifier: 7.17.0
- version: 7.17.0(@typescript-eslint/parser@7.17.0(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3)
- '@typescript-eslint/parser':
- specifier: 7.17.0
- version: 7.17.0(eslint@9.14.0)(typescript@5.6.3)
harfbuzzjs:
specifier: 0.4.4
version: 0.4.4
@@ -1282,6 +1270,19 @@ importers:
wasm-ttf2woff:
specifier: 1.0.0
version: 1.0.0
+ devDependencies:
+ '@types/node':
+ specifier: 22.9.0
+ version: 22.9.0
+ '@typescript-eslint/eslint-plugin':
+ specifier: 7.17.0
+ version: 7.17.0(@typescript-eslint/parser@7.17.0(eslint@8.0.0)(typescript@5.6.3))(eslint@8.0.0)(typescript@5.6.3)
+ '@typescript-eslint/parser':
+ specifier: 7.17.0
+ version: 7.17.0(eslint@8.0.0)(typescript@5.6.3)
+ eslint:
+ specifier: 8.0.0
+ version: 8.0.0
packages/misskey-bubble-game:
dependencies:
@@ -2010,12 +2011,6 @@ packages:
cpu: [ppc64]
os: [aix]
- '@esbuild/aix-ppc64@0.23.1':
- resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
'@esbuild/aix-ppc64@0.24.0':
resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==}
engines: {node: '>=18'}
@@ -2034,12 +2029,6 @@ packages:
cpu: [arm64]
os: [android]
- '@esbuild/android-arm64@0.23.1':
- resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
'@esbuild/android-arm64@0.24.0':
resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==}
engines: {node: '>=18'}
@@ -2058,12 +2047,6 @@ packages:
cpu: [arm]
os: [android]
- '@esbuild/android-arm@0.23.1':
- resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
'@esbuild/android-arm@0.24.0':
resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==}
engines: {node: '>=18'}
@@ -2082,12 +2065,6 @@ packages:
cpu: [x64]
os: [android]
- '@esbuild/android-x64@0.23.1':
- resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
'@esbuild/android-x64@0.24.0':
resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==}
engines: {node: '>=18'}
@@ -2106,12 +2083,6 @@ packages:
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-arm64@0.23.1':
- resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
'@esbuild/darwin-arm64@0.24.0':
resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==}
engines: {node: '>=18'}
@@ -2130,12 +2101,6 @@ packages:
cpu: [x64]
os: [darwin]
- '@esbuild/darwin-x64@0.23.1':
- resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
'@esbuild/darwin-x64@0.24.0':
resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==}
engines: {node: '>=18'}
@@ -2154,12 +2119,6 @@ packages:
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-arm64@0.23.1':
- resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
'@esbuild/freebsd-arm64@0.24.0':
resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==}
engines: {node: '>=18'}
@@ -2178,12 +2137,6 @@ packages:
cpu: [x64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.23.1':
- resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
'@esbuild/freebsd-x64@0.24.0':
resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==}
engines: {node: '>=18'}
@@ -2202,12 +2155,6 @@ packages:
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm64@0.23.1':
- resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
'@esbuild/linux-arm64@0.24.0':
resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==}
engines: {node: '>=18'}
@@ -2226,12 +2173,6 @@ packages:
cpu: [arm]
os: [linux]
- '@esbuild/linux-arm@0.23.1':
- resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
'@esbuild/linux-arm@0.24.0':
resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==}
engines: {node: '>=18'}
@@ -2250,12 +2191,6 @@ packages:
cpu: [ia32]
os: [linux]
- '@esbuild/linux-ia32@0.23.1':
- resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
'@esbuild/linux-ia32@0.24.0':
resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==}
engines: {node: '>=18'}
@@ -2274,12 +2209,6 @@ packages:
cpu: [loong64]
os: [linux]
- '@esbuild/linux-loong64@0.23.1':
- resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
'@esbuild/linux-loong64@0.24.0':
resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==}
engines: {node: '>=18'}
@@ -2298,12 +2227,6 @@ packages:
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-mips64el@0.23.1':
- resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
'@esbuild/linux-mips64el@0.24.0':
resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==}
engines: {node: '>=18'}
@@ -2322,12 +2245,6 @@ packages:
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-ppc64@0.23.1':
- resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
'@esbuild/linux-ppc64@0.24.0':
resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==}
engines: {node: '>=18'}
@@ -2346,12 +2263,6 @@ packages:
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-riscv64@0.23.1':
- resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
'@esbuild/linux-riscv64@0.24.0':
resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==}
engines: {node: '>=18'}
@@ -2370,12 +2281,6 @@ packages:
cpu: [s390x]
os: [linux]
- '@esbuild/linux-s390x@0.23.1':
- resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
'@esbuild/linux-s390x@0.24.0':
resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==}
engines: {node: '>=18'}
@@ -2394,12 +2299,6 @@ packages:
cpu: [x64]
os: [linux]
- '@esbuild/linux-x64@0.23.1':
- resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
'@esbuild/linux-x64@0.24.0':
resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==}
engines: {node: '>=18'}
@@ -2418,24 +2317,12 @@ packages:
cpu: [x64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.23.1':
- resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
'@esbuild/netbsd-x64@0.24.0':
resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-arm64@0.23.1':
- resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
'@esbuild/openbsd-arm64@0.24.0':
resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==}
engines: {node: '>=18'}
@@ -2454,12 +2341,6 @@ packages:
cpu: [x64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.23.1':
- resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
'@esbuild/openbsd-x64@0.24.0':
resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==}
engines: {node: '>=18'}
@@ -2478,12 +2359,6 @@ packages:
cpu: [x64]
os: [sunos]
- '@esbuild/sunos-x64@0.23.1':
- resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
'@esbuild/sunos-x64@0.24.0':
resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==}
engines: {node: '>=18'}
@@ -2502,12 +2377,6 @@ packages:
cpu: [arm64]
os: [win32]
- '@esbuild/win32-arm64@0.23.1':
- resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
'@esbuild/win32-arm64@0.24.0':
resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==}
engines: {node: '>=18'}
@@ -2526,12 +2395,6 @@ packages:
cpu: [ia32]
os: [win32]
- '@esbuild/win32-ia32@0.23.1':
- resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
'@esbuild/win32-ia32@0.24.0':
resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==}
engines: {node: '>=18'}
@@ -2550,12 +2413,6 @@ packages:
cpu: [x64]
os: [win32]
- '@esbuild/win32-x64@0.23.1':
- resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
'@esbuild/win32-x64@0.24.0':
resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==}
engines: {node: '>=18'}
@@ -2592,6 +2449,10 @@ packages:
resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/eslintrc@1.4.1':
+ resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
'@eslint/eslintrc@3.1.0':
resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -2696,6 +2557,11 @@ packages:
resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
engines: {node: '>=18.18.0'}
+ '@humanwhocodes/config-array@0.6.0':
+ resolution: {integrity: sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==}
+ engines: {node: '>=10.10.0'}
+ deprecated: Use @eslint/config-array instead
+
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
@@ -2704,6 +2570,10 @@ packages:
resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==}
engines: {node: '>=10.10.0'}
+ '@humanwhocodes/object-schema@1.2.1':
+ resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
+ deprecated: Use @eslint/object-schema instead
+
'@humanwhocodes/retry@0.3.0':
resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==}
engines: {node: '>=18.18'}
@@ -6438,11 +6308,6 @@ packages:
engines: {node: '>=12'}
hasBin: true
- esbuild@0.23.1:
- resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==}
- engines: {node: '>=18'}
- hasBin: true
-
esbuild@0.24.0:
resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==}
engines: {node: '>=18'}
@@ -6556,6 +6421,10 @@ packages:
eslint-rule-docs@1.1.235:
resolution: {integrity: sha512-+TQ+x4JdTnDoFEXXb3fDvfGOwnyNV7duH8fXWTPD1ieaBmB8omj7Gw/pMBBu4uI2uJCCU8APDaQJzWuXnTsH4A==}
+ eslint-scope@6.0.0:
+ resolution: {integrity: sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
eslint-scope@7.2.2:
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -6564,6 +6433,16 @@ packages:
resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ eslint-utils@3.0.0:
+ resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
+ engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
+ peerDependencies:
+ eslint: '>=5'
+
+ eslint-visitor-keys@2.1.0:
+ resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
+ engines: {node: '>=10'}
+
eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -6572,6 +6451,12 @@ packages:
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ eslint@8.0.0:
+ resolution: {integrity: sha512-03spzPzMAO4pElm44m60Nj08nYonPGQXmw6Ceai/S4QK82IgwWO1EXx1s9namKzVlbVu3Jf81hb+N+8+v21/HQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
+ hasBin: true
+
eslint@9.14.0:
resolution: {integrity: sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -6787,6 +6672,10 @@ packages:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
engines: {node: '>=8'}
+ file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+
file-entry-cache@8.0.0:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
engines: {node: '>=16.0.0'}
@@ -6845,6 +6734,10 @@ packages:
resolution: {integrity: sha512-MdYSsbdCaIRjzo5edthZtWmEZVMfr1qrtYZUHIdO3swCE+CoZA8S5l0s4jDsYlTa9ZiXv0pTgpzE7s4N8NeUOA==}
engines: {node: '>=18'}
+ flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+
flat-cache@4.0.1:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
engines: {node: '>=16'}
@@ -6953,6 +6846,9 @@ packages:
resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
engines: {node: '>= 0.4'}
+ functional-red-black-tree@1.0.1:
+ resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==}
+
functions-have-names@1.2.3:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
@@ -7011,9 +6907,6 @@ packages:
resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
engines: {node: '>= 0.4'}
- get-tsconfig@4.10.0:
- resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==}
-
get-tsconfig@4.7.2:
resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
@@ -7335,6 +7228,10 @@ packages:
resolution: {integrity: sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ ignore@4.0.6:
+ resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==}
+ engines: {node: '>= 4'}
+
ignore@5.2.4:
resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
engines: {node: '>= 4'}
@@ -9687,6 +9584,10 @@ packages:
resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
engines: {node: '>= 0.4'}
+ regexpp@3.2.0:
+ resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
+ engines: {node: '>=8'}
+
remark-gfm@4.0.0:
resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
@@ -10612,11 +10513,6 @@ packages:
tslib@2.7.0:
resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
- tsx@4.19.2:
- resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==}
- engines: {node: '>=18.0.0'}
- hasBin: true
-
tsx@4.4.0:
resolution: {integrity: sha512-4fwcEjRUxW20ciSaMB8zkpGwCPxuRGnadDuj/pBk5S9uT29zvWz15PK36GrKJo45mSJomDxVejZ73c6lr3811Q==}
engines: {node: '>=18.0.0'}
@@ -10908,6 +10804,9 @@ packages:
'@vue/composition-api':
optional: true
+ v8-compile-cache@2.4.0:
+ resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==}
+
v8-to-istanbul@9.2.0:
resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==}
engines: {node: '>=10.12.0'}
@@ -12357,9 +12256,6 @@ snapshots:
'@esbuild/aix-ppc64@0.21.5':
optional: true
- '@esbuild/aix-ppc64@0.23.1':
- optional: true
-
'@esbuild/aix-ppc64@0.24.0':
optional: true
@@ -12369,9 +12265,6 @@ snapshots:
'@esbuild/android-arm64@0.21.5':
optional: true
- '@esbuild/android-arm64@0.23.1':
- optional: true
-
'@esbuild/android-arm64@0.24.0':
optional: true
@@ -12381,9 +12274,6 @@ snapshots:
'@esbuild/android-arm@0.21.5':
optional: true
- '@esbuild/android-arm@0.23.1':
- optional: true
-
'@esbuild/android-arm@0.24.0':
optional: true
@@ -12393,9 +12283,6 @@ snapshots:
'@esbuild/android-x64@0.21.5':
optional: true
- '@esbuild/android-x64@0.23.1':
- optional: true
-
'@esbuild/android-x64@0.24.0':
optional: true
@@ -12405,9 +12292,6 @@ snapshots:
'@esbuild/darwin-arm64@0.21.5':
optional: true
- '@esbuild/darwin-arm64@0.23.1':
- optional: true
-
'@esbuild/darwin-arm64@0.24.0':
optional: true
@@ -12417,9 +12301,6 @@ snapshots:
'@esbuild/darwin-x64@0.21.5':
optional: true
- '@esbuild/darwin-x64@0.23.1':
- optional: true
-
'@esbuild/darwin-x64@0.24.0':
optional: true
@@ -12429,9 +12310,6 @@ snapshots:
'@esbuild/freebsd-arm64@0.21.5':
optional: true
- '@esbuild/freebsd-arm64@0.23.1':
- optional: true
-
'@esbuild/freebsd-arm64@0.24.0':
optional: true
@@ -12441,9 +12319,6 @@ snapshots:
'@esbuild/freebsd-x64@0.21.5':
optional: true
- '@esbuild/freebsd-x64@0.23.1':
- optional: true
-
'@esbuild/freebsd-x64@0.24.0':
optional: true
@@ -12453,9 +12328,6 @@ snapshots:
'@esbuild/linux-arm64@0.21.5':
optional: true
- '@esbuild/linux-arm64@0.23.1':
- optional: true
-
'@esbuild/linux-arm64@0.24.0':
optional: true
@@ -12465,9 +12337,6 @@ snapshots:
'@esbuild/linux-arm@0.21.5':
optional: true
- '@esbuild/linux-arm@0.23.1':
- optional: true
-
'@esbuild/linux-arm@0.24.0':
optional: true
@@ -12477,9 +12346,6 @@ snapshots:
'@esbuild/linux-ia32@0.21.5':
optional: true
- '@esbuild/linux-ia32@0.23.1':
- optional: true
-
'@esbuild/linux-ia32@0.24.0':
optional: true
@@ -12489,9 +12355,6 @@ snapshots:
'@esbuild/linux-loong64@0.21.5':
optional: true
- '@esbuild/linux-loong64@0.23.1':
- optional: true
-
'@esbuild/linux-loong64@0.24.0':
optional: true
@@ -12501,9 +12364,6 @@ snapshots:
'@esbuild/linux-mips64el@0.21.5':
optional: true
- '@esbuild/linux-mips64el@0.23.1':
- optional: true
-
'@esbuild/linux-mips64el@0.24.0':
optional: true
@@ -12513,9 +12373,6 @@ snapshots:
'@esbuild/linux-ppc64@0.21.5':
optional: true
- '@esbuild/linux-ppc64@0.23.1':
- optional: true
-
'@esbuild/linux-ppc64@0.24.0':
optional: true
@@ -12525,9 +12382,6 @@ snapshots:
'@esbuild/linux-riscv64@0.21.5':
optional: true
- '@esbuild/linux-riscv64@0.23.1':
- optional: true
-
'@esbuild/linux-riscv64@0.24.0':
optional: true
@@ -12537,9 +12391,6 @@ snapshots:
'@esbuild/linux-s390x@0.21.5':
optional: true
- '@esbuild/linux-s390x@0.23.1':
- optional: true
-
'@esbuild/linux-s390x@0.24.0':
optional: true
@@ -12549,9 +12400,6 @@ snapshots:
'@esbuild/linux-x64@0.21.5':
optional: true
- '@esbuild/linux-x64@0.23.1':
- optional: true
-
'@esbuild/linux-x64@0.24.0':
optional: true
@@ -12561,15 +12409,9 @@ snapshots:
'@esbuild/netbsd-x64@0.21.5':
optional: true
- '@esbuild/netbsd-x64@0.23.1':
- optional: true
-
'@esbuild/netbsd-x64@0.24.0':
optional: true
- '@esbuild/openbsd-arm64@0.23.1':
- optional: true
-
'@esbuild/openbsd-arm64@0.24.0':
optional: true
@@ -12579,9 +12421,6 @@ snapshots:
'@esbuild/openbsd-x64@0.21.5':
optional: true
- '@esbuild/openbsd-x64@0.23.1':
- optional: true
-
'@esbuild/openbsd-x64@0.24.0':
optional: true
@@ -12591,9 +12430,6 @@ snapshots:
'@esbuild/sunos-x64@0.21.5':
optional: true
- '@esbuild/sunos-x64@0.23.1':
- optional: true
-
'@esbuild/sunos-x64@0.24.0':
optional: true
@@ -12603,9 +12439,6 @@ snapshots:
'@esbuild/win32-arm64@0.21.5':
optional: true
- '@esbuild/win32-arm64@0.23.1':
- optional: true
-
'@esbuild/win32-arm64@0.24.0':
optional: true
@@ -12615,9 +12448,6 @@ snapshots:
'@esbuild/win32-ia32@0.21.5':
optional: true
- '@esbuild/win32-ia32@0.23.1':
- optional: true
-
'@esbuild/win32-ia32@0.24.0':
optional: true
@@ -12627,12 +12457,14 @@ snapshots:
'@esbuild/win32-x64@0.21.5':
optional: true
- '@esbuild/win32-x64@0.23.1':
- optional: true
-
'@esbuild/win32-x64@0.24.0':
optional: true
+ '@eslint-community/eslint-utils@4.4.0(eslint@8.0.0)':
+ dependencies:
+ eslint: 8.0.0
+ eslint-visitor-keys: 3.4.3
+
'@eslint-community/eslint-utils@4.4.0(eslint@9.14.0)':
dependencies:
eslint: 9.14.0
@@ -12656,6 +12488,20 @@ snapshots:
'@eslint/core@0.7.0': {}
+ '@eslint/eslintrc@1.4.1':
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.7(supports-color@8.1.1)
+ espree: 9.6.1
+ globals: 13.24.0
+ ignore: 5.3.1
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
'@eslint/eslintrc@3.1.0':
dependencies:
ajv: 6.12.6
@@ -12805,10 +12651,20 @@ snapshots:
'@humanfs/core': 0.19.1
'@humanwhocodes/retry': 0.3.0
+ '@humanwhocodes/config-array@0.6.0':
+ dependencies:
+ '@humanwhocodes/object-schema': 1.2.1
+ debug: 4.3.7(supports-color@8.1.1)
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+
'@humanwhocodes/module-importer@1.0.1': {}
'@humanwhocodes/momoa@2.0.4': {}
+ '@humanwhocodes/object-schema@1.2.1': {}
+
'@humanwhocodes/retry@0.3.0': {}
'@humanwhocodes/retry@0.4.1': {}
@@ -15382,6 +15238,24 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/eslint-plugin@7.17.0(@typescript-eslint/parser@7.17.0(eslint@8.0.0)(typescript@5.6.3))(eslint@8.0.0)(typescript@5.6.3)':
+ dependencies:
+ '@eslint-community/regexpp': 4.11.0
+ '@typescript-eslint/parser': 7.17.0(eslint@8.0.0)(typescript@5.6.3)
+ '@typescript-eslint/scope-manager': 7.17.0
+ '@typescript-eslint/type-utils': 7.17.0(eslint@8.0.0)(typescript@5.6.3)
+ '@typescript-eslint/utils': 7.17.0(eslint@8.0.0)(typescript@5.6.3)
+ '@typescript-eslint/visitor-keys': 7.17.0
+ eslint: 8.0.0
+ graphemer: 1.4.0
+ ignore: 5.3.1
+ natural-compare: 1.4.0
+ ts-api-utils: 1.3.0(typescript@5.6.3)
+ optionalDependencies:
+ typescript: 5.6.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/eslint-plugin@7.17.0(@typescript-eslint/parser@7.17.0(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3)':
dependencies:
'@eslint-community/regexpp': 4.11.0
@@ -15413,6 +15287,19 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/parser@7.17.0(eslint@8.0.0)(typescript@5.6.3)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 7.17.0
+ '@typescript-eslint/types': 7.17.0
+ '@typescript-eslint/typescript-estree': 7.17.0(typescript@5.6.3)
+ '@typescript-eslint/visitor-keys': 7.17.0
+ debug: 4.3.5
+ eslint: 8.0.0
+ optionalDependencies:
+ typescript: 5.6.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/parser@7.17.0(eslint@9.14.0)(typescript@5.6.3)':
dependencies:
'@typescript-eslint/scope-manager': 7.17.0
@@ -15448,6 +15335,18 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/type-utils@7.17.0(eslint@8.0.0)(typescript@5.6.3)':
+ dependencies:
+ '@typescript-eslint/typescript-estree': 7.17.0(typescript@5.6.3)
+ '@typescript-eslint/utils': 7.17.0(eslint@8.0.0)(typescript@5.6.3)
+ debug: 4.3.7(supports-color@8.1.1)
+ eslint: 8.0.0
+ ts-api-utils: 1.3.0(typescript@5.6.3)
+ optionalDependencies:
+ typescript: 5.6.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/type-utils@7.17.0(eslint@9.14.0)(typescript@5.6.3)':
dependencies:
'@typescript-eslint/typescript-estree': 7.17.0(typescript@5.6.3)
@@ -15508,6 +15407,17 @@ snapshots:
- supports-color
- typescript
+ '@typescript-eslint/utils@7.17.0(eslint@8.0.0)(typescript@5.6.3)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.0.0)
+ '@typescript-eslint/scope-manager': 7.17.0
+ '@typescript-eslint/types': 7.17.0
+ '@typescript-eslint/typescript-estree': 7.17.0(typescript@5.6.3)
+ eslint: 8.0.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
'@typescript-eslint/utils@7.17.0(eslint@9.14.0)(typescript@5.6.3)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0)
@@ -17474,33 +17384,6 @@ snapshots:
'@esbuild/win32-ia32': 0.21.5
'@esbuild/win32-x64': 0.21.5
- esbuild@0.23.1:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.23.1
- '@esbuild/android-arm': 0.23.1
- '@esbuild/android-arm64': 0.23.1
- '@esbuild/android-x64': 0.23.1
- '@esbuild/darwin-arm64': 0.23.1
- '@esbuild/darwin-x64': 0.23.1
- '@esbuild/freebsd-arm64': 0.23.1
- '@esbuild/freebsd-x64': 0.23.1
- '@esbuild/linux-arm': 0.23.1
- '@esbuild/linux-arm64': 0.23.1
- '@esbuild/linux-ia32': 0.23.1
- '@esbuild/linux-loong64': 0.23.1
- '@esbuild/linux-mips64el': 0.23.1
- '@esbuild/linux-ppc64': 0.23.1
- '@esbuild/linux-riscv64': 0.23.1
- '@esbuild/linux-s390x': 0.23.1
- '@esbuild/linux-x64': 0.23.1
- '@esbuild/netbsd-x64': 0.23.1
- '@esbuild/openbsd-arm64': 0.23.1
- '@esbuild/openbsd-x64': 0.23.1
- '@esbuild/sunos-x64': 0.23.1
- '@esbuild/win32-arm64': 0.23.1
- '@esbuild/win32-ia32': 0.23.1
- '@esbuild/win32-x64': 0.23.1
-
esbuild@0.24.0:
optionalDependencies:
'@esbuild/aix-ppc64': 0.24.0
@@ -17656,6 +17539,11 @@ snapshots:
eslint-rule-docs@1.1.235: {}
+ eslint-scope@6.0.0:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
eslint-scope@7.2.2:
dependencies:
esrecurse: 4.3.0
@@ -17666,10 +17554,60 @@ snapshots:
esrecurse: 4.3.0
estraverse: 5.3.0
+ eslint-utils@3.0.0(eslint@8.0.0):
+ dependencies:
+ eslint: 8.0.0
+ eslint-visitor-keys: 2.1.0
+
+ eslint-visitor-keys@2.1.0: {}
+
eslint-visitor-keys@3.4.3: {}
eslint-visitor-keys@4.2.0: {}
+ eslint@8.0.0:
+ dependencies:
+ '@eslint/eslintrc': 1.4.1
+ '@humanwhocodes/config-array': 0.6.0
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.7(supports-color@8.1.1)
+ doctrine: 3.0.0
+ enquirer: 2.3.6
+ escape-string-regexp: 4.0.0
+ eslint-scope: 6.0.0
+ eslint-utils: 3.0.0(eslint@8.0.0)
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ esquery: 1.6.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ functional-red-black-tree: 1.0.1
+ glob-parent: 6.0.2
+ globals: 13.24.0
+ ignore: 4.0.6
+ import-fresh: 3.3.0
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ js-yaml: 4.1.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.4
+ progress: 2.0.3
+ regexpp: 3.2.0
+ semver: 7.6.3
+ strip-ansi: 6.0.1
+ strip-json-comments: 3.1.1
+ text-table: 0.2.0
+ v8-compile-cache: 2.4.0
+ transitivePeerDependencies:
+ - supports-color
+
eslint@9.14.0:
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0)
@@ -18036,6 +17974,10 @@ snapshots:
dependencies:
escape-string-regexp: 1.0.5
+ file-entry-cache@6.0.1:
+ dependencies:
+ flat-cache: 3.2.0
+
file-entry-cache@8.0.0:
dependencies:
flat-cache: 4.0.1
@@ -18116,6 +18058,12 @@ snapshots:
ps-list: 8.1.1
taskkill: 5.0.0
+ flat-cache@3.2.0:
+ dependencies:
+ flatted: 3.3.1
+ keyv: 4.5.4
+ rimraf: 3.0.2
+
flat-cache@4.0.1:
dependencies:
flatted: 3.3.1
@@ -18218,6 +18166,8 @@ snapshots:
es-abstract: 1.23.3
functions-have-names: 1.2.3
+ functional-red-black-tree@1.0.1: {}
+
functions-have-names@1.2.3: {}
gauge@3.0.2:
@@ -18282,10 +18232,6 @@ snapshots:
es-errors: 1.3.0
get-intrinsic: 1.2.4
- get-tsconfig@4.10.0:
- dependencies:
- resolve-pkg-maps: 1.0.0
-
get-tsconfig@4.7.2:
dependencies:
resolve-pkg-maps: 1.0.0
@@ -18659,6 +18605,8 @@ snapshots:
dependencies:
minimatch: 9.0.4
+ ignore@4.0.6: {}
+
ignore@5.2.4: {}
ignore@5.3.1: {}
@@ -21103,8 +21051,7 @@ snapshots:
process@0.11.10: {}
- progress@2.0.3:
- optional: true
+ progress@2.0.3: {}
promise-limit@2.7.0: {}
@@ -21426,6 +21373,8 @@ snapshots:
es-errors: 1.3.0
set-function-name: 2.0.2
+ regexpp@3.2.0: {}
+
remark-gfm@4.0.0:
dependencies:
'@types/mdast': 4.0.3
@@ -21527,7 +21476,6 @@ snapshots:
rimraf@3.0.2:
dependencies:
glob: 7.2.3
- optional: true
rollup@4.26.0:
dependencies:
@@ -22434,13 +22382,6 @@ snapshots:
tslib@2.7.0: {}
- tsx@4.19.2:
- dependencies:
- esbuild: 0.23.1
- get-tsconfig: 4.10.0
- optionalDependencies:
- fsevents: 2.3.3
-
tsx@4.4.0:
dependencies:
esbuild: 0.18.20
@@ -22713,6 +22654,8 @@ snapshots:
vue: 3.5.12(typescript@5.6.3)
vue-demi: 0.14.7(vue@3.5.12(typescript@5.6.3))
+ v8-compile-cache@2.4.0: {}
+
v8-to-istanbul@9.2.0:
dependencies:
'@jridgewell/trace-mapping': 0.3.25
From 021fb1af97c3f2fedfd621bc532cc2516cb01ee3 Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sat, 25 Jan 2025 16:44:42 +0900
Subject: [PATCH 06/14] fix
---
packages/icons-subsetter/package.json | 7 +-
pnpm-lock.yaml | 222 +-------------------------
2 files changed, 9 insertions(+), 220 deletions(-)
diff --git a/packages/icons-subsetter/package.json b/packages/icons-subsetter/package.json
index fae113195140..aa583667be23 100644
--- a/packages/icons-subsetter/package.json
+++ b/packages/icons-subsetter/package.json
@@ -6,13 +6,14 @@
"type": "module",
"scripts": {
"build": "tsx src/generator.ts",
- "lint": "eslint"
+ "eslint": "eslint src/**/*.ts",
+ "typecheck": "tsc --noEmit",
+ "lint": "pnpm typecheck && pnpm eslint"
},
"devDependencies": {
"@types/node": "22.9.0",
"@typescript-eslint/eslint-plugin": "7.17.0",
- "@typescript-eslint/parser": "7.17.0",
- "eslint": "8.0.0"
+ "@typescript-eslint/parser": "7.17.0"
},
"dependencies": {
"@tabler/icons-webfont": "https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 79e5880a3658..fd1cb8577d92 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1276,13 +1276,10 @@ importers:
version: 22.9.0
'@typescript-eslint/eslint-plugin':
specifier: 7.17.0
- version: 7.17.0(@typescript-eslint/parser@7.17.0(eslint@8.0.0)(typescript@5.6.3))(eslint@8.0.0)(typescript@5.6.3)
+ version: 7.17.0(@typescript-eslint/parser@7.17.0(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3)
'@typescript-eslint/parser':
specifier: 7.17.0
- version: 7.17.0(eslint@8.0.0)(typescript@5.6.3)
- eslint:
- specifier: 8.0.0
- version: 8.0.0
+ version: 7.17.0(eslint@9.14.0)(typescript@5.6.3)
packages/misskey-bubble-game:
dependencies:
@@ -2449,10 +2446,6 @@ packages:
resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/eslintrc@1.4.1':
- resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
'@eslint/eslintrc@3.1.0':
resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -2557,11 +2550,6 @@ packages:
resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
engines: {node: '>=18.18.0'}
- '@humanwhocodes/config-array@0.6.0':
- resolution: {integrity: sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==}
- engines: {node: '>=10.10.0'}
- deprecated: Use @eslint/config-array instead
-
'@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
@@ -2570,10 +2558,6 @@ packages:
resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==}
engines: {node: '>=10.10.0'}
- '@humanwhocodes/object-schema@1.2.1':
- resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
- deprecated: Use @eslint/object-schema instead
-
'@humanwhocodes/retry@0.3.0':
resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==}
engines: {node: '>=18.18'}
@@ -6421,10 +6405,6 @@ packages:
eslint-rule-docs@1.1.235:
resolution: {integrity: sha512-+TQ+x4JdTnDoFEXXb3fDvfGOwnyNV7duH8fXWTPD1ieaBmB8omj7Gw/pMBBu4uI2uJCCU8APDaQJzWuXnTsH4A==}
- eslint-scope@6.0.0:
- resolution: {integrity: sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
eslint-scope@7.2.2:
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -6433,16 +6413,6 @@ packages:
resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint-utils@3.0.0:
- resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
- engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
- peerDependencies:
- eslint: '>=5'
-
- eslint-visitor-keys@2.1.0:
- resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
- engines: {node: '>=10'}
-
eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -6451,12 +6421,6 @@ packages:
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@8.0.0:
- resolution: {integrity: sha512-03spzPzMAO4pElm44m60Nj08nYonPGQXmw6Ceai/S4QK82IgwWO1EXx1s9namKzVlbVu3Jf81hb+N+8+v21/HQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
- hasBin: true
-
eslint@9.14.0:
resolution: {integrity: sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -6672,10 +6636,6 @@ packages:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
engines: {node: '>=8'}
- file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
-
file-entry-cache@8.0.0:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
engines: {node: '>=16.0.0'}
@@ -6734,10 +6694,6 @@ packages:
resolution: {integrity: sha512-MdYSsbdCaIRjzo5edthZtWmEZVMfr1qrtYZUHIdO3swCE+CoZA8S5l0s4jDsYlTa9ZiXv0pTgpzE7s4N8NeUOA==}
engines: {node: '>=18'}
- flat-cache@3.2.0:
- resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
- engines: {node: ^10.12.0 || >=12.0.0}
-
flat-cache@4.0.1:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
engines: {node: '>=16'}
@@ -6846,9 +6802,6 @@ packages:
resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
engines: {node: '>= 0.4'}
- functional-red-black-tree@1.0.1:
- resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==}
-
functions-have-names@1.2.3:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
@@ -7228,10 +7181,6 @@ packages:
resolution: {integrity: sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- ignore@4.0.6:
- resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==}
- engines: {node: '>= 4'}
-
ignore@5.2.4:
resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
engines: {node: '>= 4'}
@@ -9584,10 +9533,6 @@ packages:
resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
engines: {node: '>= 0.4'}
- regexpp@3.2.0:
- resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
- engines: {node: '>=8'}
-
remark-gfm@4.0.0:
resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
@@ -10804,9 +10749,6 @@ packages:
'@vue/composition-api':
optional: true
- v8-compile-cache@2.4.0:
- resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==}
-
v8-to-istanbul@9.2.0:
resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==}
engines: {node: '>=10.12.0'}
@@ -12460,11 +12402,6 @@ snapshots:
'@esbuild/win32-x64@0.24.0':
optional: true
- '@eslint-community/eslint-utils@4.4.0(eslint@8.0.0)':
- dependencies:
- eslint: 8.0.0
- eslint-visitor-keys: 3.4.3
-
'@eslint-community/eslint-utils@4.4.0(eslint@9.14.0)':
dependencies:
eslint: 9.14.0
@@ -12488,20 +12425,6 @@ snapshots:
'@eslint/core@0.7.0': {}
- '@eslint/eslintrc@1.4.1':
- dependencies:
- ajv: 6.12.6
- debug: 4.3.7(supports-color@8.1.1)
- espree: 9.6.1
- globals: 13.24.0
- ignore: 5.3.1
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
-
'@eslint/eslintrc@3.1.0':
dependencies:
ajv: 6.12.6
@@ -12651,20 +12574,10 @@ snapshots:
'@humanfs/core': 0.19.1
'@humanwhocodes/retry': 0.3.0
- '@humanwhocodes/config-array@0.6.0':
- dependencies:
- '@humanwhocodes/object-schema': 1.2.1
- debug: 4.3.7(supports-color@8.1.1)
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
-
'@humanwhocodes/module-importer@1.0.1': {}
'@humanwhocodes/momoa@2.0.4': {}
- '@humanwhocodes/object-schema@1.2.1': {}
-
'@humanwhocodes/retry@0.3.0': {}
'@humanwhocodes/retry@0.4.1': {}
@@ -15238,24 +15151,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/eslint-plugin@7.17.0(@typescript-eslint/parser@7.17.0(eslint@8.0.0)(typescript@5.6.3))(eslint@8.0.0)(typescript@5.6.3)':
- dependencies:
- '@eslint-community/regexpp': 4.11.0
- '@typescript-eslint/parser': 7.17.0(eslint@8.0.0)(typescript@5.6.3)
- '@typescript-eslint/scope-manager': 7.17.0
- '@typescript-eslint/type-utils': 7.17.0(eslint@8.0.0)(typescript@5.6.3)
- '@typescript-eslint/utils': 7.17.0(eslint@8.0.0)(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 7.17.0
- eslint: 8.0.0
- graphemer: 1.4.0
- ignore: 5.3.1
- natural-compare: 1.4.0
- ts-api-utils: 1.3.0(typescript@5.6.3)
- optionalDependencies:
- typescript: 5.6.3
- transitivePeerDependencies:
- - supports-color
-
'@typescript-eslint/eslint-plugin@7.17.0(@typescript-eslint/parser@7.17.0(eslint@9.14.0)(typescript@5.6.3))(eslint@9.14.0)(typescript@5.6.3)':
dependencies:
'@eslint-community/regexpp': 4.11.0
@@ -15287,19 +15182,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@7.17.0(eslint@8.0.0)(typescript@5.6.3)':
- dependencies:
- '@typescript-eslint/scope-manager': 7.17.0
- '@typescript-eslint/types': 7.17.0
- '@typescript-eslint/typescript-estree': 7.17.0(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 7.17.0
- debug: 4.3.5
- eslint: 8.0.0
- optionalDependencies:
- typescript: 5.6.3
- transitivePeerDependencies:
- - supports-color
-
'@typescript-eslint/parser@7.17.0(eslint@9.14.0)(typescript@5.6.3)':
dependencies:
'@typescript-eslint/scope-manager': 7.17.0
@@ -15335,18 +15217,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/type-utils@7.17.0(eslint@8.0.0)(typescript@5.6.3)':
- dependencies:
- '@typescript-eslint/typescript-estree': 7.17.0(typescript@5.6.3)
- '@typescript-eslint/utils': 7.17.0(eslint@8.0.0)(typescript@5.6.3)
- debug: 4.3.7(supports-color@8.1.1)
- eslint: 8.0.0
- ts-api-utils: 1.3.0(typescript@5.6.3)
- optionalDependencies:
- typescript: 5.6.3
- transitivePeerDependencies:
- - supports-color
-
'@typescript-eslint/type-utils@7.17.0(eslint@9.14.0)(typescript@5.6.3)':
dependencies:
'@typescript-eslint/typescript-estree': 7.17.0(typescript@5.6.3)
@@ -15407,17 +15277,6 @@ snapshots:
- supports-color
- typescript
- '@typescript-eslint/utils@7.17.0(eslint@8.0.0)(typescript@5.6.3)':
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.0.0)
- '@typescript-eslint/scope-manager': 7.17.0
- '@typescript-eslint/types': 7.17.0
- '@typescript-eslint/typescript-estree': 7.17.0(typescript@5.6.3)
- eslint: 8.0.0
- transitivePeerDependencies:
- - supports-color
- - typescript
-
'@typescript-eslint/utils@7.17.0(eslint@9.14.0)(typescript@5.6.3)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0)
@@ -17539,11 +17398,6 @@ snapshots:
eslint-rule-docs@1.1.235: {}
- eslint-scope@6.0.0:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
-
eslint-scope@7.2.2:
dependencies:
esrecurse: 4.3.0
@@ -17554,60 +17408,10 @@ snapshots:
esrecurse: 4.3.0
estraverse: 5.3.0
- eslint-utils@3.0.0(eslint@8.0.0):
- dependencies:
- eslint: 8.0.0
- eslint-visitor-keys: 2.1.0
-
- eslint-visitor-keys@2.1.0: {}
-
eslint-visitor-keys@3.4.3: {}
eslint-visitor-keys@4.2.0: {}
- eslint@8.0.0:
- dependencies:
- '@eslint/eslintrc': 1.4.1
- '@humanwhocodes/config-array': 0.6.0
- ajv: 6.12.6
- chalk: 4.1.2
- cross-spawn: 7.0.3
- debug: 4.3.7(supports-color@8.1.1)
- doctrine: 3.0.0
- enquirer: 2.3.6
- escape-string-regexp: 4.0.0
- eslint-scope: 6.0.0
- eslint-utils: 3.0.0(eslint@8.0.0)
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
- esquery: 1.6.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 6.0.1
- functional-red-black-tree: 1.0.1
- glob-parent: 6.0.2
- globals: 13.24.0
- ignore: 4.0.6
- import-fresh: 3.3.0
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- js-yaml: 4.1.0
- json-stable-stringify-without-jsonify: 1.0.1
- levn: 0.4.1
- lodash.merge: 4.6.2
- minimatch: 3.1.2
- natural-compare: 1.4.0
- optionator: 0.9.4
- progress: 2.0.3
- regexpp: 3.2.0
- semver: 7.6.3
- strip-ansi: 6.0.1
- strip-json-comments: 3.1.1
- text-table: 0.2.0
- v8-compile-cache: 2.4.0
- transitivePeerDependencies:
- - supports-color
-
eslint@9.14.0:
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0)
@@ -17974,10 +17778,6 @@ snapshots:
dependencies:
escape-string-regexp: 1.0.5
- file-entry-cache@6.0.1:
- dependencies:
- flat-cache: 3.2.0
-
file-entry-cache@8.0.0:
dependencies:
flat-cache: 4.0.1
@@ -18058,12 +17858,6 @@ snapshots:
ps-list: 8.1.1
taskkill: 5.0.0
- flat-cache@3.2.0:
- dependencies:
- flatted: 3.3.1
- keyv: 4.5.4
- rimraf: 3.0.2
-
flat-cache@4.0.1:
dependencies:
flatted: 3.3.1
@@ -18166,8 +17960,6 @@ snapshots:
es-abstract: 1.23.3
functions-have-names: 1.2.3
- functional-red-black-tree@1.0.1: {}
-
functions-have-names@1.2.3: {}
gauge@3.0.2:
@@ -18605,8 +18397,6 @@ snapshots:
dependencies:
minimatch: 9.0.4
- ignore@4.0.6: {}
-
ignore@5.2.4: {}
ignore@5.3.1: {}
@@ -21051,7 +20841,8 @@ snapshots:
process@0.11.10: {}
- progress@2.0.3: {}
+ progress@2.0.3:
+ optional: true
promise-limit@2.7.0: {}
@@ -21373,8 +21164,6 @@ snapshots:
es-errors: 1.3.0
set-function-name: 2.0.2
- regexpp@3.2.0: {}
-
remark-gfm@4.0.0:
dependencies:
'@types/mdast': 4.0.3
@@ -21476,6 +21265,7 @@ snapshots:
rimraf@3.0.2:
dependencies:
glob: 7.2.3
+ optional: true
rollup@4.26.0:
dependencies:
@@ -22654,8 +22444,6 @@ snapshots:
vue: 3.5.12(typescript@5.6.3)
vue-demi: 0.14.7(vue@3.5.12(typescript@5.6.3))
- v8-compile-cache@2.4.0: {}
-
v8-to-istanbul@9.2.0:
dependencies:
'@jridgewell/trace-mapping': 0.3.25
From 0d6d24dd1297674883484af437be8b2f4b57132d Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sat, 25 Jan 2025 16:50:53 +0900
Subject: [PATCH 07/14] Update Changelog
---
CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5b7ae082156f..27b6113f0ff2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -22,6 +22,7 @@
(Based on https://github.com/Otaku-Social/maniakey/pull/14)
- Enhance: AiScriptの拡張API関数において引数の型チェックをより厳格に
- Enhance: クエリパラメータでuiを一時的に変更できるように #15240
+- Enhance: UIのアイコンデータの読み込みを軽量化
- Fix: 画面サイズが変わった際にナビゲーションバーが自動で折りたたまれない問題を修正
- Fix: サーバー情報メニューに区切り線が不足していたのを修正
- Fix: ノートがログインしているユーザーしか見れない場合にログインダイアログを閉じるとその後の動線がなくなる問題を修正
From b254633abc9404c19a0be54f4f87c10d2f33b339 Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sat, 25 Jan 2025 17:12:09 +0900
Subject: [PATCH 08/14] =?UTF-8?q?enhance:=20tabler=E3=81=AECSS=E3=82=92?=
=?UTF-8?q?=E4=BD=BF=E7=94=A8=E3=81=95=E3=82=8C=E3=81=A6=E3=81=84=E3=82=8B?=
=?UTF-8?q?=E3=82=AF=E3=83=A9=E3=82=B9=E3=81=AE=E3=81=BF=E3=81=AB=E9=99=90?=
=?UTF-8?q?=E5=AE=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/frontend-embed/src/boot.ts | 1 -
packages/frontend/src/_boot_.ts | 1 -
packages/icons-subsetter/src/generator.ts | 15 +++++++++++----
3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/packages/frontend-embed/src/boot.ts b/packages/frontend-embed/src/boot.ts
index 1624df9132ec..459b283e2330 100644
--- a/packages/frontend-embed/src/boot.ts
+++ b/packages/frontend-embed/src/boot.ts
@@ -9,7 +9,6 @@ import 'vite/modulepreload-polyfill';
if (import.meta.env.DEV) {
await import('@tabler/icons-webfont/dist/tabler-icons.scss');
} else {
- await import('icons-subsetter/built/tabler-icons-classes.css');
await import('icons-subsetter/built/tabler-icons-frontendEmbed.css');
}
diff --git a/packages/frontend/src/_boot_.ts b/packages/frontend/src/_boot_.ts
index 1fd366f0c48a..aaed4e702e2f 100644
--- a/packages/frontend/src/_boot_.ts
+++ b/packages/frontend/src/_boot_.ts
@@ -9,7 +9,6 @@ import 'vite/modulepreload-polyfill';
if (import.meta.env.DEV) {
await import('@tabler/icons-webfont/dist/tabler-icons.scss');
} else {
- await import('icons-subsetter/built/tabler-icons-classes.css');
await import('icons-subsetter/built/tabler-icons-frontend.css');
}
diff --git a/packages/icons-subsetter/src/generator.ts b/packages/icons-subsetter/src/generator.ts
index 035b6f42a94a..e87df01d1d44 100644
--- a/packages/icons-subsetter/src/generator.ts
+++ b/packages/icons-subsetter/src/generator.ts
@@ -27,9 +27,8 @@ async function main() {
rgMap.set(matches[1], matches[2]);
}
- // 3. tabler-icons-classes.cssから、@font-faceを削除して書き出し
- const cssWithoutFontFace = css.replace(/@font-face\s*{[^}]*}/g, '');
- await fsp.writeFile('./built/tabler-icons-classes.css', cssWithoutFontFace);
+ // 3. tabler-icons-classes.cssから、.tiのルールを抽出
+ const classTiBaseRule = css.match(/\.ti\s*{[^}]*}/)![0];
// 4. フォールバック用のtabler-icons.woff2をコピー
const fontPath = 'node_modules/@tabler/icons-webfont/dist/fonts/';
@@ -110,9 +109,17 @@ async function main() {
src: url("./tabler-icons-${key}.woff2") format("woff2");
unicode-range: ${unicodeRangeString};
}`);
+
+ cssRules.push(classTiBaseRule);
+
+ // 使用されているアイコンのclassとの対応を追記
+ for (const icon of unicodeRangeValues.get(key)!) {
+ const iconClass = Array.from(rgMap.entries()).find(([_, unicode]) => parseInt(unicode, 16) === icon)![0];
+ cssRules.push(`.${iconClass}::before { content: "\\${icon.toString(16)}"; }`);
+ }
}
- await fsp.writeFile(`./built/tabler-icons-${key}.css`, cssRules.join('\n\n') + '\n');
+ await fsp.writeFile(`./built/tabler-icons-${key}.css`, cssRules.join('\n') + '\n');
}));
const end = performance.now();
From 8cbdf27d8a853342812e5abfffe03605fdca4858 Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sat, 25 Jan 2025 17:14:34 +0900
Subject: [PATCH 09/14] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E3=81=99=E3=82=8B?=
=?UTF-8?q?=E3=82=A2=E3=82=A4=E3=82=B3=E3=83=B3=E3=83=91=E3=83=83=E3=82=B1?=
=?UTF-8?q?=E3=83=BC=E3=82=B8=E3=82=92=E3=81=9D=E3=82=8D=E3=81=88=E3=82=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/frontend-embed/package.json | 2 +-
packages/frontend/package.json | 2 +-
pnpm-lock.yaml | 20 ++++----------------
3 files changed, 6 insertions(+), 18 deletions(-)
diff --git a/packages/frontend-embed/package.json b/packages/frontend-embed/package.json
index 2429c5efc4c5..2ece7b793db0 100644
--- a/packages/frontend-embed/package.json
+++ b/packages/frontend-embed/package.json
@@ -40,7 +40,7 @@
},
"devDependencies": {
"@misskey-dev/summaly": "5.1.0",
- "@tabler/icons-webfont": "3.3.0",
+ "@tabler/icons-webfont": "https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz",
"@testing-library/vue": "8.1.0",
"@types/estree": "1.0.6",
"@types/micromatch": "4.0.9",
diff --git a/packages/frontend/package.json b/packages/frontend/package.json
index 790f1abf0aa9..d4ae4943de93 100644
--- a/packages/frontend/package.json
+++ b/packages/frontend/package.json
@@ -95,7 +95,7 @@
"@storybook/types": "8.4.4",
"@storybook/vue3": "8.4.4",
"@storybook/vue3-vite": "8.4.4",
- "@tabler/icons-webfont": "3.3.0",
+ "@tabler/icons-webfont": "https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz",
"@testing-library/vue": "8.1.0",
"@types/canvas-confetti": "^1.6.4",
"@types/estree": "1.0.6",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index fd1cb8577d92..6275b166d17d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -915,8 +915,8 @@ importers:
specifier: 8.4.4
version: 8.4.4(storybook@8.4.4(bufferutil@4.0.8)(prettier@3.3.3)(utf-8-validate@6.0.4))(vite@5.4.11(@types/node@22.9.0)(sass@1.79.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))
'@tabler/icons-webfont':
- specifier: 3.3.0
- version: 3.3.0
+ specifier: https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz
+ version: https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz
'@testing-library/vue':
specifier: 8.1.0
version: 8.1.0(@vue/compiler-sfc@3.5.12)(@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))
@@ -1129,8 +1129,8 @@ importers:
specifier: 5.1.0
version: 5.1.0
'@tabler/icons-webfont':
- specifier: 3.3.0
- version: 3.3.0
+ specifier: https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz
+ version: https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz
'@testing-library/vue':
specifier: 8.1.0
version: 8.1.0(@vue/compiler-sfc@3.5.12)(@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))
@@ -4213,9 +4213,6 @@ packages:
resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
engines: {node: '>=14.16'}
- '@tabler/icons-webfont@3.3.0':
- resolution: {integrity: sha512-vMsxtwTXdC4QH4uDajZjBYThILEI0dP+Mn1s4XZkVtnJ793IF31i3596nYetWhAJnrED0UJ0HQWSbmqVxVQbxA==}
-
'@tabler/icons-webfont@https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz':
resolution: {tarball: https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz}
version: 3.29.0-mi.1913
@@ -4223,9 +4220,6 @@ packages:
'@tabler/icons@3.29.0':
resolution: {integrity: sha512-VWNINymdmhay3MDvWVREmRwuWLSrX3YiInKvs5L4AHRF4bAfJabLlEReE0BW/XFsBt22ff8/C8Eam/LXlF97mA==}
- '@tabler/icons@3.3.0':
- resolution: {integrity: sha512-PLVe9d7b59sKytbx00KgeGhQG3N176Ezv8YMmsnSz4s0ifDzMWlp/h2wEfQZ0ZNe8e377GY2OW6kovUe3Rnd0g==}
-
'@tensorflow/tfjs-backend-cpu@4.4.0':
resolution: {integrity: sha512-d4eln500/qNym78z9IrUUzF0ITBoJGLrxV8xd92kLVoXhg35Mm+zqUXShjFcrH8joOHOFuST0qZ0TbDDqcPzPA==}
engines: {yarn: '>= 1.3.2'}
@@ -14626,18 +14620,12 @@ snapshots:
dependencies:
defer-to-connect: 2.0.1
- '@tabler/icons-webfont@3.3.0':
- dependencies:
- '@tabler/icons': 3.3.0
-
'@tabler/icons-webfont@https://github.com/misskey-dev/tabler-icons/archive/refs/tags/3.29.0-mi.1913+5921534bc.tar.gz':
dependencies:
'@tabler/icons': 3.29.0
'@tabler/icons@3.29.0': {}
- '@tabler/icons@3.3.0': {}
-
'@tensorflow/tfjs-backend-cpu@4.4.0(@tensorflow/tfjs-core@4.4.0(encoding@0.1.13))':
dependencies:
'@tensorflow/tfjs-core': 4.4.0(encoding@0.1.13)
From 68d2ef071e9ef853f215b874dc9db321afb99454 Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sat, 25 Jan 2025 17:25:27 +0900
Subject: [PATCH 10/14] Update CONTRIBUTING.md
---
CONTRIBUTING.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 1c777259d28d..936fcb055b0a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -273,6 +273,12 @@ Misskey uses Vue(v3) as its front-end framework.
- **When creating a new component, please use the Composition API (with [setup sugar](https://v3.vuejs.org/api/sfc-script-setup.html) and [ref sugar](https://github.com/vuejs/rfcs/discussions/369)) instead of the Options API.**
- Some of the existing components are implemented in the Options API, but it is an old implementation. Refactors that migrate those components to the Composition API are also welcome.
+## Tabler Icons
+アイコンは、Production Build時に使用されていないものが削除されるようになっています。
+
+**アイコンを動的に設定する際に、 `ti-${someVal}` のように、アイコン名のみを動的に変化させるような指定を行ってはいけません。**
+必ず `ti-xxx` のような完全なクラス名を含めるようにしてください。
+
## nirax
niraxは、Misskeyで使用しているオリジナルのフロントエンドルーティングシステムです。
**vue-routerから影響を多大に受けているので、まずはvue-routerについて学ぶことをお勧めします。**
From 27256b314a6ae426c18b74eb503f9faef7c875f6 Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sat, 25 Jan 2025 17:26:49 +0900
Subject: [PATCH 11/14] Update CONTRIBUTING.md
---
CONTRIBUTING.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 936fcb055b0a..54bdb09139ad 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -276,7 +276,7 @@ Misskey uses Vue(v3) as its front-end framework.
## Tabler Icons
アイコンは、Production Build時に使用されていないものが削除されるようになっています。
-**アイコンを動的に設定する際に、 `ti-${someVal}` のように、アイコン名のみを動的に変化させるような指定を行ってはいけません。**
+**アイコンを動的に設定する際には、 `ti-${someVal}` のような、アイコン名のみを動的に変化させる実装を行わないでください。**
必ず `ti-xxx` のような完全なクラス名を含めるようにしてください。
## nirax
From 0a9a9472fd9b8dda7f4fb7244071025edc56ea29 Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sat, 25 Jan 2025 17:49:17 +0900
Subject: [PATCH 12/14] spdx
---
.github/workflows/check-spdx-license-id.yml | 1 +
packages/icons-subsetter/src/generator.ts | 5 +++++
packages/icons-subsetter/src/subsetter.ts | 5 +++++
3 files changed, 11 insertions(+)
diff --git a/.github/workflows/check-spdx-license-id.yml b/.github/workflows/check-spdx-license-id.yml
index 05582008b5f2..f9a8a01e0fba 100644
--- a/.github/workflows/check-spdx-license-id.yml
+++ b/.github/workflows/check-spdx-license-id.yml
@@ -58,6 +58,7 @@ jobs:
"packages/frontend/test"
"packages/frontend-embed/@types"
"packages/frontend-embed/src"
+ "packages/icons-subsetter/src"
"packages/misskey-bubble-game/src"
"packages/misskey-reversi/src"
"packages/sw/src"
diff --git a/packages/icons-subsetter/src/generator.ts b/packages/icons-subsetter/src/generator.ts
index e87df01d1d44..f37ec3bb7563 100644
--- a/packages/icons-subsetter/src/generator.ts
+++ b/packages/icons-subsetter/src/generator.ts
@@ -1,3 +1,8 @@
+/*
+ * SPDX-FileCopyrightText: syuilo and misskey-project
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
import { promises as fsp, existsSync } from 'fs';
import path from 'path';
import glob from 'tiny-glob';
diff --git a/packages/icons-subsetter/src/subsetter.ts b/packages/icons-subsetter/src/subsetter.ts
index d959fb81a579..9ef4d6a3e1af 100644
--- a/packages/icons-subsetter/src/subsetter.ts
+++ b/packages/icons-subsetter/src/subsetter.ts
@@ -1,3 +1,8 @@
+/*
+ * SPDX-FileCopyrightText: syuilo and misskey-project
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
import { promises as fsp } from 'fs';
import { ttf2woff } from 'wasm-ttf2woff';
From 907c0be773bb48a5538afcad29ef171cd6c52204 Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sat, 25 Jan 2025 18:57:59 +0900
Subject: [PATCH 13/14] typo
---
packages/icons-subsetter/src/generator.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/icons-subsetter/src/generator.ts b/packages/icons-subsetter/src/generator.ts
index f37ec3bb7563..9823b1bf8348 100644
--- a/packages/icons-subsetter/src/generator.ts
+++ b/packages/icons-subsetter/src/generator.ts
@@ -79,7 +79,7 @@ async function main() {
src: url("./tabler-icons.woff2") format("woff2");
}`];
- // サブセット化したフォントの中身がある(=unicodeRangeValuesの配列が殻ではない)場合のみ、サブセットしたものに関する情報を追記
+ // サブセット化したフォントの中身がある(=unicodeRangeValuesの配列が空ではない)場合のみ、サブセットしたものに関する情報を追記
if (unicodeRangeValues.get(key)!.length > 0) {
await fsp.writeFile(`./built/tabler-icons-${key}.woff2`, buffer);
From 84dc996b34299281cc653f57f839eace6ea85355 Mon Sep 17 00:00:00 2001
From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Sun, 26 Jan 2025 12:58:50 +0900
Subject: [PATCH 14/14] =?UTF-8?q?fix:=20=E3=82=B5=E3=83=96=E3=82=BB?=
=?UTF-8?q?=E3=83=83=E3=83=88=E3=81=8B=E3=82=89=E9=99=A4=E5=A4=96=E3=81=95?=
=?UTF-8?q?=E3=82=8C=E3=82=8B=E6=9B=B8=E3=81=8D=E6=96=B9=E3=82=92=E3=81=97?=
=?UTF-8?q?=E3=81=A6=E3=81=84=E3=82=8B=E9=83=A8=E5=88=86=E3=82=92=E4=BF=AE?=
=?UTF-8?q?=E6=AD=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/frontend/src/components/MkDrive.folder.vue | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/packages/frontend/src/components/MkDrive.folder.vue b/packages/frontend/src/components/MkDrive.folder.vue
index 44e3b59aded4..3065396430e6 100644
--- a/packages/frontend/src/components/MkDrive.folder.vue
+++ b/packages/frontend/src/components/MkDrive.folder.vue
@@ -28,7 +28,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts.uploadFolder }}
@@ -353,16 +353,14 @@ function onContextmenu(ev: MouseEvent) {
border-color: var(--MI_THEME-accent);
background: var(--MI_THEME-accent);
- &::after {
- content: "\ea5e";
- font-family: 'tabler-icons';
+ &::before {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: #fff;
font-size: 12px;
- line-height: 22px;
+ line-height: 18px;
}
}
}