@flyingrobots/bijou-node 0.10.0 → 1.0.0

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/index.d.ts CHANGED
@@ -1,8 +1,50 @@
1
+ /**
2
+ * Node.js adapter package for bijou.
3
+ *
4
+ * Re-exports the individual port adapters ({@link nodeRuntime},
5
+ * {@link nodeIO}, {@link chalkStyle}) and provides convenience
6
+ * functions for constructing a fully-wired {@link BijouContext}
7
+ * bound to the current Node.js process.
8
+ *
9
+ * @packageDocumentation
10
+ */
1
11
  import type { BijouContext } from '@flyingrobots/bijou';
12
+ /** Re-export the Node.js {@link RuntimePort} factory. */
2
13
  export { nodeRuntime } from './runtime.js';
14
+ /** Re-export the Node.js {@link IOPort} factory. */
3
15
  export { nodeIO } from './io.js';
16
+ /** Re-export the Chalk-based {@link StylePort} factory and its options type. */
4
17
  export { chalkStyle, type ChalkStyleOptions } from './style.js';
18
+ /**
19
+ * Create a {@link BijouContext} wired to Node.js adapters.
20
+ *
21
+ * Assembles {@link nodeRuntime}, {@link nodeIO}, and {@link chalkStyle}
22
+ * into a single context via `createBijou`. Automatically respects the
23
+ * `NO_COLOR` environment variable by passing it through to the style
24
+ * adapter.
25
+ *
26
+ * @returns A fresh {@link BijouContext} backed by the current Node.js process.
27
+ */
5
28
  export declare function createNodeContext(): BijouContext;
29
+ /**
30
+ * Reset the initialization guard.
31
+ *
32
+ * **Test-only** -- allows test suites to re-trigger
33
+ * {@link initDefaultContext}'s first-call behavior.
34
+ */
6
35
  export declare function _resetInitializedForTesting(): void;
36
+ /**
37
+ * Initialize and register the global default {@link BijouContext}.
38
+ *
39
+ * On the first call, creates a Node.js context via {@link createNodeContext}
40
+ * and registers it with `setDefaultContext` so that bijou components
41
+ * omitting the optional `ctx` parameter automatically use it.
42
+ *
43
+ * Subsequent calls return a fresh (unregistered) context without
44
+ * overwriting the global default.
45
+ *
46
+ * @returns The {@link BijouContext} created during initialization, or a
47
+ * fresh context on subsequent calls.
48
+ */
7
49
  export declare function initDefaultContext(): BijouContext;
8
50
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMxD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEhE,wBAAgB,iBAAiB,IAAI,YAAY,CAQhD;AAGD,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AACD,wBAAgB,kBAAkB,IAAI,YAAY,CAQjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMxD,yDAAyD;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,oDAAoD;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEhE;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,CAQhD;AAQD;;;;;GAKG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAQjD"}
package/dist/index.js CHANGED
@@ -1,10 +1,33 @@
1
+ /**
2
+ * Node.js adapter package for bijou.
3
+ *
4
+ * Re-exports the individual port adapters ({@link nodeRuntime},
5
+ * {@link nodeIO}, {@link chalkStyle}) and provides convenience
6
+ * functions for constructing a fully-wired {@link BijouContext}
7
+ * bound to the current Node.js process.
8
+ *
9
+ * @packageDocumentation
10
+ */
1
11
  import { createBijou, setDefaultContext } from '@flyingrobots/bijou';
2
12
  import { nodeRuntime } from './runtime.js';
3
13
  import { nodeIO } from './io.js';
4
14
  import { chalkStyle } from './style.js';
15
+ /** Re-export the Node.js {@link RuntimePort} factory. */
5
16
  export { nodeRuntime } from './runtime.js';
17
+ /** Re-export the Node.js {@link IOPort} factory. */
6
18
  export { nodeIO } from './io.js';
19
+ /** Re-export the Chalk-based {@link StylePort} factory and its options type. */
7
20
  export { chalkStyle } from './style.js';
21
+ /**
22
+ * Create a {@link BijouContext} wired to Node.js adapters.
23
+ *
24
+ * Assembles {@link nodeRuntime}, {@link nodeIO}, and {@link chalkStyle}
25
+ * into a single context via `createBijou`. Automatically respects the
26
+ * `NO_COLOR` environment variable by passing it through to the style
27
+ * adapter.
28
+ *
29
+ * @returns A fresh {@link BijouContext} backed by the current Node.js process.
30
+ */
8
31
  export function createNodeContext() {
9
32
  const runtime = nodeRuntime();
10
33
  const noColor = runtime.env('NO_COLOR') !== undefined;
@@ -14,10 +37,33 @@ export function createNodeContext() {
14
37
  style: chalkStyle(noColor),
15
38
  });
16
39
  }
40
+ /**
41
+ * Guard flag ensuring {@link initDefaultContext} only registers the global
42
+ * default context once per process lifetime.
43
+ */
17
44
  let initialized = false;
45
+ /**
46
+ * Reset the initialization guard.
47
+ *
48
+ * **Test-only** -- allows test suites to re-trigger
49
+ * {@link initDefaultContext}'s first-call behavior.
50
+ */
18
51
  export function _resetInitializedForTesting() {
19
52
  initialized = false;
20
53
  }
54
+ /**
55
+ * Initialize and register the global default {@link BijouContext}.
56
+ *
57
+ * On the first call, creates a Node.js context via {@link createNodeContext}
58
+ * and registers it with `setDefaultContext` so that bijou components
59
+ * omitting the optional `ctx` parameter automatically use it.
60
+ *
61
+ * Subsequent calls return a fresh (unregistered) context without
62
+ * overwriting the global default.
63
+ *
64
+ * @returns The {@link BijouContext} created during initialization, or a
65
+ * fresh context on subsequent calls.
66
+ */
21
67
  export function initDefaultContext() {
22
68
  if (!initialized) {
23
69
  const ctx = createNodeContext();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAA0B,MAAM,YAAY,CAAC;AAEhE,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC;IACtD,OAAO,WAAW,CAAC;QACjB,OAAO;QACP,EAAE,EAAE,MAAM,EAAE;QACZ,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,MAAM,UAAU,2BAA2B;IACzC,WAAW,GAAG,KAAK,CAAC;AACtB,CAAC;AACD,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;QAChC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,WAAW,GAAG,IAAI,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,iBAAiB,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,yDAAyD;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,oDAAoD;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAA0B,MAAM,YAAY,CAAC;AAEhE;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC;IACtD,OAAO,WAAW,CAAC;QACjB,OAAO;QACP,EAAE,EAAE,MAAM,EAAE;QACZ,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B;IACzC,WAAW,GAAG,KAAK,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;QAChC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,WAAW,GAAG,IAAI,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,iBAAiB,EAAE,CAAC;AAC7B,CAAC"}
package/dist/io.d.ts CHANGED
@@ -1,3 +1,13 @@
1
1
  import type { IOPort } from '@flyingrobots/bijou';
2
+ /**
3
+ * Create an {@link IOPort} backed by Node.js I/O primitives.
4
+ *
5
+ * Wires `process.stdout` for output, `process.stdin` / `readline` for input,
6
+ * and `fs` / `path` for filesystem access. Returned handles from
7
+ * `rawInput`, `onResize`, and `setInterval` clean up their underlying
8
+ * resources when `dispose()` is called.
9
+ *
10
+ * @returns An {@link IOPort} bound to the current Node.js process.
11
+ */
2
12
  export declare function nodeIO(): IOPort;
3
13
  //# sourceMappingURL=io.d.ts.map
package/dist/io.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAA+B,MAAM,qBAAqB,CAAC;AAE/E,wBAAgB,MAAM,IAAI,MAAM,CA0E/B"}
1
+ {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAA+B,MAAM,qBAAqB,CAAC;AAE/E;;;;;;;;;GASG;AACH,wBAAgB,MAAM,IAAI,MAAM,CA8I/B"}
package/dist/io.js CHANGED
@@ -1,11 +1,38 @@
1
1
  import * as readline from 'readline';
2
- import { readFileSync, readdirSync, statSync } from 'fs';
2
+ import { readFileSync, readdirSync } from 'fs';
3
3
  import { join } from 'path';
4
+ /**
5
+ * Create an {@link IOPort} backed by Node.js I/O primitives.
6
+ *
7
+ * Wires `process.stdout` for output, `process.stdin` / `readline` for input,
8
+ * and `fs` / `path` for filesystem access. Returned handles from
9
+ * `rawInput`, `onResize`, and `setInterval` clean up their underlying
10
+ * resources when `dispose()` is called.
11
+ *
12
+ * @returns An {@link IOPort} bound to the current Node.js process.
13
+ */
4
14
  export function nodeIO() {
5
15
  return {
16
+ /**
17
+ * Write a string directly to `process.stdout`.
18
+ *
19
+ * @param data - Text to write.
20
+ */
6
21
  write(data) {
7
22
  process.stdout.write(data);
8
23
  },
24
+ /**
25
+ * Prompt the user for a single line of input using a readline interface.
26
+ *
27
+ * Opens a new `readline.Interface` for each call and closes it once the
28
+ * user presses Enter.
29
+ *
30
+ * @remarks The returned Promise will never settle if `process.stdin` is
31
+ * already closed or ends before the user provides input.
32
+ *
33
+ * @param prompt - Text shown before the cursor.
34
+ * @returns The user's response (excluding the trailing newline).
35
+ */
9
36
  question(prompt) {
10
37
  const rl = readline.createInterface({
11
38
  input: process.stdin,
@@ -18,6 +45,16 @@ export function nodeIO() {
18
45
  });
19
46
  });
20
47
  },
48
+ /**
49
+ * Enter raw-input mode on `process.stdin` and invoke a callback per keypress.
50
+ *
51
+ * Enables raw mode so individual key events are forwarded without waiting
52
+ * for a newline. Call `dispose()` on the returned handle to restore normal
53
+ * input mode and remove the listener.
54
+ *
55
+ * @param onKey - Callback invoked with the string representation of each stdin data chunk.
56
+ * @returns A {@link RawInputHandle} that restores normal input mode on disposal.
57
+ */
21
58
  rawInput(onKey) {
22
59
  process.stdin.setRawMode(true);
23
60
  process.stdin.resume();
@@ -26,6 +63,7 @@ export function nodeIO() {
26
63
  };
27
64
  process.stdin.on('data', handler);
28
65
  return {
66
+ /** Remove the listener, disable raw mode, and pause stdin. */
29
67
  dispose() {
30
68
  process.stdin.removeListener('data', handler);
31
69
  process.stdin.setRawMode(false);
@@ -33,38 +71,75 @@ export function nodeIO() {
33
71
  },
34
72
  };
35
73
  },
74
+ /**
75
+ * Register a callback invoked when the terminal is resized.
76
+ *
77
+ * Listens to the `'resize'` event on `process.stdout` and forwards the
78
+ * current column and row counts. Falls back to 80x24 when properties are
79
+ * unavailable.
80
+ *
81
+ * @param callback - Receives `(cols, rows)` on each resize event.
82
+ * @returns A {@link RawInputHandle} that removes the listener on disposal.
83
+ */
36
84
  onResize(callback) {
37
85
  const handler = () => {
38
86
  callback(process.stdout.columns ?? 80, process.stdout.rows ?? 24);
39
87
  };
40
88
  process.stdout.on('resize', handler);
41
89
  return {
90
+ /** Remove the resize listener from `process.stdout`. */
42
91
  dispose() {
43
92
  process.stdout.removeListener('resize', handler);
44
93
  },
45
94
  };
46
95
  },
96
+ /**
97
+ * Start a repeating interval timer via `globalThis.setInterval`.
98
+ *
99
+ * @param callback - Function invoked every `ms` milliseconds.
100
+ * @param ms - Interval period in milliseconds.
101
+ * @returns A {@link TimerHandle} that cancels the timer on disposal.
102
+ */
47
103
  setInterval(callback, ms) {
48
104
  const id = globalThis.setInterval(callback, ms);
49
105
  return {
106
+ /** Cancel the repeating timer. */
50
107
  dispose() {
51
108
  clearInterval(id);
52
109
  },
53
110
  };
54
111
  },
112
+ /**
113
+ * Read an entire file synchronously as a UTF-8 string.
114
+ *
115
+ * @param path - Absolute or relative file path.
116
+ * @returns The file contents as a string.
117
+ * @throws {NodeJS.ErrnoException} If the file does not exist or cannot be read.
118
+ */
55
119
  readFile(path) {
56
120
  return readFileSync(path, 'utf8');
57
121
  },
122
+ /**
123
+ * List directory contents, appending `'/'` to directory names.
124
+ *
125
+ * Uses `withFileTypes` to obtain directory entries directly from the
126
+ * filesystem, avoiding a separate `statSync` per entry. Each entry is
127
+ * either a plain filename or a directory name with a trailing slash
128
+ * (e.g. `"src/"`), matching the {@link IOPort.readDir} contract.
129
+ *
130
+ * @param dirPath - Path to the directory to list.
131
+ * @returns Entry names with trailing slashes on directories.
132
+ * @throws {NodeJS.ErrnoException} If the directory does not exist or cannot be read.
133
+ */
58
134
  readDir(dirPath) {
59
- return readdirSync(dirPath).map((name) => {
60
- try {
61
- return statSync(join(dirPath, name)).isDirectory() ? name + '/' : name;
62
- }
63
- catch {
64
- return name;
65
- }
66
- });
135
+ return readdirSync(dirPath, { withFileTypes: true }).map((entry) => entry.isDirectory() ? entry.name + '/' : entry.name);
67
136
  },
137
+ /**
138
+ * Join path segments using Node.js `path.join`.
139
+ *
140
+ * @param segments - One or more path segments.
141
+ * @returns The joined path string.
142
+ */
68
143
  joinPath(...segments) {
69
144
  return join(...segments);
70
145
  },
package/dist/io.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"io.js","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"io.js","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -1,3 +1,13 @@
1
1
  import type { RuntimePort } from '@flyingrobots/bijou';
2
+ /**
3
+ * Create a {@link RuntimePort} backed by Node.js `process` globals.
4
+ *
5
+ * Delegates environment variable lookups to `process.env` and terminal
6
+ * geometry queries to `process.stdout`/`process.stdin`. Falls back to
7
+ * sensible defaults (80 columns, 24 rows, non-TTY) when the underlying
8
+ * properties are `undefined`.
9
+ *
10
+ * @returns A {@link RuntimePort} wired to the current Node.js process.
11
+ */
2
12
  export declare function nodeRuntime(): RuntimePort;
3
13
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,wBAAgB,WAAW,IAAI,WAAW,CAkBzC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,IAAI,WAAW,CA0BzC"}
package/dist/runtime.js CHANGED
@@ -1,17 +1,35 @@
1
+ /**
2
+ * Create a {@link RuntimePort} backed by Node.js `process` globals.
3
+ *
4
+ * Delegates environment variable lookups to `process.env` and terminal
5
+ * geometry queries to `process.stdout`/`process.stdin`. Falls back to
6
+ * sensible defaults (80 columns, 24 rows, non-TTY) when the underlying
7
+ * properties are `undefined`.
8
+ *
9
+ * @returns A {@link RuntimePort} wired to the current Node.js process.
10
+ */
1
11
  export function nodeRuntime() {
2
12
  return {
13
+ /**
14
+ * @param key - Environment variable name.
15
+ * @returns The value of the environment variable, or `undefined` if not set.
16
+ */
3
17
  env(key) {
4
18
  return process.env[key];
5
19
  },
20
+ /** Whether `process.stdout` is attached to a TTY. Falls back to `false`. */
6
21
  get stdoutIsTTY() {
7
22
  return process.stdout.isTTY ?? false;
8
23
  },
24
+ /** Whether `process.stdin` is attached to a TTY. Falls back to `false`. */
9
25
  get stdinIsTTY() {
10
26
  return process.stdin.isTTY ?? false;
11
27
  },
28
+ /** Terminal width in columns from `process.stdout`. Falls back to `80`. */
12
29
  get columns() {
13
30
  return process.stdout.columns ?? 80;
14
31
  },
32
+ /** Terminal height in rows from `process.stdout`. Falls back to `24`. */
15
33
  get rows() {
16
34
  return process.stdout.rows ?? 24;
17
35
  },
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW;IACzB,OAAO;QACL,GAAG,CAAC,GAAW;YACb,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,WAAW;YACb,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QACvC,CAAC;QACD,IAAI,UAAU;YACZ,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC;QACtC,CAAC;QACD,IAAI,OAAO;YACT,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,IAAI;YACN,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO;QACL;;;WAGG;QACH,GAAG,CAAC,GAAW;YACb,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,4EAA4E;QAC5E,IAAI,WAAW;YACb,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QACvC,CAAC;QACD,2EAA2E;QAC3E,IAAI,UAAU;YACZ,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC;QACtC,CAAC;QACD,2EAA2E;QAC3E,IAAI,OAAO;YACT,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,CAAC;QACD,yEAAyE;QACzE,IAAI,IAAI;YACN,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/style.d.ts CHANGED
@@ -1,9 +1,25 @@
1
1
  import type { StylePort } from '@flyingrobots/bijou';
2
+ /**
3
+ * Configuration options for {@link chalkStyle}.
4
+ */
2
5
  export interface ChalkStyleOptions {
6
+ /** Disable all color output, returning unstyled text. */
3
7
  noColor?: boolean;
4
- /** Explicit chalk color level override: 0=none, 1=ansi16, 2=ansi256, 3=truecolor */
8
+ /** Explicit chalk color level override: 0=none, 1=ansi16, 2=ansi256, 3=truecolor. */
5
9
  level?: 0 | 1 | 2 | 3;
6
10
  }
11
+ /**
12
+ * Create a chalk-backed {@link StylePort} with optional color suppression.
13
+ *
14
+ * @param noColor - Pass `true` to suppress all ANSI styling.
15
+ * @returns A {@link StylePort} implemented via chalk.
16
+ */
7
17
  export declare function chalkStyle(noColor?: boolean): StylePort;
18
+ /**
19
+ * Create a chalk-backed {@link StylePort} with detailed options.
20
+ *
21
+ * @param options - Configuration including `noColor` flag and explicit chalk `level`.
22
+ * @returns A {@link StylePort} implemented via chalk.
23
+ */
8
24
  export declare function chalkStyle(options?: ChalkStyleOptions): StylePort;
9
25
  //# sourceMappingURL=style.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,qBAAqB,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oFAAoF;IACpF,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACvB;AAED,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;AACzD,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,qBAAqB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qFAAqF;IACrF,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;AACzD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC"}
package/dist/style.js CHANGED
@@ -1,10 +1,21 @@
1
1
  import chalk, { Chalk } from 'chalk';
2
+ // Implementation
2
3
  export function chalkStyle(arg) {
3
4
  const opts = typeof arg === 'boolean' ? { noColor: arg } : (arg ?? {});
4
5
  const isNoColor = opts.noColor ?? false;
5
6
  const instance = opts.level !== undefined
6
7
  ? new Chalk({ level: opts.level })
7
8
  : chalk;
9
+ /**
10
+ * Chain text-decoration modifiers onto a chalk instance.
11
+ *
12
+ * Applies each modifier (`bold`, `dim`, `strikethrough`, `inverse`)
13
+ * in order, returning the fully-decorated chalk instance.
14
+ *
15
+ * @param c - Base chalk instance (already color-configured).
16
+ * @param modifiers - Optional array of modifier names from a {@link TokenValue}.
17
+ * @returns The chalk instance with all modifiers applied.
18
+ */
8
19
  function applyModifiers(c, modifiers) {
9
20
  if (modifiers === undefined)
10
21
  return c;
@@ -32,22 +43,84 @@ export function chalkStyle(arg) {
32
43
  return result;
33
44
  }
34
45
  return {
46
+ /**
47
+ * Apply a resolved design-token's hex color and modifiers to text.
48
+ *
49
+ * @param token - Resolved token value containing `hex` and optional `modifiers`.
50
+ * @param text - Text to style.
51
+ * @returns Styled text, or unmodified text when `noColor` is active.
52
+ */
35
53
  styled(token, text) {
36
54
  if (isNoColor)
37
55
  return text;
38
56
  const base = instance.hex(token.hex);
39
- return applyModifiers(base, token.modifiers)(text);
57
+ let result = applyModifiers(base, token.modifiers)(text);
58
+ // Note: bg is applied unconditionally when noColor is false.
59
+ // Callers (e.g. makeBgFill, box, flex) are responsible for
60
+ // stripping token.bg in pipe/accessible/noColor modes.
61
+ if (token.bg) {
62
+ result = instance.bgHex(token.bg)(result);
63
+ }
64
+ return result;
40
65
  },
66
+ /**
67
+ * Apply a 24-bit RGB foreground color to text.
68
+ *
69
+ * @param r - Red channel (0-255).
70
+ * @param g - Green channel (0-255).
71
+ * @param b - Blue channel (0-255).
72
+ * @param text - Text to style.
73
+ * @returns Styled text, or unmodified text when `noColor` is active.
74
+ */
41
75
  rgb(r, g, b, text) {
42
76
  if (isNoColor)
43
77
  return text;
44
78
  return instance.rgb(r, g, b)(text);
45
79
  },
80
+ /**
81
+ * Apply a hex foreground color to text.
82
+ *
83
+ * @param color - CSS-style hex color (e.g. `"#ff00aa"`).
84
+ * @param text - Text to style.
85
+ * @returns Styled text, or unmodified text when `noColor` is active.
86
+ */
46
87
  hex(color, text) {
47
88
  if (isNoColor)
48
89
  return text;
49
90
  return instance.hex(color)(text);
50
91
  },
92
+ /**
93
+ * Apply a 24-bit RGB background color to text.
94
+ *
95
+ * @param r - Red channel (0-255).
96
+ * @param g - Green channel (0-255).
97
+ * @param b - Blue channel (0-255).
98
+ * @param text - Text to style.
99
+ * @returns Styled text, or unmodified text when `noColor` is active.
100
+ */
101
+ bgRgb(r, g, b, text) {
102
+ if (isNoColor)
103
+ return text;
104
+ return instance.bgRgb(r, g, b)(text);
105
+ },
106
+ /**
107
+ * Apply a hex background color to text.
108
+ *
109
+ * @param color - CSS-style hex color (e.g. `"#ff00aa"`).
110
+ * @param text - Text to style.
111
+ * @returns Styled text, or unmodified text when `noColor` is active.
112
+ */
113
+ bgHex(color, text) {
114
+ if (isNoColor)
115
+ return text;
116
+ return instance.bgHex(color)(text);
117
+ },
118
+ /**
119
+ * Apply bold weight to text.
120
+ *
121
+ * @param text - Text to style.
122
+ * @returns Bold text, or unmodified text when `noColor` is active.
123
+ */
51
124
  bold(text) {
52
125
  if (isNoColor)
53
126
  return text;
package/dist/style.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAsB,MAAM,OAAO,CAAC;AAWzD,MAAM,UAAU,UAAU,CAAC,GAAiC;IAC1D,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;IACxC,MAAM,QAAQ,GAAkB,IAAI,CAAC,KAAK,KAAK,SAAS;QACtD,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC,CAAC,KAAK,CAAC;IAEV,SAAS,cAAc,CAAC,CAAgB,EAAE,SAAmC;QAC3E,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QACtC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,MAAM;oBAAW,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;oBAAC,MAAM;gBAClD,KAAK,KAAK;oBAAY,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;oBAAC,MAAM;gBACjD,KAAK,eAAe;oBAAE,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;oBAAC,MAAM;gBAC3D,KAAK,SAAS;oBAAQ,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;oBAAC,MAAM;gBACrD,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,WAAW,GAAU,GAAG,CAAC;oBAC/B,KAAK,WAAW,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,MAAM,CAAC,KAAiB,EAAE,IAAY;YACpC,IAAI,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC3B,MAAM,IAAI,GAAkB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,OAAO,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QAED,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,IAAY;YAC/C,IAAI,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC3B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,GAAG,CAAC,KAAa,EAAE,IAAY;YAC7B,IAAI,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC3B,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,IAAY;YACf,IAAI,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flyingrobots/bijou-node",
3
- "version": "0.10.0",
3
+ "version": "1.0.0",
4
4
  "description": "Node.js adapter for bijou — chalk styling, readline I/O, process runtime.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -27,7 +27,7 @@
27
27
  "chalk": "^5.6.2"
28
28
  },
29
29
  "peerDependencies": {
30
- "@flyingrobots/bijou": "0.10.0"
30
+ "@flyingrobots/bijou": "1.0.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/node": "^22.0.0",