glotstack 0.0.12 → 0.0.15
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 +189 -242
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +4 -30
- package/dist/index.js +110 -103
- package/dist/index.js.map +1 -1
- package/dist/logging.d.ts +15 -0
- package/dist/logging.js +44 -0
- package/dist/logging.js.map +1 -0
- package/dist/types.d.ts +27 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/util/fetchGlotstack.d.ts +2 -0
- package/dist/util/fetchGlotstack.js +28 -0
- package/dist/util/fetchGlotstack.js.map +1 -0
- package/dist/util/findConfig.js +44 -51
- package/dist/util/findConfig.js.map +1 -1
- package/dist/util/object.d.ts +1 -0
- package/dist/util/object.js +21 -1
- package/dist/util/object.js.map +1 -1
- package/dist/util/waitForFile.d.ts +2 -0
- package/dist/util/waitForFile.js +50 -0
- package/dist/util/waitForFile.js.map +1 -0
- package/package.json +23 -12
- package/.prettierrc +0 -10
- package/eslint-raw-string.mjs +0 -15
- package/scripts/fix-shebang.sh +0 -28
- package/src/cli.tsx +0 -311
- package/src/index.tsx +0 -518
- package/src/util/findConfig.ts +0 -97
- package/src/util/object.ts +0 -47
- package/src/util/yaml.ts +0 -11
- package/tsconfig.json +0 -23
- package/types/global.d.ts +0 -7
package/dist/cli.js
CHANGED
|
@@ -23,15 +23,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
__setModuleDefault(result, mod);
|
|
24
24
|
return result;
|
|
25
25
|
};
|
|
26
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
27
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
28
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
29
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
30
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
31
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
32
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
26
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
27
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
28
|
};
|
|
@@ -47,53 +38,12 @@ const eslint_1 = __importDefault(require("eslint"));
|
|
|
47
38
|
const readline = __importStar(require("node:readline/promises"));
|
|
48
39
|
const node_process_1 = require("node:process");
|
|
49
40
|
const undici_1 = require("undici");
|
|
50
|
-
const undici_2 = require("undici");
|
|
51
41
|
const node_fs_1 = require("node:fs");
|
|
52
42
|
const promises_1 = require("node:fs/promises");
|
|
53
43
|
const node_path_1 = require("node:path");
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const headers = Object.assign({ 'authorization': `Bearer ${apiKey}` }, (overrideHeaders == null ? {} : overrideHeaders));
|
|
58
|
-
let payloadBody;
|
|
59
|
-
if (!(body instanceof undici_2.FormData)) {
|
|
60
|
-
headers['content-type'] = 'application/json';
|
|
61
|
-
payloadBody = JSON.stringify(body);
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
payloadBody = body;
|
|
65
|
-
}
|
|
66
|
-
try {
|
|
67
|
-
const res = yield (0, undici_1.fetch)(url, { method: 'POST', body: payloadBody, headers });
|
|
68
|
-
if (!res.ok)
|
|
69
|
-
throw new Error(`HTTP ${res.status}: ${res.statusText}`);
|
|
70
|
-
return res.json();
|
|
71
|
-
}
|
|
72
|
-
catch (err) {
|
|
73
|
-
console.error('Fetch failed:', err);
|
|
74
|
-
process.exit(1);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
};
|
|
78
|
-
function unflatten(flat) {
|
|
79
|
-
const result = {};
|
|
80
|
-
for (const flatKey in flat) {
|
|
81
|
-
const parts = flatKey.split('.');
|
|
82
|
-
let current = result;
|
|
83
|
-
parts.forEach((part, idx) => {
|
|
84
|
-
if (idx === parts.length - 1) {
|
|
85
|
-
current[part] = flat[flatKey];
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
if (!(part in current)) {
|
|
89
|
-
current[part] = {};
|
|
90
|
-
}
|
|
91
|
-
current = current[part];
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
return result;
|
|
96
|
-
}
|
|
44
|
+
const fetchGlotstack_1 = require("./util/fetchGlotstack");
|
|
45
|
+
const logging_1 = __importDefault(require("./logging"));
|
|
46
|
+
const waitForFile_1 = require("./util/waitForFile");
|
|
97
47
|
const DEFAULT_OPTIONS = {
|
|
98
48
|
sourcePath: '.',
|
|
99
49
|
sourceLocale: 'en-US',
|
|
@@ -104,213 +54,210 @@ const DEFAULT_OPTIONS = {
|
|
|
104
54
|
function downcaseKeys(obj) {
|
|
105
55
|
return Object.fromEntries(Object.entries(obj).map(([key, value]) => [key.toLowerCase(), value]));
|
|
106
56
|
}
|
|
107
|
-
function resolveConfigAndOptions(options) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
console.warn(`${resolved.sourceLocale} detected in outputLocales, removing`);
|
|
119
|
-
options.outputLocales = options.outputLocales.filter((x) => x !== resolved.sourceLocale);
|
|
120
|
-
}
|
|
57
|
+
async function resolveConfigAndOptions(options) {
|
|
58
|
+
const config = await (0, findConfig_1.findGlotstackConfig)((0, process_1.cwd)()) ?? {};
|
|
59
|
+
const resolved = (0, object_1.merge)({}, DEFAULT_OPTIONS, config, options);
|
|
60
|
+
// special case to match source
|
|
61
|
+
if (resolved.outputDir == null) {
|
|
62
|
+
resolved.outputDir = resolved.sourcePath;
|
|
63
|
+
}
|
|
64
|
+
if ('outputLocales' in options) {
|
|
65
|
+
if (resolved.outputLocales.includes(resolved.sourceLocale)) {
|
|
66
|
+
logging_1.default.warn(`${resolved.sourceLocale} detected in outputLocales, removing`);
|
|
67
|
+
options.outputLocales = options.outputLocales.filter((x) => x !== resolved.sourceLocale);
|
|
121
68
|
}
|
|
122
|
-
|
|
123
|
-
|
|
69
|
+
}
|
|
70
|
+
return resolved;
|
|
124
71
|
}
|
|
125
|
-
function run(args) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
72
|
+
async function run(args) {
|
|
73
|
+
commander_1.program
|
|
74
|
+
.command('extract-translations')
|
|
75
|
+
.description('extract translations from all compatible source files.')
|
|
76
|
+
.option('--source-path [path]', `path directory containing [locale].json files (default=${DEFAULT_OPTIONS['sourcePath']})`)
|
|
77
|
+
.option('--source-locale [locale]', `the locale you provide "context" in, your primary locale (default=${DEFAULT_OPTIONS['sourceLocale']})`)
|
|
78
|
+
.option('--yaml', 'Use a .yaml source file and allow conversion to JSON')
|
|
79
|
+
.option('--api-origin [url]', `glotstack api origin (default=${DEFAULT_OPTIONS['apiOrigin']})`)
|
|
80
|
+
.option('--output-dir [path]', 'path to output directory (default=<source-path>')
|
|
81
|
+
.option('--api-key [key]', 'api key for glotstack.ai')
|
|
82
|
+
.option('--yes', 'skip confirm checks')
|
|
83
|
+
.argument('[directories...]', 'Directories to scan', './**/*')
|
|
84
|
+
.action(async (directories, inputOptions) => {
|
|
85
|
+
const options = await resolveConfigAndOptions(inputOptions);
|
|
86
|
+
if (!options.apiOrigin) {
|
|
87
|
+
throw new Error('apiOrigin must be specified');
|
|
88
|
+
}
|
|
89
|
+
const linter = new eslint_1.default.ESLint({ overrideConfigFile: path_1.default.join(__dirname, '..', 'eslint-raw-string.mjs') });
|
|
90
|
+
const results = await linter.lintFiles(directories);
|
|
91
|
+
const filesWithIssues = results
|
|
92
|
+
.filter((r) => r.errorCount + r.warningCount > 0)
|
|
93
|
+
.map((r) => r.filePath);
|
|
94
|
+
const rl = readline.createInterface({ input: node_process_1.stdin, output: node_process_1.stdout });
|
|
95
|
+
const askToSend = async () => {
|
|
96
|
+
if (options.yes) {
|
|
97
|
+
return true;
|
|
142
98
|
}
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
.filter((r) => r.errorCount + r.warningCount > 0)
|
|
147
|
-
.map((r) => r.filePath);
|
|
148
|
-
const rl = readline.createInterface({ input: node_process_1.stdin, output: node_process_1.stdout });
|
|
149
|
-
const askToSend = () => __awaiter(this, void 0, void 0, function* () {
|
|
150
|
-
if (options.yes) {
|
|
151
|
-
return true;
|
|
152
|
-
}
|
|
153
|
-
const response = yield rl.question(`Your source are going to be sent to our LLM -- they should not contain any secrets. Proceed? (yes/no):`);
|
|
154
|
-
if (response === 'yes') {
|
|
155
|
-
return true;
|
|
156
|
-
}
|
|
157
|
-
else if (response !== 'no') {
|
|
158
|
-
console.error('Please respond with yes or no.');
|
|
159
|
-
return askToSend();
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
return false;
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
const send = yield askToSend();
|
|
166
|
-
if (send) {
|
|
167
|
-
console.info('Sending files to generate new source and extracted strings');
|
|
168
|
-
let url = `${options.apiOrigin}/uploads/translations/extract`;
|
|
169
|
-
if (options.yaml) {
|
|
170
|
-
url = `${url}?yaml=true`;
|
|
171
|
-
}
|
|
172
|
-
const form = new undici_2.FormData();
|
|
173
|
-
for (let i = 0; i < filesWithIssues.length; i++) {
|
|
174
|
-
const filePath = filesWithIssues[i];
|
|
175
|
-
form.append(`file_${i}`, yield (0, node_fs_1.openAsBlob)(filePath), filePath);
|
|
176
|
-
console.debug(`Uploading file: ${filePath}`);
|
|
177
|
-
}
|
|
178
|
-
const data = yield fetchGlotstack(url, options.apiKey, form);
|
|
179
|
-
data.translations.map(elem => console.info(`Source and translations available for: ${elem.name}:\n ${elem.modified_source.url}\n\n`));
|
|
180
|
-
rl.close();
|
|
99
|
+
const response = await rl.question(`Your source are going to be sent to our LLM -- they should not contain any secrets. Proceed? (yes/no):`);
|
|
100
|
+
if (response === 'yes') {
|
|
101
|
+
return true;
|
|
181
102
|
}
|
|
182
|
-
else {
|
|
183
|
-
|
|
103
|
+
else if (response !== 'no') {
|
|
104
|
+
logging_1.default.error('Please respond with yes or no.');
|
|
105
|
+
return askToSend();
|
|
184
106
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
.command('get-translations')
|
|
188
|
-
.description('fetch translations for all [output-locals...]. Use .glotstack.json for repeatable results.')
|
|
189
|
-
.option('--source-path [path]', `path directory containing [locale].json files (default=${DEFAULT_OPTIONS['sourcePath']})`)
|
|
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')
|
|
192
|
-
.option('--api-origin [url]', `glotstack api origin (default=${DEFAULT_OPTIONS['apiOrigin']})`)
|
|
193
|
-
.option('--output-dir [path]', 'path to output directory (default=<source-path>')
|
|
194
|
-
.option('--api-key [key]', 'api key for glotstack.ai')
|
|
195
|
-
.option('--project-id [id]', '(optional) specific project to use')
|
|
196
|
-
.option('--only [locale]', '(optional) only translate for this locale')
|
|
197
|
-
.argument('[output-locales...]', 'locales to get translations for')
|
|
198
|
-
.action((outputLocales, options, command) => __awaiter(this, void 0, void 0, function* () {
|
|
199
|
-
const resolved = yield resolveConfigAndOptions(Object.assign(Object.assign({}, options), { outputLocales: outputLocales }));
|
|
200
|
-
if (!resolved.sourcePath) {
|
|
201
|
-
throw new Error('sourcePath must be specified');
|
|
107
|
+
else {
|
|
108
|
+
return false;
|
|
202
109
|
}
|
|
203
|
-
|
|
204
|
-
|
|
110
|
+
};
|
|
111
|
+
const send = await askToSend();
|
|
112
|
+
if (send) {
|
|
113
|
+
logging_1.default.info('Sending files to generate new source and extracted strings');
|
|
114
|
+
let url = `${options.apiOrigin}/uploads/translations/extract`;
|
|
115
|
+
if (options.yaml) {
|
|
116
|
+
url = `${url}?yaml=true`;
|
|
205
117
|
}
|
|
206
|
-
|
|
207
|
-
|
|
118
|
+
const form = new undici_1.FormData();
|
|
119
|
+
for (let i = 0; i < filesWithIssues.length; i++) {
|
|
120
|
+
const filePath = filesWithIssues[i];
|
|
121
|
+
form.append(`file_${i}`, await (0, node_fs_1.openAsBlob)(filePath), filePath);
|
|
122
|
+
logging_1.default.debug(`Uploading file: ${filePath}`);
|
|
208
123
|
}
|
|
209
|
-
const
|
|
210
|
-
const
|
|
211
|
-
|
|
212
|
-
|
|
124
|
+
const response = await (0, fetchGlotstack_1.fetchGlotstack)(url, options.apiKey, form);
|
|
125
|
+
const data = (await response.json()).data;
|
|
126
|
+
data.translations.map(elem => logging_1.default.info(`Source and translations available for: ${elem.name}:\n ${elem.modified_source.url}\n\n`));
|
|
127
|
+
rl.close();
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
rl.close();
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
commander_1.program
|
|
134
|
+
.command('get-translations')
|
|
135
|
+
.description('fetch translations for all [output-locals...]. Use .glotstack.json for repeatable results.')
|
|
136
|
+
.option('--source-path [path]', `path directory containing [locale].json files (default=${DEFAULT_OPTIONS['sourcePath']})`)
|
|
137
|
+
.option('--source-locale [locale]', `the locale you provide "context" in, your primary locale (default=${DEFAULT_OPTIONS['sourceLocale']})`)
|
|
138
|
+
.option('--yaml', 'Expect to use yaml source file')
|
|
139
|
+
.option('--api-origin [url]', `glotstack api origin (default=${DEFAULT_OPTIONS['apiOrigin']})`)
|
|
140
|
+
.option('--output-dir [path]', 'path to output directory (default=<source-path>')
|
|
141
|
+
.option('--api-key [key]', 'api key for glotstack.ai')
|
|
142
|
+
.option('--project-id [id]', '(optional) specific project to use')
|
|
143
|
+
.option('--only [locale]', '(optional) only translate for this locale')
|
|
144
|
+
.argument('[output-locales...]', 'locales to get translations for')
|
|
145
|
+
.action(async (outputLocales, options, command) => {
|
|
146
|
+
const resolved = await resolveConfigAndOptions({ ...options, outputLocales: outputLocales });
|
|
147
|
+
if (!resolved.sourcePath) {
|
|
148
|
+
throw new Error('sourcePath must be specified');
|
|
149
|
+
}
|
|
150
|
+
if (!resolved.apiOrigin) {
|
|
151
|
+
throw new Error('apiOrigin must be specified');
|
|
152
|
+
}
|
|
153
|
+
if (!resolved.outputDir) {
|
|
154
|
+
throw new Error('outputDir must be specified');
|
|
155
|
+
}
|
|
156
|
+
const ext = options.yaml == true ? '.yaml' : '.json';
|
|
157
|
+
const absPath = path_1.default.resolve(resolved.sourcePath, `${resolved.sourceLocale}${ext}`);
|
|
158
|
+
const fileContent = await fs_1.promises.readFile(absPath, 'utf-8');
|
|
159
|
+
let json = null;
|
|
160
|
+
try {
|
|
161
|
+
json = (0, yaml_1.loadYaml)(fileContent);
|
|
162
|
+
}
|
|
163
|
+
catch (err) {
|
|
213
164
|
try {
|
|
214
|
-
json =
|
|
165
|
+
json = JSON.parse(fileContent);
|
|
215
166
|
}
|
|
216
167
|
catch (err) {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
}
|
|
220
|
-
catch (err) {
|
|
221
|
-
console.error('Unable to parse source file ', absPath, err);
|
|
222
|
-
throw err;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
let locales = resolved.outputLocales.map(l => l);
|
|
226
|
-
if (options.only != null) {
|
|
227
|
-
locales = locales.filter(l => l === options.only);
|
|
228
|
-
}
|
|
229
|
-
// Parallelize by locale
|
|
230
|
-
// TODO(jd.cumpson): chunk by file size to not hit LB timeout
|
|
231
|
-
const results = locales.map((locale) => __awaiter(this, void 0, void 0, function* () {
|
|
232
|
-
const body = Object.assign({ locales: [locale], translations: json, usage: options.usage }, Object.assign({}, (resolved.projectId != null ? { projectId: resolved.projectId } : {})));
|
|
233
|
-
const url = `${resolved.apiOrigin}/api/translations`;
|
|
234
|
-
console.info('Getting translations for: ', locale);
|
|
235
|
-
const data = yield fetchGlotstack(url, resolved.apiKey, body);
|
|
236
|
-
return data.data;
|
|
237
|
-
}));
|
|
238
|
-
const translationData = yield Promise.all(results);
|
|
239
|
-
console.info('Received translations for', translationData.flatMap(d => Object.keys(d)));
|
|
240
|
-
const merged = translationData.reduce((acc, data) => {
|
|
241
|
-
Object.entries(data).forEach(([locale, data]) => {
|
|
242
|
-
var _a;
|
|
243
|
-
(_a = acc[locale]) !== null && _a !== void 0 ? _a : (acc[locale] = {});
|
|
244
|
-
acc[locale] = (0, object_1.merge)(Object.assign({}, acc[locale]), data);
|
|
245
|
-
});
|
|
246
|
-
return acc;
|
|
247
|
-
}, {});
|
|
248
|
-
Object.entries(merged).map(([locale, val]) => {
|
|
249
|
-
const p = `${resolved.outputDir}/${locale}.json`;
|
|
250
|
-
console.info(`Writing file ${p}`);
|
|
251
|
-
fs_1.promises.writeFile(`${resolved.outputDir}/${locale}.json`, JSON.stringify(val, null, 2), 'utf-8');
|
|
252
|
-
});
|
|
253
|
-
if (options.yaml) {
|
|
254
|
-
const fp = `${resolved.outputDir}/${path_1.default.parse(absPath).name}.json`;
|
|
255
|
-
console.info(`Writing file ${fp}`);
|
|
256
|
-
fs_1.promises.writeFile(fp, JSON.stringify(json, null, 2), 'utf-8');
|
|
168
|
+
logging_1.default.error('Unable to parse source file ', absPath, err);
|
|
169
|
+
throw err;
|
|
257
170
|
}
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
.
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
171
|
+
}
|
|
172
|
+
let locales = resolved.outputLocales.map(l => l);
|
|
173
|
+
if (options.only != null) {
|
|
174
|
+
locales = locales.filter(l => l === options.only);
|
|
175
|
+
}
|
|
176
|
+
const body = {
|
|
177
|
+
locales,
|
|
178
|
+
translations: json,
|
|
179
|
+
usage: options.usage,
|
|
180
|
+
...{ ...(resolved.projectId != null ? { projectId: resolved.projectId } : {}) },
|
|
181
|
+
};
|
|
182
|
+
logging_1.default.info('Getting translations for: ', locales);
|
|
183
|
+
const url = `${resolved.apiOrigin}/api/translations`;
|
|
184
|
+
const response = await (0, fetchGlotstack_1.fetchGlotstack)(url, resolved.apiKey, body);
|
|
185
|
+
const data = await response.json();
|
|
186
|
+
const urlMap = data.data;
|
|
187
|
+
const translationsMap = Object.entries(urlMap).map(([locale, data]) => {
|
|
188
|
+
return [locale, (0, waitForFile_1.waitForFile)(data.url, resolved.apiKey)];
|
|
189
|
+
})
|
|
190
|
+
.reduce((map, [locale, promise]) => {
|
|
191
|
+
map[locale] = promise;
|
|
192
|
+
return map;
|
|
193
|
+
}, {});
|
|
194
|
+
if (options.yaml) {
|
|
195
|
+
const fp = `${resolved.outputDir}/${path_1.default.parse(absPath).name}.json`;
|
|
196
|
+
logging_1.default.info(`Writing file ${fp}`);
|
|
269
197
|
fs_1.promises.writeFile(fp, JSON.stringify(json, null, 2), 'utf-8');
|
|
198
|
+
}
|
|
199
|
+
logging_1.default.info('Waiting for translations', Object.keys(translationsMap));
|
|
200
|
+
await Promise.all(Object.entries(translationsMap).map(async ([locale, promise]) => {
|
|
201
|
+
const val = await promise;
|
|
202
|
+
const p = `${resolved.outputDir}/${locale}.json`;
|
|
203
|
+
logging_1.default.info(`Writing file ${p}`);
|
|
204
|
+
await fs_1.promises.writeFile(`${resolved.outputDir}/${locale}.json`, JSON.stringify(val, null, 2), 'utf-8');
|
|
270
205
|
}));
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
206
|
+
});
|
|
207
|
+
commander_1.program
|
|
208
|
+
.command('yaml-to-json')
|
|
209
|
+
.option('--source-path [path]', `path directory containing [locale].json files (default=${DEFAULT_OPTIONS['sourcePath']})`)
|
|
210
|
+
.action(async (inputOptions) => {
|
|
211
|
+
const options = await resolveConfigAndOptions(inputOptions);
|
|
212
|
+
const absPath = path_1.default.resolve(options.sourcePath, `${options.sourceLocale}.yaml`);
|
|
213
|
+
const fileContent = await fs_1.promises.readFile(absPath, 'utf-8');
|
|
214
|
+
const fp = `${options.outputDir}/${path_1.default.parse(absPath).name}.json`;
|
|
215
|
+
const json = (0, yaml_1.loadYaml)(fileContent);
|
|
216
|
+
logging_1.default.info(`Writing file ${fp}`);
|
|
217
|
+
fs_1.promises.writeFile(fp, JSON.stringify(json, null, 2), 'utf-8');
|
|
218
|
+
});
|
|
219
|
+
commander_1.program
|
|
220
|
+
.command('format-json')
|
|
221
|
+
.description('format files in --source-path [path] to nested (not flat)')
|
|
222
|
+
.option('--source-path [path]', `path directory containing [locale].json files (default=${DEFAULT_OPTIONS['sourcePath']})`)
|
|
223
|
+
.option('--yes', 'skip confirm checks')
|
|
224
|
+
.action(async (inputOptions) => {
|
|
225
|
+
const options = await resolveConfigAndOptions(inputOptions);
|
|
226
|
+
if (!options.sourcePath) {
|
|
227
|
+
throw new Error('sourcePath must be specified');
|
|
228
|
+
}
|
|
229
|
+
const rl = readline.createInterface({ input: node_process_1.stdin, output: node_process_1.stdout });
|
|
230
|
+
const askToSend = async () => {
|
|
231
|
+
if (options.yes) {
|
|
232
|
+
return true;
|
|
280
233
|
}
|
|
281
|
-
const
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
const
|
|
301
|
-
|
|
302
|
-
const fp = (0, node_path_1.resolve)(options.sourcePath, files[i]);
|
|
303
|
-
const text = yield (0, promises_1.readFile)(fp, 'utf-8');
|
|
304
|
-
const json = JSON.parse(text);
|
|
305
|
-
const formatted = JSON.stringify(unflatten(json), null, 2);
|
|
306
|
-
yield (0, promises_1.writeFile)(fp, formatted, 'utf-8');
|
|
307
|
-
}
|
|
308
|
-
rl.close();
|
|
234
|
+
const response = await rl.question(`This will update your source files -- have you checked them into SCM/git? Type yes to proceed (yes/no):`);
|
|
235
|
+
if (response === 'yes') {
|
|
236
|
+
return true;
|
|
237
|
+
}
|
|
238
|
+
else if (response !== 'no') {
|
|
239
|
+
logging_1.default.error('Please respond with yes or no.');
|
|
240
|
+
return askToSend();
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
return false;
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
const yes = await askToSend();
|
|
247
|
+
if (yes) {
|
|
248
|
+
const files = await (0, promises_1.readdir)(options.sourcePath);
|
|
249
|
+
for (let i = 0; i < (await files).length; i++) {
|
|
250
|
+
const fp = (0, node_path_1.resolve)(options.sourcePath, files[i]);
|
|
251
|
+
const text = await (0, promises_1.readFile)(fp, 'utf-8');
|
|
252
|
+
const json = JSON.parse(text);
|
|
253
|
+
const formatted = JSON.stringify((0, object_1.unflatten)(json), null, 2);
|
|
254
|
+
await (0, promises_1.writeFile)(fp, formatted, 'utf-8');
|
|
309
255
|
}
|
|
310
256
|
rl.close();
|
|
311
|
-
}
|
|
312
|
-
|
|
257
|
+
}
|
|
258
|
+
rl.close();
|
|
313
259
|
});
|
|
260
|
+
await commander_1.program.parseAsync(args);
|
|
314
261
|
}
|
|
315
262
|
run(process.argv);
|
|
316
263
|
//# sourceMappingURL=cli.js.map
|
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
|
@@ -1,24 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
context?: string;
|
|
6
|
-
}
|
|
7
|
-
export interface Translations {
|
|
8
|
-
[key: string]: Translations | TranslationLeaf;
|
|
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
|
-
};
|
|
2
|
+
export { default as logger, setLogLevel, LogLevel } from "./logging";
|
|
3
|
+
export { LocaleRegion, JSONArray, Translations } from './types';
|
|
4
|
+
import type { LocaleRegion, TranslateFn, Translations } from './types';
|
|
22
5
|
export interface ContextType {
|
|
23
6
|
translations: Record<string, Translations>;
|
|
24
7
|
locale: string | null;
|
|
@@ -37,16 +20,8 @@ interface GlotstackProviderProps {
|
|
|
37
20
|
importMethod: ContextType['importMethod'];
|
|
38
21
|
ssr?: boolean;
|
|
39
22
|
}
|
|
40
|
-
export declare enum LogLevel {
|
|
41
|
-
DEBUG = 0,
|
|
42
|
-
LOG = 1,
|
|
43
|
-
INFO = 2,
|
|
44
|
-
WARNING = 3,
|
|
45
|
-
ERROR = 4
|
|
46
|
-
}
|
|
47
|
-
export declare const setLogLevel: (level: LogLevel) => void;
|
|
48
23
|
export declare const access: (key: string, locale: LocaleRegion, translations: Translations) => string;
|
|
49
|
-
export declare const GlotstackProvider: ({ children, initialLocale, initialTranslations, onLocaleChange, onTranslationLoaded, importMethod }: GlotstackProviderProps) =>
|
|
24
|
+
export declare const GlotstackProvider: ({ children, initialLocale, initialTranslations, onLocaleChange, onTranslationLoaded, importMethod }: GlotstackProviderProps) => React.JSX.Element;
|
|
50
25
|
export declare const useGlotstack: () => ContextType;
|
|
51
26
|
export declare const useTranslations: (_options?: Record<never, never>) => ContextType;
|
|
52
27
|
export type ParsedSimplePlaceholder = {
|
|
@@ -62,4 +37,3 @@ type Renderer = (props: {
|
|
|
62
37
|
}) => React.ReactNode;
|
|
63
38
|
export declare function renderPlaceholdersToNodes(input: string, placeholders: ParsedSimplePlaceholder[], assigns: Record<string, React.ReactNode | Renderer>): React.ReactNode[];
|
|
64
39
|
export declare function useRenderPlaceholdersToNodes(...args: Parameters<typeof renderPlaceholdersToNodes>): React.ReactNode[];
|
|
65
|
-
export {};
|