lingui-swc-plugin
v1.0.2
Published
A Kissflow SWC Plugin for LinguiJS
Downloads
144
Maintainers
Readme
A SWC Plugin For LinguiJS
A Rust versions of LinguiJS Macro
lingui-swc-plugin
lingui-swc-plugin
is modified version of @lingui/swc-plugin
in which defineMessage
macro returns string instead of MessageDescriptor. (Migration purpose)
Installation
Install plugin:
npm install --save-dev @lingui/swc-plugin@npm:lingui-swc-plugin
# or
yarn add -D @lingui/swc-plugin@npm:lingui-swc-plugin
You still need to install @lingui/macro
for typings support:
npm install @lingui/macro@npm:lingui-macro
# or
yarn add @lingui/macro@npm:lingui-macro
Usage
.swcrc
https://swc.rs/docs/configuration/swcrc
{
$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"]
// }
},
],
],
},
},
}
Or Next JS Usage:
next.config.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.
Compatibility
SWC Plugin support is still experimental. They do not guarantee a semver backwards compatibility between different swc-core
versions.
So you need to select an appropriate version of the plugin to match compatible swc_core
using a https://plugins.swc.rs/.
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.*
License
The project is licensed under the MIT license.