From 2c07bd29472371e46778f4437fce8f3c2c377a3c Mon Sep 17 00:00:00 2001 From: Timofei Iatsenko Date: Fri, 10 Mar 2023 10:22:20 +0100 Subject: [PATCH] drop non essential props on production --- src/js_macro_folder.rs | 8 +++++++- src/tests/js_define_message.rs | 21 +++++++++++++-------- src/tests/js_t.rs | 25 +++++++++++++++---------- 3 files changed, 35 insertions(+), 19 deletions(-) diff --git a/src/js_macro_folder.rs b/src/js_macro_folder.rs index e57e6cf..75fbbdf 100644 --- a/src/js_macro_folder.rs +++ b/src/js_macro_folder.rs @@ -28,9 +28,15 @@ impl<'a> JsMacroFolder<'a> { let mut props: Vec = vec![ create_key_value_prop("id", generate_message_id(&parsed.message_str, "").into()), - create_key_value_prop("message", parsed.message), + ]; + if !self.ctx.options.strip_non_essential_fields { + props.push( + create_key_value_prop("message", parsed.message), + ); + } + if let Some(v) = parsed.values { props.push( create_key_value_prop("values", v), diff --git a/src/tests/js_define_message.rs b/src/tests/js_define_message.rs index 1d7bf26..0b0ddcc 100644 --- a/src/tests/js_define_message.rs +++ b/src/tests/js_define_message.rs @@ -103,10 +103,11 @@ to!( to!( production, - should_kept_only_essential_props, + should_kept_only_essential_props, r#" import { defineMessage } from '@lingui/macro' - const msg = defineMessage({ + const message1 = defineMessage`Message`; + const message2 = defineMessage({ message: `Hello ${name}`, id: 'msgId', comment: 'description for translators', @@ -114,11 +115,15 @@ to!( }) "#, r#" - const msg = { - id: "msgId", - values: { - name: name, - }, - }; + const message1 = { + id: "xDAtGP", + }; + + const message2 = { + id: "msgId", + values: { + name: name, + }, + }; "# ); diff --git a/src/tests/js_t.rs b/src/tests/js_t.rs index 4ca8e96..dc22595 100644 --- a/src/tests/js_t.rs +++ b/src/tests/js_t.rs @@ -204,22 +204,27 @@ to!( js_should_kept_only_essential_props, r#" import { t } from '@lingui/macro' - const msg = t({ + const msg1 = t`Message` + const msg2 = t({ message: `Hello ${name}`, id: 'msgId', comment: 'description for translators', context: 'My Context', }) "#, - r#" - import { i18n } from "@lingui/core"; - const msg = i18n._({ - id: "msgId", - values: { - name: name, - }, - }); - "# + r#" + import { i18n } from "@lingui/core"; + const msg1 = i18n._({ + id: "xDAtGP" + }); + + const msg2 = i18n._({ + id: "msgId", + values: { + name: name, + }, + }); + "# ); to!(