@jujulego/jill 3.0.4 → 3.0.6
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/flat-job-plan.js +1 -1
- package/dist/flat-job-tree.js +1 -1
- package/dist/index.js +1 -1
- package/dist/inked.js +9 -3
- package/dist/inked.js.map +1 -1
- package/dist/instrument.js +1 -1
- package/dist/job-command-execute.ink.js +17 -62
- package/dist/job-command-execute.ink.js.map +1 -1
- package/dist/job-plan.js +1 -1
- package/dist/job-plan.json.js +1 -1
- package/dist/list.ink.js +1 -1
- package/dist/main.js +2 -2
- package/dist/planner.service.js +1 -1
- package/dist/tree.ink.js +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +17 -17
package/dist/instrument.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="936668f9-9154-4d64-932a-eaf955b0470f",e._sentryDebugIdIdentifier="sentry-dbid-936668f9-9154-4d64-932a-eaf955b0470f");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { init } from '@sentry/node';
|
|
2
2
|
|
|
3
3
|
init({
|
|
4
4
|
dsn: 'https://53e6d10c16975ebd025175d9836d039b@o4508229080055808.ingest.de.sentry.io/4509876546895952',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="821a433f-d2ac-42ee-89fe-f91b8f57d161",e._sentryDebugIdIdentifier="sentry-dbid-821a433f-d2ac-42ee-89fe-f91b8f57d161");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { r as reactExports, S as StdinContext, p as parseKeypress, a as reconciler, n as nonAlphanumericKeys, b as StdoutContext, j as jsxRuntimeExports, T as Text, B as Box, i as inked } from './inked.js';
|
|
2
2
|
import process from 'node:process';
|
|
3
3
|
import 'node:stream';
|
|
4
4
|
import 'node:events';
|
|
@@ -56,42 +56,6 @@ import 'os';
|
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
/**
|
|
60
|
-
`<Static>` component permanently renders its output above everything else. It's useful for displaying activity like completed tasks or logs—things that don't change after they're rendered (hence the name "Static").
|
|
61
|
-
|
|
62
|
-
It's preferred to use `<Static>` for use cases like these when you can't know or control the number of items that need to be rendered.
|
|
63
|
-
|
|
64
|
-
For example, [Tap](https://github.com/tapjs/node-tap) uses `<Static>` to display a list of completed tests. [Gatsby](https://github.com/gatsbyjs/gatsby) uses it to display a list of generated pages while still displaying a live progress bar.
|
|
65
|
-
*/ function Static(props) {
|
|
66
|
-
const { items, children: render, style: customStyle } = props;
|
|
67
|
-
const [index, setIndex] = reactExports.useState(0);
|
|
68
|
-
const itemsToRender = reactExports.useMemo(()=>{
|
|
69
|
-
return items.slice(index);
|
|
70
|
-
}, [
|
|
71
|
-
items,
|
|
72
|
-
index
|
|
73
|
-
]);
|
|
74
|
-
reactExports.useLayoutEffect(()=>{
|
|
75
|
-
setIndex(items.length);
|
|
76
|
-
}, [
|
|
77
|
-
items.length
|
|
78
|
-
]);
|
|
79
|
-
const children = itemsToRender.map((item, itemIndex)=>{
|
|
80
|
-
return render(item, index + itemIndex);
|
|
81
|
-
});
|
|
82
|
-
const style = reactExports.useMemo(()=>({
|
|
83
|
-
position: 'absolute',
|
|
84
|
-
flexDirection: 'column',
|
|
85
|
-
...customStyle
|
|
86
|
-
}), [
|
|
87
|
-
customStyle
|
|
88
|
-
]);
|
|
89
|
-
return /*#__PURE__*/ React.createElement("ink-box", {
|
|
90
|
-
internal_static: true,
|
|
91
|
-
style: style
|
|
92
|
-
}, children);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
59
|
/**
|
|
96
60
|
`useStdin` is a React hook that exposes the stdin stream.
|
|
97
61
|
*/ const useStdin = ()=>reactExports.useContext(StdinContext);
|
|
@@ -144,6 +108,8 @@ const UserInput = () => {
|
|
|
144
108
|
rightArrow: keypress.name === 'right',
|
|
145
109
|
pageDown: keypress.name === 'pagedown',
|
|
146
110
|
pageUp: keypress.name === 'pageup',
|
|
111
|
+
home: keypress.name === 'home',
|
|
112
|
+
end: keypress.name === 'end',
|
|
147
113
|
return: keypress.name === 'return',
|
|
148
114
|
escape: keypress.name === 'escape',
|
|
149
115
|
ctrl: keypress.ctrl,
|
|
@@ -297,6 +263,7 @@ function WorkloadSpinner({ workload }) {
|
|
|
297
263
|
case WorkloadState.Ready:
|
|
298
264
|
case WorkloadState.Starting:
|
|
299
265
|
return /*#__PURE__*/ jsxRuntimeExports.jsxs(Box, {
|
|
266
|
+
overflow: "hidden",
|
|
300
267
|
children: [
|
|
301
268
|
/*#__PURE__*/ jsxRuntimeExports.jsx(Text, {
|
|
302
269
|
color: "grey",
|
|
@@ -304,6 +271,7 @@ function WorkloadSpinner({ workload }) {
|
|
|
304
271
|
}),
|
|
305
272
|
/*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
|
|
306
273
|
paddingLeft: 1,
|
|
274
|
+
flexGrow: 1,
|
|
307
275
|
children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadName, {
|
|
308
276
|
color: "grey",
|
|
309
277
|
wrap: "truncate",
|
|
@@ -315,6 +283,7 @@ function WorkloadSpinner({ workload }) {
|
|
|
315
283
|
});
|
|
316
284
|
case WorkloadState.Running:
|
|
317
285
|
return /*#__PURE__*/ jsxRuntimeExports.jsxs(Box, {
|
|
286
|
+
overflow: "hidden",
|
|
318
287
|
children: [
|
|
319
288
|
/*#__PURE__*/ jsxRuntimeExports.jsx(Text, {
|
|
320
289
|
dimColor: dim,
|
|
@@ -322,6 +291,7 @@ function WorkloadSpinner({ workload }) {
|
|
|
322
291
|
}),
|
|
323
292
|
/*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
|
|
324
293
|
paddingLeft: 1,
|
|
294
|
+
flexGrow: 1,
|
|
325
295
|
children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadName, {
|
|
326
296
|
dimColor: dim,
|
|
327
297
|
wrap: "truncate",
|
|
@@ -333,6 +303,7 @@ function WorkloadSpinner({ workload }) {
|
|
|
333
303
|
});
|
|
334
304
|
case WorkloadState.Canceling:
|
|
335
305
|
return /*#__PURE__*/ jsxRuntimeExports.jsxs(Box, {
|
|
306
|
+
overflow: "hidden",
|
|
336
307
|
children: [
|
|
337
308
|
/*#__PURE__*/ jsxRuntimeExports.jsx(Text, {
|
|
338
309
|
dimColor: dim,
|
|
@@ -343,9 +314,10 @@ function WorkloadSpinner({ workload }) {
|
|
|
343
314
|
}),
|
|
344
315
|
/*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
|
|
345
316
|
paddingLeft: 1,
|
|
317
|
+
flexGrow: 1,
|
|
346
318
|
children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadName, {
|
|
347
|
-
dimColor: dim,
|
|
348
319
|
color: "grey",
|
|
320
|
+
dimColor: dim,
|
|
349
321
|
wrap: "truncate",
|
|
350
322
|
workload: workload,
|
|
351
323
|
withWorkspace: true
|
|
@@ -355,6 +327,7 @@ function WorkloadSpinner({ workload }) {
|
|
|
355
327
|
});
|
|
356
328
|
case WorkloadState.Succeeded:
|
|
357
329
|
return /*#__PURE__*/ jsxRuntimeExports.jsxs(Box, {
|
|
330
|
+
overflow: "hidden",
|
|
358
331
|
children: [
|
|
359
332
|
/*#__PURE__*/ jsxRuntimeExports.jsx(Text, {
|
|
360
333
|
color: "green",
|
|
@@ -362,6 +335,7 @@ function WorkloadSpinner({ workload }) {
|
|
|
362
335
|
}),
|
|
363
336
|
/*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
|
|
364
337
|
paddingLeft: 1,
|
|
338
|
+
flexGrow: 1,
|
|
365
339
|
children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadName, {
|
|
366
340
|
dimColor: dim,
|
|
367
341
|
wrap: "truncate",
|
|
@@ -385,6 +359,7 @@ function WorkloadSpinner({ workload }) {
|
|
|
385
359
|
});
|
|
386
360
|
case WorkloadState.Failed:
|
|
387
361
|
return /*#__PURE__*/ jsxRuntimeExports.jsxs(Box, {
|
|
362
|
+
overflow: "hidden",
|
|
388
363
|
children: [
|
|
389
364
|
/*#__PURE__*/ jsxRuntimeExports.jsx(Text, {
|
|
390
365
|
color: "red",
|
|
@@ -392,6 +367,7 @@ function WorkloadSpinner({ workload }) {
|
|
|
392
367
|
}),
|
|
393
368
|
/*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
|
|
394
369
|
paddingLeft: 1,
|
|
370
|
+
flexGrow: 1,
|
|
395
371
|
children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadName, {
|
|
396
372
|
dimColor: dim,
|
|
397
373
|
wrap: "truncate",
|
|
@@ -415,6 +391,7 @@ function WorkloadSpinner({ workload }) {
|
|
|
415
391
|
});
|
|
416
392
|
case WorkloadState.Canceled:
|
|
417
393
|
return /*#__PURE__*/ jsxRuntimeExports.jsxs(Box, {
|
|
394
|
+
overflow: "hidden",
|
|
418
395
|
children: [
|
|
419
396
|
/*#__PURE__*/ jsxRuntimeExports.jsx(Text, {
|
|
420
397
|
dimColor: true,
|
|
@@ -422,6 +399,7 @@ function WorkloadSpinner({ workload }) {
|
|
|
422
399
|
}),
|
|
423
400
|
/*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
|
|
424
401
|
paddingLeft: 1,
|
|
402
|
+
flexGrow: 1,
|
|
425
403
|
children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadName, {
|
|
426
404
|
dimColor: true,
|
|
427
405
|
wrap: "truncate",
|
|
@@ -549,29 +527,6 @@ function WorkloadTreeStats({ tree, ...rest }) {
|
|
|
549
527
|
});
|
|
550
528
|
}
|
|
551
529
|
|
|
552
|
-
// Component
|
|
553
|
-
function WorkloadTreeCompleted({ workload, verbose }) {
|
|
554
|
-
const tree = useFlatJobTree(workload, verbose);
|
|
555
|
-
// Render
|
|
556
|
-
return /*#__PURE__*/ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
|
|
557
|
-
children: [
|
|
558
|
-
/*#__PURE__*/ jsxRuntimeExports.jsx(Static, {
|
|
559
|
-
items: tree,
|
|
560
|
-
children: ({ workload, level })=>/*#__PURE__*/ jsxRuntimeExports.jsx(Box, {
|
|
561
|
-
marginLeft: level * 2,
|
|
562
|
-
flexShrink: 0,
|
|
563
|
-
children: /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadSpinner, {
|
|
564
|
-
workload: workload
|
|
565
|
-
})
|
|
566
|
-
}, workload.id)
|
|
567
|
-
}),
|
|
568
|
-
/*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadTreeStats, {
|
|
569
|
-
tree: tree
|
|
570
|
-
})
|
|
571
|
-
]
|
|
572
|
-
});
|
|
573
|
-
}
|
|
574
|
-
|
|
575
530
|
// Component
|
|
576
531
|
function WorkloadTreeFullSpinner({ workload, verbose }) {
|
|
577
532
|
const tree = useFlatJobTree(workload, verbose);
|
|
@@ -686,7 +641,7 @@ const JobCommandExecuteInk = inked(async function*({ job, verbose }) {
|
|
|
686
641
|
});
|
|
687
642
|
scheduler.register(job);
|
|
688
643
|
const outcome = await waitFor$(pipe$(job.state$, filter$(isWorkloadEnded)));
|
|
689
|
-
yield /*#__PURE__*/ jsxRuntimeExports.jsx(
|
|
644
|
+
yield /*#__PURE__*/ jsxRuntimeExports.jsx(WorkloadTreeFullSpinner, {
|
|
690
645
|
workload: job,
|
|
691
646
|
verbose: verbose
|
|
692
647
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-command-execute.ink.js","sources":["../node_modules/kyrielle/dist/off$.js","../node_modules/ink/build/components/Static.js","../node_modules/ink/build/hooks/use-stdin.js","../node_modules/ink/build/hooks/use-input.js","../node_modules/ink/build/hooks/use-stdout.js","../src/hooks/useFlatJobTree.ts","../node_modules/is-unicode-supported/index.js","../src/utils/symbols.ts","../src/components/WorkloadName.tsx","../src/components/WorkloadSpinner.tsx","../src/hooks/useScriptsStats.ts","../src/components/WorkloadTreeStats.tsx","../src/components/WorkloadTreeCompleted.tsx","../src/components/WorkloadTreeFullSpinner.tsx","../src/hooks/useStdoutDimensions.ts","../src/components/WorkloadTreeScrollableSpinner.tsx","../src/components/WorkloadTreeSpinner.tsx","../src/wrappers/job-command-execute.ink.tsx"],"sourcesContent":["/**\n * Builds a subscription group\n *\n * @since 1.0.0\n */ export function off$(...subscriptions) {\n const store = new Set(subscriptions);\n function unsubscribe() {\n for (const sub of store){\n sub.unsubscribe();\n }\n store.clear();\n }\n return {\n [Symbol.dispose ?? Symbol.for('Symbol.dispose')]: unsubscribe,\n unsubscribe,\n add: (...subscriptions)=>{\n for (const sub of subscriptions){\n store.add(sub);\n }\n }\n };\n}\n\n//# sourceMappingURL=off$.js.map","import React, { useMemo, useState, useLayoutEffect } from 'react';\n/**\n`<Static>` component permanently renders its output above everything else. It's useful for displaying activity like completed tasks or logs—things that don't change after they're rendered (hence the name \"Static\").\n\nIt's preferred to use `<Static>` for use cases like these when you can't know or control the number of items that need to be rendered.\n\nFor example, [Tap](https://github.com/tapjs/node-tap) uses `<Static>` to display a list of completed tests. [Gatsby](https://github.com/gatsbyjs/gatsby) uses it to display a list of generated pages while still displaying a live progress bar.\n*/\nexport default function Static(props) {\n const { items, children: render, style: customStyle } = props;\n const [index, setIndex] = useState(0);\n const itemsToRender = useMemo(() => {\n return items.slice(index);\n }, [items, index]);\n useLayoutEffect(() => {\n setIndex(items.length);\n }, [items.length]);\n const children = itemsToRender.map((item, itemIndex) => {\n return render(item, index + itemIndex);\n });\n const style = useMemo(() => ({\n position: 'absolute',\n flexDirection: 'column',\n ...customStyle,\n }), [customStyle]);\n return (React.createElement(\"ink-box\", { internal_static: true, style: style }, children));\n}\n//# sourceMappingURL=Static.js.map","import { useContext } from 'react';\nimport StdinContext from '../components/StdinContext.js';\n/**\n`useStdin` is a React hook that exposes the stdin stream.\n*/\nconst useStdin = () => useContext(StdinContext);\nexport default useStdin;\n//# sourceMappingURL=use-stdin.js.map","import { useEffect } from 'react';\nimport parseKeypress, { nonAlphanumericKeys } from '../parse-keypress.js';\nimport reconciler from '../reconciler.js';\nimport useStdin from './use-stdin.js';\n/**\nThis hook is used for handling user input. It's a more convenient alternative to using `StdinContext` and listening for `data` events. The callback you pass to `useInput` is called for each character when the user enters any input. However, if the user pastes text and it's more than one character, the callback will be called only once, and the whole string will be passed as `input`.\n\n```\nimport {useInput} from 'ink';\n\nconst UserInput = () => {\n useInput((input, key) => {\n if (input === 'q') {\n // Exit program\n }\n\n if (key.leftArrow) {\n // Left arrow key pressed\n }\n });\n\n return …\n};\n```\n*/\nconst useInput = (inputHandler, options = {}) => {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const { stdin, setRawMode, internal_exitOnCtrlC, internal_eventEmitter } = useStdin();\n useEffect(() => {\n if (options.isActive === false) {\n return;\n }\n setRawMode(true);\n return () => {\n setRawMode(false);\n };\n }, [options.isActive, setRawMode]);\n useEffect(() => {\n if (options.isActive === false) {\n return;\n }\n const handleData = (data) => {\n const keypress = parseKeypress(data);\n const key = {\n upArrow: keypress.name === 'up',\n downArrow: keypress.name === 'down',\n leftArrow: keypress.name === 'left',\n rightArrow: keypress.name === 'right',\n pageDown: keypress.name === 'pagedown',\n pageUp: keypress.name === 'pageup',\n return: keypress.name === 'return',\n escape: keypress.name === 'escape',\n ctrl: keypress.ctrl,\n shift: keypress.shift,\n tab: keypress.name === 'tab',\n backspace: keypress.name === 'backspace',\n delete: keypress.name === 'delete',\n // `parseKeypress` parses \\u001B\\u001B[A (meta + up arrow) as meta = false\n // but with option = true, so we need to take this into account here\n // to avoid breaking changes in Ink.\n // TODO(vadimdemedes): consider removing this in the next major version.\n meta: keypress.meta || keypress.name === 'escape' || keypress.option,\n };\n let input = keypress.ctrl ? keypress.name : keypress.sequence;\n if (nonAlphanumericKeys.includes(keypress.name)) {\n input = '';\n }\n // Strip meta if it's still remaining after `parseKeypress`\n // TODO(vadimdemedes): remove this in the next major version.\n if (input.startsWith('\\u001B')) {\n input = input.slice(1);\n }\n if (input.length === 1 &&\n typeof input[0] === 'string' &&\n /[A-Z]/.test(input[0])) {\n key.shift = true;\n }\n // If app is not supposed to exit on Ctrl+C, then let input listener handle it\n if (!(input === 'c' && key.ctrl) || !internal_exitOnCtrlC) {\n // @ts-expect-error TypeScript types for `batchedUpdates` require an argument, but React's codebase doesn't provide it and it works without it as expected.\n reconciler.batchedUpdates(() => {\n inputHandler(input, key);\n });\n }\n };\n internal_eventEmitter?.on('input', handleData);\n return () => {\n internal_eventEmitter?.removeListener('input', handleData);\n };\n }, [options.isActive, stdin, internal_exitOnCtrlC, inputHandler]);\n};\nexport default useInput;\n//# sourceMappingURL=use-input.js.map","import { useContext } from 'react';\nimport StdoutContext from '../components/StdoutContext.js';\n/**\n`useStdout` is a React hook that exposes the stdout stream where Ink renders your app.\n*/\nconst useStdout = () => useContext(StdoutContext);\nexport default useStdout;\n//# sourceMappingURL=use-stdout.js.map","import { type Workload$ } from '@kyrielle/workload';\nimport { collect$, map$, off$, pipe$ } from 'kyrielle';\nimport { createHash } from 'node:crypto';\nimport { useEffect, useState } from 'react';\nimport { flatJobTree, type FlatJobTreeItem } from '../trees/flat-job-tree.js';\n\n// Hook\nexport function useFlatJobTree(workload: Workload$, verbose?: boolean): FlatJobTreeItem[] {\n const [tree, setTree] = useState<FlatJobTreeItem[]>(() => flatJobTree(workload, verbose));\n\n useEffect(() => {\n const oldHash = hashTree(tree);\n let dirty = false;\n\n function update() {\n if (!dirty) return;\n\n const updated = flatJobTree(workload, verbose);\n if (hashTree(updated) !== oldHash) {\n setTree(updated);\n }\n\n dirty = false;\n }\n\n const off = pipe$(tree,\n map$(({ workload }) => workload.state$.subscribe(() => {\n dirty = true;\n queueMicrotask(update);\n })),\n collect$(off$())\n );\n\n return () => {\n dirty = false;\n off.unsubscribe();\n };\n }, [tree, verbose, workload]);\n \n return tree;\n}\n\n// Utils\nfunction hashTree(tree: FlatJobTreeItem[]) {\n const hash = createHash('sha256');\n\n for (const { workload } of tree) {\n hash.update(workload.id);\n }\n\n return hash.digest('hex');\n}\n","import process from 'node:process';\n\nexport default function isUnicodeSupported() {\n\tconst {env} = process;\n\tconst {TERM, TERM_PROGRAM} = env;\n\n\tif (process.platform !== 'win32') {\n\t\treturn TERM !== 'linux'; // Linux console (kernel)\n\t}\n\n\treturn Boolean(env.WT_SESSION) // Windows Terminal\n\t\t|| Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27)\n\t\t|| env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder\n\t\t|| TERM_PROGRAM === 'Terminus-Sublime'\n\t\t|| TERM_PROGRAM === 'vscode'\n\t\t|| TERM === 'xterm-256color'\n\t\t|| TERM === 'alacritty'\n\t\t|| TERM === 'rxvt-unicode'\n\t\t|| TERM === 'rxvt-unicode-256color'\n\t\t|| env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';\n}\n","import isUnicodeSupported from 'is-unicode-supported';\n\nconst isSupported = !isUnicodeSupported();\n\nexport const success = isSupported ? '✔' : '✓';\nexport const error = isSupported ? '✖' : '×';\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Text, type TextProps } from 'ink';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport { capitalize } from '../utils/string.js';\n\n// Component\nexport function WorkloadName({ workload, withWorkspace, ...rest }: WorkloadNameProps) {\n if (isScriptWorkflow(workload)) {\n return (\n <Text {...rest}>\n Run <Text bold>{ workload.script }</Text> script{ withWorkspace && <>{' '}in {workload.workspace.name}</>}\n </Text>\n );\n }\n\n let name = workload.label;\n\n if (workload.type !== 'spawn') {\n name = capitalize(name);\n }\n\n return <Text {...rest}>{ name }</Text>;\n}\n\nexport interface WorkloadNameProps extends Omit<TextProps, 'children'> {\n readonly workload: Workload$;\n readonly withWorkspace?: boolean;\n}\n","import { type Workload$, WorkloadState } from '@kyrielle/workload';\nimport { Box, Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport ms from 'pretty-ms';\nimport { useEffect, useState } from 'react';\nimport * as symbols from '../utils/symbols.js';\nimport { WorkloadName } from './WorkloadName.jsx';\n\n// Component\nexport function WorkloadSpinner({ workload }: WorkloadSpinnerProps) {\n // Track task state\n const [state, setState] = useState(workload.state());\n\n useEffect(() => {\n const sub = workload.state$.subscribe(setState);\n return sub.unsubscribe;\n }, [workload.state$]);\n\n // Render\n const dim = workload.type === 'spawn';\n const time = workload.duration().seconds() * 1000;\n\n\n switch (state) {\n case WorkloadState.Blocked:\n case WorkloadState.Ready:\n case WorkloadState.Starting:\n return (\n <Box>\n <Text color=\"grey\">{'\\u00B7'}</Text>\n <Box paddingLeft={1}>\n <WorkloadName color=\"grey\" wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Running:\n return (\n <Box>\n <Text dimColor={dim}>\n <Spinner />\n </Text>\n <Box paddingLeft={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Canceling:\n return (\n <Box>\n <Text dimColor={dim} color=\"grey\">\n <Spinner type=\"line2\" />\n </Text>\n <Box paddingLeft={1}>\n <WorkloadName dimColor={dim} color=\"grey\" wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Succeeded:\n return (\n <Box>\n <Text color=\"green\">{ symbols.success }</Text>\n <Box paddingLeft={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n\n case WorkloadState.Failed:\n return (\n <Box>\n <Text color=\"red\">{ symbols.error }</Text>\n <Box paddingLeft={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n\n case WorkloadState.Canceled:\n return (\n <Box>\n <Text dimColor>-</Text>\n <Box paddingLeft={1}>\n <WorkloadName dimColor wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n }\n}\n\nexport interface WorkloadSpinnerProps {\n readonly workload: Workload$;\n}\n","import { type Workload$, WorkloadState } from '@kyrielle/workload';\nimport { collect$, map$, off$, pipe$ } from 'kyrielle';\nimport { useEffect, useState } from 'react';\n\n// Hook\nexport function useScriptsStats(workloads: readonly Workload$[]) {\n const [stats, setStats] = useState(() => countScripts(workloads));\n\n useEffect(() => {\n let dirty = false;\n\n function recount() {\n if (!dirty) return;\n\n setStats(countScripts(workloads));\n dirty = false;\n }\n\n const off = pipe$(workloads,\n map$((wkl) => wkl.state$.subscribe(() => {\n dirty = true;\n queueMicrotask(recount);\n })),\n collect$(off$())\n );\n\n return () => {\n dirty = false;\n off.unsubscribe();\n };\n }, [workloads]);\n \n return stats;\n}\n\n// Utils\nfunction countScripts(workloads: readonly Workload$[]): Readonly<WorkloadsStats> {\n const stats: WorkloadsStats = {\n [WorkloadState.Ready]: 0,\n [WorkloadState.Blocked]: 0,\n [WorkloadState.Starting]: 0,\n [WorkloadState.Running]: 0,\n [WorkloadState.Succeeded]: 0,\n [WorkloadState.Failed]: 0,\n [WorkloadState.Canceling]: 0,\n [WorkloadState.Canceled]: 0,\n };\n\n for (const workload of workloads) {\n if (workload.type === 'script') {\n stats[workload.state()] += 1;\n }\n }\n\n return stats;\n}\n\n// Types\nexport type WorkloadsStats = Record<WorkloadState, number>;\n","import { WorkloadState } from '@kyrielle/workload';\nimport { Text, type TextProps } from 'ink';\nimport Spinner from 'ink-spinner';\nimport { useMemo } from 'react';\nimport { useScriptsStats } from '../hooks/useScriptsStats.js';\nimport type { FlatJobTreeItem } from '../trees/flat-job-tree.js';\nimport * as symbols from '../utils/symbols.js';\n\n// Component\nexport function WorkloadTreeStats({ tree, ...rest }: WorkloadTreeStatsProps) {\n const workloads = useMemo(() => tree.map((item) => item.workload), [tree]);\n const stats = useScriptsStats(workloads);\n\n // Render\n const running = stats[WorkloadState.Running] + stats[WorkloadState.Starting] + stats[WorkloadState.Canceling];\n const done = stats[WorkloadState.Succeeded];\n const failed = stats[WorkloadState.Failed];\n const canceled = stats[WorkloadState.Canceled];\n\n return (\n <Text {...rest}>\n { (running > 0) && (\n <><Spinner type=\"sand\" /> <Text bold>{ running }</Text> running</>\n ) }\n { (running > 0 && done > 0) && ', ' }\n { (done > 0) && (\n <Text color=\"green\">{ symbols.success } { done } done</Text>\n ) }\n { (running + done > 0 && failed > 0) && ', ' }\n { (failed > 0) && (\n <Text color=\"red\">{ symbols.error } { failed } failed</Text>\n ) }\n { (running + done + failed > 0 && canceled > 0) && ', ' }\n { (canceled > 0) && (\n <Text dimColor>- { canceled } canceled</Text>\n ) }\n </Text>\n );\n}\n\nexport interface WorkloadTreeStatsProps extends Omit<TextProps, 'children'> {\n readonly tree: readonly FlatJobTreeItem[];\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box, Static } from 'ink';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeCompleted({ workload, verbose }: WorkloadTreeCompletedProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Render\n return (\n <>\n <Static items={tree}>\n { ({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n ) }\n </Static>\n <WorkloadTreeStats tree={tree} />\n </>\n );\n}\n\nexport interface WorkloadTreeCompletedProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box } from 'ink';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeFullSpinner({ workload, verbose }: WorkloadTreeFullSpinnerProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Render\n return (\n <>\n <Box flexDirection=\"column\">\n { tree.map(({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n )) }\n </Box>\n <WorkloadTreeStats tree={tree} />\n </>\n );\n}\n\nexport interface WorkloadTreeFullSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import { useStdout } from 'ink';\nimport { useEffect, useState } from 'react';\n\nexport function useStdoutDimensions() {\n const { stdout } = useStdout();\n const [dimensions, setDimensions] = useState({\n columns: stdout.columns ?? Infinity,\n rows: stdout.rows ?? Infinity,\n });\n\n useEffect(() => {\n const updateDimensions = () => setDimensions({\n columns: stdout.columns ?? Infinity,\n rows: stdout.rows ?? Infinity,\n });\n\n stdout.on('resize', updateDimensions);\n\n return () => {\n stdout.off('resize', updateDimensions);\n };\n }, [stdout]);\n\n return dimensions;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box, Text, useInput } from 'ink';\nimport { useState } from 'react';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { useStdoutDimensions } from '../hooks/useStdoutDimensions.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeScrollableSpinner({ workload, verbose }: WorkloadTreeScrollableSpinnerProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Manage scroll\n const { rows: termRows } = useStdoutDimensions();\n const [scroll, setScroll] = useState(0);\n\n const maxRows = Math.min(termRows - 4, tree.length);\n const firstIndex = Math.max(0, tree.length - scroll - maxRows);\n const lastIndex = Math.min(tree.length, firstIndex + maxRows);\n const effectiveScroll = tree.length - lastIndex;\n\n useInput((_, key) => {\n if (key.upArrow) {\n setScroll(Math.min(tree.length - maxRows, effectiveScroll + 1));\n } else {\n setScroll(Math.max(0, effectiveScroll - 1));\n }\n });\n\n // Render\n const slice = tree.slice(firstIndex, lastIndex);\n\n return (\n <>\n <Box flexDirection=\"column\">\n { slice.map(({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n )) }\n </Box>\n <Text>\n <WorkloadTreeStats tree={tree} />\n { (termRows < tree.length) && (<Text color=\"grey\"> | use keyboard arrows to scroll</Text>) }\n </Text>\n </>\n );\n}\n\nexport interface WorkloadTreeScrollableSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { useStdin } from 'ink';\nimport { WorkloadTreeFullSpinner } from './WorkloadTreeFullSpinner.jsx';\nimport { WorkloadTreeScrollableSpinner } from './WorkloadTreeScrollableSpinner.jsx';\n\n// Component\nexport function WorkloadTreeSpinner({ workload, verbose }: WorkloadTreeSpinnerProps) {\n const stdin = useStdin();\n\n if (stdin.isRawModeSupported) {\n return <WorkloadTreeScrollableSpinner workload={workload} verbose={verbose} />;\n } else {\n return <WorkloadTreeFullSpinner workload={workload} verbose={verbose} />;\n }\n}\n\nexport interface WorkloadTreeSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import { inject$ } from '@kyrielle/injector';\nimport { isWorkloadEnded, type Job$, WorkloadState } from '@kyrielle/workload';\nimport { filter$, pipe$, waitFor$ } from 'kyrielle';\nimport process from 'node:process';\nimport { WorkloadTreeCompleted } from '../components/WorkloadTreeCompleted.jsx';\nimport { WorkloadTreeSpinner } from '../components/WorkloadTreeSpinner.jsx';\nimport { SCHEDULER } from '../tokens.js';\nimport { inked } from './inked.jsx';\n\nexport const JobCommandExecuteInk = inked(async function* ({ job, verbose }: JobExecInkProps) {\n const scheduler = await inject$(SCHEDULER);\n\n yield <WorkloadTreeSpinner workload={job} verbose={verbose} />;\n scheduler.register(job);\n\n const outcome = await waitFor$(pipe$(job.state$, filter$(isWorkloadEnded)));\n yield <WorkloadTreeCompleted workload={job} verbose={verbose} />;\n\n if (outcome !== WorkloadState.Succeeded) {\n process.exitCode = 1;\n }\n});\n\n// Types\nexport interface JobExecInkProps {\n readonly job: Job$;\n readonly verbose?: boolean;\n}\n"],"names":["off$","subscriptions","store","Set","unsubscribe","sub","clear","Symbol","dispose","for","add","useState","useMemo","useLayoutEffect","useContext","useEffect","useFlatJobTree","workload","verbose","tree","setTree","flatJobTree","oldHash","hashTree","dirty","update","updated","off","pipe$","map$","state$","subscribe","queueMicrotask","collect$","hash","createHash","id","digest","isUnicodeSupported","env","process","TERM","TERM_PROGRAM","platform","Boolean","WT_SESSION","TERMINUS_SUBLIME","ConEmuTask","TERMINAL_EMULATOR","isSupported","success","error","WorkloadName","withWorkspace","rest","isScriptWorkflow","_jsxs","Text","_jsx","bold","script","_Fragment","workspace","name","label","type","capitalize","WorkloadSpinner","state","setState","dim","time","duration","seconds","WorkloadState","Blocked","Ready","Starting","Box","color","paddingLeft","wrap","Running","dimColor","Spinner","Canceling","Succeeded","symbols","flexShrink","ms","Failed","Canceled","useScriptsStats","workloads","stats","setStats","countScripts","recount","wkl","WorkloadTreeStats","map","item","running","done","failed","canceled","WorkloadTreeCompleted","Static","items","level","marginLeft","WorkloadTreeFullSpinner","flexDirection","useStdoutDimensions","stdout","useStdout","dimensions","setDimensions","columns","Infinity","rows","updateDimensions","on","WorkloadTreeScrollableSpinner","termRows","scroll","setScroll","maxRows","Math","min","length","firstIndex","max","lastIndex","effectiveScroll","useInput","_","key","upArrow","slice","WorkloadTreeSpinner","stdin","useStdin","isRawModeSupported","JobCommandExecuteInk","inked","job","scheduler","inject$","SCHEDULER","register","outcome","waitFor$","filter$","isWorkloadEnded","exitCode"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,6]}
|
|
1
|
+
{"version":3,"file":"job-command-execute.ink.js","sources":["../node_modules/kyrielle/dist/off$.js","../node_modules/ink/build/hooks/use-stdin.js","../node_modules/ink/build/hooks/use-input.js","../node_modules/ink/build/hooks/use-stdout.js","../src/hooks/useFlatJobTree.ts","../node_modules/is-unicode-supported/index.js","../src/utils/symbols.ts","../src/components/WorkloadName.tsx","../src/components/WorkloadSpinner.tsx","../src/hooks/useScriptsStats.ts","../src/components/WorkloadTreeStats.tsx","../src/components/WorkloadTreeFullSpinner.tsx","../src/hooks/useStdoutDimensions.ts","../src/components/WorkloadTreeScrollableSpinner.tsx","../src/components/WorkloadTreeSpinner.tsx","../src/wrappers/job-command-execute.ink.tsx"],"sourcesContent":["/**\n * Builds a subscription group\n *\n * @since 1.0.0\n */ export function off$(...subscriptions) {\n const store = new Set(subscriptions);\n function unsubscribe() {\n for (const sub of store){\n sub.unsubscribe();\n }\n store.clear();\n }\n return {\n [Symbol.dispose ?? Symbol.for('Symbol.dispose')]: unsubscribe,\n unsubscribe,\n add: (...subscriptions)=>{\n for (const sub of subscriptions){\n store.add(sub);\n }\n }\n };\n}\n\n//# sourceMappingURL=off$.js.map","import { useContext } from 'react';\nimport StdinContext from '../components/StdinContext.js';\n/**\n`useStdin` is a React hook that exposes the stdin stream.\n*/\nconst useStdin = () => useContext(StdinContext);\nexport default useStdin;\n//# sourceMappingURL=use-stdin.js.map","import { useEffect } from 'react';\nimport parseKeypress, { nonAlphanumericKeys } from '../parse-keypress.js';\nimport reconciler from '../reconciler.js';\nimport useStdin from './use-stdin.js';\n/**\nThis hook is used for handling user input. It's a more convenient alternative to using `StdinContext` and listening for `data` events. The callback you pass to `useInput` is called for each character when the user enters any input. However, if the user pastes text and it's more than one character, the callback will be called only once, and the whole string will be passed as `input`.\n\n```\nimport {useInput} from 'ink';\n\nconst UserInput = () => {\n useInput((input, key) => {\n if (input === 'q') {\n // Exit program\n }\n\n if (key.leftArrow) {\n // Left arrow key pressed\n }\n });\n\n return …\n};\n```\n*/\nconst useInput = (inputHandler, options = {}) => {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const { stdin, setRawMode, internal_exitOnCtrlC, internal_eventEmitter } = useStdin();\n useEffect(() => {\n if (options.isActive === false) {\n return;\n }\n setRawMode(true);\n return () => {\n setRawMode(false);\n };\n }, [options.isActive, setRawMode]);\n useEffect(() => {\n if (options.isActive === false) {\n return;\n }\n const handleData = (data) => {\n const keypress = parseKeypress(data);\n const key = {\n upArrow: keypress.name === 'up',\n downArrow: keypress.name === 'down',\n leftArrow: keypress.name === 'left',\n rightArrow: keypress.name === 'right',\n pageDown: keypress.name === 'pagedown',\n pageUp: keypress.name === 'pageup',\n home: keypress.name === 'home',\n end: keypress.name === 'end',\n return: keypress.name === 'return',\n escape: keypress.name === 'escape',\n ctrl: keypress.ctrl,\n shift: keypress.shift,\n tab: keypress.name === 'tab',\n backspace: keypress.name === 'backspace',\n delete: keypress.name === 'delete',\n // `parseKeypress` parses \\u001B\\u001B[A (meta + up arrow) as meta = false\n // but with option = true, so we need to take this into account here\n // to avoid breaking changes in Ink.\n // TODO(vadimdemedes): consider removing this in the next major version.\n meta: keypress.meta || keypress.name === 'escape' || keypress.option,\n };\n let input = keypress.ctrl ? keypress.name : keypress.sequence;\n if (nonAlphanumericKeys.includes(keypress.name)) {\n input = '';\n }\n // Strip meta if it's still remaining after `parseKeypress`\n // TODO(vadimdemedes): remove this in the next major version.\n if (input.startsWith('\\u001B')) {\n input = input.slice(1);\n }\n if (input.length === 1 &&\n typeof input[0] === 'string' &&\n /[A-Z]/.test(input[0])) {\n key.shift = true;\n }\n // If app is not supposed to exit on Ctrl+C, then let input listener handle it\n if (!(input === 'c' && key.ctrl) || !internal_exitOnCtrlC) {\n // @ts-expect-error TypeScript types for `batchedUpdates` require an argument, but React's codebase doesn't provide it and it works without it as expected.\n reconciler.batchedUpdates(() => {\n inputHandler(input, key);\n });\n }\n };\n internal_eventEmitter?.on('input', handleData);\n return () => {\n internal_eventEmitter?.removeListener('input', handleData);\n };\n }, [options.isActive, stdin, internal_exitOnCtrlC, inputHandler]);\n};\nexport default useInput;\n//# sourceMappingURL=use-input.js.map","import { useContext } from 'react';\nimport StdoutContext from '../components/StdoutContext.js';\n/**\n`useStdout` is a React hook that exposes the stdout stream where Ink renders your app.\n*/\nconst useStdout = () => useContext(StdoutContext);\nexport default useStdout;\n//# sourceMappingURL=use-stdout.js.map","import { type Workload$ } from '@kyrielle/workload';\nimport { collect$, map$, off$, pipe$ } from 'kyrielle';\nimport { createHash } from 'node:crypto';\nimport { useEffect, useState } from 'react';\nimport { flatJobTree, type FlatJobTreeItem } from '../trees/flat-job-tree.js';\n\n// Hook\nexport function useFlatJobTree(workload: Workload$, verbose?: boolean): FlatJobTreeItem[] {\n const [tree, setTree] = useState<FlatJobTreeItem[]>(() => flatJobTree(workload, verbose));\n\n useEffect(() => {\n const oldHash = hashTree(tree);\n let dirty = false;\n\n function update() {\n if (!dirty) return;\n\n const updated = flatJobTree(workload, verbose);\n if (hashTree(updated) !== oldHash) {\n setTree(updated);\n }\n\n dirty = false;\n }\n\n const off = pipe$(tree,\n map$(({ workload }) => workload.state$.subscribe(() => {\n dirty = true;\n queueMicrotask(update);\n })),\n collect$(off$())\n );\n\n return () => {\n dirty = false;\n off.unsubscribe();\n };\n }, [tree, verbose, workload]);\n \n return tree;\n}\n\n// Utils\nfunction hashTree(tree: FlatJobTreeItem[]) {\n const hash = createHash('sha256');\n\n for (const { workload } of tree) {\n hash.update(workload.id);\n }\n\n return hash.digest('hex');\n}\n","import process from 'node:process';\n\nexport default function isUnicodeSupported() {\n\tconst {env} = process;\n\tconst {TERM, TERM_PROGRAM} = env;\n\n\tif (process.platform !== 'win32') {\n\t\treturn TERM !== 'linux'; // Linux console (kernel)\n\t}\n\n\treturn Boolean(env.WT_SESSION) // Windows Terminal\n\t\t|| Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27)\n\t\t|| env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder\n\t\t|| TERM_PROGRAM === 'Terminus-Sublime'\n\t\t|| TERM_PROGRAM === 'vscode'\n\t\t|| TERM === 'xterm-256color'\n\t\t|| TERM === 'alacritty'\n\t\t|| TERM === 'rxvt-unicode'\n\t\t|| TERM === 'rxvt-unicode-256color'\n\t\t|| env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';\n}\n","import isUnicodeSupported from 'is-unicode-supported';\n\nconst isSupported = !isUnicodeSupported();\n\nexport const success = isSupported ? '✔' : '✓';\nexport const error = isSupported ? '✖' : '×';\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Text, type TextProps } from 'ink';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport { capitalize } from '../utils/string.js';\n\n// Component\nexport function WorkloadName({ workload, withWorkspace, ...rest }: WorkloadNameProps) {\n if (isScriptWorkflow(workload)) {\n return (\n <Text {...rest}>\n Run <Text bold>{ workload.script }</Text> script{ withWorkspace && <>{' '}in {workload.workspace.name}</>}\n </Text>\n );\n }\n\n let name = workload.label;\n\n if (workload.type !== 'spawn') {\n name = capitalize(name);\n }\n\n return <Text {...rest}>{ name }</Text>;\n}\n\nexport interface WorkloadNameProps extends Omit<TextProps, 'children'> {\n readonly workload: Workload$;\n readonly withWorkspace?: boolean;\n}\n","import { type Workload$, WorkloadState } from '@kyrielle/workload';\nimport { Box, Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport ms from 'pretty-ms';\nimport { useEffect, useState } from 'react';\nimport * as symbols from '../utils/symbols.js';\nimport { WorkloadName } from './WorkloadName.jsx';\n\n// Component\nexport function WorkloadSpinner({ workload }: WorkloadSpinnerProps) {\n // Track task state\n const [state, setState] = useState(workload.state());\n\n useEffect(() => {\n const sub = workload.state$.subscribe(setState);\n return sub.unsubscribe;\n }, [workload.state$]);\n\n // Render\n const dim = workload.type === 'spawn';\n const time = workload.duration().seconds() * 1000;\n\n switch (state) {\n case WorkloadState.Blocked:\n case WorkloadState.Ready:\n case WorkloadState.Starting:\n return (\n <Box overflow=\"hidden\">\n <Text color=\"grey\">{'\\u00B7'}</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName color=\"grey\" wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Running:\n return (\n <Box overflow=\"hidden\">\n <Text dimColor={dim}>\n <Spinner />\n </Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Canceling:\n return (\n <Box overflow=\"hidden\">\n <Text dimColor={dim} color=\"grey\">\n <Spinner type=\"line2\" />\n </Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName color=\"grey\" dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n </Box>\n );\n\n case WorkloadState.Succeeded:\n return (\n <Box overflow=\"hidden\">\n <Text color=\"green\">{ symbols.success }</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n\n case WorkloadState.Failed:\n return (\n <Box overflow=\"hidden\">\n <Text color=\"red\">{ symbols.error }</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor={dim} wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n\n case WorkloadState.Canceled:\n return (\n <Box overflow=\"hidden\">\n <Text dimColor>-</Text>\n <Box paddingLeft={1} flexGrow={1}>\n <WorkloadName dimColor wrap=\"truncate\" workload={workload} withWorkspace />\n </Box>\n <Box paddingLeft={1} flexShrink={0}>\n <Text color={dim ? 'grey' : 'dim'}>(took {ms(time)})</Text>\n </Box>\n </Box>\n );\n }\n}\n\nexport interface WorkloadSpinnerProps {\n readonly workload: Workload$;\n}\n","import { type Workload$, WorkloadState } from '@kyrielle/workload';\nimport { collect$, map$, off$, pipe$ } from 'kyrielle';\nimport { useEffect, useState } from 'react';\n\n// Hook\nexport function useScriptsStats(workloads: readonly Workload$[]) {\n const [stats, setStats] = useState(() => countScripts(workloads));\n\n useEffect(() => {\n let dirty = false;\n\n function recount() {\n if (!dirty) return;\n\n setStats(countScripts(workloads));\n dirty = false;\n }\n\n const off = pipe$(workloads,\n map$((wkl) => wkl.state$.subscribe(() => {\n dirty = true;\n queueMicrotask(recount);\n })),\n collect$(off$())\n );\n\n return () => {\n dirty = false;\n off.unsubscribe();\n };\n }, [workloads]);\n \n return stats;\n}\n\n// Utils\nfunction countScripts(workloads: readonly Workload$[]): Readonly<WorkloadsStats> {\n const stats: WorkloadsStats = {\n [WorkloadState.Ready]: 0,\n [WorkloadState.Blocked]: 0,\n [WorkloadState.Starting]: 0,\n [WorkloadState.Running]: 0,\n [WorkloadState.Succeeded]: 0,\n [WorkloadState.Failed]: 0,\n [WorkloadState.Canceling]: 0,\n [WorkloadState.Canceled]: 0,\n };\n\n for (const workload of workloads) {\n if (workload.type === 'script') {\n stats[workload.state()] += 1;\n }\n }\n\n return stats;\n}\n\n// Types\nexport type WorkloadsStats = Record<WorkloadState, number>;\n","import { WorkloadState } from '@kyrielle/workload';\nimport { Text, type TextProps } from 'ink';\nimport Spinner from 'ink-spinner';\nimport { useMemo } from 'react';\nimport { useScriptsStats } from '../hooks/useScriptsStats.js';\nimport type { FlatJobTreeItem } from '../trees/flat-job-tree.js';\nimport * as symbols from '../utils/symbols.js';\n\n// Component\nexport function WorkloadTreeStats({ tree, ...rest }: WorkloadTreeStatsProps) {\n const workloads = useMemo(() => tree.map((item) => item.workload), [tree]);\n const stats = useScriptsStats(workloads);\n\n // Render\n const running = stats[WorkloadState.Running] + stats[WorkloadState.Starting] + stats[WorkloadState.Canceling];\n const done = stats[WorkloadState.Succeeded];\n const failed = stats[WorkloadState.Failed];\n const canceled = stats[WorkloadState.Canceled];\n\n return (\n <Text {...rest}>\n { (running > 0) && (\n <><Spinner type=\"sand\" /> <Text bold>{ running }</Text> running</>\n ) }\n { (running > 0 && done > 0) && ', ' }\n { (done > 0) && (\n <Text color=\"green\">{ symbols.success } { done } done</Text>\n ) }\n { (running + done > 0 && failed > 0) && ', ' }\n { (failed > 0) && (\n <Text color=\"red\">{ symbols.error } { failed } failed</Text>\n ) }\n { (running + done + failed > 0 && canceled > 0) && ', ' }\n { (canceled > 0) && (\n <Text dimColor>- { canceled } canceled</Text>\n ) }\n </Text>\n );\n}\n\nexport interface WorkloadTreeStatsProps extends Omit<TextProps, 'children'> {\n readonly tree: readonly FlatJobTreeItem[];\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box } from 'ink';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeFullSpinner({ workload, verbose }: WorkloadTreeFullSpinnerProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Render\n return (\n <>\n <Box flexDirection=\"column\">\n { tree.map(({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n )) }\n </Box>\n <WorkloadTreeStats tree={tree} />\n </>\n );\n}\n\nexport interface WorkloadTreeFullSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import { useStdout } from 'ink';\nimport { useEffect, useState } from 'react';\n\nexport function useStdoutDimensions() {\n const { stdout } = useStdout();\n const [dimensions, setDimensions] = useState({\n columns: stdout.columns ?? Infinity,\n rows: stdout.rows ?? Infinity,\n });\n\n useEffect(() => {\n const updateDimensions = () => setDimensions({\n columns: stdout.columns ?? Infinity,\n rows: stdout.rows ?? Infinity,\n });\n\n stdout.on('resize', updateDimensions);\n\n return () => {\n stdout.off('resize', updateDimensions);\n };\n }, [stdout]);\n\n return dimensions;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { Box, Text, useInput } from 'ink';\nimport { useState } from 'react';\nimport { useFlatJobTree } from '../hooks/useFlatJobTree.js';\nimport { useStdoutDimensions } from '../hooks/useStdoutDimensions.js';\nimport { WorkloadSpinner } from './WorkloadSpinner.jsx';\nimport { WorkloadTreeStats } from './WorkloadTreeStats.jsx';\n\n// Component\nexport function WorkloadTreeScrollableSpinner({ workload, verbose }: WorkloadTreeScrollableSpinnerProps) {\n const tree = useFlatJobTree(workload, verbose);\n\n // Manage scroll\n const { rows: termRows } = useStdoutDimensions();\n const [scroll, setScroll] = useState(0);\n\n const maxRows = Math.min(termRows - 4, tree.length);\n const firstIndex = Math.max(0, tree.length - scroll - maxRows);\n const lastIndex = Math.min(tree.length, firstIndex + maxRows);\n const effectiveScroll = tree.length - lastIndex;\n\n useInput((_, key) => {\n if (key.upArrow) {\n setScroll(Math.min(tree.length - maxRows, effectiveScroll + 1));\n } else {\n setScroll(Math.max(0, effectiveScroll - 1));\n }\n });\n\n // Render\n const slice = tree.slice(firstIndex, lastIndex);\n\n return (\n <>\n <Box flexDirection=\"column\">\n { slice.map(({ workload, level }) => (\n <Box key={workload.id} marginLeft={level * 2} flexShrink={0}>\n <WorkloadSpinner workload={workload} />\n </Box>\n )) }\n </Box>\n <Text>\n <WorkloadTreeStats tree={tree} />\n { (termRows < tree.length) && (<Text color=\"grey\"> | use keyboard arrows to scroll</Text>) }\n </Text>\n </>\n );\n}\n\nexport interface WorkloadTreeScrollableSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport { useStdin } from 'ink';\nimport { WorkloadTreeFullSpinner } from './WorkloadTreeFullSpinner.jsx';\nimport { WorkloadTreeScrollableSpinner } from './WorkloadTreeScrollableSpinner.jsx';\n\n// Component\nexport function WorkloadTreeSpinner({ workload, verbose }: WorkloadTreeSpinnerProps) {\n const stdin = useStdin();\n\n if (stdin.isRawModeSupported) {\n return <WorkloadTreeScrollableSpinner workload={workload} verbose={verbose} />;\n } else {\n return <WorkloadTreeFullSpinner workload={workload} verbose={verbose} />;\n }\n}\n\nexport interface WorkloadTreeSpinnerProps {\n readonly workload: Workload$;\n readonly verbose?: boolean;\n}\n","import { inject$ } from '@kyrielle/injector';\nimport { isWorkloadEnded, type Job$, WorkloadState } from '@kyrielle/workload';\nimport { filter$, pipe$, waitFor$ } from 'kyrielle';\nimport process from 'node:process';\nimport { WorkloadTreeFullSpinner } from '../components/WorkloadTreeFullSpinner.jsx';\nimport { WorkloadTreeSpinner } from '../components/WorkloadTreeSpinner.jsx';\nimport { SCHEDULER } from '../tokens.js';\nimport { inked } from './inked.jsx';\n\nexport const JobCommandExecuteInk = inked(async function* ({ job, verbose }: JobExecInkProps) {\n const scheduler = await inject$(SCHEDULER);\n\n yield <WorkloadTreeSpinner workload={job} verbose={verbose} />;\n scheduler.register(job);\n\n const outcome = await waitFor$(pipe$(job.state$, filter$(isWorkloadEnded)));\n yield <WorkloadTreeFullSpinner workload={job} verbose={verbose} />;\n\n if (outcome !== WorkloadState.Succeeded) {\n process.exitCode = 1;\n }\n});\n\n// Types\nexport interface JobExecInkProps {\n readonly job: Job$;\n readonly verbose?: boolean;\n}\n"],"names":["off$","subscriptions","store","Set","unsubscribe","sub","clear","Symbol","dispose","for","add","useContext","useEffect","useFlatJobTree","workload","verbose","tree","setTree","useState","flatJobTree","oldHash","hashTree","dirty","update","updated","off","pipe$","map$","state$","subscribe","queueMicrotask","collect$","hash","createHash","id","digest","isUnicodeSupported","env","process","TERM","TERM_PROGRAM","platform","Boolean","WT_SESSION","TERMINUS_SUBLIME","ConEmuTask","TERMINAL_EMULATOR","isSupported","success","error","WorkloadName","withWorkspace","rest","isScriptWorkflow","_jsxs","Text","_jsx","bold","script","_Fragment","workspace","name","label","type","capitalize","WorkloadSpinner","state","setState","dim","time","duration","seconds","WorkloadState","Blocked","Ready","Starting","Box","overflow","color","paddingLeft","flexGrow","wrap","Running","dimColor","Spinner","Canceling","Succeeded","symbols","flexShrink","ms","Failed","Canceled","useScriptsStats","workloads","stats","setStats","countScripts","recount","wkl","WorkloadTreeStats","useMemo","map","item","running","done","failed","canceled","WorkloadTreeFullSpinner","flexDirection","level","marginLeft","useStdoutDimensions","stdout","useStdout","dimensions","setDimensions","columns","Infinity","rows","updateDimensions","on","WorkloadTreeScrollableSpinner","termRows","scroll","setScroll","maxRows","Math","min","length","firstIndex","max","lastIndex","effectiveScroll","useInput","_","key","upArrow","slice","WorkloadTreeSpinner","stdin","useStdin","isRawModeSupported","JobCommandExecuteInk","inked","job","scheduler","inject$","SCHEDULER","register","outcome","waitFor$","filter$","isWorkloadEnded","exitCode"],"mappings":"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","x_google_ignoreList":[0,1,2,3,5]}
|
package/dist/job-plan.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e64a6883-37f8-4f03-82ec-a887f89d066d",e._sentryDebugIdIdentifier="sentry-dbid-e64a6883-37f8-4f03-82ec-a887f89d066d");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { h as chalk, a as capitalize } from './main.js';
|
|
2
2
|
import { f as flatJobPlan } from './flat-job-plan.js';
|
|
3
3
|
import { i as isScriptWorkflow } from './flat-job-tree.js';
|
|
4
4
|
import '@sentry/node';
|
package/dist/job-plan.json.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="15b3d5f0-21a7-449a-971b-727ed4314094",e._sentryDebugIdIdentifier="sentry-dbid-15b3d5f0-21a7-449a-971b-727ed4314094");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { k as slugify, n as printJson } from './main.js';
|
|
2
2
|
import { f as flatJobPlan } from './flat-job-plan.js';
|
|
3
3
|
import { i as isScriptWorkflow } from './flat-job-tree.js';
|
|
4
4
|
import '@sentry/node';
|
package/dist/list.ink.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="de2d7151-56da-4152-8081-628d01c24c3e",e._sentryDebugIdIdentifier="sentry-dbid-de2d7151-56da-4152-8081-628d01c24c3e");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { i as inked, j as jsxRuntimeExports, B as Box, T as Text } from './inked.js';
|
|
2
2
|
import 'node:stream';
|
|
3
3
|
import 'node:process';
|
|
4
4
|
import 'node:events';
|
package/dist/main.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="036273e6-2a03-4b2f-8434-fb36a7afcd78",e._sentryDebugIdIdentifier="sentry-dbid-036273e6-2a03-4b2f-8434-fb36a7afcd78");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { startSpan, startInactiveSpan, getActiveSpan, updateSpanName, getRootSpan, captureException, flush } from '@sentry/node';
|
|
2
2
|
import process$1 from 'node:process';
|
|
3
3
|
import { hideBin } from 'yargs/helpers';
|
|
4
4
|
import path$1, { win32, posix } from 'node:path';
|
|
@@ -19000,7 +19000,7 @@ const command$1 = {
|
|
|
19000
19000
|
}
|
|
19001
19001
|
};
|
|
19002
19002
|
|
|
19003
|
-
var version = "3.0.
|
|
19003
|
+
var version = "3.0.6";
|
|
19004
19004
|
|
|
19005
19005
|
var ajv = {exports: {}};
|
|
19006
19006
|
|
package/dist/planner.service.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="9d83ca7a-9aae-4b72-8374-f22c109bb273",e._sentryDebugIdIdentifier="sentry-dbid-9d83ca7a-9aae-4b72-8374-f22c109bb273");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { _ } from '@swc/helpers/_/_apply_decs_2203_r';
|
|
2
2
|
import { t as trace, q as commandName, r as command, u as withPlan, i as inject$, x as LOGGER, y as withLabel, z as asyncScope$, C as CWD, A as ConfigService, p as pipe$, B as cliParser, v as var$, D as command$1, E as command$2, F as command$3, G as command$4, H as command$5, I as instrument } from './main.js';
|
|
3
3
|
import '@sentry/node';
|
|
4
4
|
import 'node:process';
|
package/dist/tree.ink.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
1
|
+
;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c1d1a200-a090-4094-a7c4-79388d6ed311",e._sentryDebugIdIdentifier="sentry-dbid-c1d1a200-a090-4094-a7c4-79388d6ed311");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { R as React, j as jsxRuntimeExports, T as Text, r as reactExports, i as inked } from './inked.js';
|
|
2
2
|
import 'node:stream';
|
|
3
3
|
import 'node:process';
|
|
4
4
|
import 'node:events';
|