glotstack 0.0.9 → 0.0.10

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/cli.js CHANGED
@@ -100,6 +100,10 @@ const DEFAULT_OPTIONS = {
100
100
  apiOrigin: 'https://glotstack.ai',
101
101
  yaml: 'false',
102
102
  };
103
+ // TODO: downcase yaml files
104
+ function downcaseKeys(obj) {
105
+ return Object.fromEntries(Object.entries(obj).map(([key, value]) => [key.toLowerCase(), value]));
106
+ }
103
107
  function resolveConfigAndOptions(options) {
104
108
  return __awaiter(this, void 0, void 0, function* () {
105
109
  var _a;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,16 +7,25 @@ export interface TranslationLeaf {
7
7
  export interface Translations {
8
8
  [key: string]: Translations | TranslationLeaf;
9
9
  }
10
+ interface TranslateOptsBase {
11
+ locale?: LocaleRegion;
12
+ assigns?: Record<string, React.ReactNode>;
13
+ }
14
+ export type TranslateFn = {
15
+ (key: string, opts: TranslateOptsBase & {
16
+ asString: true;
17
+ }): string;
18
+ (key: string, opts?: TranslateOptsBase & {
19
+ asString?: false;
20
+ }): React.ReactNode;
21
+ };
10
22
  export interface ContextType {
11
- translations: Translations;
23
+ translations: Record<string, Translations>;
12
24
  locale: string | null;
13
25
  loadTranslations: (locale: LocaleRegion) => Promise<Translations>;
14
26
  setLocale: (locale: LocaleRegion) => void;
15
27
  importMethod: (locale: LocaleRegion) => Promise<Translations>;
16
- t: (key: string, options?: {
17
- locale?: LocaleRegion;
18
- }) => string;
19
- ssr: boolean;
28
+ t: TranslateFn;
20
29
  }
21
30
  export declare const GlotstackContext: React.Context<ContextType>;
22
31
  interface GlotstackProviderProps {
@@ -37,7 +46,7 @@ export declare enum LogLevel {
37
46
  }
38
47
  export declare const setLogLevel: (level: LogLevel) => void;
39
48
  export declare const access: (key: string, locale: LocaleRegion, translations: Translations) => string;
40
- export declare const GlotstackProvider: ({ children, initialLocale, initialTranslations, onLocaleChange, onTranslationLoaded, importMethod, ssr }: GlotstackProviderProps) => import("react/jsx-runtime").JSX.Element;
49
+ export declare const GlotstackProvider: ({ children, initialLocale, initialTranslations, onLocaleChange, onTranslationLoaded, importMethod }: GlotstackProviderProps) => import("react/jsx-runtime").JSX.Element;
41
50
  export declare const useGlotstack: () => ContextType;
42
51
  export declare const useTranslations: (_options?: Record<never, never>) => ContextType;
43
52
  export type ParsedSimplePlaceholder = {
package/dist/index.js CHANGED
@@ -43,7 +43,6 @@ exports.GlotstackContext = React.createContext({
43
43
  locale: null,
44
44
  importMethod: (_locale) => { throw new Error('import method not set'); },
45
45
  t: () => { throw new Error('import method not set'); },
46
- ssr: false
47
46
  });
48
47
  var LogLevel;
49
48
  (function (LogLevel) {
@@ -53,6 +52,13 @@ var LogLevel;
53
52
  LogLevel[LogLevel["WARNING"] = 3] = "WARNING";
54
53
  LogLevel[LogLevel["ERROR"] = 4] = "ERROR";
55
54
  })(LogLevel || (exports.LogLevel = LogLevel = {}));
55
+ const LogName = {
56
+ [LogLevel.DEBUG]: 'debug',
57
+ [LogLevel.LOG]: 'log',
58
+ [LogLevel.INFO]: 'info',
59
+ [LogLevel.WARNING]: 'warning',
60
+ [LogLevel.ERROR]: 'error',
61
+ };
56
62
  const LogLevelToFunc = {
57
63
  [LogLevel.DEBUG]: console.debug,
58
64
  [LogLevel.INFO]: console.info,
@@ -70,7 +76,7 @@ const makeLoggingFunction = (level) => (...args) => {
70
76
  if (level < logLevel) {
71
77
  return;
72
78
  }
73
- return func(`[level=${level} logLevel=${logLevel}][glotstack.ai]`, ...args);
79
+ return func(`[${LogName[level]}][glotstack.ai]`, ...args);
74
80
  };
75
81
  const logger = {
76
82
  debug: makeLoggingFunction(LogLevel.DEBUG),
@@ -95,13 +101,117 @@ const access = (key, locale, translations) => {
95
101
  return ((_a = value === null || value === void 0 ? void 0 : value.value) !== null && _a !== void 0 ? _a : key);
96
102
  };
97
103
  exports.access = access;
98
- const GlotstackProvider = ({ children, initialLocale, initialTranslations, onLocaleChange, onTranslationLoaded, importMethod, ssr }) => {
104
+ function isAsStringTrue(opts) {
105
+ return (opts === null || opts === void 0 ? void 0 : opts.asString) === true;
106
+ }
107
+ function translate(key, opts) {
108
+ var _a, _b, _c, _d, _e, _f;
109
+ var _g, _h;
110
+ const { glotstack, globalLocale, translations, localeRef, accessedRef, extractionsRef, outputRef, } = opts;
111
+ const locale = (_a = opts === null || opts === void 0 ? void 0 : opts.locale) !== null && _a !== void 0 ? _a : globalLocale;
112
+ localeRef.current = locale;
113
+ glotstack.loadTranslations(localeRef.current);
114
+ let string = '';
115
+ if (translations != null) {
116
+ string = (0, exports.access)(key, locale, translations !== null && translations !== void 0 ? translations : {});
117
+ }
118
+ if (string === key)
119
+ return key;
120
+ if (outputRef.current == null) {
121
+ outputRef.current = {};
122
+ }
123
+ if (!outputRef.current[locale]) {
124
+ outputRef.current[locale] = {};
125
+ }
126
+ if (!accessedRef.current[locale]) {
127
+ accessedRef.current[locale] = {};
128
+ }
129
+ if (((_b = outputRef.current[locale]) === null || _b === void 0 ? void 0 : _b[key]) != null &&
130
+ string === ((_c = accessedRef.current[locale]) === null || _c === void 0 ? void 0 : _c[key])) {
131
+ return outputRef.current[locale][key];
132
+ }
133
+ (_d = (_g = accessedRef.current)[locale]) !== null && _d !== void 0 ? _d : (_g[locale] = {});
134
+ accessedRef.current[locale][key] = string;
135
+ (_e = (_h = extractionsRef.current)[locale]) !== null && _e !== void 0 ? _e : (_h[locale] = {});
136
+ if (!extractionsRef.current[locale][key]) {
137
+ const newExtractions = extractSimplePlaceholders(string);
138
+ extractionsRef.current[locale][key] = newExtractions;
139
+ }
140
+ if (outputRef.current[locale] == null) {
141
+ outputRef.current[locale] = {};
142
+ }
143
+ if (outputRef.current[locale][key] == null) {
144
+ const output = renderPlaceholdersToNodes(string, extractionsRef.current[locale][key], (_f = opts === null || opts === void 0 ? void 0 : opts.assigns) !== null && _f !== void 0 ? _f : {});
145
+ outputRef.current[locale][key] = output;
146
+ }
147
+ let output = outputRef.current[locale][key];
148
+ if (isAsStringTrue(opts)) {
149
+ // Convert any possible value to string safely
150
+ output = Array.isArray(output)
151
+ ? output.join('')
152
+ : typeof output === 'string'
153
+ ? output
154
+ : String(output !== null && output !== void 0 ? output : '');
155
+ if (outputRef.current != null) {
156
+ outputRef.current[locale][key] = output;
157
+ }
158
+ }
159
+ return output;
160
+ }
161
+ function createTranslate(glotstack, globalLocale, translations, localeRef, accessedRef, extractionsRef, outputRef) {
162
+ function t(key, opts) {
163
+ return translate(key, (0, object_1.merge)({
164
+ glotstack,
165
+ globalLocale,
166
+ translations,
167
+ localeRef,
168
+ accessedRef,
169
+ extractionsRef,
170
+ outputRef,
171
+ }, opts !== null && opts !== void 0 ? opts : {}));
172
+ }
173
+ return t;
174
+ }
175
+ // export const useReduxGlotstack = () => {
176
+ // const glotstack = useGlotstack()
177
+ // const globalLocale = useSelector(selectLocale)
178
+ // const localeRef = React.useRef(globalLocale)
179
+ // localeRef.current = globalLocale
180
+ // const translations = useSelector(selectTranslations)
181
+ // React.useEffect(() => {
182
+ // glotstack.loadTranslations(localeRef.current)
183
+ // }, [localeRef.current])
184
+ // const accessedRef = React.useRef<Record<string, Record<string, string>>>({})
185
+ // const extractionsRef = React.useRef<
186
+ // Record<string, Record<string, ParsedSimplePlaceholder[]>>
187
+ // >({})
188
+ // const outputRef = React.useRef<
189
+ // Record<string, Record<string, React.ReactNode>>
190
+ // >({})
191
+ // const t: TranslateFn = React.useMemo(() => {
192
+ // return createTranslate(
193
+ // glotstack,
194
+ // globalLocale,
195
+ // translations ?? {},
196
+ // localeRef,
197
+ // accessedRef,
198
+ // extractionsRef,
199
+ // outputRef,
200
+ // )
201
+ // }, [globalLocale, translations])
202
+ // return { t }
203
+ // }
204
+ const GlotstackProvider = ({ children, initialLocale, initialTranslations, onLocaleChange, onTranslationLoaded, importMethod }) => {
99
205
  if (initialLocale == null) {
100
206
  throw new Error('initialLocale must be set');
101
207
  }
102
208
  const [locale, setLocale] = React.useState(initialLocale);
103
209
  const translationsRef = React.useRef(initialTranslations || null);
210
+ const accessedRef = React.useRef({});
211
+ const outputRef = React.useRef({});
212
+ const extractionsRef = React.useRef({});
104
213
  const loadingRef = React.useRef({});
214
+ const localeRef = React.useRef('en-US');
105
215
  const loadTranslations = React.useCallback((locale, opts) => __awaiter(void 0, void 0, void 0, function* () {
106
216
  var _a, _b, _c, _d, _e, _f;
107
217
  // TODO: if translations are loaded only reload if some condition is
@@ -143,22 +253,20 @@ const GlotstackProvider = ({ children, initialLocale, initialTranslations, onLoc
143
253
  });
144
254
  }, [locale]);
145
255
  const context = React.useMemo(() => {
146
- var _a;
147
- return {
256
+ var _a, _b, _c;
257
+ const context = {
148
258
  setLocale,
149
259
  translations: (_a = translationsRef.current) !== null && _a !== void 0 ? _a : {},
150
260
  locale,
151
261
  importMethod,
152
262
  loadTranslations,
153
- t: (key, opts) => {
154
- var _a, _b, _c;
155
- const resolvedLocale = (_a = opts === null || opts === void 0 ? void 0 : opts.locale) !== null && _a !== void 0 ? _a : locale;
156
- loadTranslations(resolvedLocale);
157
- return (0, exports.access)(key, (_b = opts === null || opts === void 0 ? void 0 : opts.locale) !== null && _b !== void 0 ? _b : locale, (_c = translationsRef.current) !== null && _c !== void 0 ? _c : {});
158
- },
159
- ssr: ssr == true,
263
+ t: () => '',
160
264
  };
161
- }, [locale, importMethod]);
265
+ localeRef.current = locale;
266
+ const t = createTranslate(context, (_b = context.locale) !== null && _b !== void 0 ? _b : 'en-US', (_c = context.translations) !== null && _c !== void 0 ? _c : {}, localeRef, accessedRef, extractionsRef, outputRef);
267
+ context.t = t;
268
+ return context;
269
+ }, [locale, importMethod, loadTranslations]);
162
270
  return (0, jsx_runtime_1.jsx)(exports.GlotstackContext.Provider, { value: context, children: children });
163
271
  };
164
272
  exports.GlotstackProvider = GlotstackProvider;
@@ -216,7 +324,7 @@ function renderPlaceholdersToNodes(input, placeholders, assigns) {
216
324
  logger.warn(`Invalid assign substitution for:\n\n ${raw}\n\nDid you remember to pass assigns?\n`, `
217
325
  t('key', { assigns: {
218
326
  ${key}: <something /> // children will be copied via React.cloneElement
219
- }})\nor\n
327
+ }})\n\nor\n
220
328
  t('key', { assigns: {
221
329
  ${key}: MyComponent // component will be rendered with <Component/>
222
330
  }})\n
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,15 @@
1
+ export interface GlotstackConfig {
2
+ outputDir?: string;
3
+ sourcePath: string;
4
+ sourceLocale: string;
5
+ outputLocales: string[];
6
+ apiOrigin?: string;
7
+ apiKey: string;
8
+ projectId?: string;
9
+ }
1
10
  /**
2
11
  * Recursively looks for `.glotstack.json` from the current directory up to the root.
3
12
  * @param startDir The directory to start the search from. Defaults to process.cwd().
4
13
  * @returns The absolute path to the file if found, or null if not found.
5
14
  */
6
- export declare function findGlotstackConfig(startDir?: string): Promise<object | null>;
15
+ export declare function findGlotstackConfig(startDir?: string): Promise<GlotstackConfig | null>;
@@ -37,6 +37,28 @@ const fs_1 = require("fs");
37
37
  const promises_1 = require("fs/promises");
38
38
  const path = __importStar(require("path"));
39
39
  const yaml_1 = require("./yaml");
40
+ function dropKeys(input, keysToDrop) {
41
+ const obj = typeof input === 'string' ? JSON.parse(input) : structuredClone(input);
42
+ for (const path of keysToDrop) {
43
+ const segments = path.split('.');
44
+ let target = obj;
45
+ for (let i = 0; i < segments.length - 1; i++) {
46
+ const key = segments[i];
47
+ const next = isNaN(Number(key)) ? key : Number(key);
48
+ if (target[next] === undefined) {
49
+ target = undefined;
50
+ break;
51
+ }
52
+ target = target[next];
53
+ }
54
+ if (target !== undefined) {
55
+ const finalKey = segments[segments.length - 1];
56
+ const final = isNaN(Number(finalKey)) ? finalKey : Number(finalKey);
57
+ delete target[final];
58
+ }
59
+ }
60
+ return obj;
61
+ }
40
62
  /**
41
63
  * Recursively looks for `.glotstack.json` from the current directory up to the root.
42
64
  * @param startDir The directory to start the search from. Defaults to process.cwd().
@@ -67,9 +89,9 @@ function findGlotstackConfig() {
67
89
  }
68
90
  currentDir = parentDir;
69
91
  }
70
- let config = {};
92
+ let config;
71
93
  if (configPath != null) {
72
- console.info('Loading config file at ', configPath);
94
+ console.info('Loading config file at ', dropKeys(configPath, ['apiKey']));
73
95
  try {
74
96
  const text = yield (0, promises_1.readFile)(configPath, 'utf-8');
75
97
  if (path.parse(configPath).ext === '.yaml') {
@@ -1 +1 @@
1
- {"version":3,"file":"findConfig.js","sourceRoot":"","sources":["../../src/util/findConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA+B;AAC/B,0CAAsC;AACtC,2CAA4B;AAC5B,iCAAiC;AAEjC;;;;GAIG;AACH,SAAsB,mBAAmB;yDAAC,WAAmB,OAAO,CAAC,GAAG,EAAE;QACxE,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,UAAU,GAAG,IAAI,CAAA;QAErB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAA;YAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAA;YAC9D,MAAM,UAAU,GAAG,IAAA,eAAU,EAAC,aAAa,CAAC,CAAA;YAC5C,MAAM,UAAU,GAAG,IAAA,eAAU,EAAC,aAAa,CAAC,CAAA;YAC5C,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,+EAA+E,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;gBAC1I,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;YAEvE,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,UAAU,GAAG,aAAa,CAAA;YAC5B,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,UAAU,GAAG,aAAa,CAAA;YAC5B,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YAC1C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC7B,MAAK,CAAC,eAAe;YACvB,CAAC;YACD,UAAU,GAAG,SAAS,CAAA;QACxB,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAA;YACnD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBAChD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;oBAC3C,MAAM,GAAG,IAAA,eAAQ,EAAC,IAAI,CAAW,CAAA;gBACnC,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC3B,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA;gBAC1C,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;CAAA;AA7CD,kDA6CC"}
1
+ {"version":3,"file":"findConfig.js","sourceRoot":"","sources":["../../src/util/findConfig.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
1
  export declare function isObject(val: any): val is Record<string, any>;
2
- type MergeTarget = Record<string | number | symbol, any>;
3
- export declare function merge(target: MergeTarget, ...sources: MergeTarget[]): MergeTarget;
2
+ export declare function merge<T extends object>(target: T, ...sources: Partial<T>[]): T;
4
3
  export declare function isEqual(a: any, b: any): boolean;
5
- export {};
@@ -24,9 +24,7 @@ function _merge(target, source) {
24
24
  return target;
25
25
  }
26
26
  function merge(target, ...sources) {
27
- return sources.reduce((previous, current) => {
28
- return _merge(previous, current);
29
- }, target);
27
+ return sources.reduce((previous, current) => _merge(previous, current), target);
30
28
  }
31
29
  exports.merge = merge;
32
30
  function isEqual(a, b) {
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/util/object.ts"],"names":[],"mappings":";;;AAAA,SAAgB,QAAQ,CAAC,GAAQ;IAC/B,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC;AAFD,4BAEC;AAED,SAAS,MAAM,CAAC,MAAW,EAAE,MAAW;IACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAE1D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE3B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAID,SAAgB,KAAK,CAAC,MAAmB,EAAE,GAAG,OAAsB;IAClE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QAC1C,OAAO,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,EAAE,MAAM,CAAC,CAAA;AACZ,CAAC;AAJD,sBAIC;AAED,SAAgB,OAAO,CAAC,CAAM,EAAE,CAAM;IACpC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzB,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAElE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC7D,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAEhD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAnBD,0BAmBC"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/util/object.ts"],"names":[],"mappings":";;;AAAA,SAAgB,QAAQ,CAAC,GAAQ;IAC/B,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC;AAFD,4BAEC;AAED,SAAS,MAAM,CAAC,MAAW,EAAE,MAAW;IACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAE1D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAE3B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAiB,KAAK,CAAmB,MAAS,EAAE,GAAG,OAAqB;IAC1E,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,CAAM,CAAA;AACtF,CAAC;AAFD,sBAEC;AAED,SAAgB,OAAO,CAAC,CAAM,EAAE,CAAM;IACpC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzB,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAElE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC7D,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAEhD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAnBD,0BAmBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glotstack",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "author": "JD Cumpson",
package/src/cli.tsx CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Command, program } from 'commander'
2
2
  import path from 'path'
3
3
  import { promises as fs, createReadStream } from 'fs'
4
- import { findGlotstackConfig } from './util/findConfig'
4
+ import { findGlotstackConfig, GlotstackConfig } from './util/findConfig'
5
5
  import { cwd } from 'process'
6
6
  import { merge } from './util/object'
7
7
  import { loadYaml } from './util/yaml'
@@ -71,10 +71,18 @@ const DEFAULT_OPTIONS: Record<string, string> = {
71
71
  yaml: 'false',
72
72
  }
73
73
 
74
- async function resolveConfigAndOptions(options: Record<string, any>) {
74
+ // TODO: downcase yaml files
75
+ function downcaseKeys(obj: Record<string, any>): Record<string, any> {
76
+ return Object.fromEntries(
77
+ Object.entries(obj).map(([key, value]) => [key.toLowerCase(), value])
78
+ )
79
+ }
80
+
81
+
82
+ async function resolveConfigAndOptions(options: Record<string, any>): Promise<GlotstackConfig & { yes?: boolean; yaml?: boolean }> {
75
83
 
76
84
  const config = await findGlotstackConfig(cwd()) ?? {}
77
- const resolved = merge({}, DEFAULT_OPTIONS, config, options)
85
+ const resolved = merge<GlotstackConfig>({} as GlotstackConfig, DEFAULT_OPTIONS, config, options)
78
86
 
79
87
  // special case to match source
80
88
  if (resolved.outputDir == null) {
package/src/index.tsx CHANGED
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react'
2
2
  import { merge } from './util/object'
3
- import { debug } from 'node:console'
4
3
 
5
4
  export type LocaleRegion = string
6
5
 
@@ -14,15 +13,27 @@ export interface Translations {
14
13
  [key: string]: Translations | TranslationLeaf
15
14
  }
16
15
 
16
+ interface TranslateOptsBase {
17
+ locale?: LocaleRegion
18
+ assigns?: Record<string, React.ReactNode>
19
+ }
20
+
21
+ export type TranslateFn = {
22
+ (key: string, opts: TranslateOptsBase & { asString: true }): string
23
+ (
24
+ key: string,
25
+ opts?: TranslateOptsBase & { asString?: false },
26
+ ): React.ReactNode
27
+ }
28
+
17
29
 
18
30
  export interface ContextType {
19
- translations: Translations
31
+ translations: Record<string, Translations>
20
32
  locale: string | null
21
33
  loadTranslations: (locale: LocaleRegion) => Promise<Translations>
22
34
  setLocale: (locale: LocaleRegion) => void
23
35
  importMethod: (locale: LocaleRegion) => Promise<Translations>
24
- t: (key: string, options?: { locale?: LocaleRegion }) => string
25
- ssr: boolean
36
+ t: TranslateFn
26
37
  }
27
38
 
28
39
  export const GlotstackContext = React.createContext<ContextType>({
@@ -32,7 +43,6 @@ export const GlotstackContext = React.createContext<ContextType>({
32
43
  locale: null,
33
44
  importMethod: (_locale: LocaleRegion) => { throw new Error('import method not set') },
34
45
  t: () => { throw new Error('import method not set') },
35
- ssr: false
36
46
  })
37
47
 
38
48
  interface GlotstackProviderProps {
@@ -53,6 +63,14 @@ export enum LogLevel {
53
63
  ERROR = 4,
54
64
  }
55
65
 
66
+ const LogName = {
67
+ [LogLevel.DEBUG]: 'debug',
68
+ [LogLevel.LOG]: 'log',
69
+ [LogLevel.INFO]: 'info',
70
+ [LogLevel.WARNING]: 'warning',
71
+ [LogLevel.ERROR]: 'error',
72
+ } as const
73
+
56
74
  const LogLevelToFunc: Record<LogLevel, (...args: Parameters<typeof console.info>) => void> = {
57
75
  [LogLevel.DEBUG]: console.debug,
58
76
  [LogLevel.INFO]: console.info,
@@ -72,7 +90,7 @@ const makeLoggingFunction = (level: LogLevel) => (...args: Parameters<typeof con
72
90
  if (level < logLevel) {
73
91
  return
74
92
  }
75
- return func(`[level=${level} logLevel=${logLevel}][glotstack.ai]`, ...args)
93
+ return func(`[${LogName[level]}][glotstack.ai]`, ...args)
76
94
  }
77
95
 
78
96
  const logger = {
@@ -102,13 +120,219 @@ export const access = (key: string, locale: LocaleRegion, translations: Translat
102
120
  return (value?.value ?? key) as string
103
121
  }
104
122
 
105
- export const GlotstackProvider = ({ children, initialLocale, initialTranslations, onLocaleChange, onTranslationLoaded, importMethod, ssr }: GlotstackProviderProps) => {
123
+
124
+ function isAsStringTrue(
125
+ opts: (TranslateOptsBase & { asString?: boolean }) | undefined,
126
+ ): opts is TranslateOptsBase & { asString: true } {
127
+ return opts?.asString === true
128
+ }
129
+
130
+ function translate(
131
+ key: string,
132
+ opts: {
133
+ locale?: LocaleRegion
134
+ assigns?: Record<string, React.ReactNode>
135
+ asString?: boolean
136
+ glotstack: ReturnType<typeof useGlotstack>
137
+ globalLocale: LocaleRegion
138
+ translations: Record<LocaleRegion, Translations>
139
+ localeRef: React.MutableRefObject<LocaleRegion>
140
+ accessedRef: React.MutableRefObject<Record<string, Record<string, string>>>
141
+ extractionsRef: React.MutableRefObject<
142
+ Record<
143
+ string,
144
+ Record<string, ParsedSimplePlaceholder[] | undefined> | undefined
145
+ >
146
+ >
147
+ outputRef: React.MutableRefObject<
148
+ Record<string, Record<string, React.ReactNode | undefined> | undefined>
149
+ >
150
+ },
151
+ ): string | React.ReactNode {
152
+ const {
153
+ glotstack,
154
+ globalLocale,
155
+ translations,
156
+ localeRef,
157
+ accessedRef,
158
+ extractionsRef,
159
+ outputRef,
160
+ } = opts
161
+ const locale = opts?.locale ?? globalLocale
162
+ localeRef.current = locale
163
+ glotstack.loadTranslations(localeRef.current)
164
+
165
+ let string = ''
166
+ if (translations != null) {
167
+ string = access(key, locale, translations ?? {})
168
+ }
169
+
170
+ if (string === key) return key
171
+
172
+ if (outputRef.current == null) {
173
+ outputRef.current = {}
174
+ }
175
+
176
+ if (!outputRef.current[locale]) {
177
+ outputRef.current[locale] = {}
178
+ }
179
+
180
+ if (!accessedRef.current[locale]) {
181
+ accessedRef.current[locale] = {}
182
+ }
183
+
184
+ if (
185
+ outputRef.current[locale]?.[key] != null &&
186
+ string === accessedRef.current[locale]?.[key]
187
+ ) {
188
+ return outputRef.current[locale]![key]
189
+ }
190
+
191
+ accessedRef.current[locale] ??= {}
192
+ accessedRef.current[locale][key] = string
193
+
194
+ extractionsRef.current[locale] ??= {}
195
+ if (!extractionsRef.current[locale]![key]) {
196
+ const newExtractions = extractSimplePlaceholders(string)
197
+ extractionsRef.current[locale]![key]! = newExtractions
198
+ }
199
+
200
+ if (outputRef.current[locale] == null) {
201
+ outputRef.current[locale] = {}
202
+ }
203
+
204
+ if (outputRef.current[locale]![key] == null) {
205
+ const output = renderPlaceholdersToNodes(
206
+ string,
207
+ extractionsRef.current[locale]![key]!,
208
+ opts?.assigns ?? {},
209
+ )
210
+ outputRef.current[locale]![key] = output
211
+ }
212
+
213
+ let output = outputRef.current[locale]![key]
214
+
215
+ if (isAsStringTrue(opts)) {
216
+ // Convert any possible value to string safely
217
+ output = Array.isArray(output)
218
+ ? output.join('')
219
+ : typeof output === 'string'
220
+ ? output
221
+ : String(output ?? '')
222
+
223
+ if (outputRef.current != null) {
224
+ outputRef.current[locale]![key] = output
225
+ }
226
+ }
227
+ return output as React.ReactNode
228
+ }
229
+
230
+ function createTranslate(
231
+ glotstack: ReturnType<typeof useGlotstack>,
232
+ globalLocale: LocaleRegion,
233
+ translations: Record<LocaleRegion, Translations>,
234
+ localeRef: React.MutableRefObject<LocaleRegion>,
235
+ accessedRef: React.MutableRefObject<Record<string, Record<string, string>>>,
236
+ extractionsRef: React.MutableRefObject<
237
+ Record<
238
+ string,
239
+ Record<string, ParsedSimplePlaceholder[] | undefined> | undefined
240
+ >
241
+ >,
242
+ outputRef: React.MutableRefObject<
243
+ Record<string, Record<string, React.ReactNode | undefined> | undefined>
244
+ >,
245
+ ): TranslateFn {
246
+ function t(
247
+ key: string,
248
+ opts?: {
249
+ locale?: LocaleRegion
250
+ assigns?: Record<string, React.ReactNode>
251
+ asString: true
252
+ },
253
+ ): string
254
+ function t(
255
+ key: string,
256
+ opts?: {
257
+ locale?: LocaleRegion
258
+ assigns?: Record<string, React.ReactNode>
259
+ asString?: false
260
+ },
261
+ ): React.ReactNode
262
+ function t(
263
+ key: string,
264
+ opts?: {
265
+ locale?: LocaleRegion
266
+ assigns?: Record<string, React.ReactNode>
267
+ asString?: boolean
268
+ },
269
+ ) {
270
+ return translate(
271
+ key,
272
+ merge<Parameters<typeof translate>[1]>(
273
+ {
274
+ glotstack,
275
+ globalLocale,
276
+ translations,
277
+ localeRef,
278
+ accessedRef,
279
+ extractionsRef,
280
+ outputRef,
281
+ },
282
+ opts ?? {},
283
+ ),
284
+ )
285
+ }
286
+
287
+ return t
288
+ }
289
+
290
+ // export const useReduxGlotstack = () => {
291
+ // const glotstack = useGlotstack()
292
+ // const globalLocale = useSelector(selectLocale)
293
+ // const localeRef = React.useRef(globalLocale)
294
+ // localeRef.current = globalLocale
295
+
296
+ // const translations = useSelector(selectTranslations)
297
+
298
+ // React.useEffect(() => {
299
+ // glotstack.loadTranslations(localeRef.current)
300
+ // }, [localeRef.current])
301
+
302
+ // const accessedRef = React.useRef<Record<string, Record<string, string>>>({})
303
+ // const extractionsRef = React.useRef<
304
+ // Record<string, Record<string, ParsedSimplePlaceholder[]>>
305
+ // >({})
306
+ // const outputRef = React.useRef<
307
+ // Record<string, Record<string, React.ReactNode>>
308
+ // >({})
309
+
310
+ // const t: TranslateFn = React.useMemo(() => {
311
+ // return createTranslate(
312
+ // glotstack,
313
+ // globalLocale,
314
+ // translations ?? {},
315
+ // localeRef,
316
+ // accessedRef,
317
+ // extractionsRef,
318
+ // outputRef,
319
+ // )
320
+ // }, [globalLocale, translations])
321
+
322
+ // return { t }
323
+ // }
324
+
325
+ export const GlotstackProvider = ({ children, initialLocale, initialTranslations, onLocaleChange, onTranslationLoaded, importMethod }: GlotstackProviderProps) => {
106
326
  if (initialLocale == null) {
107
327
  throw new Error('initialLocale must be set')
108
328
  }
109
329
  const [locale, setLocale] = React.useState<LocaleRegion>(initialLocale)
110
330
  const translationsRef = React.useRef<Record<string, Translations> | null>(initialTranslations || null)
331
+ const accessedRef = React.useRef<Record<string, Record<string, string>>>({})
332
+ const outputRef = React.useRef<Record<string, Record<string, React.ReactNode>>>({})
333
+ const extractionsRef = React.useRef<Record<string, Record<string, ParsedSimplePlaceholder[]>>>({})
111
334
  const loadingRef = React.useRef<Record<string, Promise<Translations>>>({})
335
+ const localeRef = React.useRef<string>('en-US')
112
336
 
113
337
  const loadTranslations = React.useCallback(async (locale: string, opts?: { force?: boolean }) => {
114
338
  // TODO: if translations are loaded only reload if some condition is
@@ -152,20 +376,30 @@ export const GlotstackProvider = ({ children, initialLocale, initialTranslations
152
376
  }, [locale])
153
377
 
154
378
  const context = React.useMemo(() => {
155
- return {
379
+ const context: ContextType = {
156
380
  setLocale,
157
381
  translations: translationsRef.current ?? {},
158
382
  locale,
159
383
  importMethod,
160
384
  loadTranslations,
161
- t: (key: string, opts?: { locale?: LocaleRegion }) => {
162
- const resolvedLocale = opts?.locale ?? locale
163
- loadTranslations(resolvedLocale)
164
- return access(key, opts?.locale ?? locale, translationsRef.current ?? {})
165
- },
166
- ssr: ssr == true,
385
+ t: () => '',
167
386
  }
168
- }, [locale, importMethod])
387
+ localeRef.current = locale
388
+
389
+ const t = createTranslate(
390
+ context,
391
+ context.locale ?? 'en-US',
392
+ context.translations ?? {},
393
+ localeRef,
394
+ accessedRef,
395
+ extractionsRef,
396
+ outputRef,
397
+ )
398
+
399
+ context.t = t
400
+ return context
401
+
402
+ }, [locale, importMethod, loadTranslations])
169
403
 
170
404
  return <GlotstackContext.Provider value={context}>
171
405
  {children}
@@ -190,42 +424,42 @@ export type ParsedSimplePlaceholder = {
190
424
  kind: 'doubleCurly' | 'component'
191
425
  }
192
426
 
193
- const curlyRegex= /(?<!\\)({{\s*([a-zA-Z0-9_]+)\s*(?:,\s*([^{}]*?))?\s*}})/g;
194
- const componentRegex = /<([A-Z][a-zA-Z0-9]*)>([\s\S]*?)<\/\1>/g;
427
+ const curlyRegex = /(?<!\\)({{\s*([a-zA-Z0-9_]+)\s*(?:,\s*([^{}]*?))?\s*}})/g
428
+ const componentRegex = /<([A-Z][a-zA-Z0-9]*)>([\s\S]*?)<\/\1>/g
195
429
 
196
430
  export function extractSimplePlaceholders(input: string): ParsedSimplePlaceholder[] {
197
- const results: ParsedSimplePlaceholder[] = [];
431
+ const results: ParsedSimplePlaceholder[] = []
198
432
 
199
433
  for (const match of input.matchAll(curlyRegex)) {
200
- const raw = match[1];
201
- const key = match[2];
202
- const rawOptions = match[3];
203
- const index = match.index ?? -1;
434
+ const raw = match[1]
435
+ const key = match[2]
436
+ const rawOptions = match[3]
437
+ const index = match.index ?? -1
204
438
 
205
439
  const options = rawOptions
206
440
  ? rawOptions.split(',').map(opt => opt.trim()).filter(Boolean)
207
- : [];
441
+ : []
208
442
 
209
- results.push({ key, options, raw, index, kind: 'doubleCurly' });
443
+ results.push({ key, options, raw, index, kind: 'doubleCurly' })
210
444
  }
211
445
 
212
446
  for (const match of input.matchAll(componentRegex)) {
213
- const raw = match[0];
214
- const key = match[1];
215
- const index = match.index ?? -1;
447
+ const raw = match[0]
448
+ const key = match[1]
449
+ const index = match.index ?? -1
216
450
 
217
- results.push({ key, options: [], raw, index, kind: 'component' });
451
+ results.push({ key, options: [], raw, index, kind: 'component' })
218
452
  }
219
453
 
220
- return results.sort((a, b) => a.index - b.index);
454
+ return results.sort((a, b) => a.index - b.index)
221
455
  }
222
456
 
223
- type Renderer = (props: {children: React.ReactNode}) => React.ReactNode
457
+ type Renderer = (props: { children: React.ReactNode }) => React.ReactNode
224
458
 
225
459
  export function renderPlaceholdersToNodes(
226
460
  input: string,
227
461
  placeholders: ParsedSimplePlaceholder[],
228
- assigns: Record<string, React.ReactNode | Renderer >
462
+ assigns: Record<string, React.ReactNode | Renderer>
229
463
  ): React.ReactNode[] {
230
464
  const nodes: React.ReactNode[] = []
231
465
  let cursor = 0
@@ -234,31 +468,31 @@ export function renderPlaceholdersToNodes(
234
468
  if (cursor < index) {
235
469
  nodes.push(input.slice(cursor, index))
236
470
  }
237
- let value: React.ReactNode = raw;
471
+ let value: React.ReactNode = raw
238
472
 
239
473
  if (kind === 'component') {
240
- const Render = assigns[key];
241
- const inner = raw.replace(new RegExp(`^<${key}>`), '').replace(new RegExp(`</${key}>$`), '');
242
-
474
+ const Render = assigns[key]
475
+ const inner = raw.replace(new RegExp(`^<${key}>`), '').replace(new RegExp(`</${key}>$`), '')
476
+
243
477
  if (React.isValidElement(Render)) {
244
- value = React.cloneElement(Render, {}, inner);
478
+ value = React.cloneElement(Render, {}, inner)
245
479
  } else if (typeof Render === 'function') {
246
- value = <Render>{inner}</Render>;
480
+ value = <Render>{inner}</Render>
247
481
  } else {
248
482
  logger.warn(`Invalid assign substitution for:\n\n ${raw}\n\nDid you remember to pass assigns?\n`,
249
- `
483
+ `
250
484
  t('key', { assigns: {
251
485
  ${key}: <something /> // children will be copied via React.cloneElement
252
- }})\nor\n
486
+ }})\n\nor\n
253
487
  t('key', { assigns: {
254
488
  ${key}: MyComponent // component will be rendered with <Component/>
255
489
  }})\n
256
490
  `
257
- );
491
+ )
258
492
  }
259
493
  } else if (kind === 'doubleCurly') {
260
- const Render = assigns[key];
261
- value = typeof Render !== 'function' ? Render : raw ?? raw;
494
+ const Render = assigns[key]
495
+ value = typeof Render !== 'function' ? Render : raw ?? raw
262
496
  }
263
497
  nodes.push(value)
264
498
  cursor = index + raw.length
@@ -280,5 +514,5 @@ t('key', { assigns: {
280
514
 
281
515
  export function useRenderPlaceholdersToNodes(...args: Parameters<typeof renderPlaceholdersToNodes>) {
282
516
  const nodes = React.useMemo(() => renderPlaceholdersToNodes(...args), [...args])
283
- return nodes;
517
+ return nodes
284
518
  }
@@ -3,12 +3,52 @@ import { readFile } from 'fs/promises'
3
3
  import * as path from 'path'
4
4
  import { loadYaml } from './yaml'
5
5
 
6
+
7
+ function dropKeys<T>(input: T | string, keysToDrop: string[]): T {
8
+ const obj = typeof input === 'string' ? JSON.parse(input) : structuredClone(input)
9
+
10
+ for (const path of keysToDrop) {
11
+ const segments = path.split('.')
12
+ let target: any = obj
13
+
14
+ for (let i = 0; i < segments.length - 1; i++) {
15
+ const key = segments[i]
16
+ const next = isNaN(Number(key)) ? key : Number(key)
17
+
18
+ if (target[next] === undefined) {
19
+ target = undefined
20
+ break
21
+ }
22
+ target = target[next]
23
+ }
24
+
25
+ if (target !== undefined) {
26
+ const finalKey = segments[segments.length - 1]
27
+ const final = isNaN(Number(finalKey)) ? finalKey : Number(finalKey)
28
+ delete target[final]
29
+ }
30
+ }
31
+
32
+ return obj
33
+ }
34
+
35
+
36
+ export interface GlotstackConfig {
37
+ outputDir?: string
38
+ sourcePath: string
39
+ sourceLocale: string
40
+ outputLocales: string[]
41
+ apiOrigin?: string
42
+ apiKey: string
43
+ projectId?: string
44
+ }
45
+
6
46
  /**
7
47
  * Recursively looks for `.glotstack.json` from the current directory up to the root.
8
48
  * @param startDir The directory to start the search from. Defaults to process.cwd().
9
49
  * @returns The absolute path to the file if found, or null if not found.
10
50
  */
11
- export async function findGlotstackConfig(startDir: string = process.cwd()): Promise<object | null> {
51
+ export async function findGlotstackConfig(startDir: string = process.cwd()): Promise<GlotstackConfig | null> {
12
52
  let currentDir = path.resolve(startDir)
13
53
  let configPath = null
14
54
 
@@ -34,14 +74,14 @@ export async function findGlotstackConfig(startDir: string = process.cwd()): Pro
34
74
  currentDir = parentDir
35
75
  }
36
76
 
37
- let config = {}
77
+ let config: GlotstackConfig
38
78
 
39
79
  if (configPath != null) {
40
- console.info('Loading config file at ', configPath)
80
+ console.info('Loading config file at ', dropKeys(configPath, ['apiKey']))
41
81
  try {
42
82
  const text = await readFile(configPath, 'utf-8')
43
83
  if (path.parse(configPath).ext === '.yaml') {
44
- config = loadYaml(text) as object
84
+ config = loadYaml(text) as GlotstackConfig
45
85
  } else {
46
86
  config = JSON.parse(text)
47
87
  }
@@ -21,12 +21,8 @@ function _merge(target: any, source: any): any {
21
21
  return target;
22
22
  }
23
23
 
24
- type MergeTarget = Record<string|number|symbol, any>
25
-
26
- export function merge(target: MergeTarget, ...sources: MergeTarget[]): MergeTarget {
27
- return sources.reduce((previous, current) => {
28
- return _merge(previous, current);
29
- }, target)
24
+ export function merge<T extends object>(target: T, ...sources: Partial<T>[]): T {
25
+ return sources.reduce((previous, current) => _merge(previous, current), target) as T
30
26
  }
31
27
 
32
28
  export function isEqual(a: any, b: any): boolean {