@flomatai/core 0.1.2 → 0.1.3
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-utils.d.ts +9 -7
- package/dist/cli-utils.d.ts.map +1 -1
- package/dist/cli-utils.js +19 -11
- package/dist/cli-utils.js.map +1 -1
- package/package.json +1 -1
- package/src/cli-utils.ts +21 -11
package/dist/cli-utils.d.ts
CHANGED
|
@@ -22,19 +22,21 @@ export declare function hasFlag(flag: string): boolean;
|
|
|
22
22
|
/**
|
|
23
23
|
* Read a text document from the first available source:
|
|
24
24
|
* 1. `--file <path>` CLI flag
|
|
25
|
-
* 2. `
|
|
26
|
-
* 3.
|
|
27
|
-
* 4.
|
|
25
|
+
* 2. `fileEnvVar` environment variable containing a file path (e.g. 'DOCS_FILE')
|
|
26
|
+
* 3. `envVar` environment variable containing the content (e.g. 'DOCS')
|
|
27
|
+
* 4. stdin (when not a TTY)
|
|
28
|
+
* 5. `fallback` string (demo/default content)
|
|
28
29
|
*
|
|
29
30
|
* Logs a one-line message indicating which source was used.
|
|
30
31
|
*
|
|
31
|
-
* @param options.envVar
|
|
32
|
-
* @param options.
|
|
33
|
-
* @param options.
|
|
34
|
-
*
|
|
32
|
+
* @param options.envVar Environment variable name holding content (e.g. 'DOCS').
|
|
33
|
+
* @param options.fileEnvVar Environment variable name holding a file path (e.g. 'DOCS_FILE').
|
|
34
|
+
* @param options.fallback Demo text to use when no other source is available.
|
|
35
|
+
* @param options.label Human-readable name for the input (e.g. 'documentation').
|
|
35
36
|
*/
|
|
36
37
|
export declare function readTextInput(options: {
|
|
37
38
|
envVar?: string;
|
|
39
|
+
fileEnvVar?: string;
|
|
38
40
|
fallback?: string;
|
|
39
41
|
label?: string;
|
|
40
42
|
}): Promise<string>;
|
package/dist/cli-utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-utils.d.ts","sourceRoot":"","sources":["../src/cli-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGvD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED
|
|
1
|
+
{"version":3,"file":"cli-utils.d.ts","sourceRoot":"","sources":["../src/cli-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGvD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqClB"}
|
package/dist/cli-utils.js
CHANGED
|
@@ -27,24 +27,32 @@ export function hasFlag(flag) {
|
|
|
27
27
|
/**
|
|
28
28
|
* Read a text document from the first available source:
|
|
29
29
|
* 1. `--file <path>` CLI flag
|
|
30
|
-
* 2. `
|
|
31
|
-
* 3.
|
|
32
|
-
* 4.
|
|
30
|
+
* 2. `fileEnvVar` environment variable containing a file path (e.g. 'DOCS_FILE')
|
|
31
|
+
* 3. `envVar` environment variable containing the content (e.g. 'DOCS')
|
|
32
|
+
* 4. stdin (when not a TTY)
|
|
33
|
+
* 5. `fallback` string (demo/default content)
|
|
33
34
|
*
|
|
34
35
|
* Logs a one-line message indicating which source was used.
|
|
35
36
|
*
|
|
36
|
-
* @param options.envVar
|
|
37
|
-
* @param options.
|
|
38
|
-
* @param options.
|
|
39
|
-
*
|
|
37
|
+
* @param options.envVar Environment variable name holding content (e.g. 'DOCS').
|
|
38
|
+
* @param options.fileEnvVar Environment variable name holding a file path (e.g. 'DOCS_FILE').
|
|
39
|
+
* @param options.fallback Demo text to use when no other source is available.
|
|
40
|
+
* @param options.label Human-readable name for the input (e.g. 'documentation').
|
|
40
41
|
*/
|
|
41
42
|
export async function readTextInput(options) {
|
|
42
|
-
const { envVar, fallback = '', label = 'input' } = options;
|
|
43
|
+
const { envVar, fileEnvVar, fallback = '', label = 'input' } = options;
|
|
44
|
+
const { readFile } = await import('fs/promises');
|
|
43
45
|
const filePath = getArg('--file');
|
|
44
46
|
if (filePath) {
|
|
45
|
-
const
|
|
46
|
-
const text = await readFile(
|
|
47
|
-
console.log(`Reading ${label} from: ${
|
|
47
|
+
const resolved = filePath.replace(/^~/, process.env['HOME'] ?? '');
|
|
48
|
+
const text = await readFile(resolved, 'utf-8');
|
|
49
|
+
console.log(`Reading ${label} from: ${resolved}`);
|
|
50
|
+
return text;
|
|
51
|
+
}
|
|
52
|
+
if (fileEnvVar && process.env[fileEnvVar]) {
|
|
53
|
+
const resolved = process.env[fileEnvVar].replace(/^~/, process.env['HOME'] ?? '');
|
|
54
|
+
console.log(`Reading ${label} from: ${resolved}`);
|
|
55
|
+
const text = await readFile(resolved, 'utf-8');
|
|
48
56
|
return text;
|
|
49
57
|
}
|
|
50
58
|
if (envVar && process.env[envVar]) {
|
package/dist/cli-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-utils.js","sourceRoot":"","sources":["../src/cli-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"cli-utils.js","sourceRoot":"","sources":["../src/cli-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAKnC;IACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAG,EAAE,EAAE,KAAK,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;IACvE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,UAAU,QAAQ,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,UAAU,QAAQ,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,MAAM,UAAU,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC;YAC3C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,uDAAuD;IACzD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,iCAAiC,KAAK,GAAG,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/package.json
CHANGED
package/src/cli-utils.ts
CHANGED
|
@@ -30,29 +30,39 @@ export function hasFlag(flag: string): boolean {
|
|
|
30
30
|
/**
|
|
31
31
|
* Read a text document from the first available source:
|
|
32
32
|
* 1. `--file <path>` CLI flag
|
|
33
|
-
* 2. `
|
|
34
|
-
* 3.
|
|
35
|
-
* 4.
|
|
33
|
+
* 2. `fileEnvVar` environment variable containing a file path (e.g. 'DOCS_FILE')
|
|
34
|
+
* 3. `envVar` environment variable containing the content (e.g. 'DOCS')
|
|
35
|
+
* 4. stdin (when not a TTY)
|
|
36
|
+
* 5. `fallback` string (demo/default content)
|
|
36
37
|
*
|
|
37
38
|
* Logs a one-line message indicating which source was used.
|
|
38
39
|
*
|
|
39
|
-
* @param options.envVar
|
|
40
|
-
* @param options.
|
|
41
|
-
* @param options.
|
|
42
|
-
*
|
|
40
|
+
* @param options.envVar Environment variable name holding content (e.g. 'DOCS').
|
|
41
|
+
* @param options.fileEnvVar Environment variable name holding a file path (e.g. 'DOCS_FILE').
|
|
42
|
+
* @param options.fallback Demo text to use when no other source is available.
|
|
43
|
+
* @param options.label Human-readable name for the input (e.g. 'documentation').
|
|
43
44
|
*/
|
|
44
45
|
export async function readTextInput(options: {
|
|
45
46
|
envVar?: string;
|
|
47
|
+
fileEnvVar?: string;
|
|
46
48
|
fallback?: string;
|
|
47
49
|
label?: string;
|
|
48
50
|
}): Promise<string> {
|
|
49
|
-
const { envVar, fallback = '', label = 'input' } = options;
|
|
51
|
+
const { envVar, fileEnvVar, fallback = '', label = 'input' } = options;
|
|
52
|
+
const { readFile } = await import('fs/promises');
|
|
50
53
|
|
|
51
54
|
const filePath = getArg('--file');
|
|
52
55
|
if (filePath) {
|
|
53
|
-
const
|
|
54
|
-
const text = await readFile(
|
|
55
|
-
console.log(`Reading ${label} from: ${
|
|
56
|
+
const resolved = filePath.replace(/^~/, process.env['HOME'] ?? '');
|
|
57
|
+
const text = await readFile(resolved, 'utf-8');
|
|
58
|
+
console.log(`Reading ${label} from: ${resolved}`);
|
|
59
|
+
return text;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if (fileEnvVar && process.env[fileEnvVar]) {
|
|
63
|
+
const resolved = process.env[fileEnvVar]!.replace(/^~/, process.env['HOME'] ?? '');
|
|
64
|
+
console.log(`Reading ${label} from: ${resolved}`);
|
|
65
|
+
const text = await readFile(resolved, 'utf-8');
|
|
56
66
|
return text;
|
|
57
67
|
}
|
|
58
68
|
|