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 +49 -14
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +28 -6
- package/dist/index.js +195 -14
- package/dist/index.js.map +1 -1
- package/dist/util/findConfig.d.ts +10 -1
- package/dist/util/findConfig.js +45 -7
- package/dist/util/findConfig.js.map +1 -1
- package/dist/util/object.d.ts +1 -3
- package/dist/util/object.js +1 -3
- package/dist/util/object.js.map +1 -1
- package/package.json +3 -3
- package/src/cli.tsx +62 -18
- package/src/index.tsx +353 -18
- package/src/util/findConfig.ts +62 -8
- package/src/util/object.ts +2 -6
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
|
-
.
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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:
|
|
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
|
|
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(`[
|
|
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
|
-
|
|
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
|
-
|
|
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: (
|
|
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
|
-
|
|
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":"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"}
|
|
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<
|
|
15
|
+
export declare function findGlotstackConfig(startDir?: string): Promise<GlotstackConfig | null>;
|
package/dist/util/findConfig.js
CHANGED
|
@@ -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
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
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
|
|
110
|
+
console.warn('Could not find any .glotstack config files');
|
|
73
111
|
return null;
|
|
74
112
|
});
|
|
75
113
|
}
|