From e997a7131f9ccd16fa4c8b7b8737c89fba45d3a2 Mon Sep 17 00:00:00 2001 From: pa Date: Fri, 6 Mar 2026 12:45:21 +0900 Subject: [PATCH] tweak vite config --- package-lock.json | 48 ++++++++++++---------------- src/localization/en.json | 1 + src/views/MyAvatars/MyAvatars.vue | 53 ++++++++++++++++++++++++++++++- src/views/MyAvatars/columns.jsx | 6 ++-- src/vite.config.js | 41 +++++++++++++++++++++--- 5 files changed, 113 insertions(+), 36 deletions(-) diff --git a/package-lock.json b/package-lock.json index d30cf007..7b2362c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -186,6 +186,7 @@ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -709,6 +710,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=20.19.0" }, @@ -749,6 +751,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=20.19.0" } @@ -1358,7 +1361,6 @@ "dev": true, "license": "BSD-2-Clause", "optional": true, - "peer": true, "dependencies": { "cross-dirname": "^0.1.0", "debug": "^4.3.4", @@ -1380,7 +1382,6 @@ "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -1397,7 +1398,6 @@ "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "universalify": "^2.0.0" }, @@ -1412,7 +1412,6 @@ "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 10.0.0" } @@ -4864,6 +4863,7 @@ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -4897,6 +4897,7 @@ "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -5453,6 +5454,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -6103,8 +6105,7 @@ "integrity": "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==", "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/cross-env": { "version": "10.1.0", @@ -6452,6 +6453,7 @@ "integrity": "sha512-glMJgnTreo8CFINujtAhCgN96QAqApDMZ8Vl1r8f0QT8QprvC1UCltV4CcWj20YoIyLZx6IUskaJZ0NV8fokcg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "app-builder-lib": "26.8.1", "builder-util": "26.8.1", @@ -6918,7 +6920,6 @@ "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "dependencies": { "@electron/asar": "^3.2.1", "debug": "^4.1.1", @@ -6939,7 +6940,6 @@ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -6971,7 +6971,8 @@ "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.6.0.tgz", "integrity": "sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/embla-carousel-reactive-utils": { "version": "8.6.0", @@ -7004,17 +7005,6 @@ "dev": true, "license": "MIT" }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, "node_modules/end-of-stream": { "version": "1.4.5", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", @@ -7204,6 +7194,7 @@ "integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -7264,6 +7255,7 @@ "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, "license": "MIT", + "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -9728,7 +9720,6 @@ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "minimist": "^1.2.6" }, @@ -10343,6 +10334,7 @@ "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@vue/devtools-api": "^7.7.7" }, @@ -10424,7 +10416,6 @@ "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "commander": "^9.4.0" }, @@ -10442,7 +10433,6 @@ "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": "^12.20.0 || >=14" } @@ -10463,6 +10453,7 @@ "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -10786,7 +10777,6 @@ "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "license": "ISC", - "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -10801,7 +10791,6 @@ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", - "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -10823,7 +10812,6 @@ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", - "peer": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -11467,6 +11455,7 @@ "integrity": "sha512-/BUbeOwPGruiBOm0YQQ6ZMcLIZ6tf/W+Jcm7dxZyAX0tK3WP9/sq7/NAWBxPIxVahdGjCJoGwej0Gdrv0DxlQQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "events": "^3.3.0", "graphology-utils": "^2.5.2" @@ -11956,7 +11945,6 @@ "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "mkdirp": "^0.5.1", "rimraf": "~2.6.2" @@ -12092,6 +12080,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -12482,6 +12471,7 @@ "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -12575,6 +12565,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -12588,6 +12579,7 @@ "integrity": "sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@vitest/expect": "4.0.18", "@vitest/mocker": "4.0.18", @@ -12689,6 +12681,7 @@ "integrity": "sha512-BZqN4Ze6mDQVNAni0IHeMJ5mwr8VAJ3MQC9FmprRhcBYENw+wOAAjRj8jfmN6FLl0j96OXbR+CjWhmAmM+QGnA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.29", "@vue/compiler-sfc": "3.5.29", @@ -13415,6 +13408,7 @@ "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "dev": true, "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/src/localization/en.json b/src/localization/en.json index 155e9284..f5cf2acf 100644 --- a/src/localization/en.json +++ b/src/localization/en.json @@ -1339,6 +1339,7 @@ "android_performance": "Android Performance", "ios_performance": "iOS Performance", "time_spent": "Time Spent", + "visibility": "Visibility", "tags": "Tags", "memo": "Memo", "memo_placeholder": "Click to add a memo", diff --git a/src/views/MyAvatars/MyAvatars.vue b/src/views/MyAvatars/MyAvatars.vue index b753f6ec..13d72b0c 100644 --- a/src/views/MyAvatars/MyAvatars.vue +++ b/src/views/MyAvatars/MyAvatars.vue @@ -27,7 +27,7 @@
- {{ t('dialog.avatar.tags.public') }} + {{ t('dialog.avatar.info.visibility') }} a.id === avatarId); const oldEntries = avatar?.$tags || []; @@ -469,6 +501,10 @@ avatarTagsMap.value = new Map(avatarTagsMap.value); } + /** + * + * @param e + */ function onFileChangeAvatarImage(e) { const { file, clearInput } = handleImageUploadInput(e, { inputSelector: imageUploadInput.value, @@ -483,6 +519,10 @@ cropDialogOpen.value = true; } + /** + * + * @param blob + */ async function onCropConfirmAvatar(blob) { const avatarRef = changeImageAvatarRef.value; if (!avatarRef) return; @@ -527,10 +567,18 @@ currentAvatarId }); + /** + * + * @param row + */ function handleRowClick(row) { handleWearAvatar(row.original.id); } + /** + * + * @param row + */ function getRowClass(row) { if (row.original.id === currentAvatarId.value) { return 'bg-primary/10 hover:bg-primary/15'; @@ -561,6 +609,9 @@ table.setPageSize(size); }); + /** + * + */ async function refreshAvatars() { if (isLoading.value) { return; diff --git a/src/views/MyAvatars/columns.jsx b/src/views/MyAvatars/columns.jsx index 8f8e620f..c198b1e0 100644 --- a/src/views/MyAvatars/columns.jsx +++ b/src/views/MyAvatars/columns.jsx @@ -203,11 +203,11 @@ export function getColumns({ } }, { - id: 'releaseStatus', + id: 'visibility', accessorKey: 'releaseStatus', - header: () => t('dialog.avatar.tags.public'), + header: () => t('dialog.avatar.info.visibility'), size: 120, - meta: { label: () => t('dialog.avatar.tags.public') }, + meta: { label: () => t('dialog.avatar.info.visibility') }, cell: ({ row }) => { const ref = row.original; return ( diff --git a/src/vite.config.js b/src/vite.config.js index ac9c98e6..2ea9a679 100644 --- a/src/vite.config.js +++ b/src/vite.config.js @@ -3,13 +3,19 @@ import { resolve } from 'node:path'; import fs from 'node:fs'; import { defineConfig, loadEnv } from 'vite'; +import { browserslistToTargets } from 'lightningcss'; +import browserslist from 'browserslist'; import tailwindcss from '@tailwindcss/vite'; import vue from '@vitejs/plugin-vue'; import vueJsx from '@vitejs/plugin-vue-jsx'; import { languageCodes } from './localization/locales'; +/** + * + * @param assetId + */ function getAssetLanguage(assetId) { if (!assetId) return null; @@ -31,6 +37,10 @@ function getAssetLanguage(assetId) { return language || null; } +/** + * + * @param moduleId + */ function getManualChunk(moduleId) { const language = getAssetLanguage(moduleId); if (!language) return; @@ -40,6 +50,11 @@ function getManualChunk(moduleId) { const defaultAssetName = '[hash][extname]'; +/** + * + * @param root0 + * @param root0.name + */ function getAssetFilename({ name }) { const language = getAssetLanguage(name); if (!language) return `assets/${defaultAssetName}`; @@ -94,12 +109,27 @@ export default defineConfig(({ mode }) => { css: { transformer: 'lightningcss', lightningcss: { - minify: true, - targets: { - chrome: 140 - } + drafts: { + nesting: true, + customMedia: true + }, + errorRecovery: true, + targets: browserslistToTargets(browserslist('Chrome 144')) } }, + optimizeDeps: { + include: [ + 'vue', + 'vue/jsx-runtime', + 'reka-ui', + 'pinia', + 'vue-i18n', + 'lucide-vue-next', + '@vueuse/core', + 'vue-sonner', + 'dayjs' + ] + }, define: { LINUX: JSON.stringify(process.env.PLATFORM === 'linux'), WINDOWS: JSON.stringify(process.env.PLATFORM === 'windows'), @@ -111,7 +141,8 @@ export default defineConfig(({ mode }) => { strictPort: true }, build: { - target: 'chrome140', + target: 'chrome144', + cssTarget: 'chrome144', outDir: '../build/html', license: true, emptyOutDir: true,