From 8e94c472ccf222093a5c78180303d2d8d39af3aa Mon Sep 17 00:00:00 2001 From: Timofei Iatsenko Date: Fri, 17 Mar 2023 11:12:43 +0100 Subject: [PATCH] feat(vite-plugin): support different extensions for catalogs. Improve coverage (#1526) --- .github/workflows/main-suite.yml | 13 +- packages/vite-plugin/README.md | 6 +- packages/vite-plugin/package.json | 2 +- packages/vite-plugin/src/index.ts | 16 +- packages/vite-plugin/test/.linguirc | 7 - .../test/__snapshots__/index.ts.snap | 21 +- .../vite-plugin/test/default-vite.config.ts | 21 + packages/vite-plugin/test/index.ts | 67 ++- .../vite-plugin/test/json-format/.linguirc | 7 + .../test/json-format/entrypoint.js | 3 + .../test/json-format/locale/en.json | 4 + .../test/json-format/vite.config.ts | 3 + .../vite-plugin/test/locale/en/messages.po | 5 - packages/vite-plugin/test/po-format/.linguirc | 7 + .../vite-plugin/test/po-format/entrypoint.js | 3 + .../cs/messages.po => po-format/locale/en.po} | 0 .../vite-plugin/test/po-format/vite.config.ts | 3 + website/docs/ref/vite-plugin.md | 10 +- yarn.lock | 420 +++++++++--------- 19 files changed, 368 insertions(+), 250 deletions(-) delete mode 100644 packages/vite-plugin/test/.linguirc create mode 100644 packages/vite-plugin/test/default-vite.config.ts create mode 100644 packages/vite-plugin/test/json-format/.linguirc create mode 100644 packages/vite-plugin/test/json-format/entrypoint.js create mode 100644 packages/vite-plugin/test/json-format/locale/en.json create mode 100644 packages/vite-plugin/test/json-format/vite.config.ts delete mode 100644 packages/vite-plugin/test/locale/en/messages.po create mode 100644 packages/vite-plugin/test/po-format/.linguirc create mode 100644 packages/vite-plugin/test/po-format/entrypoint.js rename packages/vite-plugin/test/{locale/cs/messages.po => po-format/locale/en.po} (100%) create mode 100644 packages/vite-plugin/test/po-format/vite.config.ts diff --git a/.github/workflows/main-suite.yml b/.github/workflows/main-suite.yml index a097cbab2..95a7b8fbd 100644 --- a/.github/workflows/main-suite.yml +++ b/.github/workflows/main-suite.yml @@ -31,6 +31,9 @@ jobs: - name: Install dependencies if needed run: yarn install --network-timeout 1000000 + - name: Build packages + run: yarn release:build + - name: Unit Testing run: yarn test:ci @@ -54,18 +57,18 @@ jobs: - name: Install dependencies if needed run: yarn install - - name: Unit Testing - run: yarn test:ci:coverage + - name: Check Prettier Formatting + run: yarn prettier:check - name: Linting & Types run: yarn lint:all - - name: Check Prettier Formatting - run: yarn prettier:check - - name: Build packages run: yarn release:build + - name: Unit Testing + run: yarn test:ci:coverage + - name: Test Public Typings run: yarn test:tsd diff --git a/packages/vite-plugin/README.md b/packages/vite-plugin/README.md index 3d3de27b0..1fecf5c3c 100644 --- a/packages/vite-plugin/README.md +++ b/packages/vite-plugin/README.md @@ -4,7 +4,7 @@ # @lingui/vite-plugin -> Vite plugin which compiles on the fly the .po files for auto-refreshing. In summary, `lingui compile` command isn't required when using this plugin +> Vite plugin that compiles Lingui catalogs on the fly. In summary, the `lingui compile` command isn't needed when using this plugin. `@lingui/vite-plugin` is part of [LinguiJS][linguijs]. See the [documentation][documentation] for all information, tutorials and examples. @@ -31,7 +31,11 @@ const config: UserConfig = { ### Then in Vite-processed code: ```ts +// *.po files assigned to this loader by default const { messages } = await import(`./locales/${language}.po`); + +// for other extension you have to use `?lingui` suffix +const { messages } = await import(`./locales/${language}.json?lingui`); ``` > See Vite's official documentation for more info about Vite dynamic imports > https://vitejs.dev/guide/features.html#dynamic-import diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json index cdeec6450..bda1741b9 100644 --- a/packages/vite-plugin/package.json +++ b/packages/vite-plugin/package.json @@ -39,6 +39,6 @@ "@lingui/conf": "4.0.0-next.1" }, "devDependencies": { - "vite": "3.2.4" + "vite": "4.1.4" } } diff --git a/packages/vite-plugin/src/index.ts b/packages/vite-plugin/src/index.ts index 35efd65a6..f7791d725 100644 --- a/packages/vite-plugin/src/index.ts +++ b/packages/vite-plugin/src/index.ts @@ -7,7 +7,7 @@ import { import path from "path" import type { Plugin } from "vite" -const fileRegex = /\.(po)$/ +const fileRegex = /(\.po|\?lingui)$/ type LinguiConfigOpts = { cwd?: string @@ -29,6 +29,8 @@ export function lingui(linguiConfig: LinguiConfigOpts = {}): Plugin { async transform(src, id) { if (fileRegex.test(id)) { + id = id.split("?")[0] + const catalogRelativePath = path.relative(config.rootDir, id) const fileCatalog = getCatalogForFile( @@ -36,6 +38,18 @@ export function lingui(linguiConfig: LinguiConfigOpts = {}): Plugin { getCatalogs(config) ) + if (!fileCatalog) { + throw new Error( + `Requested resource ${catalogRelativePath} is not matched to any of your catalogs paths specified in "lingui.config". + +Resource: ${id} + +Your catalogs: +${config.catalogs.map((c) => c.path).join("\n")} +Please check that catalogs.path is filled properly.\n` + ) + } + const { locale, catalog } = fileCatalog const messages = await catalog.getTranslations(locale, { diff --git a/packages/vite-plugin/test/.linguirc b/packages/vite-plugin/test/.linguirc deleted file mode 100644 index d6df6ed74..000000000 --- a/packages/vite-plugin/test/.linguirc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "locales": ["en", "cs"], - "catalogs": [{ - "path": "/locale/{locale}/messages" - }], - "format": "po" -} diff --git a/packages/vite-plugin/test/__snapshots__/index.ts.snap b/packages/vite-plugin/test/__snapshots__/index.ts.snap index 4c16e9f7b..94af4a85d 100644 --- a/packages/vite-plugin/test/__snapshots__/index.ts.snap +++ b/packages/vite-plugin/test/__snapshots__/index.ts.snap @@ -2,7 +2,24 @@ exports[`vite-plugin should return compiled catalog 1`] = ` { - code: /*eslint-disable*/export const messages=JSON.parse("{\\"mY42CM\\":\\"Hello World\\",\\"mVmaLu\\":[\\"My name is \\",[\\"name\\"]]}");, - map: null, + mVmaLu: [ + My name is , + [ + name, + ], + ], + mY42CM: Hello World, +} +`; + +exports[`vite-plugin should return compiled catalog json 1`] = ` +{ + key: Message, + key2: [ + Hello , + [ + name, + ], + ], } `; diff --git a/packages/vite-plugin/test/default-vite.config.ts b/packages/vite-plugin/test/default-vite.config.ts new file mode 100644 index 000000000..13242627e --- /dev/null +++ b/packages/vite-plugin/test/default-vite.config.ts @@ -0,0 +1,21 @@ +import { UserConfig } from "vite" +import { lingui } from "../src/index" +import path from "path" + +export function createDefaultViteConfig(dirname: string): UserConfig { + return { + build: { + lib: { + entry: path.resolve(dirname, "entrypoint.js"), + fileName: "bundle", + formats: ["cjs"], + }, + }, + + plugins: [ + lingui({ + cwd: dirname, + }), + ], + } +} diff --git a/packages/vite-plugin/test/index.ts b/packages/vite-plugin/test/index.ts index b5c1c5157..fb08b9846 100644 --- a/packages/vite-plugin/test/index.ts +++ b/packages/vite-plugin/test/index.ts @@ -1,15 +1,62 @@ import path from "path" -import { lingui } from "../src" +import { exec as _exec } from "child_process" +import { mkdtempSync } from "fs" +import os from "os" + +const skipOnWindows = os.platform() === "win32" ? it.skip : it describe("vite-plugin", () => { - it("should return compiled catalog", async () => { - const p = lingui({ - configPath: path.resolve(__dirname, ".linguirc"), - }) - const result = await (p.transform as any)( - "", - path.join(__dirname, "locale", "en", "messages.po") - ) - expect(result).toMatchSnapshot() + skipOnWindows("should return compiled catalog", async () => { + const mod = await runVite(`po-format/vite.config.ts`) + expect((await mod.load()).messages).toMatchSnapshot() + }) + + skipOnWindows("should return compiled catalog json", async () => { + const mod = await runVite(`json-format/vite.config.ts`) + + expect((await mod.load()).messages).toMatchSnapshot() }) }) + +async function runVite(configPath: string) { + // we could not use Vite directly using nodejs api because Vite is native ESM module + // and Jest should be reconfigured completely to be able to require such modules + const packageJsonPath = require.resolve("vite/package.json") + const packageJson = require("vite/package.json") + const viteExecutable = path.resolve( + path.dirname(packageJsonPath), + packageJson.bin.vite + ) + + const outDir = mkdtempSync( + path.join(os.tmpdir(), `lingui-test-${process.pid}`) + ) + const command = + viteExecutable + + ` build -c ` + + path.resolve(__dirname, configPath) + + ` --emptyOutDir --outDir ${outDir}` + await exec(command) + + return await import(path.resolve(outDir, "bundle.js")) +} + +function exec(cmd: string) { + const _options = { + env: process.env, + } + return new Promise((resolve, reject) => { + _exec(cmd, _options, (error, stdout, stderr) => { + stdout = stdout.trim() + stderr = stderr.trim() + + if (error === null) { + resolve({ stdout, stderr }) + } else { + reject({ error, stdout, stderr }) + console.error(stdout) + console.error(stderr) + } + }) + }) +} diff --git a/packages/vite-plugin/test/json-format/.linguirc b/packages/vite-plugin/test/json-format/.linguirc new file mode 100644 index 000000000..ecd054188 --- /dev/null +++ b/packages/vite-plugin/test/json-format/.linguirc @@ -0,0 +1,7 @@ +{ + "locales": ["en"], + "catalogs": [{ + "path": "/locale/{locale}" + }], + "format": "minimal" +} diff --git a/packages/vite-plugin/test/json-format/entrypoint.js b/packages/vite-plugin/test/json-format/entrypoint.js new file mode 100644 index 000000000..6f4bcbf91 --- /dev/null +++ b/packages/vite-plugin/test/json-format/entrypoint.js @@ -0,0 +1,3 @@ +export async function load() { + return await import("./locale/en.json?lingui") +} diff --git a/packages/vite-plugin/test/json-format/locale/en.json b/packages/vite-plugin/test/json-format/locale/en.json new file mode 100644 index 000000000..c82897831 --- /dev/null +++ b/packages/vite-plugin/test/json-format/locale/en.json @@ -0,0 +1,4 @@ +{ + "key": "Message", + "key2": "Hello {name}" +} diff --git a/packages/vite-plugin/test/json-format/vite.config.ts b/packages/vite-plugin/test/json-format/vite.config.ts new file mode 100644 index 000000000..79c9d71c6 --- /dev/null +++ b/packages/vite-plugin/test/json-format/vite.config.ts @@ -0,0 +1,3 @@ +import { createDefaultViteConfig } from "../default-vite.config" + +export default createDefaultViteConfig(__dirname) diff --git a/packages/vite-plugin/test/locale/en/messages.po b/packages/vite-plugin/test/locale/en/messages.po deleted file mode 100644 index b4612b13a..000000000 --- a/packages/vite-plugin/test/locale/en/messages.po +++ /dev/null @@ -1,5 +0,0 @@ -msgid "Hello World" -msgstr "Hello World" - -msgid "My name is {name}" -msgstr "My name is {name}" diff --git a/packages/vite-plugin/test/po-format/.linguirc b/packages/vite-plugin/test/po-format/.linguirc new file mode 100644 index 000000000..ddd83ead8 --- /dev/null +++ b/packages/vite-plugin/test/po-format/.linguirc @@ -0,0 +1,7 @@ +{ + "locales": ["en"], + "catalogs": [{ + "path": "/locale/{locale}" + }], + "format": "po" +} diff --git a/packages/vite-plugin/test/po-format/entrypoint.js b/packages/vite-plugin/test/po-format/entrypoint.js new file mode 100644 index 000000000..8e03d75a6 --- /dev/null +++ b/packages/vite-plugin/test/po-format/entrypoint.js @@ -0,0 +1,3 @@ +export async function load() { + return import("./locale/en.po") +} diff --git a/packages/vite-plugin/test/locale/cs/messages.po b/packages/vite-plugin/test/po-format/locale/en.po similarity index 100% rename from packages/vite-plugin/test/locale/cs/messages.po rename to packages/vite-plugin/test/po-format/locale/en.po diff --git a/packages/vite-plugin/test/po-format/vite.config.ts b/packages/vite-plugin/test/po-format/vite.config.ts new file mode 100644 index 000000000..79c9d71c6 --- /dev/null +++ b/packages/vite-plugin/test/po-format/vite.config.ts @@ -0,0 +1,3 @@ +import { createDefaultViteConfig } from "../default-vite.config" + +export default createDefaultViteConfig(__dirname) diff --git a/website/docs/ref/vite-plugin.md b/website/docs/ref/vite-plugin.md index 48a132244..77728de21 100644 --- a/website/docs/ref/vite-plugin.md +++ b/website/docs/ref/vite-plugin.md @@ -1,6 +1,6 @@ # Vite Plugin -`@lingui/vite-plugin` is a Vite plugin, which compiles `.po` catalogs on the fly and provides additional required configuration for Vite. +`@lingui/vite-plugin` is a Vite plugin, which compiles Lingui catalogs on the fly and provides additional required configuration for Vite. :::note Refer to [Setup with Vite](/docs/tutorials/setup-vite.md) for a full installation guide. @@ -38,6 +38,14 @@ export async function dynamicActivate(locale: string) { } ``` +:::note +If you are using a format that has a different extension than `*.po`, you need to specify the `?lingui` suffix: + +```ts +const { messages } = await import(`./locales/${language}.json?lingui`); +``` +::: + See the [guide about dynamic loading catalogs](/docs/guides/dynamic-loading-catalogs.md) for more info. See [Vite's official documentation](https://vitejs.dev/guide/features.html#dynamic-import) for more info about Vite dynamic imports. diff --git a/yarn.lock b/yarn.lock index 58b02095e..07bfc00b6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1578,6 +1578,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/android-arm64@npm:0.16.17" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/android-arm64@npm:0.17.11" @@ -1592,9 +1599,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.15.18": - version: 0.15.18 - resolution: "@esbuild/android-arm@npm:0.15.18" +"@esbuild/android-arm@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/android-arm@npm:0.16.17" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -1613,6 +1620,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/android-x64@npm:0.16.17" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/android-x64@npm:0.17.11" @@ -1627,6 +1641,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/darwin-arm64@npm:0.16.17" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/darwin-arm64@npm:0.17.11" @@ -1641,6 +1662,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/darwin-x64@npm:0.16.17" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/darwin-x64@npm:0.17.11" @@ -1655,6 +1683,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/freebsd-arm64@npm:0.16.17" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/freebsd-arm64@npm:0.17.11" @@ -1669,6 +1704,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/freebsd-x64@npm:0.16.17" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/freebsd-x64@npm:0.17.11" @@ -1683,6 +1725,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-arm64@npm:0.16.17" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/linux-arm64@npm:0.17.11" @@ -1697,6 +1746,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-arm@npm:0.16.17" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/linux-arm@npm:0.17.11" @@ -1711,6 +1767,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-ia32@npm:0.16.17" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-ia32@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/linux-ia32@npm:0.17.11" @@ -1725,9 +1788,9 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.15.18": - version: 0.15.18 - resolution: "@esbuild/linux-loong64@npm:0.15.18" +"@esbuild/linux-loong64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-loong64@npm:0.16.17" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -1746,6 +1809,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-mips64el@npm:0.16.17" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/linux-mips64el@npm:0.17.11" @@ -1760,6 +1830,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-ppc64@npm:0.16.17" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/linux-ppc64@npm:0.17.11" @@ -1774,6 +1851,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-riscv64@npm:0.16.17" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/linux-riscv64@npm:0.17.11" @@ -1788,6 +1872,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-s390x@npm:0.16.17" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/linux-s390x@npm:0.17.11" @@ -1802,6 +1893,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/linux-x64@npm:0.16.17" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/linux-x64@npm:0.17.11" @@ -1816,6 +1914,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/netbsd-x64@npm:0.16.17" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/netbsd-x64@npm:0.17.11" @@ -1830,6 +1935,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/openbsd-x64@npm:0.16.17" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/openbsd-x64@npm:0.17.11" @@ -1844,6 +1956,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/sunos-x64@npm:0.16.17" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/sunos-x64@npm:0.17.11" @@ -1858,6 +1977,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/win32-arm64@npm:0.16.17" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/win32-arm64@npm:0.17.11" @@ -1872,6 +1998,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/win32-ia32@npm:0.16.17" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/win32-ia32@npm:0.17.11" @@ -1886,6 +2019,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/win32-x64@npm:0.16.17" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.17.11": version: 0.17.11 resolution: "@esbuild/win32-x64@npm:0.17.11" @@ -2488,7 +2628,7 @@ __metadata: dependencies: "@lingui/cli": 4.0.0-next.1 "@lingui/conf": 4.0.0-next.1 - vite: 3.2.4 + vite: 4.1.4 languageName: unknown linkType: soft @@ -6242,220 +6382,80 @@ __metadata: languageName: node linkType: hard -"esbuild-android-64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-android-64@npm:0.15.18" - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - -"esbuild-android-arm64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-android-arm64@npm:0.15.18" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"esbuild-darwin-64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-darwin-64@npm:0.15.18" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"esbuild-darwin-arm64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-darwin-arm64@npm:0.15.18" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"esbuild-freebsd-64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-freebsd-64@npm:0.15.18" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"esbuild-freebsd-arm64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-freebsd-arm64@npm:0.15.18" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - -"esbuild-linux-32@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-linux-32@npm:0.15.18" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - -"esbuild-linux-64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-linux-64@npm:0.15.18" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - -"esbuild-linux-arm64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-linux-arm64@npm:0.15.18" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"esbuild-linux-arm@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-linux-arm@npm:0.15.18" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"esbuild-linux-mips64le@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-linux-mips64le@npm:0.15.18" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - -"esbuild-linux-ppc64le@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-linux-ppc64le@npm:0.15.18" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - -"esbuild-linux-riscv64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-linux-riscv64@npm:0.15.18" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - -"esbuild-linux-s390x@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-linux-s390x@npm:0.15.18" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - -"esbuild-netbsd-64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-netbsd-64@npm:0.15.18" - conditions: os=netbsd & cpu=x64 - languageName: node - linkType: hard - -"esbuild-openbsd-64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-openbsd-64@npm:0.15.18" - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - -"esbuild-sunos-64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-sunos-64@npm:0.15.18" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - -"esbuild-windows-32@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-windows-32@npm:0.15.18" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"esbuild-windows-64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-windows-64@npm:0.15.18" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"esbuild-windows-arm64@npm:0.15.18": - version: 0.15.18 - resolution: "esbuild-windows-arm64@npm:0.15.18" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"esbuild@npm:^0.15.9": - version: 0.15.18 - resolution: "esbuild@npm:0.15.18" - dependencies: - "@esbuild/android-arm": 0.15.18 - "@esbuild/linux-loong64": 0.15.18 - esbuild-android-64: 0.15.18 - esbuild-android-arm64: 0.15.18 - esbuild-darwin-64: 0.15.18 - esbuild-darwin-arm64: 0.15.18 - esbuild-freebsd-64: 0.15.18 - esbuild-freebsd-arm64: 0.15.18 - esbuild-linux-32: 0.15.18 - esbuild-linux-64: 0.15.18 - esbuild-linux-arm: 0.15.18 - esbuild-linux-arm64: 0.15.18 - esbuild-linux-mips64le: 0.15.18 - esbuild-linux-ppc64le: 0.15.18 - esbuild-linux-riscv64: 0.15.18 - esbuild-linux-s390x: 0.15.18 - esbuild-netbsd-64: 0.15.18 - esbuild-openbsd-64: 0.15.18 - esbuild-sunos-64: 0.15.18 - esbuild-windows-32: 0.15.18 - esbuild-windows-64: 0.15.18 - esbuild-windows-arm64: 0.15.18 +"esbuild@npm:^0.16.14": + version: 0.16.17 + resolution: "esbuild@npm:0.16.17" + dependencies: + "@esbuild/android-arm": 0.16.17 + "@esbuild/android-arm64": 0.16.17 + "@esbuild/android-x64": 0.16.17 + "@esbuild/darwin-arm64": 0.16.17 + "@esbuild/darwin-x64": 0.16.17 + "@esbuild/freebsd-arm64": 0.16.17 + "@esbuild/freebsd-x64": 0.16.17 + "@esbuild/linux-arm": 0.16.17 + "@esbuild/linux-arm64": 0.16.17 + "@esbuild/linux-ia32": 0.16.17 + "@esbuild/linux-loong64": 0.16.17 + "@esbuild/linux-mips64el": 0.16.17 + "@esbuild/linux-ppc64": 0.16.17 + "@esbuild/linux-riscv64": 0.16.17 + "@esbuild/linux-s390x": 0.16.17 + "@esbuild/linux-x64": 0.16.17 + "@esbuild/netbsd-x64": 0.16.17 + "@esbuild/openbsd-x64": 0.16.17 + "@esbuild/sunos-x64": 0.16.17 + "@esbuild/win32-arm64": 0.16.17 + "@esbuild/win32-ia32": 0.16.17 + "@esbuild/win32-x64": 0.16.17 dependenciesMeta: "@esbuild/android-arm": optional: true - "@esbuild/linux-loong64": + "@esbuild/android-arm64": optional: true - esbuild-android-64: + "@esbuild/android-x64": optional: true - esbuild-android-arm64: + "@esbuild/darwin-arm64": optional: true - esbuild-darwin-64: + "@esbuild/darwin-x64": optional: true - esbuild-darwin-arm64: + "@esbuild/freebsd-arm64": optional: true - esbuild-freebsd-64: + "@esbuild/freebsd-x64": optional: true - esbuild-freebsd-arm64: + "@esbuild/linux-arm": optional: true - esbuild-linux-32: + "@esbuild/linux-arm64": optional: true - esbuild-linux-64: + "@esbuild/linux-ia32": optional: true - esbuild-linux-arm: + "@esbuild/linux-loong64": optional: true - esbuild-linux-arm64: + "@esbuild/linux-mips64el": optional: true - esbuild-linux-mips64le: + "@esbuild/linux-ppc64": optional: true - esbuild-linux-ppc64le: + "@esbuild/linux-riscv64": optional: true - esbuild-linux-riscv64: + "@esbuild/linux-s390x": optional: true - esbuild-linux-s390x: + "@esbuild/linux-x64": optional: true - esbuild-netbsd-64: + "@esbuild/netbsd-x64": optional: true - esbuild-openbsd-64: + "@esbuild/openbsd-x64": optional: true - esbuild-sunos-64: + "@esbuild/sunos-x64": optional: true - esbuild-windows-32: + "@esbuild/win32-arm64": optional: true - esbuild-windows-64: + "@esbuild/win32-ia32": optional: true - esbuild-windows-arm64: + "@esbuild/win32-x64": optional: true bin: esbuild: bin/esbuild - checksum: ec12682b2cb2d4f0669d0e555028b87a9284ca7f6a1b26e35e69a8697165b35cc682ad598abc70f0bbcfdc12ca84ef888caf5ceee389237862e8f8c17da85f89 + checksum: 4c2cc609ecfb426554bc3f75beb92d89eb2d0c515cfceebaa36c7599d7dcaab7056b70f6d6b51e72b45951ddf9021ee28e356cf205f8e42cc055d522312ea30c languageName: node linkType: hard @@ -11587,7 +11587,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.18": +"postcss@npm:^8.4.21": version: 8.4.21 resolution: "postcss@npm:8.4.21" dependencies: @@ -12337,20 +12337,6 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^2.79.1": - version: 2.79.1 - resolution: "rollup@npm:2.79.1" - dependencies: - fsevents: ~2.3.2 - dependenciesMeta: - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 6a2bf167b3587d4df709b37d149ad0300692cc5deb510f89ac7bdc77c8738c9546ae3de9322b0968e1ed2b0e984571f5f55aae28fa7de4cfcb1bc5402a4e2be6 - languageName: node - linkType: hard - "rollup@npm:^3.10.0": version: 3.10.1 resolution: "rollup@npm:3.10.1" @@ -13888,15 +13874,15 @@ __metadata: languageName: node linkType: hard -"vite@npm:3.2.4": - version: 3.2.4 - resolution: "vite@npm:3.2.4" +"vite@npm:4.1.4": + version: 4.1.4 + resolution: "vite@npm:4.1.4" dependencies: - esbuild: ^0.15.9 + esbuild: ^0.16.14 fsevents: ~2.3.2 - postcss: ^8.4.18 + postcss: ^8.4.21 resolve: ^1.22.1 - rollup: ^2.79.1 + rollup: ^3.10.0 peerDependencies: "@types/node": ">= 14" less: "*" @@ -13922,7 +13908,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 0f3e8f89c15809bd6bd8dec54b04b7c9b87374314d00928035f9d70190b4b220e8206b5d77a1e4097a5019cebf7862df4fbc11fbbb35c4f75f359999123d2c25 + checksum: 50a9a1f2e29e0ee8fefdec60314d38fb9b746df0bb6ae5a8114014b5bfd95e0fc9b29c0d5e73939361ba53af7eb66c7d20c5656bbe53a783e96540bd3b907c47 languageName: node linkType: hard