Skip to main content

PluginConfig

Struct PluginConfig 

Source
pub struct PluginConfig {
    pub dictionaries_dir: String,
    pub dictionaries_entry_path: String,
    pub dynamic_dictionaries_dir: String,
    pub fetch_dictionaries_dir: String,
    pub import_mode: Option<String>,
    pub replace_dictionary_entry: Option<bool>,
    pub nesting_dictionary_keys: Vec<String>,
    pub files_list: Vec<String>,
    pub dictionary_mode_map: Option<BTreeMap<String, String>>,
    pub extra_callers: Vec<ExtraCallerConfig>,
    pub field_rename_map: BTreeMap<String, FieldRenameMap>,
    pub log_level: Option<String>,
}
Expand description

Configuration passed to the plugin via SWC transform options or constructed directly when using crate::process_transform from native Rust.

Fields§

§dictionaries_dir: String

Absolute path to the directory containing <key>.json compiled dictionaries.

§dictionaries_entry_path: String

Absolute path to the generated dictionaries entry file (e.g. .intlayer/dictionaries.mjs).

§dynamic_dictionaries_dir: String

Absolute path to the directory containing <key>.mjs dynamic dictionary modules.

§fetch_dictionaries_dir: String

Absolute path to the directory containing <key>.mjs fetch/live dictionary modules.

§import_mode: Option<String>

Global import mode for all dictionaries: "static" (default), "dynamic", or "fetch".

§replace_dictionary_entry: Option<bool>

When true, the dictionaries entry file is replaced with export default {} and export const getDictionaries = () => ({}).

§nesting_dictionary_keys: Vec<String>

Keys of the dictionaries that reference other dictionaries through nest().

For those, the injected static import points at the generated companion module (<dictionariesDir>/nested/<key>.mjs) instead of the raw JSON. The companion re-exports the dictionary with its nest targets attached, so getNesting resolves them from that local reference rather than from the global registry this plugin empties — and each target lands in the chunk of the dictionary referencing it.

Dynamic and fetch modes need nothing here: their generated loaders already attach the same targets per locale.

§files_list: Vec<String>

Allowlist of absolute file paths to transform. When empty, all files are processed.

§dictionary_mode_map: Option<BTreeMap<String, String>>

Per-dictionary import mode overrides, keyed by dictionary key. Values are "static", "dynamic", or "fetch".

§extra_callers: Vec<ExtraCallerConfig>

Extra caller descriptors injected by compat adapter plugins.

Each entry teaches the plugin to recognise a compat-adapter function (e.g. useTranslation from react-i18next) and rewrite its call site to a *Dictionary variant that accepts a pre-imported dictionary object instead of a string key.

§field_rename_map: BTreeMap<String, FieldRenameMap>

Field-rename tables keyed by dictionary key, produced by the build.minify pipeline on the JavaScript side.

When a dictionary is listed here, its compiled JSON has already been rewritten with the short aliases, so every source-code access to its content must be rewritten to match (content.title → content.a). Dictionaries whose JSON was left untouched (edge cases, fetch mode, opaque consumers) are simply absent from the map.

The whole map arrives empty when the visual editor is enabled: renaming rewrites the content keys the keyPath is built from, and the editor resolves every edit by keyPath against the unmerged dictionaries. Purging still happens, so the dictionaries are still smaller.

§log_level: Option<String>

Verbosity of the plugin’s build-time reporting: "off" (default), "info", or "debug".

Trait Implementations§

Source§

impl Clone for PluginConfig

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PluginConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PluginConfig

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for PluginConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Send for T
where T: ?Sized,

Source§

impl<T> Sync for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more