glotstack 0.0.8 → 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
@@ -97,23 +97,28 @@ function unflatten(flat) {
97
97
  const DEFAULT_OPTIONS = {
98
98
  sourcePath: '.',
99
99
  sourceLocale: 'en-US',
100
- apiOrigin: 'https://glotstack.ai'
100
+ apiOrigin: 'https://glotstack.ai',
101
+ yaml: 'false',
101
102
  };
103
+ // TODO: downcase yaml files
104
+ function downcaseKeys(obj) {
105
+ return Object.fromEntries(Object.entries(obj).map(([key, value]) => [key.toLowerCase(), value]));
106
+ }
102
107
  function resolveConfigAndOptions(options) {
103
108
  return __awaiter(this, void 0, void 0, function* () {
104
109
  var _a;
105
110
  const config = (_a = yield (0, findConfig_1.findGlotstackConfig)((0, process_1.cwd)())) !== null && _a !== void 0 ? _a : {};
106
- if ('outputLocales' in options) {
107
- if (options.outputLocales.includes('en-US')) {
108
- console.warn('en-US detected in outputLocales, removing');
109
- options.outputLocales = options.outputLocales.filter((x) => x !== 'en-US');
110
- }
111
- }
112
111
  const resolved = (0, object_1.merge)({}, DEFAULT_OPTIONS, config, options);
113
112
  // special case to match source
114
113
  if (resolved.outputDir == null) {
115
114
  resolved.outputDir = resolved.sourcePath;
116
115
  }
116
+ if ('outputLocales' in options) {
117
+ if (resolved.outputLocales.includes(resolved.sourceLocale)) {
118
+ console.warn(`${resolved.sourceLocale} detected in outputLocales, removing`);
119
+ options.outputLocales = options.outputLocales.filter((x) => x !== resolved.sourceLocale);
120
+ }
121
+ }
117
122
  return resolved;
118
123
  });
119
124
  }
@@ -124,17 +129,19 @@ function run(args) {
124
129
  .description('extract translations from all compatible source files.')
125
130
  .option('--source-path [path]', `path directory containing [locale].json files (default=${DEFAULT_OPTIONS['sourcePath']})`)
126
131
  .option('--source-locale [locale]', `the locale you provide "context" in, your primary locale (default=${DEFAULT_OPTIONS['sourceLocale']})`)
132
+ .option('--yaml', 'Use a .yaml source file and allow conversion to JSON')
127
133
  .option('--api-origin [url]', `glotstack api origin (default=${DEFAULT_OPTIONS['apiOrigin']})`)
128
134
  .option('--output-dir [path]', 'path to output directory (default=<source-path>')
129
135
  .option('--api-key [key]', 'api key for glotstack.ai')
130
136
  .option('--yes', 'skip confirm checks')
131
- .action((inputOptions) => __awaiter(this, void 0, void 0, function* () {
137
+ .argument('[directories...]', 'Directories to scan', './**/*')
138
+ .action((directories, inputOptions) => __awaiter(this, void 0, void 0, function* () {
132
139
  const options = yield resolveConfigAndOptions(inputOptions);
133
140
  if (!options.apiOrigin) {
134
141
  throw new Error('apiOrigin must be specified');
135
142
  }
136
143
  const linter = new eslint_1.default.ESLint({ overrideConfigFile: path_1.default.join(__dirname, '..', 'eslint-raw-string.mjs') });
137
- const results = yield linter.lintFiles(["./**/*"]);
144
+ const results = yield linter.lintFiles(directories);
138
145
  const filesWithIssues = results
139
146
  .filter((r) => r.errorCount + r.warningCount > 0)
140
147
  .map((r) => r.filePath);
@@ -158,7 +165,10 @@ function run(args) {
158
165
  const send = yield askToSend();
159
166
  if (send) {
160
167
  console.info('Sending files to generate new source and extracted strings');
161
- const url = `${options.apiOrigin}/uploads/translations/extract`;
168
+ let url = `${options.apiOrigin}/uploads/translations/extract`;
169
+ if (options.yaml) {
170
+ url = `${url}?yaml=true`;
171
+ }
162
172
  const form = new undici_2.FormData();
163
173
  for (let i = 0; i < filesWithIssues.length; i++) {
164
174
  const filePath = filesWithIssues[i];
@@ -178,10 +188,12 @@ function run(args) {
178
188
  .description('fetch translations for all [output-locals...]. Use .glotstack.json for repeatable results.')
179
189
  .option('--source-path [path]', `path directory containing [locale].json files (default=${DEFAULT_OPTIONS['sourcePath']})`)
180
190
  .option('--source-locale [locale]', `the locale you provide "context" in, your primary locale (default=${DEFAULT_OPTIONS['sourceLocale']})`)
191
+ .option('--yaml', 'Expect to use yaml source file')
181
192
  .option('--api-origin [url]', `glotstack api origin (default=${DEFAULT_OPTIONS['apiOrigin']})`)
182
193
  .option('--output-dir [path]', 'path to output directory (default=<source-path>')
183
194
  .option('--api-key [key]', 'api key for glotstack.ai')
184
195
  .option('--project-id [id]', '(optional) specific project to use')
196
+ .option('--only [locale]', '(optional) only translate for this locale')
185
197
  .argument('[output-locales...]', 'locales to get translations for')
186
198
  .action((outputLocales, options, command) => __awaiter(this, void 0, void 0, function* () {
187
199
  const resolved = yield resolveConfigAndOptions(Object.assign(Object.assign({}, options), { outputLocales: outputLocales }));
@@ -194,7 +206,8 @@ function run(args) {
194
206
  if (!resolved.outputDir) {
195
207
  throw new Error('outputDir must be specified');
196
208
  }
197
- const absPath = path_1.default.resolve(resolved.sourcePath, `${resolved.sourceLocale}.json`);
209
+ const ext = options.yaml == true ? '.yaml' : '.json';
210
+ const absPath = path_1.default.resolve(resolved.sourcePath, `${resolved.sourceLocale}${ext}`);
198
211
  const fileContent = yield fs_1.promises.readFile(absPath, 'utf-8');
199
212
  let json = null;
200
213
  try {
@@ -209,15 +222,37 @@ function run(args) {
209
222
  throw err;
210
223
  }
211
224
  }
212
- const body = Object.assign({ locales: resolved.outputLocales, translations: json }, Object.assign({}, (resolved.projectId != null ? { projectId: resolved.projectId } : {})));
225
+ let locales = resolved.outputLocales.map(l => l);
226
+ if (options.only != null) {
227
+ locales = locales.filter(l => l === options.only);
228
+ }
229
+ const body = Object.assign({ locales, translations: json, usage: options.usage }, Object.assign({}, (resolved.projectId != null ? { projectId: resolved.projectId } : {})));
213
230
  const url = `${resolved.apiOrigin}/api/translations`;
231
+ console.info('Getting translations for: ', locales);
214
232
  const data = yield fetchGlotstack(url, resolved.apiKey, body);
215
233
  console.info('Received translations:', data);
216
234
  Object.entries(data.data).map(([key, val]) => {
217
235
  const p = `${resolved.outputDir}/${key}.json`;
218
236
  console.info(`Writing file ${p}`);
219
- fs_1.promises.writeFile(`${resolved.outputDir}/${key}.json`, JSON.stringify(val, null, 2));
237
+ fs_1.promises.writeFile(`${resolved.outputDir}/${key}.json`, JSON.stringify(val, null, 2), 'utf-8');
220
238
  });
239
+ if (options.yaml) {
240
+ const fp = `${resolved.outputDir}/${path_1.default.parse(absPath).name}.json`;
241
+ console.info(`Writing file ${fp}`);
242
+ fs_1.promises.writeFile(fp, JSON.stringify(json, null, 2), 'utf-8');
243
+ }
244
+ }));
245
+ commander_1.program
246
+ .command('yaml-to-json')
247
+ .option('--source-path [path]', `path directory containing [locale].json files (default=${DEFAULT_OPTIONS['sourcePath']})`)
248
+ .action((inputOptions) => __awaiter(this, void 0, void 0, function* () {
249
+ const options = yield resolveConfigAndOptions(inputOptions);
250
+ const absPath = path_1.default.resolve(options.sourcePath, `${options.sourceLocale}.yaml`);
251
+ const fileContent = yield fs_1.promises.readFile(absPath, 'utf-8');
252
+ const fp = `${options.outputDir}/${path_1.default.parse(absPath).name}.json`;
253
+ const json = (0, yaml_1.loadYaml)(fileContent);
254
+ console.info(`Writing file ${fp}`);
255
+ fs_1.promises.writeFile(fp, JSON.stringify(json, null, 2), 'utf-8');
221
256
  }));
222
257
  commander_1.program
223
258
  .command('format-json')
@@ -254,7 +289,7 @@ function run(args) {
254
289
  const text = yield (0, promises_1.readFile)(fp, 'utf-8');
255
290
  const json = JSON.parse(text);
256
291
  const formatted = JSON.stringify(unflatten(json), null, 2);
257
- yield (0, promises_1.writeFile)(fp, formatted);
292
+ yield (0, promises_1.writeFile)(fp, formatted, 'utf-8');
258
293
  }
259
294
  rl.close();
260
295
  }
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,20 @@ 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;
52
+ export type ParsedSimplePlaceholder = {
53
+ key: string;
54
+ options: string[];
55
+ raw: string;
56
+ index: number;
57
+ kind: 'doubleCurly' | 'component';
58
+ };
59
+ export declare function extractSimplePlaceholders(input: string): ParsedSimplePlaceholder[];
60
+ type Renderer = (props: {
61
+ children: React.ReactNode;
62
+ }) => React.ReactNode;
63
+ export declare function renderPlaceholdersToNodes(input: string, placeholders: ParsedSimplePlaceholder[], assigns: Record<string, React.ReactNode | Renderer>): React.ReactNode[];
64
+ export declare function useRenderPlaceholdersToNodes(...args: Parameters<typeof renderPlaceholdersToNodes>): React.ReactNode[];
43
65
  export {};
package/dist/index.js CHANGED
@@ -32,7 +32,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
32
  });
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.useTranslations = exports.useGlotstack = exports.GlotstackProvider = exports.access = exports.setLogLevel = exports.LogLevel = exports.GlotstackContext = void 0;
35
+ exports.useRenderPlaceholdersToNodes = exports.renderPlaceholdersToNodes = exports.extractSimplePlaceholders = exports.useTranslations = exports.useGlotstack = exports.GlotstackProvider = exports.access = exports.setLogLevel = exports.LogLevel = exports.GlotstackContext = void 0;
36
36
  const jsx_runtime_1 = require("react/jsx-runtime");
37
37
  const React = __importStar(require("react"));
38
38
  const object_1 = require("./util/object");
@@ -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;
@@ -171,4 +279,77 @@ const useTranslations = (_options) => {
171
279
  return context;
172
280
  };
173
281
  exports.useTranslations = useTranslations;
282
+ const curlyRegex = /(?<!\\)({{\s*([a-zA-Z0-9_]+)\s*(?:,\s*([^{}]*?))?\s*}})/g;
283
+ const componentRegex = /<([A-Z][a-zA-Z0-9]*)>([\s\S]*?)<\/\1>/g;
284
+ function extractSimplePlaceholders(input) {
285
+ var _a, _b;
286
+ const results = [];
287
+ for (const match of input.matchAll(curlyRegex)) {
288
+ const raw = match[1];
289
+ const key = match[2];
290
+ const rawOptions = match[3];
291
+ const index = (_a = match.index) !== null && _a !== void 0 ? _a : -1;
292
+ const options = rawOptions
293
+ ? rawOptions.split(',').map(opt => opt.trim()).filter(Boolean)
294
+ : [];
295
+ results.push({ key, options, raw, index, kind: 'doubleCurly' });
296
+ }
297
+ for (const match of input.matchAll(componentRegex)) {
298
+ const raw = match[0];
299
+ const key = match[1];
300
+ const index = (_b = match.index) !== null && _b !== void 0 ? _b : -1;
301
+ results.push({ key, options: [], raw, index, kind: 'component' });
302
+ }
303
+ return results.sort((a, b) => a.index - b.index);
304
+ }
305
+ exports.extractSimplePlaceholders = extractSimplePlaceholders;
306
+ function renderPlaceholdersToNodes(input, placeholders, assigns) {
307
+ const nodes = [];
308
+ let cursor = 0;
309
+ for (const { index, raw, key, kind } of placeholders) {
310
+ if (cursor < index) {
311
+ nodes.push(input.slice(cursor, index));
312
+ }
313
+ let value = raw;
314
+ if (kind === 'component') {
315
+ const Render = assigns[key];
316
+ const inner = raw.replace(new RegExp(`^<${key}>`), '').replace(new RegExp(`</${key}>$`), '');
317
+ if (React.isValidElement(Render)) {
318
+ value = React.cloneElement(Render, {}, inner);
319
+ }
320
+ else if (typeof Render === 'function') {
321
+ value = (0, jsx_runtime_1.jsx)(Render, { children: inner });
322
+ }
323
+ else {
324
+ logger.warn(`Invalid assign substitution for:\n\n ${raw}\n\nDid you remember to pass assigns?\n`, `
325
+ t('key', { assigns: {
326
+ ${key}: <something /> // children will be copied via React.cloneElement
327
+ }})\n\nor\n
328
+ t('key', { assigns: {
329
+ ${key}: MyComponent // component will be rendered with <Component/>
330
+ }})\n
331
+ `);
332
+ }
333
+ }
334
+ else if (kind === 'doubleCurly') {
335
+ const Render = assigns[key];
336
+ value = typeof Render !== 'function' ? Render : raw !== null && raw !== void 0 ? raw : raw;
337
+ }
338
+ nodes.push(value);
339
+ cursor = index + raw.length;
340
+ }
341
+ if (cursor < input.length) {
342
+ nodes.push(input.slice(cursor));
343
+ }
344
+ // Unescape \{{...}} to {{...}}, and wrap ReactNodes
345
+ return nodes.map((node, i) => typeof node === 'string'
346
+ ? node.replace(/\\({{[^{}]+}})/g, '$1')
347
+ : (0, jsx_runtime_1.jsx)(React.Fragment, { children: node }, i));
348
+ }
349
+ exports.renderPlaceholdersToNodes = renderPlaceholdersToNodes;
350
+ function useRenderPlaceholdersToNodes(...args) {
351
+ const nodes = React.useMemo(() => renderPlaceholdersToNodes(...args), [...args]);
352
+ return nodes;
353
+ }
354
+ exports.useRenderPlaceholdersToNodes = useRenderPlaceholdersToNodes;
174
355
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA8B;AAC9B,0CAAqC;AA0BxB,QAAA,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAc;IAC/D,YAAY,EAAE,EAAE;IAChB,gBAAgB,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA,CAAC,CAAC;IACnE,SAAS,EAAE,CAAC,OAAqB,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA,CAAC,CAAC;IAClF,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,CAAC,OAAqB,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA,CAAC,CAAC;IACrF,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA,CAAC,CAAC;IACrD,GAAG,EAAE,KAAK;CACX,CAAC,CAAA;AAYF,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,qCAAO,CAAA;IACP,uCAAQ,CAAA;IACR,6CAAW,CAAA;IACX,yCAAS,CAAA;AACX,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB;AAED,MAAM,cAAc,GAAyE;IAC3F,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK;IAC/B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI;IAC7B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC3B,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI;IAChC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK;CACvB,CAAA;AAEV,IAAI,QAAQ,GAAa,QAAQ,CAAC,KAAK,CAAA;AAEhC,MAAM,WAAW,GAAG,CAAC,KAAe,EAAE,EAAE;IAC7C,QAAQ,GAAG,KAAK,CAAA;AAClB,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB;AAED,MAAM,mBAAmB,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,GAAG,IAAqC,EAAE,EAAE;IAC5F,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QACrB,OAAM;IACR,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,KAAK,aAAa,QAAQ,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAA;AAC7E,CAAC,CAAA;AAED,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC1C,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC;IACxC,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC3C,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC;CAE3C,CAAA;AAEM,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,MAAoB,EAAE,YAA0B,EAAE,EAAE;;IACtF,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAgC,CAAA;IACjE,MAAM,kBAAkB,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,MAAM,CAAC,CAAA;IAEjD,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAyB,EAAE,GAAG,EAAE,EAAE;QAC7D,4BAA4B;QAC5B,OAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,GAAG,CAAC,CAAA;IACnB,CAAC,EAAE,kBAAkB,CAAC,CAAA;IAEtB,OAAO,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,mCAAI,GAAG,CAAW,CAAA;AACxC,CAAC,CAAA;AAjBY,QAAA,MAAM,UAiBlB;AAEM,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,GAAG,EAAyB,EAAE,EAAE;IACnK,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAe,aAAa,CAAC,CAAA;IACvE,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAoC,mBAAmB,IAAI,IAAI,CAAC,CAAA;IACpG,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAwC,EAAE,CAAC,CAAA;IAE1E,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAO,MAAc,EAAE,IAAwB,EAAE,EAAE;;QAC5F,oEAAoE;QACpE,IAAI,CAAC;YACH,IAAI,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAG,MAAM,CAAC,KAAI,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,IAAI,EAAE,CAAC;gBAChE,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,MAAM,CAAC,CAAA;gBAChE,OAAO,CAAC,MAAM,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAG,MAAM,CAAC,CAAA,CAAC,CAAA;YAC7C,CAAC;YACD,IAAI,CAAA,MAAA,eAAe,CAAC,OAAO,0CAAG,MAAM,CAAC,KAAI,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,IAAI,EAAE,CAAC;gBACrE,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,MAAM,EAAE,MAAA,eAAe,CAAC,OAAO,0CAAG,MAAM,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;gBAClH,OAAO,MAAA,eAAe,CAAC,OAAO,0CAAG,MAAM,CAAC,CAAA;YAC1C,CAAC;YACD,IAAI,UAAU,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC/B,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAA,cAAK,EAAC,EAAE,EAAE,MAAA,eAAe,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,CAAA;gBACtF,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YACnD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAE/C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACnF,CAAC;YACD,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC5B,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;YAC1C,CAAC;YACD,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,MAAM,EAAE,MAAM,CAAC,CAAA;YACrC,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;YAClD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC,CAAA,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAEvC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,GAAG,GAAG,GAAS,EAAE;YACrB,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,MAAM,CAAC,CAAA;YACxB,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC,CAAA,CAAA;QACD,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;YACzB,GAAG,EAAE,CAAA;QACP,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QACjC,OAAO;YACL,SAAS;YACT,YAAY,EAAE,MAAA,eAAe,CAAC,OAAO,mCAAI,EAAE;YAC3C,MAAM;YACN,YAAY;YACZ,gBAAgB;YAChB,CAAC,EAAE,CAAC,GAAW,EAAE,IAAgC,EAAE,EAAE;;gBACnD,MAAM,cAAc,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,MAAM,CAAA;gBAC7C,gBAAgB,CAAC,cAAc,CAAC,CAAA;gBAChC,OAAO,IAAA,cAAM,EAAC,GAAG,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,MAAM,EAAE,MAAA,eAAe,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAA;YAC3E,CAAC;YACD,GAAG,EAAE,GAAG,IAAI,IAAI;SACjB,CAAA;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IAE1B,OAAO,uBAAC,wBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YAC7C,QAAQ,GACiB,CAAA;AAC9B,CAAC,CAAA;AApEY,QAAA,iBAAiB,qBAoE7B;AAEM,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAA;AAC3C,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAEM,MAAM,eAAe,GAAG,CAAC,QAA+B,EAAE,EAAE;IACjE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAA;IAClD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAHY,QAAA,eAAe,mBAG3B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA8B;AAC9B,0CAAqC;AAqCxB,QAAA,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAc;IAC/D,YAAY,EAAE,EAAE;IAChB,gBAAgB,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA,CAAC,CAAC;IACnE,SAAS,EAAE,CAAC,OAAqB,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA,CAAC,CAAC;IAClF,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,CAAC,OAAqB,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA,CAAC,CAAC;IACrF,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA,CAAC,CAAC;CACtD,CAAC,CAAA;AAYF,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,qCAAO,CAAA;IACP,uCAAQ,CAAA;IACR,6CAAW,CAAA;IACX,yCAAS,CAAA;AACX,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB;AAED,MAAM,OAAO,GAAG;IACd,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IACzB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK;IACrB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IACvB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;IAC7B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;CACjB,CAAA;AAEV,MAAM,cAAc,GAAyE;IAC3F,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK;IAC/B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI;IAC7B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC3B,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI;IAChC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK;CACvB,CAAA;AAEV,IAAI,QAAQ,GAAa,QAAQ,CAAC,KAAK,CAAA;AAEhC,MAAM,WAAW,GAAG,CAAC,KAAe,EAAE,EAAE;IAC7C,QAAQ,GAAG,KAAK,CAAA;AAClB,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB;AAED,MAAM,mBAAmB,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,GAAG,IAAqC,EAAE,EAAE;IAC5F,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QACrB,OAAM;IACR,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAA;AAC3D,CAAC,CAAA;AAED,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC1C,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC;IACxC,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC3C,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC;CAE3C,CAAA;AAEM,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,MAAoB,EAAE,YAA0B,EAAE,EAAE;;IACtF,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAgC,CAAA;IACjE,MAAM,kBAAkB,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,MAAM,CAAC,CAAA;IAEjD,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAyB,EAAE,GAAG,EAAE,EAAE;QAC7D,4BAA4B;QAC5B,OAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,GAAG,CAAC,CAAA;IACnB,CAAC,EAAE,kBAAkB,CAAC,CAAA;IAEtB,OAAO,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,mCAAI,GAAG,CAAW,CAAA;AACxC,CAAC,CAAA;AAjBY,QAAA,MAAM,UAiBlB;AAGD,SAAS,cAAc,CACrB,IAA8D;IAE9D,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,MAAK,IAAI,CAAA;AAChC,CAAC;AAED,SAAS,SAAS,CAChB,GAAW,EACX,IAkBC;;;IAED,MAAM,EACJ,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,cAAc,EACd,SAAS,GACV,GAAG,IAAI,CAAA;IACR,MAAM,MAAM,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,YAAY,CAAA;IAC3C,SAAS,CAAC,OAAO,GAAG,MAAM,CAAA;IAC1B,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAE7C,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,GAAG,IAAA,cAAM,EAAC,GAAG,EAAE,MAAM,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,GAAG,CAAA;IAE9B,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QAC9B,SAAS,CAAC,OAAO,GAAG,EAAE,CAAA;IACxB,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;IAChC,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;IAClC,CAAC;IAED,IACE,CAAA,MAAA,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,0CAAG,GAAG,CAAC,KAAI,IAAI;QACxC,MAAM,MAAK,MAAA,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,0CAAG,GAAG,CAAC,CAAA,EAC7C,CAAC;QACD,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,YAAA,WAAW,CAAC,OAAO,EAAC,MAAM,wCAAN,MAAM,IAAM,EAAE,EAAA;IAClC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;IAEzC,YAAA,cAAc,CAAC,OAAO,EAAC,MAAM,wCAAN,MAAM,IAAM,EAAE,EAAA;IACrC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,cAAc,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;QACxD,cAAc,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,GAAG,CAAE,GAAG,cAAc,CAAA;IACxD,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACtC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;IAChC,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,yBAAyB,CACtC,MAAM,EACN,cAAc,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,GAAG,CAAE,EACrC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,EAAE,CACpB,CAAA;QACD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;IAC1C,CAAC;IAED,IAAI,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,CAAA;IAE5C,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,8CAA8C;QAC9C,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACjB,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ;gBAC1B,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAA;QAE1B,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC9B,SAAS,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,MAAyB,CAAA;AAClC,CAAC;AAED,SAAS,eAAe,CACtB,SAA0C,EAC1C,YAA0B,EAC1B,YAAgD,EAChD,SAA+C,EAC/C,WAA2E,EAC3E,cAKC,EACD,SAEC;IAkBD,SAAS,CAAC,CACR,GAAW,EACX,IAIC;QAED,OAAO,SAAS,CACd,GAAG,EACH,IAAA,cAAK,EACH;YACE,SAAS;YACT,YAAY;YACZ,YAAY;YACZ,SAAS;YACT,WAAW;YACX,cAAc;YACd,SAAS;SACV,EACD,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CACX,CACF,CAAA;IACH,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC;AAED,2CAA2C;AAC3C,qCAAqC;AACrC,mDAAmD;AACnD,iDAAiD;AACjD,qCAAqC;AAErC,yDAAyD;AAEzD,4BAA4B;AAC5B,oDAAoD;AACpD,4BAA4B;AAE5B,iFAAiF;AACjF,yCAAyC;AACzC,gEAAgE;AAChE,UAAU;AACV,oCAAoC;AACpC,sDAAsD;AACtD,UAAU;AAEV,iDAAiD;AACjD,8BAA8B;AAC9B,mBAAmB;AACnB,sBAAsB;AACtB,4BAA4B;AAC5B,mBAAmB;AACnB,qBAAqB;AACrB,wBAAwB;AACxB,mBAAmB;AACnB,QAAQ;AACR,qCAAqC;AAErC,iBAAiB;AACjB,IAAI;AAEG,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAA0B,EAAE,EAAE;IAC/J,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAe,aAAa,CAAC,CAAA;IACvE,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAsC,mBAAmB,IAAI,IAAI,CAAC,CAAA;IACtG,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAyC,EAAE,CAAC,CAAA;IAC5E,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAkD,EAAE,CAAC,CAAA;IACnF,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAA4D,EAAE,CAAC,CAAA;IAClG,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAwC,EAAE,CAAC,CAAA;IAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAS,OAAO,CAAC,CAAA;IAE/C,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAO,MAAc,EAAE,IAA0B,EAAE,EAAE;;QAC9F,oEAAoE;QACpE,IAAI,CAAC;YACH,IAAI,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAG,MAAM,CAAC,KAAI,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,IAAI,EAAE,CAAC;gBAChE,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,MAAM,CAAC,CAAA;gBAChE,OAAO,CAAC,MAAM,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAG,MAAM,CAAC,CAAA,CAAC,CAAA;YAC7C,CAAC;YACD,IAAI,CAAA,MAAA,eAAe,CAAC,OAAO,0CAAG,MAAM,CAAC,KAAI,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,IAAI,EAAE,CAAC;gBACrE,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,MAAM,EAAE,MAAA,eAAe,CAAC,OAAO,0CAAG,MAAM,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;gBAClH,OAAO,MAAA,eAAe,CAAC,OAAO,0CAAG,MAAM,CAAC,CAAA;YAC1C,CAAC;YACD,IAAI,UAAU,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC/B,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAA,cAAK,EAAC,EAAE,EAAE,MAAA,eAAe,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,CAAA;gBACtF,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YACnD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAE/C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACnF,CAAC;YACD,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC5B,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;YAC1C,CAAC;YACD,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,MAAM,EAAE,MAAM,CAAC,CAAA;YACrC,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;YAClD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC,CAAA,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAEvC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,GAAG,GAAG,GAAS,EAAE;YACrB,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,MAAM,CAAC,CAAA;YACxB,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC,CAAA,CAAA;QACD,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;YACzB,GAAG,EAAE,CAAA;QACP,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;;QACjC,MAAM,OAAO,GAAgB;YAC3B,SAAS;YACT,YAAY,EAAE,MAAA,eAAe,CAAC,OAAO,mCAAI,EAAE;YAC3C,MAAM;YACN,YAAY;YACZ,gBAAgB;YAChB,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;SACZ,CAAA;QACD,SAAS,CAAC,OAAO,GAAG,MAAM,CAAA;QAE1B,MAAM,CAAC,GAAG,eAAe,CACvB,OAAO,EACP,MAAA,OAAO,CAAC,MAAM,mCAAI,OAAO,EACzB,MAAA,OAAO,CAAC,YAAY,mCAAI,EAAE,EAC1B,SAAS,EACT,WAAW,EACX,cAAc,EACd,SAAS,CACV,CAAA;QAED,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;QACb,OAAO,OAAO,CAAA;IAEhB,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAE5C,OAAO,uBAAC,wBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YAC7C,QAAQ,GACiB,CAAA;AAC9B,CAAC,CAAA;AAlFY,QAAA,iBAAiB,qBAkF7B;AAEM,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAA;AAC3C,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAEM,MAAM,eAAe,GAAG,CAAC,QAA+B,EAAE,EAAE;IACjE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAA;IAClD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAHY,QAAA,eAAe,mBAG3B;AAWD,MAAM,UAAU,GAAG,0DAA0D,CAAA;AAC7E,MAAM,cAAc,GAAG,wCAAwC,CAAA;AAE/D,SAAgB,yBAAyB,CAAC,KAAa;;IACrD,MAAM,OAAO,GAA8B,EAAE,CAAA;IAE7C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI,CAAC,CAAC,CAAA;QAE/B,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAC9D,CAAC,CAAC,EAAE,CAAA;QAEN,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI,CAAC,CAAC,CAAA;QAE/B,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;AAClD,CAAC;AAzBD,8DAyBC;AAID,SAAgB,yBAAyB,CACvC,KAAa,EACb,YAAuC,EACvC,OAAmD;IAEnD,MAAM,KAAK,GAAsB,EAAE,CAAA;IACnC,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,KAAK,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,YAAY,EAAE,CAAC;QACrD,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;QACxC,CAAC;QACD,IAAI,KAAK,GAAoB,GAAG,CAAA;QAEhC,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;YAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;YAE5F,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;YAC/C,CAAC;iBAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBACxC,KAAK,GAAG,uBAAC,MAAM,cAAE,KAAK,GAAU,CAAA;YAClC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,yCAAyC,GAAG,yCAAyC,EAC/F;;IAEN,GAAG;;;IAGH,GAAG;;CAEN,CACQ,CAAA;YACH,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;YAC3B,KAAK,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,GAAG,CAAA;QAC5D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjB,MAAM,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAA;IAC7B,CAAC;IAED,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,CAAC;IAED,oDAAoD;IACpD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAC3B,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC;QACvC,CAAC,CAAC,uBAAC,KAAK,CAAC,QAAQ,cAAU,IAAI,IAAR,CAAC,CAAyB,CACpD,CAAA;AACH,CAAC;AApDD,8DAoDC;AAID,SAAgB,4BAA4B,CAAC,GAAG,IAAkD;IAChG,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAChF,OAAO,KAAK,CAAA;AACd,CAAC;AAHD,oEAGC"}
@@ -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>;
@@ -36,6 +36,29 @@ exports.findGlotstackConfig = void 0;
36
36
  const fs_1 = require("fs");
37
37
  const promises_1 = require("fs/promises");
38
38
  const path = __importStar(require("path"));
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
+ }
39
62
  /**
40
63
  * Recursively looks for `.glotstack.json` from the current directory up to the root.
41
64
  * @param startDir The directory to start the search from. Defaults to process.cwd().
@@ -46,9 +69,19 @@ function findGlotstackConfig() {
46
69
  let currentDir = path.resolve(startDir);
47
70
  let configPath = null;
48
71
  while (true) {
49
- const candidate = path.join(currentDir, '.glotstack.json');
50
- if ((0, fs_1.existsSync)(candidate)) {
51
- configPath = candidate;
72
+ const jsonCandidate = path.join(currentDir, '.glotstack.json');
73
+ const yamlCandidate = path.join(currentDir, '.glotstack.yaml');
74
+ const jsonExists = (0, fs_1.existsSync)(jsonCandidate);
75
+ const yamlExists = (0, fs_1.existsSync)(yamlCandidate);
76
+ if (jsonExists && yamlExists) {
77
+ console.error('Both .glotstack.json and .glotstack.yaml exist, please delete one\n\n json: ', jsonCandidate, '\n yaml: ', yamlCandidate);
78
+ throw new Error('Two config formats cannot be used at the same time');
79
+ }
80
+ else if (jsonExists) {
81
+ configPath = jsonCandidate;
82
+ }
83
+ else if (yamlExists) {
84
+ configPath = yamlCandidate;
52
85
  }
53
86
  const parentDir = path.dirname(currentDir);
54
87
  if (parentDir === currentDir) {
@@ -56,12 +89,17 @@ function findGlotstackConfig() {
56
89
  }
57
90
  currentDir = parentDir;
58
91
  }
59
- let config = {};
92
+ let config;
60
93
  if (configPath != null) {
61
- console.info('Loading config file at ', configPath);
94
+ console.info('Loading config file at ', dropKeys(configPath, ['apiKey']));
62
95
  try {
63
96
  const text = yield (0, promises_1.readFile)(configPath, 'utf-8');
64
- config = JSON.parse(text);
97
+ if (path.parse(configPath).ext === '.yaml') {
98
+ config = (0, yaml_1.loadYaml)(text);
99
+ }
100
+ else {
101
+ config = JSON.parse(text);
102
+ }
65
103
  console.info('Loaded config file', config);
66
104
  return config;
67
105
  }
@@ -69,7 +107,7 @@ function findGlotstackConfig() {
69
107
  console.warn('Could not load config', configPath);
70
108
  }
71
109
  }
72
- console.warn('Could not find any .glotstack.json config files');
110
+ console.warn('Could not find any .glotstack config files');
73
111
  return null;
74
112
  });
75
113
  }