cleanup | esm
This commit is contained in:
parent
739e521d5e
commit
8f4c5531f2
11
packages/cache/package.json
vendored
11
packages/cache/package.json
vendored
@ -1,15 +1,18 @@
|
||||
{
|
||||
"name": "@polymech/osr-cache",
|
||||
"name": "@polymech/cache",
|
||||
"description": "",
|
||||
"version": "0.4.8",
|
||||
"typings": "dist/index.d.ts",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": "./dist/index.js",
|
||||
"require": "./dist/index.cjs"
|
||||
}
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"bin": {
|
||||
"osr-cache": "main.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@polymech/commons": "link:..\\commons",
|
||||
"@polymech/core": "link:..\\core",
|
||||
|
||||
20
packages/commons/dist/lang/frontmatter.d.ts
vendored
Normal file
20
packages/commons/dist/lang/frontmatter.d.ts
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
export declare function isFrontmatterValid(frontmatter: Record<string, any>): boolean;
|
||||
export declare function extractFrontmatter(code: string): string | undefined;
|
||||
export interface ParseFrontmatterOptions {
|
||||
/**
|
||||
* How the frontmatter should be handled in the returned `content` string.
|
||||
* - `preserve`: Keep the frontmatter.
|
||||
* - `remove`: Remove the frontmatter.
|
||||
* - `empty-with-spaces`: Replace the frontmatter with empty spaces. (preserves sourcemap line/col/offset)
|
||||
* - `empty-with-lines`: Replace the frontmatter with empty line breaks. (preserves sourcemap line/col)
|
||||
*
|
||||
* @default 'remove'
|
||||
*/
|
||||
frontmatter: 'preserve' | 'remove' | 'empty-with-spaces' | 'empty-with-lines';
|
||||
}
|
||||
export interface ParseFrontmatterResult {
|
||||
frontmatter: Record<string, any>;
|
||||
rawFrontmatter: string;
|
||||
content: string;
|
||||
}
|
||||
export declare function parseFrontmatter(code: string, options?: ParseFrontmatterOptions): ParseFrontmatterResult;
|
||||
48
packages/commons/dist/lang/frontmatter.js
vendored
Normal file
48
packages/commons/dist/lang/frontmatter.js
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
import yaml from 'js-yaml';
|
||||
export function isFrontmatterValid(frontmatter) {
|
||||
try {
|
||||
// ensure frontmatter is JSON-serializable
|
||||
JSON.stringify(frontmatter);
|
||||
}
|
||||
catch {
|
||||
return false;
|
||||
}
|
||||
return typeof frontmatter === 'object' && frontmatter !== null;
|
||||
}
|
||||
// Capture frontmatter wrapped with `---`, including any characters and new lines within it.
|
||||
// Only capture if `---` exists near the top of the file, including:
|
||||
// 1. Start of file (including if has BOM encoding)
|
||||
// 2. Start of file with any whitespace (but `---` must still start on a new line)
|
||||
const frontmatterRE = /(?:^\uFEFF?|^\s*\n)---([\s\S]*?\n)---/;
|
||||
export function extractFrontmatter(code) {
|
||||
return frontmatterRE.exec(code)?.[1];
|
||||
}
|
||||
export function parseFrontmatter(code, options) {
|
||||
const rawFrontmatter = extractFrontmatter(code);
|
||||
if (rawFrontmatter == null) {
|
||||
return { frontmatter: {}, rawFrontmatter: '', content: code };
|
||||
}
|
||||
const parsed = yaml.load(rawFrontmatter);
|
||||
const frontmatter = (parsed && typeof parsed === 'object' ? parsed : {});
|
||||
let content;
|
||||
switch (options?.frontmatter ?? 'remove') {
|
||||
case 'preserve':
|
||||
content = code;
|
||||
break;
|
||||
case 'remove':
|
||||
content = code.replace(`---${rawFrontmatter}---`, '');
|
||||
break;
|
||||
case 'empty-with-spaces':
|
||||
content = code.replace(`---${rawFrontmatter}---`, ` ${rawFrontmatter.replace(/[^\r\n]/g, ' ')} `);
|
||||
break;
|
||||
case 'empty-with-lines':
|
||||
content = code.replace(`---${rawFrontmatter}---`, rawFrontmatter.replace(/[^\r\n]/g, ''));
|
||||
break;
|
||||
}
|
||||
return {
|
||||
frontmatter,
|
||||
rawFrontmatter,
|
||||
content,
|
||||
};
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRtYXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGFuZy9mcm9udG1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxTQUFTLENBQUM7QUFFM0IsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFdBQWdDO0lBQ2xFLElBQUk7UUFDSCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUM1QjtJQUFDLE1BQU07UUFDUCxPQUFPLEtBQUssQ0FBQztLQUNiO0lBQ0QsT0FBTyxPQUFPLFdBQVcsS0FBSyxRQUFRLElBQUksV0FBVyxLQUFLLElBQUksQ0FBQztBQUNoRSxDQUFDO0FBRUQsNEZBQTRGO0FBQzVGLG9FQUFvRTtBQUNwRSxtREFBbUQ7QUFDbkQsa0ZBQWtGO0FBQ2xGLE1BQU0sYUFBYSxHQUFHLHVDQUF1QyxDQUFDO0FBQzlELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUFZO0lBQzlDLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFxQkQsTUFBTSxVQUFVLGdCQUFnQixDQUMvQixJQUFZLEVBQ1osT0FBaUM7SUFFakMsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFaEQsSUFBSSxjQUFjLElBQUksSUFBSSxFQUFFO1FBQzNCLE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0tBQzlEO0lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6QyxNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUF3QixDQUFDO0lBRWhHLElBQUksT0FBZSxDQUFDO0lBQ3BCLFFBQVEsT0FBTyxFQUFFLFdBQVcsSUFBSSxRQUFRLEVBQUU7UUFDekMsS0FBSyxVQUFVO1lBQ2QsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNmLE1BQU07UUFDUCxLQUFLLFFBQVE7WUFDWixPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLGNBQWMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELE1BQU07UUFDUCxLQUFLLG1CQUFtQjtZQUN2QixPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FDckIsTUFBTSxjQUFjLEtBQUssRUFDekIsTUFBTSxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUNsRCxDQUFDO1lBQ0YsTUFBTTtRQUNQLEtBQUssa0JBQWtCO1lBQ3RCLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sY0FBYyxLQUFLLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMxRixNQUFNO0tBQ1A7SUFFRCxPQUFPO1FBQ04sV0FBVztRQUNYLGNBQWM7UUFDZCxPQUFPO0tBQ1AsQ0FBQztBQUNILENBQUMifQ==
|
||||
2
packages/commons/dist/profile.d.ts
vendored
2
packages/commons/dist/profile.d.ts
vendored
@ -8,7 +8,7 @@ interface EnvConfig {
|
||||
export interface IProfile {
|
||||
includes: string[];
|
||||
variables: EnvVariables;
|
||||
env: {
|
||||
env?: {
|
||||
[key: string]: EnvConfig;
|
||||
};
|
||||
}
|
||||
|
||||
5
packages/commons/dist/shemas/zod_map.js
vendored
5
packages/commons/dist/shemas/zod_map.js
vendored
@ -87,9 +87,6 @@ export class ZodMetaMap {
|
||||
catch {
|
||||
// no default
|
||||
}
|
||||
if (key == 'path') {
|
||||
debugger;
|
||||
}
|
||||
fieldUi = {
|
||||
...fieldUi,
|
||||
...this.getMetadata(key),
|
||||
@ -99,4 +96,4 @@ export class ZodMetaMap {
|
||||
return uiSchema;
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9kX21hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGVtYXMvem9kX21hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUF5QixNQUFNLEtBQUssQ0FBQztBQUUvQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUNYLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFHdkIsQ0FBQztJQUVKOzs7Ozs7O09BT0c7SUFDSCxHQUFHLENBQXVCLEdBQVcsRUFBRSxNQUFTLEVBQUUsUUFBbUI7UUFDakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUk7UUFDQSxNQUFNLEtBQUssR0FBK0IsRUFBRSxDQUFDO1FBQzdDLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyRCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO1NBQ3ZCO1FBQ0QsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVcsQ0FBQyxHQUFXO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsTUFBTTtRQUNULE9BQU8sSUFBSSxVQUFVLEVBQU0sQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILFdBQVc7UUFDUCx3REFBd0Q7UUFDeEQsTUFBTSxRQUFRLEdBQTRCO1lBQ3RDLHdCQUF3QixFQUFFO2dCQUN0QixLQUFLLEVBQUU7b0JBQ0gsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsU0FBUyxFQUFFLGNBQWM7aUJBQzVCO2dCQUNELFFBQVEsRUFBRSxLQUFLO2dCQUNmLFVBQVUsRUFBRSxRQUFRO2FBQ3ZCO1NBQ0osQ0FBQztRQUVGLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyRCxJQUFJLE9BQU8sR0FBNEIsRUFBRyxDQUFDO1lBQzNDLHVDQUF1QztZQUN2Qyx1RUFBdUU7WUFDdkUsTUFBTSxJQUFJLEdBQUcsTUFBYSxDQUFDO1lBQzNCLElBQUksSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ3pCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ3JEO1lBRUQsK0RBQStEO1lBQy9ELDhDQUE4QztZQUM5QyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUE7WUFFeEUseUVBQXlFO1lBQ3pFLElBQUk7Z0JBQ0EsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDM0MsNEVBQTRFO2dCQUM1RSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxVQUFVLENBQUM7YUFDMUM7WUFBQyxNQUFNO2dCQUNKLGFBQWE7YUFDaEI7WUFDRCxJQUFHLEdBQUcsSUFBRSxNQUFNLEVBQUM7Z0JBQ1gsUUFBUSxDQUFBO2FBQ1g7WUFDRCxPQUFPLEdBQUc7Z0JBQ04sR0FBRyxPQUFPO2dCQUNWLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7YUFDM0IsQ0FBQTtZQUNELFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7U0FDM0I7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oifQ==
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9kX21hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaGVtYXMvem9kX21hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUF5QixNQUFNLEtBQUssQ0FBQztBQUUvQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUNYLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFHdkIsQ0FBQztJQUVKOzs7Ozs7O09BT0c7SUFDSCxHQUFHLENBQXVCLEdBQVcsRUFBRSxNQUFTLEVBQUUsUUFBbUI7UUFDakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUk7UUFDQSxNQUFNLEtBQUssR0FBK0IsRUFBRSxDQUFDO1FBQzdDLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyRCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO1NBQ3ZCO1FBQ0QsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVcsQ0FBQyxHQUFXO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsTUFBTTtRQUNULE9BQU8sSUFBSSxVQUFVLEVBQU0sQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILFdBQVc7UUFDUCx3REFBd0Q7UUFDeEQsTUFBTSxRQUFRLEdBQTRCO1lBQ3RDLHdCQUF3QixFQUFFO2dCQUN0QixLQUFLLEVBQUU7b0JBQ0gsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsU0FBUyxFQUFFLGNBQWM7aUJBQzVCO2dCQUNELFFBQVEsRUFBRSxLQUFLO2dCQUNmLFVBQVUsRUFBRSxRQUFRO2FBQ3ZCO1NBQ0osQ0FBQztRQUVGLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyRCxJQUFJLE9BQU8sR0FBNEIsRUFBRyxDQUFDO1lBQzNDLHVDQUF1QztZQUN2Qyx1RUFBdUU7WUFDdkUsTUFBTSxJQUFJLEdBQUcsTUFBYSxDQUFDO1lBQzNCLElBQUksSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ3pCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ3JEO1lBRUQsK0RBQStEO1lBQy9ELDhDQUE4QztZQUM5QyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUE7WUFFeEUseUVBQXlFO1lBQ3pFLElBQUk7Z0JBQ0EsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDM0MsNEVBQTRFO2dCQUM1RSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxVQUFVLENBQUM7YUFDMUM7WUFBQyxNQUFNO2dCQUNKLGFBQWE7YUFDaEI7WUFDRCxPQUFPLEdBQUc7Z0JBQ04sR0FBRyxPQUFPO2dCQUNWLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7YUFDM0IsQ0FBQTtZQUNELFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUM7U0FDM0I7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oifQ==
|
||||
@ -42,6 +42,10 @@
|
||||
"./glob": {
|
||||
"import": "./dist/_glob.js",
|
||||
"require": "./dist/_glob.cjs"
|
||||
},
|
||||
"./frontmatter": {
|
||||
"import": "./dist/lang/frontmatter.js",
|
||||
"require": "./dist/lang/frontmatter.js"
|
||||
}
|
||||
},
|
||||
"licenses": [
|
||||
@ -62,6 +66,7 @@
|
||||
"@schemastore/package": "^0.0.10",
|
||||
"env-var": "^7.5.0",
|
||||
"glob": "^10.4.1",
|
||||
"js-yaml": "^4.1.0",
|
||||
"tslog": "^3.3.3",
|
||||
"tsup": "^8.3.5",
|
||||
"yargs": "^17.7.2",
|
||||
|
||||
78
packages/commons/src/lang/frontmatter.ts
Normal file
78
packages/commons/src/lang/frontmatter.ts
Normal file
@ -0,0 +1,78 @@
|
||||
import yaml from 'js-yaml';
|
||||
|
||||
export function isFrontmatterValid(frontmatter: Record<string, any>) {
|
||||
try {
|
||||
// ensure frontmatter is JSON-serializable
|
||||
JSON.stringify(frontmatter);
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
return typeof frontmatter === 'object' && frontmatter !== null;
|
||||
}
|
||||
|
||||
// Capture frontmatter wrapped with `---`, including any characters and new lines within it.
|
||||
// Only capture if `---` exists near the top of the file, including:
|
||||
// 1. Start of file (including if has BOM encoding)
|
||||
// 2. Start of file with any whitespace (but `---` must still start on a new line)
|
||||
const frontmatterRE = /(?:^\uFEFF?|^\s*\n)---([\s\S]*?\n)---/;
|
||||
export function extractFrontmatter(code: string): string | undefined {
|
||||
return frontmatterRE.exec(code)?.[1];
|
||||
}
|
||||
|
||||
export interface ParseFrontmatterOptions {
|
||||
/**
|
||||
* How the frontmatter should be handled in the returned `content` string.
|
||||
* - `preserve`: Keep the frontmatter.
|
||||
* - `remove`: Remove the frontmatter.
|
||||
* - `empty-with-spaces`: Replace the frontmatter with empty spaces. (preserves sourcemap line/col/offset)
|
||||
* - `empty-with-lines`: Replace the frontmatter with empty line breaks. (preserves sourcemap line/col)
|
||||
*
|
||||
* @default 'remove'
|
||||
*/
|
||||
frontmatter: 'preserve' | 'remove' | 'empty-with-spaces' | 'empty-with-lines';
|
||||
}
|
||||
|
||||
export interface ParseFrontmatterResult {
|
||||
frontmatter: Record<string, any>;
|
||||
rawFrontmatter: string;
|
||||
content: string;
|
||||
}
|
||||
|
||||
export function parseFrontmatter(
|
||||
code: string,
|
||||
options?: ParseFrontmatterOptions,
|
||||
): ParseFrontmatterResult {
|
||||
const rawFrontmatter = extractFrontmatter(code);
|
||||
|
||||
if (rawFrontmatter == null) {
|
||||
return { frontmatter: {}, rawFrontmatter: '', content: code };
|
||||
}
|
||||
|
||||
const parsed = yaml.load(rawFrontmatter);
|
||||
const frontmatter = (parsed && typeof parsed === 'object' ? parsed : {}) as Record<string, any>;
|
||||
|
||||
let content: string;
|
||||
switch (options?.frontmatter ?? 'remove') {
|
||||
case 'preserve':
|
||||
content = code;
|
||||
break;
|
||||
case 'remove':
|
||||
content = code.replace(`---${rawFrontmatter}---`, '');
|
||||
break;
|
||||
case 'empty-with-spaces':
|
||||
content = code.replace(
|
||||
`---${rawFrontmatter}---`,
|
||||
` ${rawFrontmatter.replace(/[^\r\n]/g, ' ')} `,
|
||||
);
|
||||
break;
|
||||
case 'empty-with-lines':
|
||||
content = code.replace(`---${rawFrontmatter}---`, rawFrontmatter.replace(/[^\r\n]/g, ''));
|
||||
break;
|
||||
}
|
||||
|
||||
return {
|
||||
frontmatter,
|
||||
rawFrontmatter,
|
||||
content,
|
||||
};
|
||||
}
|
||||
@ -18,7 +18,7 @@ interface EnvConfig {
|
||||
export interface IProfile {
|
||||
includes: string[]
|
||||
variables: EnvVariables
|
||||
env: {
|
||||
env?: {
|
||||
[key: string]: EnvConfig
|
||||
}
|
||||
}
|
||||
|
||||
@ -98,9 +98,6 @@ export class ZodMetaMap<MetaType = Record<string, unknown>> {
|
||||
} catch {
|
||||
// no default
|
||||
}
|
||||
if(key=='path'){
|
||||
debugger
|
||||
}
|
||||
fieldUi = {
|
||||
...fieldUi,
|
||||
...this.getMetadata(key),
|
||||
|
||||
1
packages/fs/dist/errors.d.ts
vendored
1
packages/fs/dist/errors.d.ts
vendored
@ -1,3 +1,4 @@
|
||||
export declare const exports: {};
|
||||
export declare const ErrNoFileOrDir: (path: string) => Error;
|
||||
export declare const ErrCantDelete: (path: string) => Error;
|
||||
export declare const ErrNotFile: (path: string) => Error;
|
||||
|
||||
1
packages/fs/dist/errors.js
vendored
1
packages/fs/dist/errors.js
vendored
@ -1,5 +1,6 @@
|
||||
import { ErrnoException } from './interfaces.js';
|
||||
import { code } from './errno.js';
|
||||
export const exports = {};
|
||||
Object.keys(code).forEach(function (code) {
|
||||
const e = code[code];
|
||||
exports[code] = (path) => {
|
||||
|
||||
3
packages/fs/dist/inspect.js
vendored
3
packages/fs/dist/inspect.js
vendored
@ -1,6 +1,7 @@
|
||||
import * as fs from 'node:fs';
|
||||
import { readlinkSync, statSync, lstatSync, readFileSync } from 'node:fs';
|
||||
import { getType } from 'mime';
|
||||
import pkg from 'mime';
|
||||
const { getType } = pkg;
|
||||
import * as pathUtil from 'node:path';
|
||||
import { createHash } from 'node:crypto';
|
||||
import { validateArgument, validateOptions } from './utils/validate.js';
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
"eslint-plugin-regexp": "^2.7.0",
|
||||
"glob": "^10.4.1",
|
||||
"mime": "^2.0.3",
|
||||
"minimatch": "^3.0.4",
|
||||
"minimatch": "^10.0.1",
|
||||
"mkdirp": "^3.0.1",
|
||||
"progress-stream": "^1.2.0",
|
||||
"q": "^1.4.1",
|
||||
@ -45,7 +45,6 @@
|
||||
"@types/denodeify": "^1.2.31",
|
||||
"@types/glob": "^8.1.0",
|
||||
"@types/mime": "^2.0.0",
|
||||
"@types/minimatch": "^3.0.3",
|
||||
"@types/mkdirp": "^0.5.1",
|
||||
"@types/node": "^22.10.2",
|
||||
"chai": "^3.5.0",
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
import { ErrnoException } from './interfaces.js';
|
||||
import { errno, code } from './errno.js'
|
||||
import { code } from './errno.js'
|
||||
|
||||
export const exports = {}
|
||||
|
||||
Object.keys(code).forEach(function (code) {
|
||||
const e = code[code];
|
||||
@ -9,8 +11,8 @@ Object.keys(code).forEach(function (code) {
|
||||
err.code = code;
|
||||
err.path = path;
|
||||
return err;
|
||||
};
|
||||
});
|
||||
}
|
||||
})
|
||||
export const ErrNoFileOrDir = (path: string): Error => {
|
||||
return new Error('Can\'t remove ' + path + ' The path is not file nor directory');
|
||||
};
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
import * as fs from 'node:fs'
|
||||
import { Stats, readlinkSync, statSync, lstatSync, readFileSync } from 'node:fs'
|
||||
import { getType } from 'mime'
|
||||
|
||||
import pkg from 'mime';
|
||||
const {getType} = pkg;
|
||||
|
||||
import * as pathUtil from 'node:path'
|
||||
import { createHash } from 'node:crypto'
|
||||
import { validateArgument, validateOptions } from './utils/validate.js'
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
import { Minimatch } from 'minimatch';
|
||||
import { Minimatch } from 'minimatch'
|
||||
|
||||
export interface IOptions {
|
||||
matchBase: boolean;
|
||||
nocomment: boolean;
|
||||
|
||||
50
packages/i18n/dist/commands/glossary.js
vendored
50
packages/i18n/dist/commands/glossary.js
vendored
@ -1,12 +1,8 @@
|
||||
import * as path from 'path';
|
||||
const globBase = require('glob-base');
|
||||
import { pairs } from '../lib/glossary.js';
|
||||
import { defaults, sanitize } from '../_cli.js';
|
||||
import { parse } from '../options.js';
|
||||
import { logger } from '../index.js';
|
||||
import { defaults } from '../_cli.js';
|
||||
import { CONFIG_DEFAULT } from '@polymech/commons';
|
||||
import { resolve } from "@polymech/commons/variables";
|
||||
import pMap from 'p-map';
|
||||
const defaultOptions = (yargs) => {
|
||||
return yargs.option('debug', {
|
||||
default: false,
|
||||
@ -51,42 +47,46 @@ export const register = (cli) => {
|
||||
const config = CONFIG_DEFAULT(args.env_key);
|
||||
const verb = argv.verb;
|
||||
if (verb === 'create') {
|
||||
let options = sanitize(argv);
|
||||
/*
|
||||
let options = sanitize(argv as any) as IOptions
|
||||
if (!options) {
|
||||
logger.error(`Invalid options, abort`);
|
||||
return;
|
||||
return
|
||||
}
|
||||
let opts = parse(options, args);
|
||||
opts.config = config;
|
||||
|
||||
let opts = parse(options, args)
|
||||
opts.config = config
|
||||
if (!opts.srcInfo) {
|
||||
logger.error(`Invalid source : ${argv.src}`, opts);
|
||||
return;
|
||||
logger.error(`Invalid source : ${argv.src}`, opts)
|
||||
return
|
||||
}
|
||||
|
||||
if (opts.srcInfo.IS_GLOB) {
|
||||
const glob_base = globBase(opts.src);
|
||||
opts.pathVariables.ROOT = path.resolve(glob_base.base);
|
||||
const glob_base = globBase(opts.src)
|
||||
opts.pathVariables.ROOT = path.resolve(glob_base.base)
|
||||
} else {
|
||||
options.pathVariables.ROOT = path.resolve(opts.cwd)
|
||||
}
|
||||
else {
|
||||
options.pathVariables.ROOT = path.resolve(opts.cwd);
|
||||
}
|
||||
opts.pathVariables['DST_LANG'] = opts.dstLang.toLocaleLowerCase();
|
||||
opts.pathVariables['SRC_LANG'] = opts.srcLang.toLocaleLowerCase();
|
||||
opts.pathVariables['CWD'] = path.resolve(opts.cwd);
|
||||
|
||||
opts.pathVariables['DST_LANG'] = opts.dstLang.toLocaleLowerCase()
|
||||
opts.pathVariables['SRC_LANG'] = opts.srcLang.toLocaleLowerCase()
|
||||
opts.pathVariables['CWD'] = path.resolve(opts.cwd)
|
||||
if (!opts.srcInfo || (opts.srcInfo && !opts.srcInfo.FILES)) {
|
||||
logger.error(`Have no source files for ${opts.src}`);
|
||||
return;
|
||||
logger.error(`Have no source files for ${opts.src}`)
|
||||
return
|
||||
}
|
||||
if (opts.srcInfo && opts.srcInfo.FILES) {
|
||||
await pMap(opts.srcInfo.FILES, async (files) => {
|
||||
await pMap(files, (source) => {
|
||||
await pMap(files, (source: string) => {
|
||||
//return create(options.srcLang, options.dstLang, options, source)
|
||||
}, { concurrency: 1 });
|
||||
});
|
||||
}, { concurrency: 1 })
|
||||
})
|
||||
}
|
||||
*/
|
||||
}
|
||||
if (verb === 'pairs' && argv.dst) {
|
||||
await pairs(config.deepl, path.resolve(resolve(argv.dst)));
|
||||
}
|
||||
});
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvc3NhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvZ2xvc3NhcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUE7QUFFNUIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXJDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUNyRCxPQUFPLElBQUksTUFBTSxPQUFPLENBQUE7QUFFeEIsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUN2QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixJQUFJLEVBQUUsU0FBUztLQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixPQUFPLEVBQUUsWUFBWTtRQUNyQixRQUFRLEVBQUUscUNBQXFDO0tBQ2xELENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsUUFBUSxFQUFFLHVEQUF1RDtLQUNwRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNiLFFBQVEsRUFBRSxhQUFhO0tBQzFCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsUUFBUSxFQUFFLHdEQUF3RDtRQUNsRSxPQUFP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
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvc3NhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvZ2xvc3NhcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUE7QUFFNUIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUVyRCxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO0lBQ3ZDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDekIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLElBQUksRUFBRSxTQUFTO0tBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2pCLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFFBQVEsRUFBRSxxQ0FBcUM7S0FDbEQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsdURBQXVEO0tBQ3BFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2IsUUFBUSxFQUFFLGFBQWE7S0FDMUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixRQUFRLEVBQUUsd0RBQXdEO1FBQ2xFLE9BQU8sRUFBRSw4Q0FBOEM7S0FDMUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDakIsUUFBUSxFQUFFLDRFQUE0RTtRQUN0RixPQUFPLEVBQUUsRUFBRTtLQUNkLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixPQUFPLEVBQUUseUJBQXlCO0tBQ3JDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1FBQ2pCLFFBQVEsRUFBRSw0RUFBNEU7UUFDdEYsT0FBTyxFQUFFLElBQUk7S0FDaEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDZCxRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLE9BQU8sRUFBRSxnQkFBZ0I7S0FDNUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDYixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSx5Q0FBeUM7UUFDbkQsSUFBSSxFQUFFLFNBQVM7S0FDbEIsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBO0FBRUQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUd4RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtJQUN0QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsNkJBQTZCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFtQixFQUFHLEVBQUU7UUFDekcsUUFBUSxFQUFFLENBQUE7UUFFVixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFBRSxPQUFNO1NBQUU7UUFDekIsTUFBTSxJQUFJLEdBQVEsSUFBSSxDQUFBO1FBQ3RCLE1BQU0sTUFBTSxHQUFRLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUN0QixJQUFJLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2NBbUNFO1NBQ0w7UUFDRCxJQUFJLElBQUksS0FBSyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUM5QixNQUFNLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFhLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDdkU7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQSJ9
|
||||
2
packages/i18n/dist/index.js
vendored
2
packages/i18n/dist/index.js
vendored
@ -8,4 +8,4 @@ export * from './types.js';
|
||||
export * from './zod_schema.js';
|
||||
export * from './zod_types.js';
|
||||
export const logger = createLogger('commons');
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBSTVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3BDLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxjQUFjLENBQUE7QUFDNUIsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLGdCQUFnQixDQUFBO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBTyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUEifQ==
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3BDLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxjQUFjLENBQUE7QUFDNUIsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLGdCQUFnQixDQUFBO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBTyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUEifQ==
|
||||
5
packages/i18n/dist/lib/filters.d.ts
vendored
5
packages/i18n/dist/lib/filters.d.ts
vendored
@ -1,4 +1 @@
|
||||
export declare const Hugo: (raw: string, translated: string, file?: string) => string;
|
||||
export declare const Filters: {
|
||||
Hugo: (raw: string, translated: string, file?: string) => string;
|
||||
};
|
||||
export declare const Filters: {};
|
||||
|
||||
45
packages/i18n/dist/lib/filters.js
vendored
45
packages/i18n/dist/lib/filters.js
vendored
@ -1,43 +1,2 @@
|
||||
import { logger } from "../index.js";
|
||||
import { sync as write } from "@polymech/fs/write";
|
||||
const frontMatter = require('front-matter');
|
||||
const YAML = require('json-to-pretty-yaml');
|
||||
const index = (attrs, key) => Object.keys(attrs).indexOf(key);
|
||||
export const Hugo = (raw, translated, file = "") => {
|
||||
let fm = {};
|
||||
if (!frontMatter.test(raw)) {
|
||||
return translated;
|
||||
}
|
||||
fm = frontMatter(raw).attributes;
|
||||
let fmTranslated = {};
|
||||
try {
|
||||
fmTranslated = frontMatter(translated);
|
||||
}
|
||||
catch (e) {
|
||||
write(file + "_e.md", translated);
|
||||
}
|
||||
const translatedKeys = {};
|
||||
const keys = [
|
||||
'title'
|
||||
];
|
||||
keys.forEach((k) => {
|
||||
const e = Object.entries(fmTranslated.attributes);
|
||||
const s = Object.entries(fm).findIndex((v) => v[0] == k);
|
||||
const v = e[s][1];
|
||||
translatedKeys[k] = v;
|
||||
});
|
||||
const fmPatch = {
|
||||
...fm,
|
||||
...translatedKeys
|
||||
};
|
||||
try {
|
||||
return `---\n${YAML.stringify(fmPatch)}---\n${fmTranslated.body}`;
|
||||
}
|
||||
catch (e) {
|
||||
logger.error(`Error, `, e);
|
||||
}
|
||||
};
|
||||
export const Filters = {
|
||||
Hugo
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFbEQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0FBRTNDLE1BQU0sS0FBSyxHQUFHLENBQUMsS0FBVSxFQUFFLEdBQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7QUFFMUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBVyxFQUFFLFVBQWtCLEVBQUUsT0FBYSxFQUFFLEVBQUUsRUFBRTtJQUNyRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUE7SUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN4QixPQUFPLFVBQVUsQ0FBQTtLQUNwQjtJQUNELEVBQUUsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFBO0lBRWhDLElBQUksWUFBWSxHQUFRLEVBQUUsQ0FBQTtJQUMxQixJQUFJO1FBQ0EsWUFBWSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtLQUN6QztJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1IsS0FBSyxDQUFDLElBQUksR0FBRyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUE7S0FDcEM7SUFFRCxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUE7SUFFekIsTUFBTSxJQUFJLEdBQUc7UUFDVCxPQUFPO0tBQ1YsQ0FBQTtJQUVELElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNmLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2pELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDeEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2pCLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDekIsQ0FBQyxDQUFDLENBQUE7SUFFRixNQUFNLE9BQU8sR0FBRztRQUNaLEdBQUcsRUFBRTtRQUNMLEdBQUcsY0FBYztLQUNwQixDQUFBO0lBRUQsSUFBSTtRQUNBLE9BQU8sUUFBUSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtLQUNwRTtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1IsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUE7S0FDN0I7QUFDTCxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDbkIsSUFBSTtDQUNQLENBQUEifQ==
|
||||
export const Filters = {};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsRUFFdEIsQ0FBQSJ9
|
||||
1
packages/i18n/dist/lib/index.d.ts
vendored
1
packages/i18n/dist/lib/index.d.ts
vendored
@ -2,3 +2,4 @@ export * from './deepl.js';
|
||||
export * from './codes.js';
|
||||
export * from './filters.js';
|
||||
export * from './store.js';
|
||||
export * from './translate.js';
|
||||
|
||||
3
packages/i18n/dist/lib/index.js
vendored
3
packages/i18n/dist/lib/index.js
vendored
@ -2,4 +2,5 @@ export * from './deepl.js';
|
||||
export * from './codes.js';
|
||||
export * from './filters.js';
|
||||
export * from './store.js';
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsY0FBYyxDQUFBO0FBQzVCLGNBQWMsWUFBWSxDQUFBIn0=
|
||||
export * from './translate.js';
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsY0FBYyxDQUFBO0FBQzVCLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsZ0JBQWdCLENBQUEifQ==
|
||||
1
packages/i18n/dist/lib/store.d.ts
vendored
1
packages/i18n/dist/lib/store.d.ts
vendored
@ -1,4 +1,3 @@
|
||||
export declare const clean: (text?: string) => string;
|
||||
export declare const sortObjectKeysAlpha: (obj: Record<string, any>) => Record<string, any>;
|
||||
export declare const store: (storePath: string, text: string, translation: string, options?: any) => string;
|
||||
export declare const get: (storePath: string, text: string, options?: any) => any;
|
||||
|
||||
4
packages/i18n/dist/lib/store.js
vendored
4
packages/i18n/dist/lib/store.js
vendored
@ -3,7 +3,7 @@ import { sync as read } from '@polymech/fs/read';
|
||||
import { resolve } from '@polymech/commons';
|
||||
import * as path from 'path';
|
||||
const removeNonPrintableCharacters = (text) => text.replace(/[^\x20-\x7E]/g, '');
|
||||
export const clean = (text = "") => text.trim();
|
||||
const clean = (text = "") => text.trim();
|
||||
export const sortObjectKeysAlpha = (obj) => {
|
||||
const sortedKeys = Object.keys(obj).sort();
|
||||
const sortedObj = {};
|
||||
@ -34,4 +34,4 @@ export const get = (storePath, text, options = {}) => {
|
||||
return store[text];
|
||||
}
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUE7QUFFNUIsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLElBQVksRUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFFaEcsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUV2RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQXdCLEVBQXVCLEVBQUU7SUFDcEYsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQyxNQUFNLFNBQVMsR0FBd0IsRUFBRSxDQUFDO0lBQzFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUMxQixTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxTQUFTLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsU0FBZ0IsRUFBRSxJQUFZLEVBQUUsV0FBa0IsRUFBRSxVQUFjLEVBQUUsRUFBRSxFQUFFO0lBQzdGLElBQUksU0FBUyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1FBQ3BDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDekQsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPO1NBQzVCLENBQUMsQ0FBQyxDQUFBO0tBQ047SUFDSixNQUFNLEtBQUssR0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMvQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ2hDLEtBQUssQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUM1QyxPQUFPLFdBQVcsQ0FBQTtBQUNuQixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFnQixFQUFFLElBQVksRUFBRSxVQUFjLEVBQUUsRUFBRSxFQUFFO0lBQ3ZFLElBQUksU0FBUyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1FBQ3BDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDekQsUUFBUSxFQUFFLE9BQU8sQ0FBQyxPQUFPO1NBQzVCLENBQUMsQ0FBQyxDQUFBO0tBQ047SUFDSixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMzQyxJQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQztRQUNkLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0tBQ2xCO0FBQ0YsQ0FBQyxDQUFBIn0=
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUE7QUFFNUIsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLElBQVksRUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFFaEcsTUFBTSxLQUFLLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO0FBRWhELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsR0FBd0IsRUFBdUIsRUFBRTtJQUNwRixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNDLE1BQU0sU0FBUyxHQUF3QixFQUFFLENBQUM7SUFDMUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQzFCLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLFNBQVMsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxTQUFnQixFQUFFLElBQVksRUFBRSxXQUFrQixFQUFFLFVBQWMsRUFBRSxFQUFFLEVBQUU7SUFDN0YsSUFBSSxTQUFTLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7UUFDcEMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUN6RCxRQUFRLEVBQUUsT0FBTyxDQUFDLE9BQU87U0FDNUIsQ0FBQyxDQUFDLENBQUE7S0FDTjtJQUNKLE1BQU0sS0FBSyxHQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQy9DLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDaEMsS0FBSyxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQzVDLE9BQU8sV0FBVyxDQUFBO0FBQ25CLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLFNBQWdCLEVBQUUsSUFBWSxFQUFFLFVBQWMsRUFBRSxFQUFFLEVBQUU7SUFDdkUsSUFBSSxTQUFTLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7UUFDcEMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUN6RCxRQUFRLEVBQUUsT0FBTyxDQUFDLE9BQU87U0FDNUIsQ0FBQyxDQUFDLENBQUE7S0FDTjtJQUNKLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzNDLElBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDO1FBQ2QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7S0FDbEI7QUFDRixDQUFDLENBQUEifQ==
|
||||
5
packages/i18n/dist/lib/translate.d.ts
vendored
5
packages/i18n/dist/lib/translate.d.ts
vendored
@ -1,3 +1,4 @@
|
||||
import * as TOML from '@iarna/toml';
|
||||
import { IOptions } from '../types.js';
|
||||
import * as deepl from './deepl.js';
|
||||
export declare const clean: (text?: string) => string;
|
||||
@ -10,7 +11,7 @@ export declare const getTranslation: (translations: any, all?: boolean) => any;
|
||||
export declare const translateMarkup: (src: string, dst: string, options: IOptions) => Promise<any>;
|
||||
export declare const translateJSON: (src: string, dst: string, options: IOptions) => Promise<any>;
|
||||
export declare const translateTOML: (src: string, dst: string, options: IOptions) => Promise<any>;
|
||||
export declare const translateYAML: (src: string, dst: string, options: IOptions) => Promise<any>;
|
||||
export declare const translateYAML: (src: string, dst: string, options: IOptions) => Promise<string | TOML.JsonMap>;
|
||||
export declare const translateFiles: (file: any, targets: string[], options: IOptions) => Promise<false | any[]>;
|
||||
export declare const translate: (opts: IOptions) => Promise<any[]>;
|
||||
export declare const translateText: (text: string, srcLang: string, dstLang: string, options?: IOptions) => Promise<any>;
|
||||
@ -21,7 +22,7 @@ export declare const TRANSLATORS: {
|
||||
'.html': (src: string, dst: string, options: IOptions) => Promise<any>;
|
||||
'.json': (src: string, dst: string, options: IOptions) => Promise<any>;
|
||||
'.toml': (src: string, dst: string, options: IOptions) => Promise<any>;
|
||||
'.yaml': (src: string, dst: string, options: IOptions) => Promise<any>;
|
||||
'.yaml': (src: string, dst: string, options: IOptions) => Promise<string | TOML.JsonMap>;
|
||||
'.xlsx': (src: string, dst: string, options: IOptions) => Promise<any>;
|
||||
'.xls': (src: string, dst: string, options: IOptions) => Promise<any>;
|
||||
};
|
||||
|
||||
18
packages/i18n/dist/lib/translate.js
vendored
18
packages/i18n/dist/lib/translate.js
vendored
File diff suppressed because one or more lines are too long
2
packages/i18n/dist/types.d.ts
vendored
2
packages/i18n/dist/types.d.ts
vendored
@ -1,6 +1,5 @@
|
||||
import { Hash } from '@polymech/core';
|
||||
import { PATH_INFO } from '@polymech/commons/types';
|
||||
import { Logger } from 'tslog';
|
||||
export type TranslateFilter = (raw: string, translated: string, file?: string) => string;
|
||||
export type IOptions = {
|
||||
src?: string;
|
||||
@ -33,5 +32,4 @@ export type IOptions = {
|
||||
storeRoot?: string;
|
||||
api_key?: string;
|
||||
logLevel?: string;
|
||||
logger?: Logger<unknown>;
|
||||
};
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "@polymech/osr-i18n",
|
||||
"name": "@polymech/i18n",
|
||||
"version": "0.3.0",
|
||||
"typings": "index.d.ts",
|
||||
"type": "module",
|
||||
@ -9,22 +9,30 @@
|
||||
"bin": {
|
||||
"osr-i18n": "main.js"
|
||||
},
|
||||
"exports": {
|
||||
".": {
|
||||
"import": "./dist/index.js",
|
||||
"require": "./dist/index.cjs"
|
||||
},
|
||||
"./lib": {
|
||||
"import": "./dist/lib/index.js",
|
||||
"require": "./dist/lib/index.cjs"
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@iarna/toml": "^2.2.5",
|
||||
"@polymech/cache": "link:..\\cache",
|
||||
"@polymech/commons": "link:..\\commons",
|
||||
"@polymech/core": "link:..\\core",
|
||||
"@polymech/fs": "link:..\\fs",
|
||||
"@polymech/log": "link:..\\log",
|
||||
"@polymech/osr-cache": "link:..\\cache",
|
||||
"@types/html-minifier-terser": "^7.0.2",
|
||||
"@types/node": "^20.14.9",
|
||||
"@types/node": "^22.12.0",
|
||||
"axios": "^1.7.9",
|
||||
"convert-units": "^2.3.4",
|
||||
"cryptr": "^6.0.3",
|
||||
"deepl-node": "^1.8.0",
|
||||
"env-var": "^7.1.1",
|
||||
"front-matter": "^4.0.2",
|
||||
"glob-base": "^0.3.0",
|
||||
"html-minifier-terser": "^7.2.0",
|
||||
"json-to-pretty-yaml": "^1.2.2",
|
||||
"jsonpath-plus": "^8.1.0",
|
||||
@ -35,9 +43,8 @@
|
||||
"p-throttle": "^4.1.1",
|
||||
"querystring": "^0.2.1",
|
||||
"ssri": "^10.0.1",
|
||||
"tslog": "^4.9.3",
|
||||
"typesafe-i18n": "^5.11.0",
|
||||
"typescript": "^4.9.5",
|
||||
"tslog": "^3.3.3",
|
||||
"typescript": "^5.7.3",
|
||||
"xlsx": "^0.18.5",
|
||||
"yaml": "^2.4.1",
|
||||
"yargs": "^17.7.2",
|
||||
@ -71,4 +78,4 @@
|
||||
"keywords": [
|
||||
"typescript"
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -1,17 +1,10 @@
|
||||
import * as CLI from 'yargs'
|
||||
import * as path from 'path'
|
||||
|
||||
const globBase = require('glob-base')
|
||||
import { pairs } from '../lib/glossary.js'
|
||||
|
||||
import { defaults, sanitize } from '../_cli.js'
|
||||
import { parse } from '../options.js'
|
||||
import { IOptions } from '../types.js'
|
||||
import { logger } from '../index.js'
|
||||
|
||||
import { defaults } from '../_cli.js'
|
||||
import { CONFIG_DEFAULT } from '@polymech/commons'
|
||||
import { resolve } from "@polymech/commons/variables"
|
||||
import pMap from 'p-map'
|
||||
|
||||
const defaultOptions = (yargs: CLI.Argv) => {
|
||||
return yargs.option('debug', {
|
||||
@ -59,6 +52,7 @@ export const register = (cli: CLI.Argv) => {
|
||||
const config: any = CONFIG_DEFAULT(args.env_key)
|
||||
const verb = argv.verb
|
||||
if (verb === 'create') {
|
||||
/*
|
||||
let options = sanitize(argv as any) as IOptions
|
||||
if (!options) {
|
||||
logger.error(`Invalid options, abort`);
|
||||
@ -93,6 +87,7 @@ export const register = (cli: CLI.Argv) => {
|
||||
}, { concurrency: 1 })
|
||||
})
|
||||
}
|
||||
*/
|
||||
}
|
||||
if (verb === 'pairs' && argv.dst) {
|
||||
await pairs(config.deepl, path.resolve(resolve(argv.dst as string)))
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
|
||||
export { Logger } from 'tslog'
|
||||
import { createLogger } from '@polymech/log'
|
||||
import { Logger } from 'tslog'
|
||||
|
||||
|
||||
export { MODULE_NAME } from './constants.js'
|
||||
export { sanitize } from './_cli.js'
|
||||
|
||||
@ -1,50 +1,7 @@
|
||||
import { logger } from "../index.js"
|
||||
import { sync as write } from "@polymech/fs/write"
|
||||
|
||||
const frontMatter = require('front-matter')
|
||||
const YAML = require('json-to-pretty-yaml')
|
||||
|
||||
const index = (attrs: any, key: string) => Object.keys(attrs).indexOf(key)
|
||||
|
||||
export const Hugo = (raw: string, translated: string, file:string ="") => {
|
||||
let fm = {}
|
||||
if (!frontMatter.test(raw)) {
|
||||
return translated
|
||||
}
|
||||
fm = frontMatter(raw).attributes
|
||||
|
||||
let fmTranslated: any = {}
|
||||
try {
|
||||
fmTranslated = frontMatter(translated)
|
||||
} catch (e) {
|
||||
write(file + "_e.md", translated)
|
||||
}
|
||||
|
||||
const translatedKeys = {}
|
||||
|
||||
const keys = [
|
||||
'title'
|
||||
]
|
||||
|
||||
keys.forEach((k) => {
|
||||
const e = Object.entries(fmTranslated.attributes)
|
||||
const s = Object.entries(fm).findIndex((v) => v[0] == k)
|
||||
const v = e[s][1]
|
||||
translatedKeys[k] = v
|
||||
})
|
||||
|
||||
const fmPatch = {
|
||||
...fm,
|
||||
...translatedKeys
|
||||
}
|
||||
|
||||
try {
|
||||
return `---\n${YAML.stringify(fmPatch)}---\n${fmTranslated.body}`
|
||||
} catch (e) {
|
||||
logger.error(`Error, `, e)
|
||||
}
|
||||
}
|
||||
import { parseFrontmatter, extractFrontmatter } from '@polymech/commons/frontmatter'
|
||||
|
||||
export const Filters = {
|
||||
Hugo
|
||||
|
||||
}
|
||||
@ -2,3 +2,4 @@ export * from './deepl.js'
|
||||
export * from './codes.js'
|
||||
export * from './filters.js'
|
||||
export * from './store.js'
|
||||
export * from './translate.js'
|
||||
|
||||
@ -5,7 +5,7 @@ import * as path from 'path'
|
||||
|
||||
const removeNonPrintableCharacters = (text: string): string => text.replace(/[^\x20-\x7E]/g, '')
|
||||
|
||||
export const clean = (text: string = "") => text.trim()
|
||||
const clean = (text: string = "") => text.trim()
|
||||
|
||||
export const sortObjectKeysAlpha = (obj: Record<string, any>): Record<string, any> => {
|
||||
const sortedKeys = Object.keys(obj).sort();
|
||||
|
||||
@ -1,9 +1,12 @@
|
||||
import * as path from 'path'
|
||||
import { JSONPath } from 'jsonpath-plus'
|
||||
import { createHash } from 'crypto'
|
||||
import { get_cached, set_cached } from '@polymech/osr-cache'
|
||||
|
||||
import { get_cached, set_cached } from '@polymech/cache'
|
||||
|
||||
import { OSR_CACHE } from '@polymech/commons'
|
||||
import { CONFIG_DEFAULT } from '@polymech/commons'
|
||||
|
||||
import { resolve } from '@polymech/commons'
|
||||
import { isString, isArray, isObject, isNumber } from '@polymech/core/primitives'
|
||||
import { sync as read } from "@polymech/fs/read"
|
||||
@ -14,9 +17,8 @@ import * as XLSX from 'xlsx'
|
||||
import { parse, stringify } from 'yaml'
|
||||
import pMap from 'p-map'
|
||||
import { minify as minify_html } from 'html-minifier-terser'
|
||||
|
||||
const TOML = require('@iarna/toml')
|
||||
const globBase = require('glob-base')
|
||||
import { globBase } from '@polymech/commons'
|
||||
import * as TOML from '@iarna/toml'
|
||||
|
||||
import {
|
||||
targets,
|
||||
@ -24,13 +26,13 @@ import {
|
||||
} from '../options.js'
|
||||
|
||||
import { MODULE_NAME } from '../constants.js'
|
||||
|
||||
import { IOptions, TranslateFilter } from '../types.js'
|
||||
import { store, get } from './store.js'
|
||||
import * as deepl from './deepl.js'
|
||||
import { logger as loggerDefault } from '../index.js'
|
||||
|
||||
let logger = loggerDefault
|
||||
import { createLogger } from '@polymech/log'
|
||||
let logger = createLogger('i18n')
|
||||
|
||||
const minify = false
|
||||
const extension = (file: string) => path.parse(file).ext
|
||||
|
||||
@ -322,10 +324,8 @@ export const translateTOML = async (
|
||||
if (osr_cache && cached && options.cache) {
|
||||
return cached
|
||||
}
|
||||
|
||||
let srcContent = read(src) as string
|
||||
let toml = TOML.parse(srcContent)
|
||||
|
||||
toml = await translateObject(toml, src, options)
|
||||
|
||||
if (osr_cache && options.cache) {
|
||||
@ -375,8 +375,6 @@ export const translateFiles = async (
|
||||
}
|
||||
export const translate = async (opts: IOptions) => {
|
||||
opts = parseOptions(opts as any, {})
|
||||
logger = opts.logger || loggerDefault
|
||||
logger.settings.minLevel = opts.logLevel as any || 'warn'
|
||||
if (!opts.api_key) {
|
||||
logger.error('i18n : No API key provided')
|
||||
return
|
||||
@ -445,7 +443,6 @@ export const translateText = async (text: string, srcLang: string, dstLang: stri
|
||||
}
|
||||
const config: any = CONFIG_DEFAULT()
|
||||
text = clean(text)
|
||||
|
||||
if (exists(options.store)) {
|
||||
const stored = storeGet(options.store, text)
|
||||
if (stored) {
|
||||
@ -456,6 +453,10 @@ export const translateText = async (text: string, srcLang: string, dstLang: stri
|
||||
options.storeRoot = "${OSR_ROOT}/i18n-store"
|
||||
}
|
||||
if(!options.api_key){
|
||||
if(!config || !config.deepl || !config.deepl.auth_key){
|
||||
logger.error('i18n:translateText: No API key provided')
|
||||
return text
|
||||
}
|
||||
options.api_key = config.deepl.auth_key
|
||||
}
|
||||
const out: string[] = await translateDeepL(text, srcLang, dstLang,
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import { Hash } from '@polymech/core'
|
||||
import { PATH_INFO } from '@polymech/commons/types'
|
||||
import { Logger } from 'tslog'
|
||||
|
||||
export type TranslateFilter = (raw: string, translated: string, file?: string) => string
|
||||
|
||||
@ -35,5 +34,4 @@ export type IOptions = {
|
||||
storeRoot?: string
|
||||
api_key?: string
|
||||
logLevel?: string
|
||||
logger?: Logger<unknown>
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user