diff --git a/packages/frontend/package.json b/packages/frontend/package.json index 2819f858c1..a08c21970d 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -19,6 +19,7 @@ "@rollup/plugin-alias": "5.0.0", "@rollup/plugin-json": "6.0.0", "@rollup/plugin-replace": "5.0.2", + "@rollup/plugin-typescript": "^11.1.2", "@rollup/pluginutils": "5.0.2", "@syuilo/aiscript": "0.15.0", "@tabler/icons-webfont": "2.25.0", diff --git a/packages/frontend/vite.config.ts b/packages/frontend/vite.config.ts index 531dd0b488..c68dd21f1d 100644 --- a/packages/frontend/vite.config.ts +++ b/packages/frontend/vite.config.ts @@ -1,10 +1,9 @@ import path from 'path'; +import { type UserConfig, defineConfig } from 'vite'; // @ts-expect-error https://github.com/sxzz/unplugin-vue-macros/issues/257#issuecomment-1410752890 import pluginReplace from '@rollup/plugin-replace'; import pluginVue from '@vitejs/plugin-vue'; -import { type UserConfig, defineConfig } from 'vite'; -// @ts-expect-error https://github.com/sxzz/unplugin-vue-macros/issues/257#issuecomment-1410752890 import ReactivityTransform from '@vue-macros/reactivity-transform/vite'; - +import typescript from '@rollup/plugin-typescript'; import locales from '../../locales'; import generateDTS from '../../locales/generateDTS'; import meta from '../../package.json'; @@ -51,6 +50,7 @@ export function getConfig(): UserConfig { }, plugins: [ + typescript(), pluginVue({ reactivityTransform: true, }), diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c7b9b8d2be..352ee37912 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -340,7 +340,7 @@ importers: version: 2.1.0 summaly: specifier: github:misskey-dev/summaly - version: github.com/misskey-dev/summaly/089a0ad8e8c780e5c088b1c528aa95c5827cbdcc + version: github.com/misskey-dev/summaly/d2d8db49943ccb201c1b1b283e9d0a630519fac7 systeminformation: specifier: 5.18.7 version: 5.18.7 @@ -619,6 +619,9 @@ importers: '@rollup/plugin-replace': specifier: 5.0.2 version: 5.0.2(rollup@3.26.3) + '@rollup/plugin-typescript': + specifier: ^11.1.2 + version: 11.1.2(rollup@3.26.3)(typescript@5.1.6) '@rollup/pluginutils': specifier: 5.0.2 version: 5.0.2(rollup@3.26.3) @@ -961,7 +964,7 @@ importers: version: github.com/misskey-dev/storybook-addon-misskey-theme/cf583db098365b2ccc81a82f63ca9c93bc32b640(@storybook/blocks@7.0.27)(@storybook/components@7.1.0)(@storybook/core-events@7.0.27)(@storybook/manager-api@7.0.27)(@storybook/preview-api@7.0.27)(@storybook/theming@7.0.27)(@storybook/types@7.0.27)(react-dom@18.2.0)(react@18.2.0) summaly: specifier: github:misskey-dev/summaly - version: github.com/misskey-dev/summaly/089a0ad8e8c780e5c088b1c528aa95c5827cbdcc + version: github.com/misskey-dev/summaly/d2d8db49943ccb201c1b1b283e9d0a630519fac7 vite-plugin-turbosnap: specifier: 1.0.2 version: 1.0.2 @@ -5249,6 +5252,7 @@ packages: /@mapbox/node-pre-gyp@1.0.9: resolution: {integrity: sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==} hasBin: true + requiresBuild: true dependencies: detect-libc: 2.0.1 https-proxy-agent: 5.0.1 @@ -5601,6 +5605,25 @@ packages: rollup: 3.26.3 dev: false + /@rollup/plugin-typescript@11.1.2(rollup@3.26.3)(typescript@5.1.6): + resolution: {integrity: sha512-0ghSOCMcA7fl1JM+0gYRf+Q/HWyg+zg7/gDSc+fRLmlJWcW5K1I+CLRzaRhXf4Y3DRyPnnDo4M2ktw+a6JcDEg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.14.0||^3.0.0 + tslib: '*' + typescript: '>=3.7.0' + peerDependenciesMeta: + rollup: + optional: true + tslib: + optional: true + dependencies: + '@rollup/pluginutils': 5.0.2(rollup@3.26.3) + resolve: 1.22.1 + rollup: 3.26.3 + typescript: 5.1.6 + dev: false + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -7228,7 +7251,7 @@ packages: ts-dedent: 2.2.0 type-fest: 2.19.0 vue: 3.3.4 - vue-component-type-helpers: 1.8.6 + vue-component-type-helpers: 1.8.8 transitivePeerDependencies: - encoding - supports-color @@ -7652,6 +7675,7 @@ packages: /@tensorflow/tfjs-backend-cpu@4.4.0(@tensorflow/tfjs-core@4.4.0): resolution: {integrity: sha512-d4eln500/qNym78z9IrUUzF0ITBoJGLrxV8xd92kLVoXhg35Mm+zqUXShjFcrH8joOHOFuST0qZ0TbDDqcPzPA==} engines: {yarn: '>= 1.3.2'} + requiresBuild: true peerDependencies: '@tensorflow/tfjs-core': 4.4.0 dependencies: @@ -7663,6 +7687,7 @@ packages: /@tensorflow/tfjs-backend-webgl@4.4.0(@tensorflow/tfjs-core@4.4.0): resolution: {integrity: sha512-TzQKvfAPgGt9cMG+5bVoTckoG1xr/PVJM/uODkPvzcMqi3j97kuWDXwkYJIgXldStmfiKkU7f5CmyD3Cq3E6BA==} engines: {yarn: '>= 1.3.2'} + requiresBuild: true peerDependencies: '@tensorflow/tfjs-core': 4.4.0 dependencies: @@ -7676,6 +7701,7 @@ packages: /@tensorflow/tfjs-converter@4.4.0(@tensorflow/tfjs-core@4.4.0): resolution: {integrity: sha512-JUjpRStrAuw37tgPd5UENu0UjQVuJT09yF7KpOur4BriJ0uQqrbEZHMPHmvUtr5nYzkqlXJTuXIyxvEY/olNpg==} + requiresBuild: true peerDependencies: '@tensorflow/tfjs-core': 4.4.0 dependencies: @@ -7685,6 +7711,7 @@ packages: /@tensorflow/tfjs-core@4.4.0: resolution: {integrity: sha512-Anxpc7cAOA0Q7EUXdTbQKMg3reFvrdkgDlaYzH9ZfkMq2CgLV4Au6E/s6HmbYn/VrAtWy9mLY5c/lLJqh4764g==} engines: {yarn: '>= 1.3.2'} + requiresBuild: true dependencies: '@types/long': 4.0.2 '@types/offscreencanvas': 2019.7.0 @@ -7700,6 +7727,7 @@ packages: /@tensorflow/tfjs-data@4.4.0(@tensorflow/tfjs-core@4.4.0)(seedrandom@3.0.5): resolution: {integrity: sha512-aY4eq4cgrsrXeBU6ABZAAN3tV0fG4YcHd0z+cYuNXnCo+VEQLJnPmhn+xymZ4VQZQH4GXbVS4dV9pXMclFNRFw==} + requiresBuild: true peerDependencies: '@tensorflow/tfjs-core': 4.4.0 seedrandom: ^3.0.5 @@ -7715,6 +7743,7 @@ packages: /@tensorflow/tfjs-layers@4.4.0(@tensorflow/tfjs-core@4.4.0): resolution: {integrity: sha512-OGC7shfiD9Gc698hINHK4y9slOJvu5m54tVNm4xf+WSNrw/avvgpar6yyoL5bakYIZNQvFNK75Yr8VRPR7oPeQ==} + requiresBuild: true peerDependencies: '@tensorflow/tfjs-core': 4.4.0 dependencies: @@ -7744,6 +7773,7 @@ packages: /@tensorflow/tfjs@4.4.0(seedrandom@3.0.5): resolution: {integrity: sha512-EmCsnzdvawyk4b+4JKaLLuicHcJQRZtL1zSy9AWJLiiHTbDDseYgLxfaCEfLk8v2bUe7SBXwl3n3B7OjgvH11Q==} hasBin: true + requiresBuild: true dependencies: '@tensorflow/tfjs-backend-cpu': 4.4.0(@tensorflow/tfjs-core@4.4.0) '@tensorflow/tfjs-backend-webgl': 4.4.0(@tensorflow/tfjs-core@4.4.0) @@ -8146,6 +8176,7 @@ packages: /@types/long@4.0.2: resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} + requiresBuild: true dev: false /@types/matter-js@0.18.5: @@ -8230,10 +8261,12 @@ packages: /@types/offscreencanvas@2019.3.0: resolution: {integrity: sha512-esIJx9bQg+QYF0ra8GnvfianIY8qWB0GBx54PK5Eps6m+xTj86KLavHv6qDhzKcu5UUOgNfJ2pWaIIV7TRUd9Q==} + requiresBuild: true dev: false /@types/offscreencanvas@2019.7.0: resolution: {integrity: sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==} + requiresBuild: true dev: false /@types/pg@8.10.2: @@ -8322,6 +8355,7 @@ packages: /@types/seedrandom@2.4.30: resolution: {integrity: sha512-AnxLHewubLVzoF/A4qdxBGHCKifw8cY32iro3DQX9TPcetE95zBeVt3jnsvtvAUf1vwzMfwzp4t/L2yqPlnjkQ==} + requiresBuild: true dev: false /@types/semver@7.5.0: @@ -8444,6 +8478,7 @@ packages: /@types/webgl-ext@0.0.30: resolution: {integrity: sha512-LKVgNmBxN0BbljJrVUwkxwRYqzsAEPcZOe6S2T6ZaBDIrFp0qu4FNlpc5sM1tGbXUYFgdVQIoeLk1Y1UoblyEg==} + requiresBuild: true dev: false /@types/websocket@1.0.5: @@ -8867,6 +8902,7 @@ packages: /@webgpu/types@0.1.30: resolution: {integrity: sha512-9AXJSmL3MzY8ZL//JjudA//q+2kBRGhLBFpkdGksWIuxrMy81nFrCzj2Am+mbh8WoU6rXmv7cY5E3rdlyru2Qg==} + requiresBuild: true dev: false /@xmldom/xmldom@0.8.6: @@ -8959,12 +8995,14 @@ packages: /adm-zip@0.5.10: resolution: {integrity: sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==} engines: {node: '>=6.0'} + requiresBuild: true dev: false optional: true /agent-base@4.3.0: resolution: {integrity: sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==} engines: {node: '>= 4.0.0'} + requiresBuild: true dependencies: es6-promisify: 5.0.0 dev: false @@ -11648,11 +11686,13 @@ packages: /es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + requiresBuild: true dev: false optional: true /es6-promisify@5.0.0: resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + requiresBuild: true dependencies: es6-promise: 4.2.8 dev: false @@ -12862,6 +12902,7 @@ packages: /fs-minipass@1.2.7: resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + requiresBuild: true dependencies: minipass: 2.9.0 dev: false @@ -13232,6 +13273,7 @@ packages: /google-protobuf@3.21.2: resolution: {integrity: sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA==} + requiresBuild: true dev: false optional: true @@ -13679,6 +13721,7 @@ packages: /https-proxy-agent@2.2.4: resolution: {integrity: sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==} engines: {node: '>= 4.5.0'} + requiresBuild: true dependencies: agent-base: 4.3.0 debug: 3.2.7(supports-color@5.5.0) @@ -15561,6 +15604,7 @@ packages: /long@4.0.0: resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} + requiresBuild: true dev: false /loose-envify@1.4.0: @@ -16002,6 +16046,7 @@ packages: /minipass@2.9.0: resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + requiresBuild: true dependencies: safe-buffer: 5.2.1 yallist: 3.1.1 @@ -16025,6 +16070,7 @@ packages: /minizlib@1.3.3: resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + requiresBuild: true dependencies: minipass: 2.9.0 dev: false @@ -16378,12 +16424,14 @@ packages: /node-gyp-build-optional-packages@5.0.7: resolution: {integrity: sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==} hasBin: true + requiresBuild: true dev: false optional: true /node-gyp-build@4.6.0: resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} hasBin: true + requiresBuild: true /node-gyp@9.4.0: resolution: {integrity: sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==} @@ -16450,6 +16498,7 @@ packages: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} engines: {node: '>=6'} hasBin: true + requiresBuild: true dependencies: abbrev: 1.1.1 dev: false @@ -19912,6 +19961,7 @@ packages: /tar@4.4.19: resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} engines: {node: '>=4.5'} + requiresBuild: true dependencies: chownr: 1.1.4 fs-minipass: 1.2.7 @@ -21029,8 +21079,8 @@ packages: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} - /vue-component-type-helpers@1.8.6: - resolution: {integrity: sha512-vKWeoKVEV51ZzoB8+UY0apMXiifbPQxWlcZlvQRDVdiOHmEkCBClWeIGbqQ8cCR9P4j+oCyLW87sraZFMz/qnA==} + /vue-component-type-helpers@1.8.8: + resolution: {integrity: sha512-Ohv9HQY92nSbpReC6WhY0X4YkOszHzwUHaaN/lev5tHQLM1AEw+LrLeB2bIGIyKGDU7ZVrncXcv/oBny4rjbYg==} dev: true /vue-docgen-api@4.64.1(vue@3.3.4): @@ -21632,8 +21682,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - github.com/misskey-dev/summaly/089a0ad8e8c780e5c088b1c528aa95c5827cbdcc: - resolution: {tarball: https://codeload.github.com/misskey-dev/summaly/tar.gz/089a0ad8e8c780e5c088b1c528aa95c5827cbdcc} + github.com/misskey-dev/summaly/d2d8db49943ccb201c1b1b283e9d0a630519fac7: + resolution: {tarball: https://codeload.github.com/misskey-dev/summaly/tar.gz/d2d8db49943ccb201c1b1b283e9d0a630519fac7} name: summaly version: 4.0.2 dependencies: