@saykit/config 0.0.0-beta-20260719181352 → 0.0.0-beta-20260720032009
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/commands/index.cjs +1 -1
- package/dist/commands/index.mjs +1 -1
- package/dist/features/catalogue/index.cjs +7 -2
- package/dist/features/catalogue/index.d.cts +10 -1
- package/dist/features/catalogue/index.d.mts +10 -1
- package/dist/features/catalogue/index.mjs +7 -3
- package/dist/{storage-3BTY8yws.cjs → storage-CGt6RCnp.cjs} +19 -1
- package/dist/{storage-C9nzxPtZ.mjs → storage-_WyCYi6d.mjs} +15 -3
- package/package.json +1 -1
package/dist/commands/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
require("../index.cjs");
|
|
3
|
-
const require_storage = require("../storage-
|
|
3
|
+
const require_storage = require("../storage-CGt6RCnp.cjs");
|
|
4
4
|
const require_loader = require("../loader-B25O-vF6.cjs");
|
|
5
5
|
let _commander_js_extra_typings = require("@commander-js/extra-typings");
|
|
6
6
|
let node_fs_promises = require("node:fs/promises");
|
package/dist/commands/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { a as
|
|
2
|
+
import { a as mergeExtractedMessages, i as expandBucketOutputPath, n as writeCatalogueMessages, o as reconcileLocaleMessages, t as readCatalogueMessages } from "../storage-_WyCYi6d.mjs";
|
|
3
3
|
import { t as resolveConfig } from "../loader-C2eolE_1.mjs";
|
|
4
4
|
import { Command, program } from "@commander-js/extra-typings";
|
|
5
5
|
import { access, glob, readFile, watch } from "node:fs/promises";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
require("../../index.cjs");
|
|
3
3
|
const require_hash = require("../../hash-8It7TJpB.cjs");
|
|
4
|
-
const require_storage = require("../../storage-
|
|
4
|
+
const require_storage = require("../../storage-CGt6RCnp.cjs");
|
|
5
5
|
let node_path = require("node:path");
|
|
6
6
|
//#region src/features/catalogue/record.ts
|
|
7
7
|
/**
|
|
@@ -44,13 +44,18 @@ function assembleCatalogueRecord(bucket, contents) {
|
|
|
44
44
|
if (!content) continue;
|
|
45
45
|
for (const message of bucket.formatter.parse(content)) {
|
|
46
46
|
const key = message.id || require_hash.generateHash(message.message, message.context);
|
|
47
|
-
|
|
47
|
+
if (message.translation) {
|
|
48
|
+
record[key] = message.translation;
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
if (!record[key] && message.message) record[key] = message.message;
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
54
|
return record;
|
|
51
55
|
}
|
|
52
56
|
//#endregion
|
|
53
57
|
exports.assembleCatalogueRecord = assembleCatalogueRecord;
|
|
58
|
+
exports.declarationPathFor = require_storage.declarationPathFor;
|
|
54
59
|
exports.expandBucketOutputPath = require_storage.expandBucketOutputPath;
|
|
55
60
|
exports.mergeExtractedMessages = require_storage.mergeExtractedMessages;
|
|
56
61
|
exports.readCatalogueMessages = require_storage.readCatalogueMessages;
|
|
@@ -20,6 +20,15 @@ declare function reconcileLocaleMessages(existingMessages: Message[], nextMessag
|
|
|
20
20
|
//#endregion
|
|
21
21
|
//#region src/features/catalogue/path.d.ts
|
|
22
22
|
declare function expandBucketOutputPath(bucket: Bucket, locale: string, extension?: `.${string}`): string;
|
|
23
|
+
/**
|
|
24
|
+
* The declaration file that types a catalogue, e.g. `en.json` -> `en.d.json.ts`.
|
|
25
|
+
*
|
|
26
|
+
* TypeScript resolves `./en.json` by stripping the extension and looking for
|
|
27
|
+
* `en.d.json.ts`; the `en.json.d.ts` form is only consulted for extensions the
|
|
28
|
+
* resolver does not recognise. Non-JS extensions additionally require
|
|
29
|
+
* `allowArbitraryExtensions` in the consumer's tsconfig.
|
|
30
|
+
*/
|
|
31
|
+
declare function declarationPathFor(cataloguePath: string): string;
|
|
23
32
|
//#endregion
|
|
24
33
|
//#region src/features/catalogue/record.d.ts
|
|
25
34
|
/**
|
|
@@ -56,4 +65,4 @@ declare function readCatalogueMessages(bucket: Bucket, locale: string, path?: st
|
|
|
56
65
|
}[]>;
|
|
57
66
|
declare function writeCatalogueMessages(bucket: Bucket, locale: string, messages: Message[], path?: string): Promise<void>;
|
|
58
67
|
//#endregion
|
|
59
|
-
export { assembleCatalogueRecord, expandBucketOutputPath, mergeExtractedMessages, readCatalogueMessages, reconcileLocaleMessages, resolveCatalogueSources, resolveFallbackChain, writeCatalogueMessages };
|
|
68
|
+
export { assembleCatalogueRecord, declarationPathFor, expandBucketOutputPath, mergeExtractedMessages, readCatalogueMessages, reconcileLocaleMessages, resolveCatalogueSources, resolveFallbackChain, writeCatalogueMessages };
|
|
@@ -20,6 +20,15 @@ declare function reconcileLocaleMessages(existingMessages: Message[], nextMessag
|
|
|
20
20
|
//#endregion
|
|
21
21
|
//#region src/features/catalogue/path.d.ts
|
|
22
22
|
declare function expandBucketOutputPath(bucket: Bucket, locale: string, extension?: `.${string}`): string;
|
|
23
|
+
/**
|
|
24
|
+
* The declaration file that types a catalogue, e.g. `en.json` -> `en.d.json.ts`.
|
|
25
|
+
*
|
|
26
|
+
* TypeScript resolves `./en.json` by stripping the extension and looking for
|
|
27
|
+
* `en.d.json.ts`; the `en.json.d.ts` form is only consulted for extensions the
|
|
28
|
+
* resolver does not recognise. Non-JS extensions additionally require
|
|
29
|
+
* `allowArbitraryExtensions` in the consumer's tsconfig.
|
|
30
|
+
*/
|
|
31
|
+
declare function declarationPathFor(cataloguePath: string): string;
|
|
23
32
|
//#endregion
|
|
24
33
|
//#region src/features/catalogue/record.d.ts
|
|
25
34
|
/**
|
|
@@ -56,4 +65,4 @@ declare function readCatalogueMessages(bucket: Bucket, locale: string, path?: st
|
|
|
56
65
|
}[]>;
|
|
57
66
|
declare function writeCatalogueMessages(bucket: Bucket, locale: string, messages: Message[], path?: string): Promise<void>;
|
|
58
67
|
//#endregion
|
|
59
|
-
export { assembleCatalogueRecord, expandBucketOutputPath, mergeExtractedMessages, readCatalogueMessages, reconcileLocaleMessages, resolveCatalogueSources, resolveFallbackChain, writeCatalogueMessages };
|
|
68
|
+
export { assembleCatalogueRecord, declarationPathFor, expandBucketOutputPath, mergeExtractedMessages, readCatalogueMessages, reconcileLocaleMessages, resolveCatalogueSources, resolveFallbackChain, writeCatalogueMessages };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as generateHash } from "../../hash-DyC8GzMa.mjs";
|
|
2
|
-
import { a as
|
|
2
|
+
import { a as mergeExtractedMessages, i as expandBucketOutputPath, n as writeCatalogueMessages, o as reconcileLocaleMessages, r as declarationPathFor, t as readCatalogueMessages } from "../../storage-_WyCYi6d.mjs";
|
|
3
3
|
import { resolve } from "node:path";
|
|
4
4
|
//#region src/features/catalogue/record.ts
|
|
5
5
|
/**
|
|
@@ -42,10 +42,14 @@ function assembleCatalogueRecord(bucket, contents) {
|
|
|
42
42
|
if (!content) continue;
|
|
43
43
|
for (const message of bucket.formatter.parse(content)) {
|
|
44
44
|
const key = message.id || generateHash(message.message, message.context);
|
|
45
|
-
|
|
45
|
+
if (message.translation) {
|
|
46
|
+
record[key] = message.translation;
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (!record[key] && message.message) record[key] = message.message;
|
|
46
50
|
}
|
|
47
51
|
}
|
|
48
52
|
return record;
|
|
49
53
|
}
|
|
50
54
|
//#endregion
|
|
51
|
-
export { assembleCatalogueRecord, expandBucketOutputPath, mergeExtractedMessages, readCatalogueMessages, reconcileLocaleMessages, resolveCatalogueSources, resolveFallbackChain, writeCatalogueMessages };
|
|
55
|
+
export { assembleCatalogueRecord, declarationPathFor, expandBucketOutputPath, mergeExtractedMessages, readCatalogueMessages, reconcileLocaleMessages, resolveCatalogueSources, resolveFallbackChain, writeCatalogueMessages };
|
|
@@ -43,6 +43,18 @@ function reconcileLocaleMessages(existingMessages, nextMessages) {
|
|
|
43
43
|
function expandBucketOutputPath(bucket, locale, extension = bucket.formatter.extension) {
|
|
44
44
|
return (0, node_path.resolve)(bucket.output.replaceAll("{locale}", locale).replaceAll("{extension}", extension.slice(1)));
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* The declaration file that types a catalogue, e.g. `en.json` -> `en.d.json.ts`.
|
|
48
|
+
*
|
|
49
|
+
* TypeScript resolves `./en.json` by stripping the extension and looking for
|
|
50
|
+
* `en.d.json.ts`; the `en.json.d.ts` form is only consulted for extensions the
|
|
51
|
+
* resolver does not recognise. Non-JS extensions additionally require
|
|
52
|
+
* `allowArbitraryExtensions` in the consumer's tsconfig.
|
|
53
|
+
*/
|
|
54
|
+
function declarationPathFor(cataloguePath) {
|
|
55
|
+
const { dir, name, ext } = (0, node_path.parse)(cataloguePath);
|
|
56
|
+
return (0, node_path.resolve)(dir, `${name}.d${ext}.ts`);
|
|
57
|
+
}
|
|
46
58
|
//#endregion
|
|
47
59
|
//#region src/features/catalogue/storage.ts
|
|
48
60
|
const DECLARATION_CONTENT = `
|
|
@@ -60,11 +72,17 @@ async function writeCatalogueMessages(bucket, locale, messages, path = expandBuc
|
|
|
60
72
|
locale,
|
|
61
73
|
existingContent
|
|
62
74
|
});
|
|
63
|
-
const declarationPath =
|
|
75
|
+
const declarationPath = declarationPathFor(path);
|
|
64
76
|
await (0, node_fs_promises.mkdir)((0, node_path.dirname)(path), { recursive: true });
|
|
65
77
|
await Promise.all([(0, node_fs_promises.writeFile)(path, catalogueContent), (0, node_fs_promises.writeFile)(declarationPath, DECLARATION_CONTENT)]);
|
|
66
78
|
}
|
|
67
79
|
//#endregion
|
|
80
|
+
Object.defineProperty(exports, "declarationPathFor", {
|
|
81
|
+
enumerable: true,
|
|
82
|
+
get: function() {
|
|
83
|
+
return declarationPathFor;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
68
86
|
Object.defineProperty(exports, "expandBucketOutputPath", {
|
|
69
87
|
enumerable: true,
|
|
70
88
|
get: function() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as generateHash } from "./hash-DyC8GzMa.mjs";
|
|
2
2
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
3
|
-
import { dirname, resolve } from "node:path";
|
|
3
|
+
import { dirname, parse, resolve } from "node:path";
|
|
4
4
|
//#region src/features/catalogue/merge.ts
|
|
5
5
|
function mergeUnique(...items) {
|
|
6
6
|
return Array.from(new Set(items.flat()));
|
|
@@ -42,6 +42,18 @@ function reconcileLocaleMessages(existingMessages, nextMessages) {
|
|
|
42
42
|
function expandBucketOutputPath(bucket, locale, extension = bucket.formatter.extension) {
|
|
43
43
|
return resolve(bucket.output.replaceAll("{locale}", locale).replaceAll("{extension}", extension.slice(1)));
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* The declaration file that types a catalogue, e.g. `en.json` -> `en.d.json.ts`.
|
|
47
|
+
*
|
|
48
|
+
* TypeScript resolves `./en.json` by stripping the extension and looking for
|
|
49
|
+
* `en.d.json.ts`; the `en.json.d.ts` form is only consulted for extensions the
|
|
50
|
+
* resolver does not recognise. Non-JS extensions additionally require
|
|
51
|
+
* `allowArbitraryExtensions` in the consumer's tsconfig.
|
|
52
|
+
*/
|
|
53
|
+
function declarationPathFor(cataloguePath) {
|
|
54
|
+
const { dir, name, ext } = parse(cataloguePath);
|
|
55
|
+
return resolve(dir, `${name}.d${ext}.ts`);
|
|
56
|
+
}
|
|
45
57
|
//#endregion
|
|
46
58
|
//#region src/features/catalogue/storage.ts
|
|
47
59
|
const DECLARATION_CONTENT = `
|
|
@@ -59,9 +71,9 @@ async function writeCatalogueMessages(bucket, locale, messages, path = expandBuc
|
|
|
59
71
|
locale,
|
|
60
72
|
existingContent
|
|
61
73
|
});
|
|
62
|
-
const declarationPath =
|
|
74
|
+
const declarationPath = declarationPathFor(path);
|
|
63
75
|
await mkdir(dirname(path), { recursive: true });
|
|
64
76
|
await Promise.all([writeFile(path, catalogueContent), writeFile(declarationPath, DECLARATION_CONTENT)]);
|
|
65
77
|
}
|
|
66
78
|
//#endregion
|
|
67
|
-
export {
|
|
79
|
+
export { mergeExtractedMessages as a, expandBucketOutputPath as i, writeCatalogueMessages as n, reconcileLocaleMessages as o, declarationPathFor as r, readCatalogueMessages as t };
|