A SWC Plugin for LinguiJS
npm install @lingui/swc-pluginA Rust versions of LinguiJS Macro






Install plugin:
``bash`
npm install --save-dev @lingui/swc-pluginor
yarn add -D @lingui/swc-plugin
You still need to install @lingui/macro for typings support:`bash`
npm install @lingui/macroor
yarn add @lingui/macro
.swcrc
https://swc.rs/docs/configuration/swcrc
`json5`
{
"$schema": "https://json.schemastore.org/swcrc",
"jsc": {
"experimental": {
"plugins": [
[
"@lingui/swc-plugin",
{
// Optional
// Unlike the JS version this option must be passed as object only.
// Docs https://lingui.dev/ref/conf#runtimeconfigmodule
// "runtimeModules": {
// "i18n": ["@lingui/core", "i18n"],
// "trans": ["@lingui/react", "Trans"]
// }
// Lingui strips non-essential fields in production builds for performance.
// You can override the default behavior with:
// "stripNonEssentialFields": false/true
},
],
],
},
},
}
Or Next JS Usage:
next.config.js`js
/* @type {import('next').NextConfig} /
const nextConfig = {
reactStrictMode: true,
experimental: {
swcPlugins: [
['@lingui/swc-plugin', {
// the same options as in .swcrc
}],
],
},
};
module.exports = nextConfig;
`
> Note
> Consult with full working example for NextJS in the /examples folder in this repo.
versions.So you need to select an appropriate version of the plugin to match compatible
swc_core using a https://plugins.swc.rs/.Below is a table referencing the
swc_core version used during the plugin build, along with a link to the plugin's site to check compatibility with runtimes for this swc_core range.To learn more about SWC Plugins compatibility check this issue https://github.com/lingui/swc-plugin/issues/179
| Plugin Version | used
swc_core |
|---------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 0.1.0, 4.0.0-next.0 | 0.52.8 |
| 0.2.*, 4.0.0-next.1 ~ 4.0.0-next.3 | 0.56.1 |
| 4.0.0 | 0.75.33 |
| 4.0.1 | 0.76.0 |
| 4.0.2 | 0.76.41 |
| 4.0.3 | 0.78.28 |
| 4.0.4 | 0.79.x |
| 4.0.5, 4.0.6 | 0.87.x |
| 4.0.7, 4.0.8, 5.0.0-next.0 ~ 5.0.0-next.1 | 0.90.35 |
| 4.0.9 | 0.96.9 |
| 4.0.10 | 0.101.4 |
| 4.1.0, 5.0.0 ~ 5.2.0 | 0.106.3 |
| 5.3.0 | 5.0.4 |
| 5.4.0 | 14.1.0 |
| 5.5.0 ~ 5.5.2 | 15.0.1 |
| 5.6.0 ~ 5.6.1 | 27.0.6 |
| 5.7.0 | 39.0.3 |
| 5.8.0 | 45.0.2 |
| 5.9.0 | 46.0.3 |
| 5.10.0 | 50.2.3 |
| 5.10.1 | 50.2.3 with --cfg=swc_ast_unknown |
> Note
>
> next
v13.2.4 ~ v13.3.1 cannot execute SWC Wasm plugins, due to a bug of next-swc.
>
> next v13.4.3 ~ v13.4.5-canary.7 cannot execute SWC Wasm plugins, due to missing filesystem cache.- Version
0.1.0 ~ 0. compatible with @lingui/core@3.
- Version 4. compatible with @lingui/core@4.
- Version 5. compatible with @lingui/core@5.`The project is licensed under the MIT license.