@shipeasy/sdk 2.1.10 → 2.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/index.d.mts +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +23 -7
- package/dist/client/index.mjs +23 -7
- package/dist/server/index.js +10 -3
- package/dist/server/index.mjs +10 -3
- package/package.json +1 -1
package/dist/client/index.d.mts
CHANGED
|
@@ -185,7 +185,7 @@ declare const LABEL_MARKER_START = "\uFFF9";
|
|
|
185
185
|
declare const LABEL_MARKER_SEP = "\uFFFA";
|
|
186
186
|
declare const LABEL_MARKER_END = "\uFFFB";
|
|
187
187
|
declare const LABEL_MARKER_RE: RegExp;
|
|
188
|
-
declare function encodeLabelMarker(key: string, value: string): string;
|
|
188
|
+
declare function encodeLabelMarker(key: string, value: string, variables?: I18nVariables): string;
|
|
189
189
|
interface LabelAttrs {
|
|
190
190
|
"data-label": string;
|
|
191
191
|
"data-variables"?: string;
|
package/dist/client/index.d.ts
CHANGED
|
@@ -185,7 +185,7 @@ declare const LABEL_MARKER_START = "\uFFF9";
|
|
|
185
185
|
declare const LABEL_MARKER_SEP = "\uFFFA";
|
|
186
186
|
declare const LABEL_MARKER_END = "\uFFFB";
|
|
187
187
|
declare const LABEL_MARKER_RE: RegExp;
|
|
188
|
-
declare function encodeLabelMarker(key: string, value: string): string;
|
|
188
|
+
declare function encodeLabelMarker(key: string, value: string, variables?: I18nVariables): string;
|
|
189
189
|
interface LabelAttrs {
|
|
190
190
|
"data-label": string;
|
|
191
191
|
"data-variables"?: string;
|
package/dist/client/index.js
CHANGED
|
@@ -774,9 +774,10 @@ var flags = {
|
|
|
774
774
|
var LABEL_MARKER_START = "\uFFF9";
|
|
775
775
|
var LABEL_MARKER_SEP = "\uFFFA";
|
|
776
776
|
var LABEL_MARKER_END = "\uFFFB";
|
|
777
|
-
var LABEL_MARKER_RE = /([^]+)([^]*)/g;
|
|
778
|
-
function encodeLabelMarker(key, value) {
|
|
779
|
-
|
|
777
|
+
var LABEL_MARKER_RE = /([^]+)([^]*)([^]*)/g;
|
|
778
|
+
function encodeLabelMarker(key, value, variables) {
|
|
779
|
+
const varsJson = variables && Object.keys(variables).length > 0 ? JSON.stringify(variables) : "";
|
|
780
|
+
return `${LABEL_MARKER_START}${key}${LABEL_MARKER_SEP}${varsJson}${LABEL_MARKER_SEP}${value}${LABEL_MARKER_END}`;
|
|
780
781
|
}
|
|
781
782
|
function labelAttrs(key, variables, desc) {
|
|
782
783
|
const attrs = { "data-label": key };
|
|
@@ -790,12 +791,16 @@ var _EDIT_MODE_SSR_SYM = /* @__PURE__ */ Symbol.for("@shipeasy/sdk:ssr-edit-mode
|
|
|
790
791
|
function getSSRI18nStore() {
|
|
791
792
|
return globalThis[_I18N_SSR_SYM]?.() ?? null;
|
|
792
793
|
}
|
|
794
|
+
var _EDIT_MODE_FALLBACK_SYM = /* @__PURE__ */ Symbol.for("@shipeasy/sdk:ssr-edit-mode-fallback");
|
|
793
795
|
function isEditLabelsMode() {
|
|
794
796
|
if (typeof window !== "undefined") {
|
|
795
797
|
return !!window.__SE_BOOTSTRAP?.editLabels || new URLSearchParams(location.search).has("se_edit_labels");
|
|
796
798
|
}
|
|
797
799
|
const val = globalThis[_EDIT_MODE_SSR_SYM];
|
|
798
|
-
|
|
800
|
+
if (typeof val === "boolean") return val;
|
|
801
|
+
if (typeof val === "function") return val();
|
|
802
|
+
const fb = globalThis[_EDIT_MODE_FALLBACK_SYM];
|
|
803
|
+
return typeof fb === "boolean" ? fb : false;
|
|
799
804
|
}
|
|
800
805
|
function interpolate(raw, variables) {
|
|
801
806
|
if (!variables) return raw;
|
|
@@ -885,8 +890,19 @@ var i18n = {
|
|
|
885
890
|
variables = fallbackOrVars;
|
|
886
891
|
}
|
|
887
892
|
const resolved = _resolveTranslation(key, variables);
|
|
888
|
-
if (resolved !== void 0)
|
|
889
|
-
|
|
893
|
+
if (resolved !== void 0) {
|
|
894
|
+
if (typeof window === "undefined" && isEditLabelsMode()) {
|
|
895
|
+
return encodeLabelMarker(key, resolved, variables);
|
|
896
|
+
}
|
|
897
|
+
return resolved;
|
|
898
|
+
}
|
|
899
|
+
if (fallback !== void 0) {
|
|
900
|
+
const text = interpolate(fallback, variables);
|
|
901
|
+
if (typeof window === "undefined" && isEditLabelsMode()) {
|
|
902
|
+
return encodeLabelMarker(key, text, variables);
|
|
903
|
+
}
|
|
904
|
+
return text;
|
|
905
|
+
}
|
|
890
906
|
return key;
|
|
891
907
|
},
|
|
892
908
|
/**
|
|
@@ -929,7 +945,7 @@ var i18n = {
|
|
|
929
945
|
if (isEditLabelsMode()) {
|
|
930
946
|
const resolved = _resolveTranslation(key, variables);
|
|
931
947
|
const text = resolved ?? interpolate(fallback, variables);
|
|
932
|
-
return encodeLabelMarker(key, text);
|
|
948
|
+
return encodeLabelMarker(key, text, variables);
|
|
933
949
|
}
|
|
934
950
|
return this.t(key, fallback, variables);
|
|
935
951
|
},
|
package/dist/client/index.mjs
CHANGED
|
@@ -731,9 +731,10 @@ var flags = {
|
|
|
731
731
|
var LABEL_MARKER_START = "\uFFF9";
|
|
732
732
|
var LABEL_MARKER_SEP = "\uFFFA";
|
|
733
733
|
var LABEL_MARKER_END = "\uFFFB";
|
|
734
|
-
var LABEL_MARKER_RE = /([^]+)([^]*)/g;
|
|
735
|
-
function encodeLabelMarker(key, value) {
|
|
736
|
-
|
|
734
|
+
var LABEL_MARKER_RE = /([^]+)([^]*)([^]*)/g;
|
|
735
|
+
function encodeLabelMarker(key, value, variables) {
|
|
736
|
+
const varsJson = variables && Object.keys(variables).length > 0 ? JSON.stringify(variables) : "";
|
|
737
|
+
return `${LABEL_MARKER_START}${key}${LABEL_MARKER_SEP}${varsJson}${LABEL_MARKER_SEP}${value}${LABEL_MARKER_END}`;
|
|
737
738
|
}
|
|
738
739
|
function labelAttrs(key, variables, desc) {
|
|
739
740
|
const attrs = { "data-label": key };
|
|
@@ -747,12 +748,16 @@ var _EDIT_MODE_SSR_SYM = /* @__PURE__ */ Symbol.for("@shipeasy/sdk:ssr-edit-mode
|
|
|
747
748
|
function getSSRI18nStore() {
|
|
748
749
|
return globalThis[_I18N_SSR_SYM]?.() ?? null;
|
|
749
750
|
}
|
|
751
|
+
var _EDIT_MODE_FALLBACK_SYM = /* @__PURE__ */ Symbol.for("@shipeasy/sdk:ssr-edit-mode-fallback");
|
|
750
752
|
function isEditLabelsMode() {
|
|
751
753
|
if (typeof window !== "undefined") {
|
|
752
754
|
return !!window.__SE_BOOTSTRAP?.editLabels || new URLSearchParams(location.search).has("se_edit_labels");
|
|
753
755
|
}
|
|
754
756
|
const val = globalThis[_EDIT_MODE_SSR_SYM];
|
|
755
|
-
|
|
757
|
+
if (typeof val === "boolean") return val;
|
|
758
|
+
if (typeof val === "function") return val();
|
|
759
|
+
const fb = globalThis[_EDIT_MODE_FALLBACK_SYM];
|
|
760
|
+
return typeof fb === "boolean" ? fb : false;
|
|
756
761
|
}
|
|
757
762
|
function interpolate(raw, variables) {
|
|
758
763
|
if (!variables) return raw;
|
|
@@ -842,8 +847,19 @@ var i18n = {
|
|
|
842
847
|
variables = fallbackOrVars;
|
|
843
848
|
}
|
|
844
849
|
const resolved = _resolveTranslation(key, variables);
|
|
845
|
-
if (resolved !== void 0)
|
|
846
|
-
|
|
850
|
+
if (resolved !== void 0) {
|
|
851
|
+
if (typeof window === "undefined" && isEditLabelsMode()) {
|
|
852
|
+
return encodeLabelMarker(key, resolved, variables);
|
|
853
|
+
}
|
|
854
|
+
return resolved;
|
|
855
|
+
}
|
|
856
|
+
if (fallback !== void 0) {
|
|
857
|
+
const text = interpolate(fallback, variables);
|
|
858
|
+
if (typeof window === "undefined" && isEditLabelsMode()) {
|
|
859
|
+
return encodeLabelMarker(key, text, variables);
|
|
860
|
+
}
|
|
861
|
+
return text;
|
|
862
|
+
}
|
|
847
863
|
return key;
|
|
848
864
|
},
|
|
849
865
|
/**
|
|
@@ -886,7 +902,7 @@ var i18n = {
|
|
|
886
902
|
if (isEditLabelsMode()) {
|
|
887
903
|
const resolved = _resolveTranslation(key, variables);
|
|
888
904
|
const text = resolved ?? interpolate(fallback, variables);
|
|
889
|
-
return encodeLabelMarker(key, text);
|
|
905
|
+
return encodeLabelMarker(key, text, variables);
|
|
890
906
|
}
|
|
891
907
|
return this.t(key, fallback, variables);
|
|
892
908
|
},
|
package/dist/server/index.js
CHANGED
|
@@ -493,10 +493,17 @@ async function shipeasy(opts) {
|
|
|
493
493
|
let resolvedUrlOverrides = opts.urlOverrides;
|
|
494
494
|
if (!resolvedUrlOverrides) {
|
|
495
495
|
try {
|
|
496
|
-
const { headers } = await import("next/headers");
|
|
496
|
+
const { headers, cookies } = await import("next/headers");
|
|
497
497
|
const h = await Promise.resolve(headers());
|
|
498
498
|
const search = h.get("x-se-search") ?? "";
|
|
499
|
-
if (search)
|
|
499
|
+
if (search) {
|
|
500
|
+
resolvedUrlOverrides = search;
|
|
501
|
+
} else {
|
|
502
|
+
const c = await Promise.resolve(cookies());
|
|
503
|
+
if (c.get?.("se_edit_labels")?.value === "1") {
|
|
504
|
+
resolvedUrlOverrides = "se_edit_labels=1";
|
|
505
|
+
}
|
|
506
|
+
}
|
|
500
507
|
} catch {
|
|
501
508
|
}
|
|
502
509
|
}
|
|
@@ -532,7 +539,7 @@ function getBootstrapHtml(bootstrap, i18nData, opts) {
|
|
|
532
539
|
if (i18nData) payload.i18n = i18nData;
|
|
533
540
|
if (opts.editLabels) payload.editLabels = true;
|
|
534
541
|
parts.push(
|
|
535
|
-
`(function(){if(!new URLSearchParams(location.search).has('se_edit_labels'))return;var R;function P(v){if(!v||typeof v.t!=='function'||v.__sePatched)return;var O=v.t.bind(v);v.__sePatched=true;window._sei18n_t=O;v.t=function(k,vars){var r=O(k,vars);
|
|
542
|
+
`(function(){if(!new URLSearchParams(location.search).has('se_edit_labels'))return;try{document.cookie='se_edit_labels=1;path=/;max-age=86400;samesite=lax';}catch(_){}var R;function P(v){if(!v||typeof v.t!=='function'||v.__sePatched)return;var O=v.t.bind(v);v.__sePatched=true;window._sei18n_t=O;v.t=function(k,vars){var r=O(k,vars);if(r===k)return k;var V='';try{if(vars&&typeof vars==='object'){var hasKey=false;for(var _k in vars){hasKey=true;break;}if(hasKey)V=JSON.stringify(vars);}}catch(_){V='';}return '\\uFFF9'+k+'\\uFFFA'+V+'\\uFFFA'+r+'\\uFFFB';};}Object.defineProperty(window,'i18n',{configurable:true,get:function(){return R;},set:function(v){P(v);R=v;}});})();`
|
|
536
543
|
);
|
|
537
544
|
parts.push(`window.__SE_BOOTSTRAP=${JSON.stringify(payload)};`);
|
|
538
545
|
if (i18nData?.strings && Object.keys(i18nData.strings).length > 0) {
|
package/dist/server/index.mjs
CHANGED
|
@@ -450,10 +450,17 @@ async function shipeasy(opts) {
|
|
|
450
450
|
let resolvedUrlOverrides = opts.urlOverrides;
|
|
451
451
|
if (!resolvedUrlOverrides) {
|
|
452
452
|
try {
|
|
453
|
-
const { headers } = await import("next/headers");
|
|
453
|
+
const { headers, cookies } = await import("next/headers");
|
|
454
454
|
const h = await Promise.resolve(headers());
|
|
455
455
|
const search = h.get("x-se-search") ?? "";
|
|
456
|
-
if (search)
|
|
456
|
+
if (search) {
|
|
457
|
+
resolvedUrlOverrides = search;
|
|
458
|
+
} else {
|
|
459
|
+
const c = await Promise.resolve(cookies());
|
|
460
|
+
if (c.get?.("se_edit_labels")?.value === "1") {
|
|
461
|
+
resolvedUrlOverrides = "se_edit_labels=1";
|
|
462
|
+
}
|
|
463
|
+
}
|
|
457
464
|
} catch {
|
|
458
465
|
}
|
|
459
466
|
}
|
|
@@ -489,7 +496,7 @@ function getBootstrapHtml(bootstrap, i18nData, opts) {
|
|
|
489
496
|
if (i18nData) payload.i18n = i18nData;
|
|
490
497
|
if (opts.editLabels) payload.editLabels = true;
|
|
491
498
|
parts.push(
|
|
492
|
-
`(function(){if(!new URLSearchParams(location.search).has('se_edit_labels'))return;var R;function P(v){if(!v||typeof v.t!=='function'||v.__sePatched)return;var O=v.t.bind(v);v.__sePatched=true;window._sei18n_t=O;v.t=function(k,vars){var r=O(k,vars);
|
|
499
|
+
`(function(){if(!new URLSearchParams(location.search).has('se_edit_labels'))return;try{document.cookie='se_edit_labels=1;path=/;max-age=86400;samesite=lax';}catch(_){}var R;function P(v){if(!v||typeof v.t!=='function'||v.__sePatched)return;var O=v.t.bind(v);v.__sePatched=true;window._sei18n_t=O;v.t=function(k,vars){var r=O(k,vars);if(r===k)return k;var V='';try{if(vars&&typeof vars==='object'){var hasKey=false;for(var _k in vars){hasKey=true;break;}if(hasKey)V=JSON.stringify(vars);}}catch(_){V='';}return '\\uFFF9'+k+'\\uFFFA'+V+'\\uFFFA'+r+'\\uFFFB';};}Object.defineProperty(window,'i18n',{configurable:true,get:function(){return R;},set:function(v){P(v);R=v;}});})();`
|
|
493
500
|
);
|
|
494
501
|
parts.push(`window.__SE_BOOTSTRAP=${JSON.stringify(payload)};`);
|
|
495
502
|
if (i18nData?.strings && Object.keys(i18nData.strings).length > 0) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shipeasy/sdk",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.12",
|
|
4
4
|
"description": "Shipeasy SDK — feature gates, runtime configs, experiments, and metrics for the Shipeasy hosted service.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"homepage": "https://shipeasy.ai",
|