diff --git a/.changeset/feat-i18next-custom-sections.md b/.changeset/feat-i18next-custom-sections.md
new file mode 100644
index 0000000000..c124f329ab
--- /dev/null
+++ b/.changeset/feat-i18next-custom-sections.md
@@ -0,0 +1,24 @@
+---
+"@lynx-js/i18next-translation-dedupe": patch
+---
+
+Introduce `@lynx-js/i18next-translation-dedupe` package to avoid bundling i18next translations twice in Lynx apps.
+
+The package reads translations extracted by `rsbuild-plugin-i18next-extractor`, skips the extractor's default rendered asset, and writes the translations into the Lynx bundle custom section:
+
+```json
+{
+ "customSections": {
+ "i18next-translations": {
+ "content": {
+ "en-US": {
+ "hello": "Hello"
+ },
+ "zh-CN": {
+ "hello": "你好"
+ }
+ }
+ }
+ }
+}
+```
diff --git a/.github/i18n.instructions.md b/.github/i18n.instructions.md
new file mode 100644
index 0000000000..fd557e5f40
--- /dev/null
+++ b/.github/i18n.instructions.md
@@ -0,0 +1,5 @@
+---
+applyTo: "packages/i18n/**"
+---
+
+Treat mini-apps under `tests/fixtures/**` as build fixtures rather than production source. When they are used only as integration-test inputs, prefer keeping them out of root ESLint coverage instead of forcing them to satisfy the full package source lint rules.
diff --git a/CODEOWNERS b/CODEOWNERS
index 4d7df82a28..f506de663c 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -2,6 +2,7 @@ packages/repl/** @huxpro
packages/web-platform/** @pupiltong @Sherry-hue
packages/webpack/** @colinaaa @upupming @luhc228
packages/rspeedy/** @colinaaa @upupming @luhc228
+packages/i18n/** @luhc228
packages/rspeedy/plugin-react/** @upupming
packages/react/** @hzy @HuJean @Yradex
packages/react/transform/** @gaoachao
diff --git a/eslint.config.js b/eslint.config.js
index 7101d786ee..ebe7459a26 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -59,6 +59,7 @@ export default tseslint.config(
'packages/**/vitest.config.ts',
'packages/react/runtime/compat/**',
'packages/rspeedy/create-rspeedy/template-*/**',
+ 'packages/i18n/**/tests/fixtures/**',
'packages/{rspeedy,webpack}/*/test/**/cases/**',
'packages/{rspeedy,webpack}/*/test/**/hotCases/**',
'packages/{rspeedy,webpack}/*/test/**/diagnostic/**',
diff --git a/packages/i18n/i18next-translation-dedupe/README.md b/packages/i18n/i18next-translation-dedupe/README.md
new file mode 100644
index 0000000000..fbfd1c8d1d
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/README.md
@@ -0,0 +1,73 @@
+
@lynx-js/i18next-translation-dedupe
+
+Dedupe i18next translations between Rspeedy build output and Lynx runtime.
+
+## Install
+
+```bash
+npm install i18next
+npm install -D @lynx-js/i18next-translation-dedupe rsbuild-plugin-i18next-extractor i18next-cli
+```
+
+## Rspeedy Usage
+
+```ts
+import { defineConfig } from '@lynx-js/rspeedy';
+import { pluginI18nextExtractor } from 'rsbuild-plugin-i18next-extractor';
+import { pluginLynxI18nextTranslationDedupe } from '@lynx-js/i18next-translation-dedupe';
+
+export default defineConfig({
+ plugins: [
+ pluginI18nextExtractor({
+ localesDir: './src/locales',
+ }),
+ pluginLynxI18nextTranslationDedupe(),
+ ],
+});
+```
+
+`pluginLynxI18nextTranslationDedupe()` reads extracted translations from `rsbuild-plugin-i18next-extractor`, skips the extractor's default rendered asset to avoid bundling translations twice, and writes the translations into the Lynx bundle `customSections` for runtime loading.
+
+## Runtime Usage
+
+```ts
+import i18next from 'i18next';
+import { loadI18nextTranslations } from '@lynx-js/i18next-translation-dedupe';
+
+await i18next.init({
+ lng: 'en-US',
+ fallbackLng: 'en-US',
+ resources: loadI18nextTranslations(),
+});
+```
+
+## Custom Section Contract
+
+The package uses one custom section key:
+
+- `i18next-translations`
+
+Its content is expected to be a locale-to-translation-object map:
+
+```ts
+{
+ 'en-US': {
+ hello: 'Hello',
+ },
+ 'zh-CN': {
+ hello: '你好',
+ },
+}
+```
+
+At runtime, `loadI18nextTranslations()` converts that shape into i18next's `Resource` format:
+
+```ts
+{
+ 'en-US': {
+ translation: {
+ hello: 'Hello',
+ },
+ },
+}
+```
diff --git a/packages/i18n/i18next-translation-dedupe/package.json b/packages/i18n/i18next-translation-dedupe/package.json
new file mode 100644
index 0000000000..18d880cec1
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/package.json
@@ -0,0 +1,52 @@
+{
+ "name": "@lynx-js/i18next-translation-dedupe",
+ "version": "0.0.0",
+ "description": "Dedupe i18next translations in Lynx bundles.",
+ "keywords": [
+ "Lynx",
+ "i18next",
+ "rspeedy",
+ "rsbuild"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/lynx-family/lynx-stack.git",
+ "directory": "packages/i18n/i18next-translation-dedupe"
+ },
+ "license": "Apache-2.0",
+ "type": "module",
+ "exports": {
+ ".": {
+ "types": "./lib/index.d.ts",
+ "import": "./lib/index.js"
+ },
+ "./package.json": "./package.json"
+ },
+ "types": "./lib/index.d.ts",
+ "files": [
+ "lib",
+ "!lib/**/*.js.map",
+ "CHANGELOG.md",
+ "README.md"
+ ],
+ "scripts": {
+ "build": "tsc --build ./tsconfig.build.json",
+ "test": "vitest run"
+ },
+ "devDependencies": {
+ "@lynx-js/react": "workspace:*",
+ "@lynx-js/react-rsbuild-plugin": "workspace:*",
+ "@lynx-js/rspeedy": "workspace:*",
+ "@lynx-js/template-webpack-plugin": "workspace:*",
+ "@lynx-js/types": "3.7.0",
+ "i18next": "26.0.6",
+ "i18next-cli": "1.54.2",
+ "rsbuild-plugin-i18next-extractor": "0.2.0"
+ },
+ "peerDependencies": {
+ "rsbuild-plugin-i18next-extractor": "*"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+}
diff --git a/packages/i18n/i18next-translation-dedupe/src/constants.ts b/packages/i18n/i18next-translation-dedupe/src/constants.ts
new file mode 100644
index 0000000000..a2b032822d
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/src/constants.ts
@@ -0,0 +1,4 @@
+// Copyright 2024 The Lynx Authors. All rights reserved.
+// Licensed under the Apache License Version 2.0 that can be found in the
+// LICENSE file in the root directory of this source tree.
+export const I18N_TRANSLATIONS_SECTION_KEY = 'i18next-translations';
diff --git a/packages/i18n/i18next-translation-dedupe/src/index.ts b/packages/i18n/i18next-translation-dedupe/src/index.ts
new file mode 100644
index 0000000000..268f41d43f
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/src/index.ts
@@ -0,0 +1,6 @@
+// Copyright 2024 The Lynx Authors. All rights reserved.
+// Licensed under the Apache License Version 2.0 that can be found in the
+// LICENSE file in the root directory of this source tree.
+export { I18N_TRANSLATIONS_SECTION_KEY } from './constants.js';
+export { loadI18nextTranslations, toI18nextTranslations } from './runtime.js';
+export { pluginLynxI18nextTranslationDedupe } from './plugin.js';
diff --git a/packages/i18n/i18next-translation-dedupe/src/plugin.ts b/packages/i18n/i18next-translation-dedupe/src/plugin.ts
new file mode 100644
index 0000000000..0a2b0f2b09
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/src/plugin.ts
@@ -0,0 +1,143 @@
+// Copyright 2024 The Lynx Authors. All rights reserved.
+// Licensed under the Apache License Version 2.0 that can be found in the
+// LICENSE file in the root directory of this source tree.
+import { getI18nextExtractorWebpackPluginHooks } from 'rsbuild-plugin-i18next-extractor';
+import type { AfterExtractPayload } from 'rsbuild-plugin-i18next-extractor';
+
+import type { RsbuildPlugin, Rspack } from '@lynx-js/rspeedy';
+import type {
+ LynxTemplatePlugin as LynxTemplatePluginClass,
+ TemplateHooks,
+} from '@lynx-js/template-webpack-plugin';
+
+import { I18N_TRANSLATIONS_SECTION_KEY } from './constants.js';
+
+type I18nExtractionStore = Map<
+ string,
+ AfterExtractPayload['extractedTranslationsByLocale']
+>;
+
+type BeforeEncodeArgs = Parameters<
+ Parameters[1]
+>[0];
+
+interface LynxTemplatePluginExposure {
+ LynxTemplatePlugin: {
+ getLynxTemplatePluginHooks:
+ typeof LynxTemplatePluginClass.getLynxTemplatePluginHooks;
+ };
+}
+
+class LynxI18nextExtractorHooksWebpackPlugin {
+ constructor(private readonly store: I18nExtractionStore) {}
+
+ apply(compiler: Rspack.Compiler) {
+ compiler.hooks.compilation.tap(
+ 'LynxI18nextExtractorHooksWebpackPlugin',
+ (compilation) => {
+ this.store.clear();
+
+ const hooks = getI18nextExtractorWebpackPluginHooks(compilation);
+
+ hooks.afterExtract.tap(
+ 'LynxI18nextExtractorHooksWebpackPlugin',
+ (payload) => {
+ this.store.set(
+ payload.entryName,
+ payload.extractedTranslationsByLocale,
+ );
+
+ return payload;
+ },
+ );
+
+ hooks.renderExtractedTranslations.tapPromise(
+ 'LynxI18nextExtractorHooksWebpackPlugin',
+ async (payload) => ({
+ ...payload,
+ code: '',
+ skip: true,
+ }),
+ );
+ },
+ );
+ }
+}
+
+class LynxI18nextTranslationDedupeWebpackPlugin {
+ constructor(
+ private readonly store: I18nExtractionStore,
+ private readonly lynxTemplatePlugin:
+ LynxTemplatePluginExposure['LynxTemplatePlugin'],
+ ) {}
+
+ apply(compiler: Rspack.Compiler) {
+ compiler.hooks.compilation.tap(
+ 'LynxI18nextTranslationDedupeWebpackPlugin',
+ (compilation) => {
+ const hooks = this.lynxTemplatePlugin.getLynxTemplatePluginHooks(
+ compilation as unknown as Parameters<
+ LynxTemplatePluginExposure['LynxTemplatePlugin'][
+ 'getLynxTemplatePluginHooks'
+ ]
+ >[0],
+ );
+
+ hooks.beforeEncode.tap(
+ 'LynxI18nextTranslationDedupeWebpackPlugin',
+ (args: BeforeEncodeArgs) => {
+ const entryName = args.entryNames[0];
+
+ if (!entryName) {
+ return args;
+ }
+
+ const translationsByLocale = this.store.get(entryName);
+
+ if (!translationsByLocale) {
+ return args;
+ }
+
+ args.encodeData.customSections[I18N_TRANSLATIONS_SECTION_KEY] = {
+ content: translationsByLocale,
+ };
+
+ return args;
+ },
+ );
+ },
+ );
+ }
+}
+
+export function pluginLynxI18nextTranslationDedupe(): RsbuildPlugin {
+ return {
+ name: 'lynx:i18next-translation-dedupe',
+ pre: ['lynx:react', 'rsbuild:i18next-extractor'],
+ setup(api) {
+ const store: I18nExtractionStore = new Map();
+ const templatePluginExposure = api.useExposed(
+ Symbol.for('LynxTemplatePlugin'),
+ );
+
+ if (!templatePluginExposure) {
+ return;
+ }
+
+ const { LynxTemplatePlugin } = templatePluginExposure;
+
+ api.modifyBundlerChain((chain) => {
+ chain
+ .plugin('lynx:i18next-extractor-hooks')
+ .use(LynxI18nextExtractorHooksWebpackPlugin, [store]);
+
+ chain
+ .plugin('lynx:i18next-translation-dedupe')
+ .use(LynxI18nextTranslationDedupeWebpackPlugin, [
+ store,
+ LynxTemplatePlugin,
+ ]);
+ });
+ },
+ } as RsbuildPlugin;
+}
diff --git a/packages/i18n/i18next-translation-dedupe/src/runtime.ts b/packages/i18n/i18next-translation-dedupe/src/runtime.ts
new file mode 100644
index 0000000000..d1a6150374
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/src/runtime.ts
@@ -0,0 +1,39 @@
+// Copyright 2024 The Lynx Authors. All rights reserved.
+// Licensed under the Apache License Version 2.0 that can be found in the
+// LICENSE file in the root directory of this source tree.
+
+///
+
+import type { Resource } from 'i18next';
+import type { AfterExtractPayload } from 'rsbuild-plugin-i18next-extractor';
+
+import { I18N_TRANSLATIONS_SECTION_KEY } from './constants.js';
+
+type TranslationsByLocale =
+ AfterExtractPayload['extractedTranslationsByLocale'];
+
+type LynxWithCustomSections = typeof lynx & {
+ getCustomSectionSync(sectionKey: string): TranslationsByLocale | undefined;
+};
+
+export function toI18nextTranslations(
+ translationsByLocale: TranslationsByLocale,
+): Resource {
+ return Object.fromEntries(
+ Object.entries(translationsByLocale).map(([locale, translations]) => [
+ locale,
+ {
+ translation: translations,
+ },
+ ]),
+ );
+}
+
+export function loadI18nextTranslations(): Resource {
+ const raw = (lynx as LynxWithCustomSections).getCustomSectionSync(
+ I18N_TRANSLATIONS_SECTION_KEY,
+ );
+ const translationsByLocale = raw && typeof raw === 'object' ? raw : {};
+
+ return toI18nextTranslations(translationsByLocale);
+}
diff --git a/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/App.tsx b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/App.tsx
new file mode 100644
index 0000000000..8abfd615cc
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/App.tsx
@@ -0,0 +1,8 @@
+// Copyright 2026 The Lynx Authors. All rights reserved.
+// Licensed under the Apache License Version 2.0 that can be found in the
+// LICENSE file in the root directory of this source tree.
+import { i18n } from './i18n.js';
+
+export function App() {
+ return {String(i18n.t('hello'))};
+}
diff --git a/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/i18n.ts b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/i18n.ts
new file mode 100644
index 0000000000..90890db358
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/i18n.ts
@@ -0,0 +1,15 @@
+// Copyright 2026 The Lynx Authors. All rights reserved.
+// Licensed under the Apache License Version 2.0 that can be found in the
+// LICENSE file in the root directory of this source tree.
+import { createInstance, type i18n as I18nInstance } from 'i18next';
+
+import { loadI18nextTranslations } from '../../../../src/runtime.js';
+
+export const i18n: I18nInstance = createInstance();
+
+void i18n.init({
+ lng: 'en',
+ fallbackLng: 'en',
+ compatibilityJSON: 'v4',
+ resources: loadI18nextTranslations(),
+});
diff --git a/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/index.tsx b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/index.tsx
new file mode 100644
index 0000000000..ea04e7423e
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/index.tsx
@@ -0,0 +1,8 @@
+// Copyright 2026 The Lynx Authors. All rights reserved.
+// Licensed under the Apache License Version 2.0 that can be found in the
+// LICENSE file in the root directory of this source tree.
+import { root } from '@lynx-js/react';
+
+import { App } from './App.js';
+
+root.render();
diff --git a/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/locales/en.json b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/locales/en.json
new file mode 100644
index 0000000000..e96aeb8422
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/locales/en.json
@@ -0,0 +1,4 @@
+{
+ "hello": "Hello world",
+ "world": "world"
+}
diff --git a/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/locales/zh.json b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/locales/zh.json
new file mode 100644
index 0000000000..ebd64ba450
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/locales/zh.json
@@ -0,0 +1,4 @@
+{
+ "hello": "你好,世界",
+ "world": "世界"
+}
diff --git a/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/rspeedy-env.d.ts b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/rspeedy-env.d.ts
new file mode 100644
index 0000000000..9bd6a87232
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/rspeedy-env.d.ts
@@ -0,0 +1,4 @@
+// Copyright 2026 The Lynx Authors. All rights reserved.
+// Licensed under the Apache License Version 2.0 that can be found in the
+// LICENSE file in the root directory of this source tree.
+///
diff --git a/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/tsconfig.json b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/tsconfig.json
new file mode 100644
index 0000000000..f552547754
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/src/tsconfig.json
@@ -0,0 +1,14 @@
+{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "composite": true,
+ "jsx": "react-jsx",
+ "jsxImportSource": "@lynx-js/react",
+ "module": "ESNext",
+ "moduleResolution": "Bundler",
+ "lib": ["es2019"],
+ "target": "es2019",
+ "noEmit": true,
+ },
+ "include": ["./**/*.ts", "./**/*.tsx"],
+}
diff --git a/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/tsconfig.json b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/tsconfig.json
new file mode 100644
index 0000000000..1351eb930f
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/tsconfig.json
@@ -0,0 +1,14 @@
+{
+ "compilerOptions": {
+ "strict": true,
+ "isolatedModules": true,
+ "verbatimModuleSyntax": true,
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ },
+ "references": [
+ { "path": "./tsconfig.node.json" },
+ { "path": "./src" },
+ ],
+ "files": [],
+}
diff --git a/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/tsconfig.node.json b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/tsconfig.node.json
new file mode 100644
index 0000000000..251fcdc5c8
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/tests/fixtures/i18next-rspeedy-project/tsconfig.node.json
@@ -0,0 +1,13 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "composite": true,
+ "module": "node16",
+ "moduleResolution": "node16",
+ "erasableSyntaxOnly": true,
+ "lib": ["es2023"],
+ "target": "es2022",
+ "noEmit": true,
+ },
+ "include": ["./lynx.config.ts"],
+}
diff --git a/packages/i18n/i18next-translation-dedupe/tests/i18next-translation-dedupe.test.ts b/packages/i18n/i18next-translation-dedupe/tests/i18next-translation-dedupe.test.ts
new file mode 100644
index 0000000000..f8ff5b042a
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/tests/i18next-translation-dedupe.test.ts
@@ -0,0 +1,120 @@
+// Copyright 2024 The Lynx Authors. All rights reserved.
+// Licensed under the Apache License Version 2.0 that can be found in the
+// LICENSE file in the root directory of this source tree.
+import { existsSync, readFileSync, readdirSync } from 'node:fs';
+import { mkdtemp } from 'node:fs/promises';
+import { tmpdir } from 'node:os';
+import path, { dirname } from 'node:path';
+import { fileURLToPath } from 'node:url';
+
+import { pluginI18nextExtractor } from 'rsbuild-plugin-i18next-extractor';
+import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest';
+
+import { pluginReactLynx } from '@lynx-js/react-rsbuild-plugin';
+import { createRspeedy } from '@lynx-js/rspeedy';
+
+import { pluginLynxI18nextTranslationDedupe } from '../src/index.js';
+
+interface TasmJson {
+ customSections?: Record;
+ type?: 'lazy';
+ }>;
+}
+
+const testDir = dirname(fileURLToPath(import.meta.url));
+const fixtureRoot = path.join(testDir, 'fixtures/i18next-rspeedy-project');
+const pluginReactRoot = path.resolve(testDir, '../../../rspeedy/plugin-react');
+
+beforeEach(() => {
+ vi.stubEnv('DEBUG', 'rspeedy');
+});
+
+afterEach(() => {
+ vi.unstubAllEnvs();
+});
+
+describe('i18next translation dedupe integration', () => {
+ test('build injects i18n translations into customSections and removes JS inline translations', async () => {
+ const distRoot = await mkdtemp(
+ path.join(tmpdir(), 'i18next-translation-dedupe-'),
+ );
+
+ const rspeedy = await createRspeedy({
+ cwd: pluginReactRoot,
+ rspeedyConfig: {
+ source: {
+ entry: {
+ main: path.join(fixtureRoot, 'src/index.tsx'),
+ },
+ },
+ output: {
+ distPath: {
+ root: distRoot,
+ },
+ filenameHash: false,
+ },
+ tools: {
+ rspack: {
+ context: fixtureRoot,
+ resolve: {
+ extensionAlias: {
+ '.js': ['.ts', '.js'],
+ '.jsx': ['.tsx', '.jsx'],
+ },
+ },
+ },
+ },
+ plugins: [
+ pluginReactLynx(),
+ pluginI18nextExtractor({
+ localesDir: './src/locales',
+ }),
+ pluginLynxI18nextTranslationDedupe(),
+ ],
+ },
+ });
+
+ const result = await rspeedy.build();
+ await result.close();
+
+ const rspeedyDir = path.join(distRoot, '.rspeedy/main');
+ const tasmPath = path.join(rspeedyDir, 'tasm.json');
+ const mainThreadPath = path.join(rspeedyDir, 'main-thread.js');
+ const backgroundPath = readDirBackgroundBundle(rspeedyDir);
+
+ expect(existsSync(tasmPath)).toBe(true);
+ expect(existsSync(mainThreadPath)).toBe(true);
+ expect(backgroundPath).toBeTruthy();
+
+ const tasmJson = JSON.parse(readFileSync(tasmPath, 'utf8')) as TasmJson;
+ const customSection =
+ tasmJson.customSections?.['i18next-translations']?.content ?? null;
+
+ expect(customSection).toEqual({
+ en: {
+ hello: 'Hello world',
+ },
+ zh: {
+ hello: '你好,世界',
+ },
+ });
+
+ const mainThreadContent = readFileSync(mainThreadPath, 'utf8');
+ const backgroundContent = readFileSync(
+ path.join(rspeedyDir, backgroundPath!),
+ 'utf8',
+ );
+
+ expect(mainThreadContent.includes('Hello world')).toBe(false);
+ expect(mainThreadContent.includes('你好,世界')).toBe(false);
+ expect(backgroundContent.includes('Hello world')).toBe(false);
+ expect(backgroundContent.includes('你好,世界')).toBe(false);
+ });
+});
+
+function readDirBackgroundBundle(rspeedyDir: string): string | undefined {
+ return readdirSync(rspeedyDir).find(
+ (file: string) => file.startsWith('background.') && file.endsWith('.js'),
+ );
+}
diff --git a/packages/i18n/i18next-translation-dedupe/tsconfig.build.json b/packages/i18n/i18next-translation-dedupe/tsconfig.build.json
new file mode 100644
index 0000000000..4588b6aba6
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/tsconfig.build.json
@@ -0,0 +1,15 @@
+{
+ "extends": ["../../../tsconfig.json"],
+ "compilerOptions": {
+ "composite": true,
+ "outDir": "./lib",
+ "baseUrl": "./",
+ "rootDir": "./src",
+ },
+ "include": ["src"],
+ "exclude": ["tests/**"],
+ "references": [
+ { "path": "../../rspeedy/core/tsconfig.build.json" },
+ { "path": "../../webpack/template-webpack-plugin/tsconfig.build.json" },
+ ],
+}
diff --git a/packages/i18n/i18next-translation-dedupe/tsconfig.json b/packages/i18n/i18next-translation-dedupe/tsconfig.json
new file mode 100644
index 0000000000..79b695876c
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/tsconfig.json
@@ -0,0 +1,9 @@
+{
+ "extends": ["./tsconfig.build.json"],
+ "compilerOptions": {
+ "rootDir": ".",
+ "noEmit": true,
+ },
+ "include": ["src", "tests/**/*.test.ts", "vitest.config.ts"],
+ "exclude": [],
+}
diff --git a/packages/i18n/i18next-translation-dedupe/vitest.config.ts b/packages/i18n/i18next-translation-dedupe/vitest.config.ts
new file mode 100644
index 0000000000..0c9f6ffa6a
--- /dev/null
+++ b/packages/i18n/i18next-translation-dedupe/vitest.config.ts
@@ -0,0 +1,15 @@
+// Copyright 2024 The Lynx Authors. All rights reserved.
+// Licensed under the Apache License Version 2.0 that can be found in the
+// LICENSE file in the root directory of this source tree.
+
+import { defineProject, type UserWorkspaceConfig } from 'vitest/config';
+
+const config: UserWorkspaceConfig = defineProject({
+ test: {
+ name: 'i18n/i18next-translation-dedupe',
+ exclude: ['lib/**'],
+ include: ['tests/**/*.test.ts'],
+ },
+});
+
+export default config;
diff --git a/packages/i18n/tsconfig.json b/packages/i18n/tsconfig.json
new file mode 100644
index 0000000000..5aed7c18b1
--- /dev/null
+++ b/packages/i18n/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ },
+ "references": [
+ /** packages-start */
+ { "path": "./i18next-translation-dedupe/tsconfig.build.json" },
+ /** packages-end */
+ ],
+ "include": [],
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 306d91f113..9ce2fc5797 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -299,7 +299,7 @@ importers:
version: link:../../packages/react
react-compiler-runtime:
specifier: 0.0.0-experimental-fe727a3-20250909
- version: 0.0.0-experimental-fe727a3-20250909(react@19.2.4)
+ version: 0.0.0-experimental-fe727a3-20250909(react@19.2.5)
devDependencies:
'@lynx-js/qrcode-rsbuild-plugin':
specifier: workspace:*
@@ -488,10 +488,10 @@ importers:
devDependencies:
'@lynx-js/lynx-ui':
specifier: ^3.130.0
- version: 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ version: 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/lynx-ui-input':
specifier: ^3.130.0
- version: 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ version: 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react':
specifier: workspace:*
version: link:../../react
@@ -502,6 +502,33 @@ importers:
specifier: ^18.3.28
version: 18.3.28
+ packages/i18n/i18next-translation-dedupe:
+ devDependencies:
+ '@lynx-js/react':
+ specifier: workspace:*
+ version: link:../../react
+ '@lynx-js/react-rsbuild-plugin':
+ specifier: workspace:*
+ version: link:../../rspeedy/plugin-react
+ '@lynx-js/rspeedy':
+ specifier: workspace:*
+ version: link:../../rspeedy/core
+ '@lynx-js/template-webpack-plugin':
+ specifier: workspace:*
+ version: link:../../webpack/template-webpack-plugin
+ '@lynx-js/types':
+ specifier: 3.7.0
+ version: 3.7.0
+ i18next:
+ specifier: 26.0.6
+ version: 26.0.6(typescript@5.9.3)
+ i18next-cli:
+ specifier: 1.54.2
+ version: 1.54.2(@swc/helpers@0.5.21)(@types/node@24.10.13)(i18next@26.0.6(typescript@5.9.3))(typescript@5.9.3)
+ rsbuild-plugin-i18next-extractor:
+ specifier: 0.2.0
+ version: 0.2.0(@rsbuild/core@1.7.5)(i18next-cli@1.54.2(@swc/helpers@0.5.21)(@types/node@24.10.13)(i18next@26.0.6(typescript@5.9.3))(typescript@5.9.3))(rollup@4.34.9)
+
packages/lynx/benchx_cli:
dependencies:
zx:
@@ -622,7 +649,7 @@ importers:
dependencies:
framer-motion:
specifier: 12.34.1
- version: 12.34.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ version: 12.34.1(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
motion-dom:
specifier: 12.23.12
version: 12.23.12
@@ -1292,7 +1319,7 @@ importers:
version: link:../../../react
react-compiler-runtime:
specifier: 0.0.0-experimental-fe727a3-20250909
- version: 0.0.0-experimental-fe727a3-20250909(react@19.2.4)
+ version: 0.0.0-experimental-fe727a3-20250909(react@19.2.5)
devDependencies:
'@babel/core':
specifier: ^7.29.0
@@ -1808,10 +1835,10 @@ importers:
version: 1.7.9(@swc/helpers@0.5.21)
swc-loader:
specifier: ^0.2.7
- version: 0.2.7(@swc/core@1.15.24(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.24(@swc/helpers@0.5.21)))
+ version: 0.2.7(@swc/core@1.15.30(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.30(@swc/helpers@0.5.21)))
webpack:
specifier: ^5.105.2
- version: 5.105.2(@swc/core@1.15.24(@swc/helpers@0.5.21))
+ version: 5.105.2(@swc/core@1.15.30(@swc/helpers@0.5.21))
packages/webpack/react-webpack-plugin:
dependencies:
@@ -1845,13 +1872,13 @@ importers:
version: 1.7.9(@swc/helpers@0.5.21)
css-loader:
specifier: ^7.1.4
- version: 7.1.4(@rspack/core@1.7.9(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.24(@swc/helpers@0.5.21)))
+ version: 7.1.4(@rspack/core@1.7.9(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.30(@swc/helpers@0.5.21)))
swc-loader:
specifier: ^0.2.7
- version: 0.2.7(@swc/core@1.15.24(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.24(@swc/helpers@0.5.21)))
+ version: 0.2.7(@swc/core@1.15.30(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.30(@swc/helpers@0.5.21)))
webpack:
specifier: ^5.105.2
- version: 5.105.2(@swc/core@1.15.24(@swc/helpers@0.5.21))
+ version: 5.105.2(@swc/core@1.15.30(@swc/helpers@0.5.21))
packages/webpack/runtime-wrapper-webpack-plugin:
dependencies:
@@ -2419,8 +2446,8 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/runtime@7.25.4':
- resolution: {integrity: sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w==}
+ '@babel/runtime@7.29.2':
+ resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==}
engines: {node: '>=6.9.0'}
'@babel/template@7.28.6':
@@ -2581,6 +2608,12 @@ packages:
vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
vitest: ^3.2 || ^4
+ '@croct/json5-parser@0.2.2':
+ resolution: {integrity: sha512-0NJMLrbeLbQ0eCVj3UoH/kG2QckUgOASfwmfDTjyW1xAYPyTNJXcWVT/dssJdTJd0pRchW+qF0VFWQHcxs1OVw==}
+
+ '@croct/json@2.1.0':
+ resolution: {integrity: sha512-UrWfjNQVlBxN+OVcFwHmkjARMW55MBN04E9KfGac8ac8z1QnFVuiOOFtMWXCk3UwsyRqhsNaFoYLZC+xxqsVjQ==}
+
'@csstools/color-helpers@5.1.0':
resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==}
engines: {node: '>=18'}
@@ -3093,6 +3126,55 @@ packages:
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
+ '@inquirer/ansi@2.0.5':
+ resolution: {integrity: sha512-doc2sWgJpbFQ64UflSVd17ibMGDuxO1yKgOgLMwavzESnXjFWJqUeG8saYosqKpHp4kWiM5x1nXvEjbpx90gzw==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+
+ '@inquirer/checkbox@5.1.4':
+ resolution: {integrity: sha512-w6KF8ZYRvqHhROkOTHXYC3qIV/KYEu5o12oLqQySvch61vrYtRxNSHTONSdJqWiFJPlCUQAHT5OgOIyuTr+MHQ==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/confirm@6.0.12':
+ resolution: {integrity: sha512-h9FgGun3QwVYNj5TWIZZ+slii73bMoBFjPfVIGtnFuL4t8gBiNDV9PcSfIzkuxvgquJKt9nr1QzszpBzTbH8Og==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/core@11.1.9':
+ resolution: {integrity: sha512-BDE4fG22uYh1bGSifcj7JSx119TVYNViMhMu85usp4Fswrzh6M0DV3yld64jA98uOAa2GSQ4Bg4bZRm2d2cwSg==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/editor@5.1.1':
+ resolution: {integrity: sha512-6y11LgmNpmn5D2aB5FgnCfBUBK8ZstwLCalyJmORcJZ/WrhOjm16mu6eSqIx8DnErxDqSLr+Jkp+GP8/Nwd5tA==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/expand@5.0.13':
+ resolution: {integrity: sha512-dF2zvrFo9LshkcB23/O1il13kBkBltWIXzut1evfbuBLXMiGIuC45c+ZQ0uukjCDsvI8OWqun4FRYMnzFCQa3g==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
'@inquirer/external-editor@1.0.3':
resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==}
engines: {node: '>=18'}
@@ -3102,6 +3184,91 @@ packages:
'@types/node':
optional: true
+ '@inquirer/external-editor@3.0.0':
+ resolution: {integrity: sha512-lDSwMgg+M5rq6JKBYaJwSX6T9e/HK2qqZ1oxmOwn4AQoJE5D+7TumsxLGC02PWS//rkIVqbZv3XA3ejsc9FYvg==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/figures@2.0.5':
+ resolution: {integrity: sha512-NsSs4kzfm12lNetHwAn3GEuH317IzpwrMCbOuMIVytpjnJ90YYHNwdRgYGuKmVxwuIqSgqk3M5qqQt1cDk0tGQ==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+
+ '@inquirer/input@5.0.12':
+ resolution: {integrity: sha512-uiMFBl4LqFzJClh80Q3f9hbOFJ6kgkDWI4LjAeBuyO6EanVVMF69AgOvpi1qdqjDSjDN6578B6nky9ceEpI+1Q==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/number@4.0.12':
+ resolution: {integrity: sha512-/vrwhEf7Xsuh+YlHF4IjSy3g1cyrQuPaSiHIxCEbLu8qnfvrcvJyCkoktOOF+xV9gSb77/G0n3h04RbMDW2sIg==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/password@5.0.12':
+ resolution: {integrity: sha512-CBh7YHju623lxJRcAOo498ZUwIuMy63bqW/vVq0tQAZVv+lkWlHkP9ealYE1utWSisEShY5VMdzIXRmyEODzcQ==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/prompts@8.4.2':
+ resolution: {integrity: sha512-XJmn/wY4AX56l1BRU+ZjDrFtg9+2uBEi4JvJQj82kwJDQKiPgSn4CEsbfGGygS4Gw6rkL4W18oATjfVfaqub2Q==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/rawlist@5.2.8':
+ resolution: {integrity: sha512-Su7FQvp5buZmCymN3PPoYv31ZQQX4ve2j02k7piGgKAWgE+AQRB5YoYVveGXcl3TZ9ldgRMSxj56YfDFmmaqLg==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/search@4.1.8':
+ resolution: {integrity: sha512-fGiHKGD6DyPIYUWxoXnQTeXeyYqSOUrasDMABBmMHUalH/LxkuzY0xVRtimXAt1sUeeyYkVuKQx1bebMuN11Kw==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/select@5.1.4':
+ resolution: {integrity: sha512-2kWcGKPMLAXAWRp1AH1SLsQmX+j0QjeljyXMUji9WMZC8nRDO0b7qquIGr6143E7KMLt3VAIGNXzwa/6PXQs4Q==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@inquirer/type@4.0.5':
+ resolution: {integrity: sha512-aetVUNeKNc/VriqXlw1NRSW0zhMBB0W4bNbWRJgzRl/3d0QNDQFfk0GO5SDdtjMZVg6o8ZKEiadd7SCCzoOn5Q==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
@@ -3965,8 +4132,8 @@ packages:
tslib:
optional: true
- '@rollup/pluginutils@5.1.2':
- resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==}
+ '@rollup/pluginutils@5.3.0':
+ resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
engines: {node: '>=14.0.0'}
peerDependencies:
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
@@ -4556,86 +4723,86 @@ packages:
resolution: {integrity: sha512-08eKiDAjj4zLug1taXSIJ0kGL5cawjVCyJkBb6EWSg5fEPX6L+Wtr0CH2If4j5KYylz85iaZiFlUItvgJvll5g==}
engines: {node: ^14.13.1 || ^16.0.0 || >=18}
- '@swc/core-darwin-arm64@1.15.24':
- resolution: {integrity: sha512-uM5ZGfFXjtvtJ+fe448PVBEbn/CSxS3UAyLj3O9xOqKIWy3S6hPTXSPbszxkSsGDYKi+YFhzAsR4r/eXLxEQ0g==}
+ '@swc/core-darwin-arm64@1.15.30':
+ resolution: {integrity: sha512-VvpP+vq08HmGYewMWvrdsxh9s2lthz/808zXm8Yu5kaqeR8Yia2b0eYXleHQ3VAjoStUDk6LzTheBW9KXYQdMA==}
engines: {node: '>=10'}
cpu: [arm64]
os: [darwin]
- '@swc/core-darwin-x64@1.15.24':
- resolution: {integrity: sha512-fMIb/Zfn929pw25VMBhV7Ji2Dl+lCWtUPNdYJQYOke+00E5fcQ9ynxtP8+qhUo/HZc+mYQb1gJxwHM9vty+lXg==}
+ '@swc/core-darwin-x64@1.15.30':
+ resolution: {integrity: sha512-WiJA0hiZI3nwQAO6mu5RqigtWGDtth4Hiq6rbZxAaQyhIcqKIg5IoMRc1Y071lrNJn29eEDMC86Rq58xgUxlDg==}
engines: {node: '>=10'}
cpu: [x64]
os: [darwin]
- '@swc/core-linux-arm-gnueabihf@1.15.24':
- resolution: {integrity: sha512-vOkjsyjjxnoYx3hMEWcGxQrMgnNrRm6WAegBXrN8foHtDAR+zpdhpGF5a4lj1bNPgXAvmysjui8cM1ov/Clkaw==}
+ '@swc/core-linux-arm-gnueabihf@1.15.30':
+ resolution: {integrity: sha512-YANuFUo48kIT6plJgCD0keae9HFXfjxsbvsgevqc0hr/07X/p7sAWTFOGYEc2SXcASaK7UvuQqzlbW8pr7R79g==}
engines: {node: '>=10'}
cpu: [arm]
os: [linux]
- '@swc/core-linux-arm64-gnu@1.15.24':
- resolution: {integrity: sha512-h/oNu+upkXJ6Cicnq7YGVj9PkdfarLCdQa8l/FlHYvfv8CEiMaeeTnpLU7gSBH/rGxosM6Qkfa/J9mThGF9CLA==}
+ '@swc/core-linux-arm64-gnu@1.15.30':
+ resolution: {integrity: sha512-VndG8jaR4ugY6u+iVOT0Q+d2fZd7sLgjPgN8W/Le+3EbZKl+cRfFxV7Eoz4gfLqhmneZPdcIzf9T3LkgkmqNLg==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@swc/core-linux-arm64-musl@1.15.24':
- resolution: {integrity: sha512-ZpF/pRe1guk6sKzQI9D1jAORtjTdNlyeXn9GDz8ophof/w2WhojRblvSDJaGe7rJjcPN8AaOkhwdRUh7q8oYIg==}
+ '@swc/core-linux-arm64-musl@1.15.30':
+ resolution: {integrity: sha512-1SYGs2l0Yyyi0pR/P/NKz/x0kqxkoiw+BXeJjLUdecSk/KasncWlJrc6hOvFSgKHOBrzgM5jwuluKtlT8dnrcA==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@swc/core-linux-ppc64-gnu@1.15.24':
- resolution: {integrity: sha512-QZEsZfisHTSJlmyChgDFNmKPb3W6Lhbfo/O76HhIngfEdnQNmukS38/VSe1feho+xkV5A5hETyCbx3sALBZKAQ==}
+ '@swc/core-linux-ppc64-gnu@1.15.30':
+ resolution: {integrity: sha512-TXREtiXeRhbfDFbmhnkIsXpKfzbfT73YkV2ZF6w0sfxgjC5zI2ZAbaCOq25qxvegofj2K93DtOpm9RLaBgqR2g==}
engines: {node: '>=10'}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@swc/core-linux-s390x-gnu@1.15.24':
- resolution: {integrity: sha512-DLdJKVsJgglqQrJBuoUYNmzm3leI7kUZhLbZGHv42onfKsGf6JDS3+bzCUQfte/XOqDjh/tmmn1DR/CF/tCJFw==}
+ '@swc/core-linux-s390x-gnu@1.15.30':
+ resolution: {integrity: sha512-DCR2YYeyd6DQE4OuDhImouuNcjXEiEdnn1Y0DyGteugPEDvVuvYk8Xddi+4o2SgWH6jiW8/I+3emZvbep1NC+g==}
engines: {node: '>=10'}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@swc/core-linux-x64-gnu@1.15.24':
- resolution: {integrity: sha512-IpLYfposPA/XLxYOKpRfeccl1p5dDa3+okZDHHTchBkXEaVCnq5MADPmIWwIYj1tudt7hORsEHccG5no6IUQRw==}
+ '@swc/core-linux-x64-gnu@1.15.30':
+ resolution: {integrity: sha512-5Pizw3NgfOJ5BJOBK8TIRa59xFW2avESTOBDPTAYwZYa1JNDs+KMF9lUfjJiJLM5HiMs/wPheA9eiT0q9m2AoA==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@swc/core-linux-x64-musl@1.15.24':
- resolution: {integrity: sha512-JHy3fMSc0t/EPWgo74+OK5TGr51aElnzqfUPaiRf2qJ/BfX5CUCfMiWVBuhI7qmVMBnk1jTRnL/xZnOSHDPLYg==}
+ '@swc/core-linux-x64-musl@1.15.30':
+ resolution: {integrity: sha512-qyqydP/wyH8alcIP4a2hnGSjHLJjm9H7yDFup+CPy9oTahFgLLwnNcv5UHXqO2Qs3AIND+cls5f/Bb6hqpxdgA==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
libc: [musl]
- '@swc/core-win32-arm64-msvc@1.15.24':
- resolution: {integrity: sha512-Txj+qUH1z2bUd1P3JvwByfjKFti3cptlAxhWgmunBUUxy/IW3CXLZ6l6Gk4liANadKkU71nIU1X30Z5vpMT3BA==}
+ '@swc/core-win32-arm64-msvc@1.15.30':
+ resolution: {integrity: sha512-CaQENgDHVGOg1mSF5sQVgvfFHG9kjMor2rkLMLeLOkfZYNj13ppnJ9+lfaBZLZUMMbnlGQnavCJb8PVBUOso7Q==}
engines: {node: '>=10'}
cpu: [arm64]
os: [win32]
- '@swc/core-win32-ia32-msvc@1.15.24':
- resolution: {integrity: sha512-15D/nl3XwrhFpMv+MADFOiVwv3FvH9j8c6Rf8EXBT3Q5LoMh8YnDnSgPYqw1JzPnksvsBX6QPXLiPqmcR/Z4qQ==}
+ '@swc/core-win32-ia32-msvc@1.15.30':
+ resolution: {integrity: sha512-30VdLeGk6fugiUs/kUdJ/pAg7z/zpvVbR11RH60jZ0Z42WIeIniYx0rLEWN7h/pKJ3CopqsQ3RsogCAkRKiA2g==}
engines: {node: '>=10'}
cpu: [ia32]
os: [win32]
- '@swc/core-win32-x64-msvc@1.15.24':
- resolution: {integrity: sha512-PR0PlTlPra2JbaDphrOAzm6s0v9rA0F17YzB+XbWD95B4g2cWcZY9LAeTa4xll70VLw9Jr7xBrlohqlQmelMFQ==}
+ '@swc/core-win32-x64-msvc@1.15.30':
+ resolution: {integrity: sha512-4iObHPR+Q4oDY110EF5SF5eIaaVJNpMdG9C0q3Q92BsJ5y467uHz7sYQhP60WYlLFsLQ1el2YrIPUItUAQGOKg==}
engines: {node: '>=10'}
cpu: [x64]
os: [win32]
- '@swc/core@1.15.24':
- resolution: {integrity: sha512-5Hj8aNasue7yusUt8LGCUe/AjM7RMAce8ZoyDyiFwx7Al+GbYKL+yE7g4sJk8vEr1dKIkTRARkNIJENc4CjkBQ==}
+ '@swc/core@1.15.30':
+ resolution: {integrity: sha512-R8VQbQY1BZcbIF2p3gjlTCwAQzx1A194ugWfwld5y+WgVVWqVKm7eURGGOVbQVubgKWzidP2agomBbg96rZilQ==}
engines: {node: '>=10'}
peerDependencies:
'@swc/helpers': '>=0.5.17'
@@ -5657,9 +5824,9 @@ packages:
brace-expansion@2.0.1:
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
- brace-expansion@5.0.2:
- resolution: {integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==}
- engines: {node: 20 || >=22}
+ brace-expansion@5.0.5:
+ resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==}
+ engines: {node: 18 || 20 || >=22}
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
@@ -5751,6 +5918,10 @@ packages:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
+ chalk@5.6.2:
+ resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
change-case@5.4.4:
resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==}
@@ -5784,6 +5955,10 @@ packages:
resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
engines: {node: '>= 14.16.0'}
+ chokidar@5.0.0:
+ resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==}
+ engines: {node: '>= 20.19.0'}
+
chrome-trace-event@1.0.4:
resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
engines: {node: '>=6.0'}
@@ -5819,6 +5994,10 @@ packages:
resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
engines: {node: '>=6'}
+ cli-spinners@3.4.0:
+ resolution: {integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==}
+ engines: {node: '>=18.20'}
+
cli-truncate@5.1.0:
resolution: {integrity: sha512-7JDGG+4Zp0CsknDCedl0DYdaeOhc46QNpXi3NLQblkZpXXgA6LncLDUUyvrjSvZeF3VRQa+KiMGomazQrC1V8g==}
engines: {node: '>=20'}
@@ -5827,6 +6006,10 @@ packages:
resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
engines: {node: '>= 10'}
+ cli-width@4.1.0:
+ resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
+ engines: {node: '>= 12'}
+
cliui@6.0.0:
resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
@@ -6770,9 +6953,18 @@ packages:
fast-shallow-equal@1.0.0:
resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==}
+ fast-string-truncated-width@3.0.3:
+ resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==}
+
+ fast-string-width@3.0.2:
+ resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==}
+
fast-uri@3.1.0:
resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
+ fast-wrap-ansi@0.2.0:
+ resolution: {integrity: sha512-rLV8JHxTyhVmFYhBJuMujcrHqOT2cnO5Zxj37qROj23CP39GXubJRBUFF0z8KFK77Uc0SukZUf7JZhsVEQ6n8w==}
+
fastest-stable-stringify@2.0.2:
resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==}
@@ -7060,9 +7252,9 @@ packages:
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
hasBin: true
- glob@13.0.5:
- resolution: {integrity: sha512-BzXxZg24Ibra1pbQ/zE7Kys4Ua1ks7Bn6pKLkVPZ9FZe4JQS6/Q7ef3LG1H+k7lUf5l4T3PLSyYyYJVYUvfgTw==}
- engines: {node: 20 || >=22}
+ glob@13.0.6:
+ resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==}
+ engines: {node: 18 || 20 || >=22}
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
@@ -7213,6 +7405,9 @@ packages:
html-escaper@2.0.2:
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+ html-parse-stringify@3.0.1:
+ resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==}
+
html-void-elements@3.0.0:
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
@@ -7274,6 +7469,23 @@ packages:
hyphenate-style-name@1.1.0:
resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==}
+ i18next-cli@1.54.2:
+ resolution: {integrity: sha512-aQ9tyuDl6HHlhE/pMD3pwkJDTMONMObyHpDQCVYG+1H4wbQFOkuCAHR7TIdngLk3QIM+tggwR2naLH0Zdw9Dzg==}
+ engines: {node: '>=22'}
+ hasBin: true
+
+ i18next-resources-for-ts@2.1.0:
+ resolution: {integrity: sha512-n5UexwEVt0OoIAhG2MWpSnAVJW1U8mQrQTmXyxc5DMAx+NLhcLZhSMJo/FnUsA5JQ3obTYqTgB7YIuZKWpDgow==}
+ hasBin: true
+
+ i18next@26.0.6:
+ resolution: {integrity: sha512-A4U6eCXodIbrhf8EarRurB9/4ebyaurH4+fu4gig9bqxmpSt+fCAFm/GpRQDcN1Xzu/LdFCx4nYHsnM1edIIbg==}
+ peerDependencies:
+ typescript: ^5 || ^6
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
@@ -7349,6 +7561,15 @@ packages:
inline-style-prefixer@7.0.1:
resolution: {integrity: sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==}
+ inquirer@13.4.2:
+ resolution: {integrity: sha512-ziXEKBO6nxsX9Z3XEh7LNiUvYN/o5PYuYK+27l69NpjSUOh6JXQsQAKEw2AnZq5xvHeb3ZwkpzOxvNOswIX1fg==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
inquirer@8.2.6:
resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==}
engines: {node: '>=12.0.0'}
@@ -7466,6 +7687,10 @@ packages:
resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
engines: {node: '>=8'}
+ is-interactive@2.0.0:
+ resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
+ engines: {node: '>=12'}
+
is-map@2.0.3:
resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
engines: {node: '>= 0.4'}
@@ -7770,6 +7995,9 @@ packages:
engines: {node: '>=6'}
hasBin: true
+ jsonc-parser@3.3.1:
+ resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
+
jsonfile@4.0.0:
resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
@@ -7936,6 +8164,10 @@ packages:
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
engines: {node: '>=10'}
+ log-symbols@7.0.1:
+ resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==}
+ engines: {node: '>=18'}
+
log-update@6.1.0:
resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
engines: {node: '>=18'}
@@ -8260,6 +8492,10 @@ packages:
resolution: {integrity: sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==}
engines: {node: 18 || 20 || >=22}
+ minimatch@10.2.5:
+ resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
+ engines: {node: 18 || 20 || >=22}
+
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
@@ -8270,8 +8506,8 @@ packages:
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
- minipass@7.1.2:
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+ minipass@7.1.3:
+ resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
engines: {node: '>=16 || 14 >=14.17'}
monaco-editor@0.52.2:
@@ -8310,6 +8546,10 @@ packages:
mute-stream@0.0.8:
resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
+ mute-stream@3.0.0:
+ resolution: {integrity: sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==}
+ engines: {node: ^20.17.0 || >=22.9.0}
+
mz@2.7.0:
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
@@ -8479,6 +8719,10 @@ packages:
resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
engines: {node: '>=10'}
+ ora@9.3.0:
+ resolution: {integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==}
+ engines: {node: '>=20'}
+
os-tmpdir@1.0.2:
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
engines: {node: '>=0.10.0'}
@@ -8598,9 +8842,9 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
- path-scurry@2.0.0:
- resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
- engines: {node: 20 || >=22}
+ path-scurry@2.0.2:
+ resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
+ engines: {node: 18 || 20 || >=22}
path-serializer@0.5.1:
resolution: {integrity: sha512-bMTznw/TiZbmxlPQEV1pFatJFQcBKt3i9glDcPqygSx5xGrcM4MTCSjY+3SgW9Y628zfRmuJ1uAc/t/A3Tw0QA==}
@@ -9016,6 +9260,22 @@ packages:
peerDependencies:
react: ^19.2.4
+ react-i18next@17.0.4:
+ resolution: {integrity: sha512-hQipmK4EF0y6RO6tt6WuqnmWpWYEXmQUUzecmMBuNsIgYd3smXcG4GtYPWhvgxn0pqMOItKlEO8H24HCs5hc3g==}
+ peerDependencies:
+ i18next: '>= 26.0.1'
+ react: '>= 16.8.0'
+ react-dom: '*'
+ react-native: '*'
+ typescript: ^5 || ^6
+ peerDependenciesMeta:
+ react-dom:
+ optional: true
+ react-native:
+ optional: true
+ typescript:
+ optional: true
+
react-is@17.0.2:
resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
@@ -9104,6 +9364,10 @@ packages:
resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==}
engines: {node: '>=0.10.0'}
+ react@19.2.5:
+ resolution: {integrity: sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==}
+ engines: {node: '>=0.10.0'}
+
read-cache@1.0.0:
resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
@@ -9126,6 +9390,10 @@ packages:
resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
engines: {node: '>= 14.16.0'}
+ readdirp@5.0.0:
+ resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==}
+ engines: {node: '>= 20.19.0'}
+
recma-build-jsx@1.0.0:
resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
@@ -9153,9 +9421,6 @@ packages:
resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
engines: {node: '>= 0.4'}
- regenerator-runtime@0.14.1:
- resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
-
regex-recursion@6.0.2:
resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
@@ -9320,6 +9585,13 @@ packages:
typescript:
optional: true
+ rsbuild-plugin-i18next-extractor@0.2.0:
+ resolution: {integrity: sha512-GtHV/x2EKUCckWX11N5PBOjTyD3zCfPIxLxBWJ/5opcYprawFMw4k44ezyyArKFiYygsrxJymur7wYmtt7Y1OA==}
+ engines: {node: '>=22'}
+ peerDependencies:
+ '@rsbuild/core': ^1.0.0
+ i18next-cli: ^1.33.5
+
rsbuild-plugin-publint@0.3.4:
resolution: {integrity: sha512-0oIeQlTNRQoiyi2K5RT6C0+3q8J1HZEX66pkTtDAvmNNHiLf+YyBn2bx8S2w5T7MEVt323ULKoGV4rRROIOatQ==}
peerDependencies:
@@ -9351,11 +9623,15 @@ packages:
resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
engines: {node: '>=0.12.0'}
+ run-async@4.0.6:
+ resolution: {integrity: sha512-IoDlSLTs3Yq593mb3ZoKWKXMNu3UpObxhgA/Xuid5p4bbfi2jdY1Hj0m1K+0/tEuQTxIGMhQDqGjKb7RuxGpAQ==}
+ engines: {node: '>=0.12.0'}
+
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- rxjs@7.8.1:
- resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
+ rxjs@7.8.2:
+ resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
sade@1.8.1:
resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
@@ -9796,6 +10072,10 @@ packages:
std-env@3.9.0:
resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==}
+ stdin-discarder@0.3.2:
+ resolution: {integrity: sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==}
+ engines: {node: '>=18'}
+
stop-iteration-iterator@1.1.0:
resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
engines: {node: '>= 0.4'}
@@ -10352,6 +10632,11 @@ packages:
'@types/react':
optional: true
+ use-sync-external-store@1.6.0:
+ resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@@ -10453,6 +10738,10 @@ packages:
jsdom:
optional: true
+ void-elements@3.1.0:
+ resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
+ engines: {node: '>=0.10.0'}
+
w3c-xmlserializer@5.0.0:
resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
engines: {node: '>=18'}
@@ -10696,8 +10985,8 @@ packages:
yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- yaml@2.8.2:
- resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==}
+ yaml@2.8.3:
+ resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==}
engines: {node: '>= 14.6'}
hasBin: true
@@ -11141,9 +11430,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/runtime@7.25.4':
- dependencies:
- regenerator-runtime: 0.14.1
+ '@babel/runtime@7.29.2': {}
'@babel/template@7.28.6':
dependencies:
@@ -11404,6 +11691,12 @@ snapshots:
transitivePeerDependencies:
- debug
+ '@croct/json5-parser@0.2.2':
+ dependencies:
+ '@croct/json': 2.1.0
+
+ '@croct/json@2.1.0': {}
+
'@csstools/color-helpers@5.1.0': {}
'@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)':
@@ -11744,6 +12037,51 @@ snapshots:
'@humanwhocodes/retry@0.4.3': {}
+ '@inquirer/ansi@2.0.5': {}
+
+ '@inquirer/checkbox@5.1.4(@types/node@24.10.13)':
+ dependencies:
+ '@inquirer/ansi': 2.0.5
+ '@inquirer/core': 11.1.9(@types/node@24.10.13)
+ '@inquirer/figures': 2.0.5
+ '@inquirer/type': 4.0.5(@types/node@24.10.13)
+ optionalDependencies:
+ '@types/node': 24.10.13
+
+ '@inquirer/confirm@6.0.12(@types/node@24.10.13)':
+ dependencies:
+ '@inquirer/core': 11.1.9(@types/node@24.10.13)
+ '@inquirer/type': 4.0.5(@types/node@24.10.13)
+ optionalDependencies:
+ '@types/node': 24.10.13
+
+ '@inquirer/core@11.1.9(@types/node@24.10.13)':
+ dependencies:
+ '@inquirer/ansi': 2.0.5
+ '@inquirer/figures': 2.0.5
+ '@inquirer/type': 4.0.5(@types/node@24.10.13)
+ cli-width: 4.1.0
+ fast-wrap-ansi: 0.2.0
+ mute-stream: 3.0.0
+ signal-exit: 4.1.0
+ optionalDependencies:
+ '@types/node': 24.10.13
+
+ '@inquirer/editor@5.1.1(@types/node@24.10.13)':
+ dependencies:
+ '@inquirer/core': 11.1.9(@types/node@24.10.13)
+ '@inquirer/external-editor': 3.0.0(@types/node@24.10.13)
+ '@inquirer/type': 4.0.5(@types/node@24.10.13)
+ optionalDependencies:
+ '@types/node': 24.10.13
+
+ '@inquirer/expand@5.0.13(@types/node@24.10.13)':
+ dependencies:
+ '@inquirer/core': 11.1.9(@types/node@24.10.13)
+ '@inquirer/type': 4.0.5(@types/node@24.10.13)
+ optionalDependencies:
+ '@types/node': 24.10.13
+
'@inquirer/external-editor@1.0.3(@types/node@24.10.13)':
dependencies:
chardet: 2.1.1
@@ -11751,6 +12089,80 @@ snapshots:
optionalDependencies:
'@types/node': 24.10.13
+ '@inquirer/external-editor@3.0.0(@types/node@24.10.13)':
+ dependencies:
+ chardet: 2.1.1
+ iconv-lite: 0.7.2
+ optionalDependencies:
+ '@types/node': 24.10.13
+
+ '@inquirer/figures@2.0.5': {}
+
+ '@inquirer/input@5.0.12(@types/node@24.10.13)':
+ dependencies:
+ '@inquirer/core': 11.1.9(@types/node@24.10.13)
+ '@inquirer/type': 4.0.5(@types/node@24.10.13)
+ optionalDependencies:
+ '@types/node': 24.10.13
+
+ '@inquirer/number@4.0.12(@types/node@24.10.13)':
+ dependencies:
+ '@inquirer/core': 11.1.9(@types/node@24.10.13)
+ '@inquirer/type': 4.0.5(@types/node@24.10.13)
+ optionalDependencies:
+ '@types/node': 24.10.13
+
+ '@inquirer/password@5.0.12(@types/node@24.10.13)':
+ dependencies:
+ '@inquirer/ansi': 2.0.5
+ '@inquirer/core': 11.1.9(@types/node@24.10.13)
+ '@inquirer/type': 4.0.5(@types/node@24.10.13)
+ optionalDependencies:
+ '@types/node': 24.10.13
+
+ '@inquirer/prompts@8.4.2(@types/node@24.10.13)':
+ dependencies:
+ '@inquirer/checkbox': 5.1.4(@types/node@24.10.13)
+ '@inquirer/confirm': 6.0.12(@types/node@24.10.13)
+ '@inquirer/editor': 5.1.1(@types/node@24.10.13)
+ '@inquirer/expand': 5.0.13(@types/node@24.10.13)
+ '@inquirer/input': 5.0.12(@types/node@24.10.13)
+ '@inquirer/number': 4.0.12(@types/node@24.10.13)
+ '@inquirer/password': 5.0.12(@types/node@24.10.13)
+ '@inquirer/rawlist': 5.2.8(@types/node@24.10.13)
+ '@inquirer/search': 4.1.8(@types/node@24.10.13)
+ '@inquirer/select': 5.1.4(@types/node@24.10.13)
+ optionalDependencies:
+ '@types/node': 24.10.13
+
+ '@inquirer/rawlist@5.2.8(@types/node@24.10.13)':
+ dependencies:
+ '@inquirer/core': 11.1.9(@types/node@24.10.13)
+ '@inquirer/type': 4.0.5(@types/node@24.10.13)
+ optionalDependencies:
+ '@types/node': 24.10.13
+
+ '@inquirer/search@4.1.8(@types/node@24.10.13)':
+ dependencies:
+ '@inquirer/core': 11.1.9(@types/node@24.10.13)
+ '@inquirer/figures': 2.0.5
+ '@inquirer/type': 4.0.5(@types/node@24.10.13)
+ optionalDependencies:
+ '@types/node': 24.10.13
+
+ '@inquirer/select@5.1.4(@types/node@24.10.13)':
+ dependencies:
+ '@inquirer/ansi': 2.0.5
+ '@inquirer/core': 11.1.9(@types/node@24.10.13)
+ '@inquirer/figures': 2.0.5
+ '@inquirer/type': 4.0.5(@types/node@24.10.13)
+ optionalDependencies:
+ '@types/node': 24.10.13
+
+ '@inquirer/type@4.0.5(@types/node@24.10.13)':
+ optionalDependencies:
+ '@types/node': 24.10.13
+
'@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
@@ -11973,9 +12385,9 @@ snapshots:
'@lynx-js/lynx-core@0.1.3': {}
- '@lynx-js/lynx-ui-button@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-button@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -11984,10 +12396,10 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-checkbox@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-checkbox@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -11996,23 +12408,23 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-common@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-common@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
'@lynx-js/gesture-runtime': 2.1.1(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)
'@lynx-js/react': link:packages/react
- '@lynx-js/react-use': 0.0.7(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/react-use': 0.0.7(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
transitivePeerDependencies:
- react
- react-dom
- '@lynx-js/lynx-ui-dialog@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-dialog@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-overlay': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-presence': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-overlay': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-presence': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -12021,22 +12433,22 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-draggable@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-draggable@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
- '@lynx-js/react-use': 0.0.7(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/react-use': 0.0.7(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
transitivePeerDependencies:
- react
- react-dom
- '@lynx-js/lynx-ui-feed-list@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-feed-list@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
'@lynx-js/gesture-runtime': 2.1.1(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-list': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-list': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -12044,13 +12456,13 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-form@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-form@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-checkbox': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-input': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-radio-group': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-checkbox': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-input': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-radio-group': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/lynx-ui-switch': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
@@ -12059,10 +12471,10 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-input@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-input@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-scroll-view': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-scroll-view': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -12070,9 +12482,9 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-lazy-component@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-lazy-component@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -12080,10 +12492,10 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-list@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-list@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
'@lynx-js/gesture-runtime': 2.1.1(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -12091,9 +12503,9 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-overlay@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-overlay@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -12101,12 +12513,12 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-popover@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-popover@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-overlay': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-presence': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-overlay': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-presence': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -12115,9 +12527,9 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-presence@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-presence@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -12126,10 +12538,10 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-radio-group@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-radio-group@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -12138,11 +12550,11 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-scroll-view@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-scroll-view@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
'@lynx-js/gesture-runtime': 2.1.1(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-lazy-component': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-lazy-component': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -12150,13 +12562,13 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-sheet@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-sheet@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-dialog': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-overlay': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-presence': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/motion': 0.0.2(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-dialog': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-overlay': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-presence': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/motion': 0.0.2(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -12166,10 +12578,10 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-sortable@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-sortable@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-draggable': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-draggable': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -12177,10 +12589,10 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-swipe-action@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-swipe-action@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
'@lynx-js/gesture-runtime': 2.1.1(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
@@ -12188,11 +12600,11 @@ snapshots:
- react
- react-dom
- '@lynx-js/lynx-ui-swiper@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/lynx-ui-swiper@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/react': link:packages/react
- '@lynx-js/react-use': 0.0.7(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/react-use': 0.0.7(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/types': 3.7.0
'@types/react': 18.3.28
transitivePeerDependencies:
@@ -12206,26 +12618,26 @@ snapshots:
'@types/react': 18.3.28
clsx: 2.1.1
- '@lynx-js/lynx-ui@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
- dependencies:
- '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-checkbox': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-dialog': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-draggable': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-feed-list': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-form': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-input': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-lazy-component': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-list': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-popover': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-presence': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-radio-group': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-scroll-view': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-sheet': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-sortable': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-swipe-action': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- '@lynx-js/lynx-ui-swiper': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ '@lynx-js/lynx-ui@3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
+ dependencies:
+ '@lynx-js/lynx-ui-button': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-checkbox': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-common': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-dialog': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-draggable': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-feed-list': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-form': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-input': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-lazy-component': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-list': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-popover': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-presence': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-radio-group': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-scroll-view': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-sheet': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-sortable': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-swipe-action': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ '@lynx-js/lynx-ui-swiper': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
'@lynx-js/lynx-ui-switch': 3.130.0(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(@types/react@18.3.28)
'@lynx-js/react': link:packages/react
'@lynx-js/types': 3.7.0
@@ -12235,10 +12647,10 @@ snapshots:
- react
- react-dom
- '@lynx-js/motion@0.0.2(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/motion@0.0.2(@lynx-js/react@packages+react)(@lynx-js/types@3.7.0)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
'@lynx-js/react': link:packages/react
- framer-motion: 12.23.12(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ framer-motion: 12.23.12(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
motion-dom: 12.23.12
motion-utils: 12.23.6
optionalDependencies:
@@ -12253,10 +12665,10 @@ snapshots:
errorstacks: 2.4.1
htm: 3.1.1
- '@lynx-js/react-use@0.0.7(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
+ '@lynx-js/react-use@0.0.7(@lynx-js/react@packages+react)(react-dom@19.2.4(react@19.2.5))(react@19.2.5)':
dependencies:
'@lynx-js/react': link:packages/react
- react-use: 17.6.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react-use: 17.6.0(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
transitivePeerDependencies:
- react
- react-dom
@@ -12277,7 +12689,7 @@ snapshots:
'@manypkg/find-root@1.1.0':
dependencies:
- '@babel/runtime': 7.25.4
+ '@babel/runtime': 7.29.2
'@types/node': 12.20.55
find-up: 4.1.0
fs-extra: 8.1.0
@@ -12288,7 +12700,7 @@ snapshots:
'@manypkg/get-packages@1.1.3':
dependencies:
- '@babel/runtime': 7.25.4
+ '@babel/runtime': 7.29.2
'@changesets/types': 4.1.0
'@manypkg/find-root': 1.1.0
fs-extra: 8.1.0
@@ -12340,11 +12752,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.4)':
+ '@mdx-js/react@3.1.1(@types/react@19.2.14)(react@19.2.5)':
dependencies:
'@types/mdx': 2.0.13
'@types/react': 19.2.14
- react: 19.2.4
+ react: 19.2.5
'@microsoft/api-documenter@7.30.0(@types/node@24.10.13)':
dependencies:
@@ -12788,18 +13200,18 @@ snapshots:
'@rollup/plugin-typescript@12.3.0(patch_hash=926ba262ec682d27369f1a8648a0dfb657fb5f1b28539ca3628d292276c91c3d)(rollup@4.34.9)(tslib@2.8.1)(typescript@5.9.3)':
dependencies:
- '@rollup/pluginutils': 5.1.2(rollup@4.34.9)
+ '@rollup/pluginutils': 5.3.0(rollup@4.34.9)
resolve: 1.22.8
typescript: 5.9.3
optionalDependencies:
rollup: 4.34.9
tslib: 2.8.1
- '@rollup/pluginutils@5.1.2(rollup@4.34.9)':
+ '@rollup/pluginutils@5.3.0(rollup@4.34.9)':
dependencies:
'@types/estree': 1.0.8
estree-walker: 2.0.2
- picomatch: 2.3.1
+ picomatch: 4.0.3
optionalDependencies:
rollup: 4.34.9
@@ -12967,7 +13379,7 @@ snapshots:
dependencies:
fast-glob: 3.3.3
json5: 2.2.3
- yaml: 2.8.2
+ yaml: 2.8.3
optionalDependencies:
'@rsbuild/core': 1.7.5
@@ -13421,13 +13833,13 @@ snapshots:
'@rspress/core@2.0.3(@module-federation/runtime-tools@0.22.0)(@types/react@19.2.14)(core-js@3.48.0)':
dependencies:
'@mdx-js/mdx': 3.1.1
- '@mdx-js/react': 3.1.1(@types/react@19.2.14)(react@19.2.4)
+ '@mdx-js/react': 3.1.1(@types/react@19.2.14)(react@19.2.5)
'@rsbuild/core': 2.0.0-beta.3(@module-federation/runtime-tools@0.22.0)(core-js@3.48.0)
'@rsbuild/plugin-react': 1.4.5(@rsbuild/core@2.0.0-beta.3(@module-federation/runtime-tools@0.22.0)(core-js@3.48.0))
'@rspress/shared': 2.0.3(@module-federation/runtime-tools@0.22.0)(core-js@3.48.0)
'@shikijs/rehype': 3.22.0
'@types/unist': 3.0.3
- '@unhead/react': 2.1.4(react@19.2.4)
+ '@unhead/react': 2.1.4(react@19.2.5)
body-scroll-lock: 4.0.0-beta.0
cac: 6.7.14
chokidar: 3.6.0
@@ -13443,11 +13855,11 @@ snapshots:
medium-zoom: 1.1.0
nprogress: 0.2.0
picocolors: 1.1.1
- react: 19.2.4
- react-dom: 19.2.4(react@19.2.4)
+ react: 19.2.5
+ react-dom: 19.2.4(react@19.2.5)
react-lazy-with-preload: 2.2.1
- react-reconciler: 0.33.0(react@19.2.4)
- react-router-dom: 7.13.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react-reconciler: 0.33.0(react@19.2.5)
+ react-router-dom: 7.13.0(react-dom@19.2.4(react@19.2.4))(react@19.2.5)
rehype-external-links: 3.0.0
rehype-raw: 7.0.0
remark-gfm: 4.0.1
@@ -13614,59 +14026,59 @@ snapshots:
transitivePeerDependencies:
- encoding
- '@swc/core-darwin-arm64@1.15.24':
+ '@swc/core-darwin-arm64@1.15.30':
optional: true
- '@swc/core-darwin-x64@1.15.24':
+ '@swc/core-darwin-x64@1.15.30':
optional: true
- '@swc/core-linux-arm-gnueabihf@1.15.24':
+ '@swc/core-linux-arm-gnueabihf@1.15.30':
optional: true
- '@swc/core-linux-arm64-gnu@1.15.24':
+ '@swc/core-linux-arm64-gnu@1.15.30':
optional: true
- '@swc/core-linux-arm64-musl@1.15.24':
+ '@swc/core-linux-arm64-musl@1.15.30':
optional: true
- '@swc/core-linux-ppc64-gnu@1.15.24':
+ '@swc/core-linux-ppc64-gnu@1.15.30':
optional: true
- '@swc/core-linux-s390x-gnu@1.15.24':
+ '@swc/core-linux-s390x-gnu@1.15.30':
optional: true
- '@swc/core-linux-x64-gnu@1.15.24':
+ '@swc/core-linux-x64-gnu@1.15.30':
optional: true
- '@swc/core-linux-x64-musl@1.15.24':
+ '@swc/core-linux-x64-musl@1.15.30':
optional: true
- '@swc/core-win32-arm64-msvc@1.15.24':
+ '@swc/core-win32-arm64-msvc@1.15.30':
optional: true
- '@swc/core-win32-ia32-msvc@1.15.24':
+ '@swc/core-win32-ia32-msvc@1.15.30':
optional: true
- '@swc/core-win32-x64-msvc@1.15.24':
+ '@swc/core-win32-x64-msvc@1.15.30':
optional: true
- '@swc/core@1.15.24(@swc/helpers@0.5.21)':
+ '@swc/core@1.15.30(@swc/helpers@0.5.21)':
dependencies:
'@swc/counter': 0.1.3
'@swc/types': 0.1.26
optionalDependencies:
- '@swc/core-darwin-arm64': 1.15.24
- '@swc/core-darwin-x64': 1.15.24
- '@swc/core-linux-arm-gnueabihf': 1.15.24
- '@swc/core-linux-arm64-gnu': 1.15.24
- '@swc/core-linux-arm64-musl': 1.15.24
- '@swc/core-linux-ppc64-gnu': 1.15.24
- '@swc/core-linux-s390x-gnu': 1.15.24
- '@swc/core-linux-x64-gnu': 1.15.24
- '@swc/core-linux-x64-musl': 1.15.24
- '@swc/core-win32-arm64-msvc': 1.15.24
- '@swc/core-win32-ia32-msvc': 1.15.24
- '@swc/core-win32-x64-msvc': 1.15.24
+ '@swc/core-darwin-arm64': 1.15.30
+ '@swc/core-darwin-x64': 1.15.30
+ '@swc/core-linux-arm-gnueabihf': 1.15.30
+ '@swc/core-linux-arm64-gnu': 1.15.30
+ '@swc/core-linux-arm64-musl': 1.15.30
+ '@swc/core-linux-ppc64-gnu': 1.15.30
+ '@swc/core-linux-s390x-gnu': 1.15.30
+ '@swc/core-linux-x64-gnu': 1.15.30
+ '@swc/core-linux-x64-musl': 1.15.30
+ '@swc/core-win32-arm64-msvc': 1.15.30
+ '@swc/core-win32-ia32-msvc': 1.15.30
+ '@swc/core-win32-x64-msvc': 1.15.30
'@swc/helpers': 0.5.21
'@swc/counter@0.1.3': {}
@@ -13751,7 +14163,7 @@ snapshots:
'@testing-library/dom@10.4.1':
dependencies:
'@babel/code-frame': 7.29.0
- '@babel/runtime': 7.25.4
+ '@babel/runtime': 7.29.2
'@types/aria-query': 5.0.4
aria-query: 5.3.0
dom-accessibility-api: 0.5.16
@@ -14204,9 +14616,9 @@ snapshots:
'@ungap/structured-clone@1.3.0': {}
- '@unhead/react@2.1.4(react@19.2.4)':
+ '@unhead/react@2.1.4(react@19.2.5)':
dependencies:
- react: 19.2.4
+ react: 19.2.5
unhead: 2.1.4
'@unrs/resolver-binding-android-arm-eabi@1.11.1':
@@ -14791,7 +15203,7 @@ snapshots:
dependencies:
balanced-match: 1.0.2
- brace-expansion@5.0.2:
+ brace-expansion@5.0.5:
dependencies:
balanced-match: 4.0.2
@@ -14890,6 +15302,8 @@ snapshots:
ansi-styles: 4.3.0
supports-color: 7.2.0
+ chalk@5.6.2: {}
+
change-case@5.4.4: {}
character-entities-html4@2.1.0: {}
@@ -14922,6 +15336,10 @@ snapshots:
dependencies:
readdirp: 4.0.2
+ chokidar@5.0.0:
+ dependencies:
+ readdirp: 5.0.0
+
chrome-trace-event@1.0.4: {}
ci-info@3.9.0: {}
@@ -14948,6 +15366,8 @@ snapshots:
cli-spinners@2.9.2: {}
+ cli-spinners@3.4.0: {}
+
cli-truncate@5.1.0:
dependencies:
slice-ansi: 7.1.0
@@ -14955,6 +15375,8 @@ snapshots:
cli-width@3.0.0: {}
+ cli-width@4.1.0: {}
+
cliui@6.0.0:
dependencies:
string-width: 4.2.3
@@ -15103,7 +15525,7 @@ snapshots:
dependencies:
hyphenate-style-name: 1.1.0
- css-loader@7.1.4(@rspack/core@1.7.9(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.24(@swc/helpers@0.5.21))):
+ css-loader@7.1.4(@rspack/core@1.7.9(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.30(@swc/helpers@0.5.21))):
dependencies:
icss-utils: 5.1.0(postcss@8.5.6)
postcss: 8.5.6
@@ -15115,7 +15537,7 @@ snapshots:
semver: 7.7.4
optionalDependencies:
'@rspack/core': 1.7.9(@swc/helpers@0.5.21)
- webpack: 5.105.2(@swc/core@1.15.24(@swc/helpers@0.5.21))
+ webpack: 5.105.2(@swc/core@1.15.30(@swc/helpers@0.5.21))
css-loader@7.1.4(@rspack/core@1.7.9(@swc/helpers@0.5.21))(webpack@5.105.2):
dependencies:
@@ -16091,8 +16513,18 @@ snapshots:
fast-shallow-equal@1.0.0: {}
+ fast-string-truncated-width@3.0.3: {}
+
+ fast-string-width@3.0.2:
+ dependencies:
+ fast-string-truncated-width: 3.0.3
+
fast-uri@3.1.0: {}
+ fast-wrap-ansi@0.2.0:
+ dependencies:
+ fast-string-width: 3.0.2
+
fastest-stable-stringify@2.0.2: {}
fastq@1.17.1:
@@ -16230,14 +16662,14 @@ snapshots:
forwarded@0.2.0: {}
- framer-motion@12.23.12(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
+ framer-motion@12.23.12(react-dom@19.2.4(react@19.2.5))(react@19.2.5):
dependencies:
motion-dom: 12.23.12
motion-utils: 12.23.6
tslib: 2.8.1
optionalDependencies:
- react: 19.2.4
- react-dom: 19.2.4(react@19.2.4)
+ react: 19.2.5
+ react-dom: 19.2.4(react@19.2.5)
framer-motion@12.34.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
dependencies:
@@ -16248,6 +16680,15 @@ snapshots:
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
+ framer-motion@12.34.1(react-dom@19.2.4(react@19.2.5))(react@19.2.5):
+ dependencies:
+ motion-dom: 12.34.1
+ motion-utils: 12.29.2
+ tslib: 2.8.1
+ optionalDependencies:
+ react: 19.2.5
+ react-dom: 19.2.4(react@19.2.5)
+
fresh@0.5.2: {}
fresh@2.0.0: {}
@@ -16361,7 +16802,7 @@ snapshots:
foreground-child: 3.3.1
jackspeak: 3.4.3
minimatch: 9.0.5
- minipass: 7.1.2
+ minipass: 7.1.3
package-json-from-dist: 1.0.1
path-scurry: 1.11.1
@@ -16369,16 +16810,16 @@ snapshots:
dependencies:
foreground-child: 3.3.1
jackspeak: 4.2.3
- minimatch: 10.2.3
- minipass: 7.1.2
+ minimatch: 10.2.5
+ minipass: 7.1.3
package-json-from-dist: 1.0.1
- path-scurry: 2.0.0
+ path-scurry: 2.0.2
- glob@13.0.5:
+ glob@13.0.6:
dependencies:
- minimatch: 10.2.3
- minipass: 7.1.2
- path-scurry: 2.0.0
+ minimatch: 10.2.5
+ minipass: 7.1.3
+ path-scurry: 2.0.2
glob@7.2.3:
dependencies:
@@ -16612,6 +17053,10 @@ snapshots:
html-escaper@2.0.2: {}
+ html-parse-stringify@3.0.1:
+ dependencies:
+ void-elements: 3.1.0
+
html-void-elements@3.0.0: {}
htmlparser2@10.0.0:
@@ -16684,6 +17129,47 @@ snapshots:
hyphenate-style-name@1.1.0: {}
+ i18next-cli@1.54.2(@swc/helpers@0.5.21)(@types/node@24.10.13)(i18next@26.0.6(typescript@5.9.3))(typescript@5.9.3):
+ dependencies:
+ '@croct/json5-parser': 0.2.2
+ '@swc/core': 1.15.30(@swc/helpers@0.5.21)
+ chokidar: 5.0.0
+ commander: 14.0.3
+ execa: 9.6.1
+ glob: 13.0.6
+ i18next-resources-for-ts: 2.1.0(@swc/helpers@0.5.21)
+ inquirer: 13.4.2(@types/node@24.10.13)
+ jiti: 2.6.1
+ jsonc-parser: 3.3.1
+ magic-string: 0.30.21
+ minimatch: 10.2.5
+ ora: 9.3.0
+ react: 19.2.5
+ react-i18next: 17.0.4(i18next@26.0.6(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3)
+ yaml: 2.8.3
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ - '@types/node'
+ - i18next
+ - react-dom
+ - react-native
+ - typescript
+
+ i18next-resources-for-ts@2.1.0(@swc/helpers@0.5.21):
+ dependencies:
+ '@babel/runtime': 7.29.2
+ '@swc/core': 1.15.30(@swc/helpers@0.5.21)
+ chokidar: 5.0.0
+ yaml: 2.8.3
+ transitivePeerDependencies:
+ - '@swc/helpers'
+
+ i18next@26.0.6(typescript@5.9.3):
+ dependencies:
+ '@babel/runtime': 7.29.2
+ optionalDependencies:
+ typescript: 5.9.3
+
iconv-lite@0.4.24:
dependencies:
safer-buffer: 2.1.2
@@ -16740,6 +17226,18 @@ snapshots:
dependencies:
css-in-js-utils: 3.1.0
+ inquirer@13.4.2(@types/node@24.10.13):
+ dependencies:
+ '@inquirer/ansi': 2.0.5
+ '@inquirer/core': 11.1.9(@types/node@24.10.13)
+ '@inquirer/prompts': 8.4.2(@types/node@24.10.13)
+ '@inquirer/type': 4.0.5(@types/node@24.10.13)
+ mute-stream: 3.0.0
+ run-async: 4.0.6
+ rxjs: 7.8.2
+ optionalDependencies:
+ '@types/node': 24.10.13
+
inquirer@8.2.6:
dependencies:
ansi-escapes: 4.3.2
@@ -16752,7 +17250,7 @@ snapshots:
mute-stream: 0.0.8
ora: 5.4.1
run-async: 2.4.1
- rxjs: 7.8.1
+ rxjs: 7.8.2
string-width: 4.2.3
strip-ansi: 6.0.1
through: 2.3.8
@@ -16866,6 +17364,8 @@ snapshots:
is-interactive@1.0.0: {}
+ is-interactive@2.0.0: {}
+
is-map@2.0.3: {}
is-negative-zero@2.0.3: {}
@@ -17233,6 +17733,8 @@ snapshots:
json5@2.2.3: {}
+ jsonc-parser@3.3.1: {}
+
jsonfile@4.0.0:
optionalDependencies:
graceful-fs: 4.2.11
@@ -17326,7 +17828,7 @@ snapshots:
nano-spawn: 2.0.0
pidtree: 0.6.0
string-argv: 0.3.2
- yaml: 2.8.2
+ yaml: 2.8.3
listr2@9.0.5:
dependencies:
@@ -17378,6 +17880,11 @@ snapshots:
chalk: 4.1.2
is-unicode-supported: 0.1.0
+ log-symbols@7.0.1:
+ dependencies:
+ is-unicode-supported: 2.1.0
+ yoctocolors: 2.1.2
+
log-update@6.1.0:
dependencies:
ansi-escapes: 7.0.0
@@ -17975,7 +18482,11 @@ snapshots:
minimatch@10.2.3:
dependencies:
- brace-expansion: 5.0.2
+ brace-expansion: 5.0.5
+
+ minimatch@10.2.5:
+ dependencies:
+ brace-expansion: 5.0.5
minimatch@3.1.2:
dependencies:
@@ -17987,7 +18498,7 @@ snapshots:
minimist@1.2.8: {}
- minipass@7.1.2: {}
+ minipass@7.1.3: {}
monaco-editor@0.52.2: {}
@@ -18018,21 +18529,23 @@ snapshots:
mute-stream@0.0.8: {}
+ mute-stream@3.0.0: {}
+
mz@2.7.0:
dependencies:
any-promise: 1.3.0
object-assign: 4.1.1
thenify-all: 1.6.0
- nano-css@5.6.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
+ nano-css@5.6.2(react-dom@19.2.4(react@19.2.5))(react@19.2.5):
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
css-tree: 1.1.3
csstype: 3.2.3
fastest-stable-stringify: 2.0.2
inline-style-prefixer: 7.0.1
- react: 19.2.4
- react-dom: 19.2.4(react@19.2.4)
+ react: 19.2.5
+ react-dom: 19.2.4(react@19.2.5)
rtl-css-js: 1.16.1
stacktrace-js: 2.0.2
stylis: 4.3.6
@@ -18216,6 +18729,17 @@ snapshots:
strip-ansi: 6.0.1
wcwidth: 1.0.1
+ ora@9.3.0:
+ dependencies:
+ chalk: 5.6.2
+ cli-cursor: 5.0.0
+ cli-spinners: 3.4.0
+ is-interactive: 2.0.0
+ is-unicode-supported: 2.1.0
+ log-symbols: 7.0.1
+ stdin-discarder: 0.3.2
+ string-width: 8.1.0
+
os-tmpdir@1.0.2: {}
outdent@0.5.0: {}
@@ -18326,12 +18850,12 @@ snapshots:
path-scurry@1.11.1:
dependencies:
lru-cache: 10.4.3
- minipass: 7.1.2
+ minipass: 7.1.3
- path-scurry@2.0.0:
+ path-scurry@2.0.2:
dependencies:
lru-cache: 11.2.4
- minipass: 7.1.2
+ minipass: 7.1.3
path-serializer@0.5.1: {}
@@ -18435,7 +18959,7 @@ snapshots:
postcss-load-config@4.0.2(postcss@8.5.6):
dependencies:
lilconfig: 3.1.3
- yaml: 2.8.2
+ yaml: 2.8.3
optionalDependencies:
postcss: 8.5.6
@@ -18686,24 +19210,39 @@ snapshots:
iconv-lite: 0.7.2
unpipe: 1.0.0
- react-compiler-runtime@0.0.0-experimental-fe727a3-20250909(react@19.2.4):
+ react-compiler-runtime@0.0.0-experimental-fe727a3-20250909(react@19.2.5):
dependencies:
- react: 19.2.4
+ react: 19.2.5
react-dom@19.2.4(react@19.2.4):
dependencies:
react: 19.2.4
scheduler: 0.27.0
+ react-dom@19.2.4(react@19.2.5):
+ dependencies:
+ react: 19.2.5
+ scheduler: 0.27.0
+
+ react-i18next@17.0.4(i18next@26.0.6(typescript@5.9.3))(react@19.2.5)(typescript@5.9.3):
+ dependencies:
+ '@babel/runtime': 7.29.2
+ html-parse-stringify: 3.0.1
+ i18next: 26.0.6(typescript@5.9.3)
+ react: 19.2.5
+ use-sync-external-store: 1.6.0(react@19.2.5)
+ optionalDependencies:
+ typescript: 5.9.3
+
react-is@17.0.2: {}
react-is@18.3.1: {}
react-lazy-with-preload@2.2.1: {}
- react-reconciler@0.33.0(react@19.2.4):
+ react-reconciler@0.33.0(react@19.2.5):
dependencies:
- react: 19.2.4
+ react: 19.2.5
scheduler: 0.27.0
react-refresh@0.18.0: {}
@@ -18732,16 +19271,16 @@ snapshots:
react: 19.2.4
react-dom: 19.2.4(react@19.2.4)
- react-router-dom@7.13.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
+ react-router-dom@7.13.0(react-dom@19.2.4(react@19.2.4))(react@19.2.5):
dependencies:
- react: 19.2.4
+ react: 19.2.5
react-dom: 19.2.4(react@19.2.4)
- react-router: 7.13.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
+ react-router: 7.13.0(react-dom@19.2.4(react@19.2.4))(react@19.2.5)
- react-router@7.13.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
+ react-router@7.13.0(react-dom@19.2.4(react@19.2.4))(react@19.2.5):
dependencies:
cookie: 1.1.1
- react: 19.2.4
+ react: 19.2.5
set-cookie-parser: 2.7.2
optionalDependencies:
react-dom: 19.2.4(react@19.2.4)
@@ -18754,12 +19293,12 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
- react-universal-interface@0.6.2(react@19.2.4)(tslib@2.8.1):
+ react-universal-interface@0.6.2(react@19.2.5)(tslib@2.8.1):
dependencies:
- react: 19.2.4
+ react: 19.2.5
tslib: 2.8.1
- react-use@17.6.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
+ react-use@17.6.0(react-dom@19.2.4(react@19.2.5))(react@19.2.5):
dependencies:
'@types/js-cookie': 2.2.7
'@xobotyi/scrollbar-width': 1.9.5
@@ -18767,10 +19306,10 @@ snapshots:
fast-deep-equal: 3.1.3
fast-shallow-equal: 1.0.0
js-cookie: 2.2.1
- nano-css: 5.6.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
- react: 19.2.4
- react-dom: 19.2.4(react@19.2.4)
- react-universal-interface: 0.6.2(react@19.2.4)(tslib@2.8.1)
+ nano-css: 5.6.2(react-dom@19.2.4(react@19.2.5))(react@19.2.5)
+ react: 19.2.5
+ react-dom: 19.2.4(react@19.2.5)
+ react-universal-interface: 0.6.2(react@19.2.5)(tslib@2.8.1)
resize-observer-polyfill: 1.5.1
screenfull: 5.2.0
set-harmonic-interval: 1.0.1
@@ -18780,6 +19319,8 @@ snapshots:
react@19.2.4: {}
+ react@19.2.5: {}
+
read-cache@1.0.0:
dependencies:
pify: 2.3.0
@@ -18813,6 +19354,8 @@ snapshots:
readdirp@4.0.2: {}
+ readdirp@5.0.0: {}
+
recma-build-jsx@1.0.0:
dependencies:
'@types/estree': 1.0.8
@@ -18865,8 +19408,6 @@ snapshots:
get-proto: 1.0.1
which-builtin-type: 1.2.1
- regenerator-runtime@0.14.1: {}
-
regex-recursion@6.0.2:
dependencies:
regex-utilities: 2.3.0
@@ -19017,7 +19558,7 @@ snapshots:
rimraf@6.1.3:
dependencies:
- glob: 13.0.5
+ glob: 13.0.6
package-json-from-dist: 1.0.1
rollup@4.34.9:
@@ -19072,6 +19613,15 @@ snapshots:
'@typescript/native-preview': 7.0.0-dev.20260212.1
typescript: 5.9.3
+ rsbuild-plugin-i18next-extractor@0.2.0(@rsbuild/core@1.7.5)(i18next-cli@1.54.2(@swc/helpers@0.5.21)(@types/node@24.10.13)(i18next@26.0.6(typescript@5.9.3))(typescript@5.9.3))(rollup@4.34.9):
+ dependencies:
+ '@rollup/pluginutils': 5.3.0(rollup@4.34.9)
+ '@rsbuild/core': 1.7.5
+ '@rspack/lite-tapable': 1.1.0
+ i18next-cli: 1.54.2(@swc/helpers@0.5.21)(@types/node@24.10.13)(i18next@26.0.6(typescript@5.9.3))(typescript@5.9.3)
+ transitivePeerDependencies:
+ - rollup
+
rsbuild-plugin-publint@0.3.4(@rsbuild/core@1.7.5):
dependencies:
picocolors: 1.1.1
@@ -19102,17 +19652,19 @@ snapshots:
rtl-css-js@1.16.1:
dependencies:
- '@babel/runtime': 7.25.4
+ '@babel/runtime': 7.29.2
run-applescript@7.0.0: {}
run-async@2.4.1: {}
+ run-async@4.0.6: {}
+
run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
- rxjs@7.8.1:
+ rxjs@7.8.2:
dependencies:
tslib: 2.8.1
@@ -19208,7 +19760,7 @@ snapshots:
'@bufbuild/protobuf': 2.6.0
colorjs.io: 0.5.2
immutable: 5.0.2
- rxjs: 7.8.1
+ rxjs: 7.8.2
supports-color: 8.1.1
sync-child-process: 1.0.2
varint: 6.0.0
@@ -19614,6 +20166,8 @@ snapshots:
std-env@3.9.0: {}
+ stdin-discarder@0.3.2: {}
+
stop-iteration-iterator@1.1.0:
dependencies:
es-errors: 1.3.0
@@ -19769,11 +20323,11 @@ snapshots:
picocolors: 1.1.1
sax: 1.4.4
- swc-loader@0.2.7(@swc/core@1.15.24(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.24(@swc/helpers@0.5.21))):
+ swc-loader@0.2.7(@swc/core@1.15.30(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.30(@swc/helpers@0.5.21))):
dependencies:
- '@swc/core': 1.15.24(@swc/helpers@0.5.21)
+ '@swc/core': 1.15.30(@swc/helpers@0.5.21)
'@swc/counter': 0.1.3
- webpack: 5.105.2(@swc/core@1.15.24(@swc/helpers@0.5.21))
+ webpack: 5.105.2(@swc/core@1.15.30(@swc/helpers@0.5.21))
symbol-tree@3.2.4: {}
@@ -19825,16 +20379,16 @@ snapshots:
ansi-escapes: 7.0.0
supports-hyperlinks: 3.2.0
- terser-webpack-plugin@5.3.16(@swc/core@1.15.24(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.24(@swc/helpers@0.5.21))):
+ terser-webpack-plugin@5.3.16(@swc/core@1.15.30(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.30(@swc/helpers@0.5.21))):
dependencies:
'@jridgewell/trace-mapping': 0.3.29
jest-worker: 27.5.1
schema-utils: 4.3.3
serialize-javascript: 6.0.2
terser: 5.31.6
- webpack: 5.105.2(@swc/core@1.15.24(@swc/helpers@0.5.21))
+ webpack: 5.105.2(@swc/core@1.15.30(@swc/helpers@0.5.21))
optionalDependencies:
- '@swc/core': 1.15.24(@swc/helpers@0.5.21)
+ '@swc/core': 1.15.30(@swc/helpers@0.5.21)
terser-webpack-plugin@5.3.16(webpack@5.105.2):
dependencies:
@@ -20258,6 +20812,10 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
+ use-sync-external-store@1.6.0(react@19.2.5):
+ dependencies:
+ react: 19.2.5
+
util-deprecate@1.0.2: {}
utils-merge@1.0.1: {}
@@ -20366,6 +20924,8 @@ snapshots:
- supports-color
- terser
+ void-elements@3.1.0: {}
+
w3c-xmlserializer@5.0.0:
dependencies:
xml-name-validator: 5.0.0
@@ -20509,7 +21069,7 @@ snapshots:
- esbuild
- uglify-js
- webpack@5.105.2(@swc/core@1.15.24(@swc/helpers@0.5.21)):
+ webpack@5.105.2(@swc/core@1.15.30(@swc/helpers@0.5.21)):
dependencies:
'@types/eslint-scope': 3.7.7
'@types/estree': 1.0.8
@@ -20533,7 +21093,7 @@ snapshots:
neo-async: 2.6.2
schema-utils: 4.3.3
tapable: 2.3.0
- terser-webpack-plugin: 5.3.16(@swc/core@1.15.24(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.24(@swc/helpers@0.5.21)))
+ terser-webpack-plugin: 5.3.16(@swc/core@1.15.30(@swc/helpers@0.5.21))(webpack@5.105.2(@swc/core@1.15.30(@swc/helpers@0.5.21)))
watchpack: 2.5.1
webpack-sources: 3.3.3
transitivePeerDependencies:
@@ -20717,7 +21277,7 @@ snapshots:
yallist@4.0.0: {}
- yaml@2.8.2: {}
+ yaml@2.8.3: {}
yargs-parser@18.1.3:
dependencies:
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 1479161606..3cbaa85bb5 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -3,6 +3,7 @@ packages:
- examples/*
- packages/background-only
- packages/genui/*
+ - packages/i18n/*
- packages/lynx/*
- packages/mcp-servers/*
- packages/repl
diff --git a/tsconfig.json b/tsconfig.json
index 8a12cf8132..ff22921b6c 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -125,6 +125,9 @@
{
"path": "./packages/lynx"
},
+ {
+ "path": "./packages/i18n"
+ },
{
"path": "./packages/motion"
},
diff --git a/vitest.config.ts b/vitest.config.ts
index 325ae5eb71..0de2abfc41 100644
--- a/vitest.config.ts
+++ b/vitest.config.ts
@@ -74,6 +74,7 @@ export default defineConfig({
'packages/testing-library/examples/*/vitest.config.ts',
'!packages/testing-library/examples/react-compiler/vitest.config.ts',
'packages/testing-library/examples/react-compiler/vitest.config.*.ts',
+ 'packages/i18n/*/vitest.config.ts',
'packages/tailwind-preset/vitest.config.ts',
'packages/tools/*/vitest.config.ts',
'packages/use-sync-external-store/vitest.config.ts',