fix(frontend): CSS light-dark() が適用されない問題を修正 (#17523)

* fix(frontend): lightningcssのlight-darkのTranspilationを無効に (MisskeyIO#1243)

* fix deps

* Update Changelog

---------

Co-authored-by: まっちゃてぃー。 <56515516+mattyatea@users.noreply.github.com>
This commit is contained in:
かっこかり 2026-06-02 11:47:09 +09:00 committed by GitHub
commit 6f4f53382e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 30 additions and 7 deletions

View file

@ -9,6 +9,8 @@
- Fix: URLプレビューのプレイヤーをウィンドウで開いたとき、プレイヤーが読み込まれるまでの間 `Invalid URL` と表示される問題を修正
- Fix: 一部の実績が正しく表示されない問題を修正
- Fix: アクセストークン発行時のダイアログのタイトルが「確認コード」となっているのを修正
- Fix: 一部のUI要素の色が正しく表示されない問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/1243)
### Server
- Enhance: リモートノートクリーニングジョブのスキップ処理のパフォーマンス改善

View file

@ -49,6 +49,7 @@
"eslint-plugin-vue": "10.9.1",
"happy-dom": "20.9.0",
"intersection-observer": "0.12.2",
"lightningcss": "1.32.0",
"micromatch": "4.0.8",
"msw": "2.14.6",
"prettier": "3.8.3",

View file

@ -9,6 +9,7 @@ import meta from '../../package.json';
import packageInfo from './package.json' with { type: 'json' };
import pluginJson5 from './lib/vite-plugin-json5.js';
import { pluginRemoveUnrefI18n } from '../frontend-builder/rollup-plugin-remove-unref-i18n';
import { Features } from 'lightningcss';
const url = process.env.NODE_ENV === 'development' ? (yaml.load(await fsp.readFile('../../.config/default.yml', 'utf-8')) as any).url : null;
const host = url ? (new URL(url)).hostname : undefined;
@ -104,6 +105,9 @@ export function getConfig(): UserConfig {
},
css: {
lightningcss: {
exclude: Features.LightDark,
},
modules: {
generateScopedName(name, filename, _css): string {
const id = (path.relative(__dirname, filename.split('?')[0]) + '-' + name).replace(/[\\\/\.\?&=]/g, '-').replace(/(src-|vue-)/g, '');
@ -128,9 +132,9 @@ export function getConfig(): UserConfig {
build: {
target: [
'chrome116',
'firefox116',
'safari16',
'chrome130',
'firefox132',
'safari18.2',
],
manifest: 'manifest.json',
rolldownOptions: {

View file

@ -119,6 +119,7 @@
"estree-walker": "3.0.3",
"happy-dom": "20.9.0",
"intersection-observer": "0.12.2",
"lightningcss": "1.32.0",
"micromatch": "4.0.8",
"minimatch": "10.2.5",
"msw": "2.14.6",

View file

@ -16,6 +16,7 @@ import type { Options as SearchIndexOptions } from './lib/vite-plugin-create-sea
import pluginCreateSearchIndex from './lib/vite-plugin-create-search-index.js';
import pluginWatchLocales from './lib/vite-plugin-watch-locales.js';
import { pluginRemoveUnrefI18n } from '../frontend-builder/rollup-plugin-remove-unref-i18n.js';
import { Features } from 'lightningcss';
const url = process.env.NODE_ENV === 'development' ? (yaml.load(await fsp.readFile('../../.config/default.yml', 'utf-8')) as any).url : null;
const host = url ? (new URL(url)).hostname : undefined;
@ -142,6 +143,9 @@ export function getConfig(): UserConfig {
},
css: {
lightningcss: {
exclude: Features.LightDark,
},
modules: {
generateScopedName(name, filename, _css): string {
const id = (path.relative(__dirname, filename.split('?')[0]) + '-' + name).replace(/[\\\/\.\?&=]/g, '-').replace(/(src-|vue-)/g, '');
@ -166,9 +170,9 @@ export function getConfig(): UserConfig {
build: {
target: [
'chrome116',
'firefox116',
'safari16',
'chrome130',
'firefox132',
'safari18.2',
],
manifest: 'manifest.json',
rolldownOptions: {

13
pnpm-lock.yaml generated
View file

@ -888,6 +888,9 @@ importers:
intersection-observer:
specifier: 0.12.2
version: 0.12.2
lightningcss:
specifier: 1.32.0
version: 1.32.0
micromatch:
specifier: 4.0.8
version: 4.0.8
@ -1106,6 +1109,9 @@ importers:
intersection-observer:
specifier: 0.12.2
version: 0.12.2
lightningcss:
specifier: 1.32.0
version: 1.32.0
micromatch:
specifier: 4.0.8
version: 4.0.8
@ -10077,6 +10083,9 @@ packages:
vue-component-type-helpers@3.2.9:
resolution: {integrity: sha512-S3BiWYaLSzHxTpln665ELSrMR9UYmrIDUmhik7nVZxmJjTKL2/a+ew1hvGxksKelivm0ujjWfG1fYOiU/2e8rA==}
vue-component-type-helpers@3.3.2:
resolution: {integrity: sha512-l4Z2Y34m7nFMlx8vrslJaVtXxUpzgDMSESC7TakG/c5kwjYT/do+E0NcT2/vWDzaoIhsShg/2OKwX7Q4nbzC0g==}
vue-demi@0.14.10:
resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
engines: {node: '>=12'}
@ -13096,7 +13105,7 @@ snapshots:
storybook: 10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.0)(@types/react@19.2.14)(bufferutil@4.1.0)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(utf-8-validate@6.0.6)
type-fest: 2.19.0
vue: 3.5.34(typescript@5.9.3)
vue-component-type-helpers: 3.2.9
vue-component-type-helpers: 3.3.2
'@stylistic/eslint-plugin@5.10.0(eslint@9.39.4)':
dependencies:
@ -19856,6 +19865,8 @@ snapshots:
vue-component-type-helpers@3.2.9: {}
vue-component-type-helpers@3.3.2: {}
vue-demi@0.14.10(vue@3.5.34(typescript@5.9.3)):
dependencies:
vue: 3.5.34(typescript@5.9.3)