diff --git a/i18next-parser.config.ts b/i18next-parser.config.ts index 3acf2b5e..e07021ae 100644 --- a/i18next-parser.config.ts +++ b/i18next-parser.config.ts @@ -1,4 +1,12 @@ -export default { +/* +Copyright 2024 New Vector Ltd. +SPDX-License-Identifier: AGPL-3.0-only +Please see LICENSE in the repository root for full details. +*/ + +import type { UserConfig } from "i18next-parser"; + +const config: UserConfig = { keySeparator: ".", namespaceSeparator: false, contextSeparator: "|", @@ -26,3 +34,5 @@ export default { input: ["src/**/*.{ts,tsx}"], sort: true, }; + +export default config; diff --git a/vite-embedded.config.js b/vite-embedded.config.ts similarity index 84% rename from vite-embedded.config.js rename to vite-embedded.config.ts index 8f5bcba8..27a42fbb 100644 --- a/vite-embedded.config.js +++ b/vite-embedded.config.ts @@ -1,7 +1,15 @@ +/* +Copyright 2025 New Vector Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE in the repository root for full details. +*/ + import { defineConfig, mergeConfig } from "vite"; -import fullConfig from "./vite.config"; import generateFile from "vite-plugin-generate-file"; +import fullConfig from "./vite.config"; + const base = "./"; // Config for embedded deployments (possibly hosted under a non-root path) diff --git a/vite.config.js b/vite.config.ts similarity index 90% rename from vite.config.js rename to vite.config.ts index 5fe3a99b..115565bb 100644 --- a/vite.config.js +++ b/vite.config.ts @@ -5,7 +5,12 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial Please see LICENSE in the repository root for full details. */ -import { defineConfig, loadEnv, searchForWorkspaceRoot } from "vite"; +import { + loadEnv, + searchForWorkspaceRoot, + type ConfigEnv, + type UserConfig, +} from "vite"; import svgrPlugin from "vite-plugin-svgr"; import { createHtmlPlugin } from "vite-plugin-html"; import { codecovVitePlugin } from "@codecov/vite-plugin"; @@ -13,12 +18,16 @@ import { sentryVitePlugin } from "@sentry/vite-plugin"; import react from "@vitejs/plugin-react"; import { realpathSync } from "fs"; import * as fs from "node:fs"; - +import { logger } from "matrix-js-sdk/lib/logger"; // https://vitejs.dev/config/ -export default defineConfig(({ mode, packageType }) => { +// Modified type helper from defineConfig to allow for packageType (see defineConfig from vite) +export default ({ + mode, + packageType, +}: ConfigEnv & { packageType?: "full" | "embedded" }): UserConfig => { const env = loadEnv(mode, process.cwd()); // Environment variables with the VITE_ prefix are accessible at runtime. - // So, we set this to allow for build/package specific behaviour. + // So, we set this to allow for build/package specific behavior. // In future we might be able to do what is needed via code splitting at // build time. process.env.VITE_PACKAGE = packageType ?? "full"; @@ -77,7 +86,7 @@ export default defineConfig(({ mode, packageType }) => { allow.push(realpathSync(path)); } catch {} } - console.log("Allowed vite paths:", allow); + logger.log("Allowed vite paths:", allow); return { server: { @@ -93,7 +102,7 @@ export default defineConfig(({ mode, packageType }) => { sourcemap: true, rollupOptions: { output: { - assetFileNames: ({ originalFileNames }) => { + assetFileNames: ({ originalFileNames }): string => { if (originalFileNames) { for (const name of originalFileNames) { // Custom asset name for locales to include the locale code in the filename @@ -143,4 +152,4 @@ export default defineConfig(({ mode, packageType }) => { exclude: ["@matrix-org/matrix-sdk-crypto-wasm"], }, }; -}); +}; diff --git a/vitest.config.js b/vitest.config.ts similarity index 81% rename from vitest.config.js rename to vitest.config.ts index a6c3107f..ff8947b0 100644 --- a/vitest.config.js +++ b/vitest.config.ts @@ -1,5 +1,12 @@ +/* +Copyright 2024 New Vector Ltd. +SPDX-License-Identifier: AGPL-3.0-only +Please see LICENSE in the repository root for full details. +*/ + import { defineConfig, mergeConfig } from "vitest/config"; -import viteConfig from "./vite.config.js"; + +import viteConfig from "./vite.config"; export default defineConfig((configEnv) => mergeConfig(