@detergent-software/atk 8.0.0-dev.1 → 8.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/build/commands/_app.d.ts.map +1 -1
- package/build/commands/_app.js +2 -1
- package/build/commands/_app.js.map +1 -1
- package/build/components/Spinner.d.ts +5 -1
- package/build/components/Spinner.d.ts.map +1 -1
- package/build/components/Spinner.js +8 -1
- package/build/components/Spinner.js.map +1 -1
- package/build/lib/output.d.ts +8 -3
- package/build/lib/output.d.ts.map +1 -1
- package/build/lib/output.js +11 -4
- package/build/lib/output.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_app.d.ts","sourceRoot":"","sources":["../../src/commands/_app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"_app.d.ts","sourceRoot":"","sources":["../../src/commands/_app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AA8EvC,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,QAAQ,2CAyDhE"}
|
package/build/commands/_app.js
CHANGED
|
@@ -9,6 +9,7 @@ import Header from '../components/Header.js';
|
|
|
9
9
|
import NoticeBanner from '../components/NoticeBanner.js';
|
|
10
10
|
import UpdateBanner from '../components/UpdateBanner.js';
|
|
11
11
|
import { getNotices, subscribeNotices } from '../lib/notices.js';
|
|
12
|
+
import { renderJson } from '../lib/output.js';
|
|
12
13
|
import { getUpdateInfo } from '../lib/update-check.js';
|
|
13
14
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
14
15
|
const pkg = JSON.parse(readFileSync(join(__dirname, '..', '..', 'package.json'), 'utf8'));
|
|
@@ -40,7 +41,7 @@ class CommandErrorBoundary extends React.Component {
|
|
|
40
41
|
outcome: 'error',
|
|
41
42
|
stack: this.state.error.stack,
|
|
42
43
|
};
|
|
43
|
-
return (
|
|
44
|
+
return renderJson(payload);
|
|
44
45
|
}
|
|
45
46
|
return (_jsxs(Box, { flexDirection: 'column', gap: 1, children: [_jsx(ErrorView, { command: command, hint: hint, message: this.state.error.message }), _jsx(Text, { dimColor: true, children: "Re-run with --verbose for more details." })] }));
|
|
46
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_app.js","sourceRoot":"","sources":["../../src/commands/_app.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,SAAS,MAAM,4BAA4B,CAAC;AACnD,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAmB,MAAM,wBAAwB,CAAC;AAExE,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAEvF,CAAC;AAYF,MAAM,oBAAqB,SAAQ,KAAK,CAAC,SAAiD;IACxF,YAAY,KAAyB;QACnC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAY;QAC1C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,iBAAiB,CAAC,KAAY,EAAE,SAA0B;QACxD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACrB,kCAAkC;YAClC,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAEQ,MAAM;QACb,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAsD,CAAC;YAC9E,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAE1E,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,MAAM,OAAO,GAAG;oBACd,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO;oBACjC,OAAO,EAAE,OAAO;oBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK;iBAC9B,CAAC;gBACF,OAAO,
|
|
1
|
+
{"version":3,"file":"_app.js","sourceRoot":"","sources":["../../src/commands/_app.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,11 @@ interface SpinnerProps {
|
|
|
7
7
|
/**
|
|
8
8
|
* Loading indicator with a message. Wraps ink-spinner with
|
|
9
9
|
* consistent styling used across all commands.
|
|
10
|
+
*
|
|
11
|
+
* Renders nothing when stdout is not a terminal (piped, redirected, CI,
|
|
12
|
+
* agents): the animation frames would otherwise land in the captured output
|
|
13
|
+
* ahead of the command's result and break `--json` parsing.
|
|
10
14
|
*/
|
|
11
|
-
export default function Spinner({ color, message }: SpinnerProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export default function Spinner({ color, message }: SpinnerProps): import("react/jsx-runtime").JSX.Element | null;
|
|
12
16
|
export {};
|
|
13
17
|
//# sourceMappingURL=Spinner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../src/components/Spinner.tsx"],"names":[],"mappings":"AAGA,UAAU,YAAY;IACpB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../src/components/Spinner.tsx"],"names":[],"mappings":"AAGA,UAAU,YAAY;IACpB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAE,KAAe,EAAE,OAAO,EAAE,EAAE,YAAY,kDAYzE"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from 'ink';
|
|
2
|
+
import { Text, useStdout } from 'ink';
|
|
3
3
|
import InkSpinner from 'ink-spinner';
|
|
4
4
|
/**
|
|
5
5
|
* Loading indicator with a message. Wraps ink-spinner with
|
|
6
6
|
* consistent styling used across all commands.
|
|
7
|
+
*
|
|
8
|
+
* Renders nothing when stdout is not a terminal (piped, redirected, CI,
|
|
9
|
+
* agents): the animation frames would otherwise land in the captured output
|
|
10
|
+
* ahead of the command's result and break `--json` parsing.
|
|
7
11
|
*/
|
|
8
12
|
export default function Spinner({ color = 'green', message }) {
|
|
13
|
+
const { stdout } = useStdout();
|
|
14
|
+
if (!stdout.isTTY)
|
|
15
|
+
return null;
|
|
9
16
|
return (_jsxs(Text, { children: [_jsx(Text, { color: color, children: _jsx(InkSpinner, { type: 'dots' }) }), ' ', message] }));
|
|
10
17
|
}
|
|
11
18
|
//# sourceMappingURL=Spinner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../src/components/Spinner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../src/components/Spinner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,UAAU,MAAM,aAAa,CAAC;AASrC;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAE,KAAK,GAAG,OAAO,EAAE,OAAO,EAAgB;IACxE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAE/B,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,YAChB,KAAC,UAAU,IAAC,IAAI,EAAC,MAAM,GAAG,GACrB,EAAC,GAAG,EACV,OAAO,IACH,CACR,CAAC;AACJ,CAAC"}
|
package/build/lib/output.d.ts
CHANGED
|
@@ -3,10 +3,15 @@ export interface NonInteractiveState {
|
|
|
3
3
|
isTTY: boolean;
|
|
4
4
|
json: boolean;
|
|
5
5
|
}
|
|
6
|
+
/** Minimum width of the {@link renderJson} Box; wider when the JSON has longer lines. */
|
|
7
|
+
export declare const MIN_JSON_WIDTH = 9999;
|
|
6
8
|
/**
|
|
7
|
-
* Renders an arbitrary value as pretty-printed JSON wrapped in a
|
|
8
|
-
*
|
|
9
|
-
* parsers).
|
|
9
|
+
* Renders an arbitrary value as pretty-printed JSON wrapped in a Box wide
|
|
10
|
+
* enough that Ink never soft-wraps a line (a wrap inside a string literal
|
|
11
|
+
* corrupts downstream JSON parsers). The width is twice the longest line's
|
|
12
|
+
* UTF-16 length, an upper bound on its terminal width since no code unit is
|
|
13
|
+
* wider than two columns. Ink sizes its frame buffer from the terminal width,
|
|
14
|
+
* not this Box, so a wide Box costs nothing extra.
|
|
10
15
|
*/
|
|
11
16
|
export declare function renderJson(value: unknown): ReactElement;
|
|
12
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAS1C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAMD
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAS1C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAMD,yFAAyF;AACzF,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAQvD;AAMD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,mBAAmB,CAMxE"}
|
package/build/lib/output.js
CHANGED
|
@@ -4,13 +4,20 @@ import React from 'react';
|
|
|
4
4
|
// ---------------------------------------------------------------------------
|
|
5
5
|
// Hook
|
|
6
6
|
// ---------------------------------------------------------------------------
|
|
7
|
+
/** Minimum width of the {@link renderJson} Box; wider when the JSON has longer lines. */
|
|
8
|
+
export const MIN_JSON_WIDTH = 9999;
|
|
7
9
|
/**
|
|
8
|
-
* Renders an arbitrary value as pretty-printed JSON wrapped in a
|
|
9
|
-
*
|
|
10
|
-
* parsers).
|
|
10
|
+
* Renders an arbitrary value as pretty-printed JSON wrapped in a Box wide
|
|
11
|
+
* enough that Ink never soft-wraps a line (a wrap inside a string literal
|
|
12
|
+
* corrupts downstream JSON parsers). The width is twice the longest line's
|
|
13
|
+
* UTF-16 length, an upper bound on its terminal width since no code unit is
|
|
14
|
+
* wider than two columns. Ink sizes its frame buffer from the terminal width,
|
|
15
|
+
* not this Box, so a wide Box costs nothing extra.
|
|
11
16
|
*/
|
|
12
17
|
export function renderJson(value) {
|
|
13
|
-
|
|
18
|
+
const text = JSON.stringify(value, null, 2) ?? 'null';
|
|
19
|
+
const longest = text.split('\n').reduce((max, line) => Math.max(max, line.length), 0);
|
|
20
|
+
return (_jsx(Box, { width: Math.max(MIN_JSON_WIDTH, longest * 2 + 1), children: _jsx(Text, { children: text }) }));
|
|
14
21
|
}
|
|
15
22
|
// ---------------------------------------------------------------------------
|
|
16
23
|
// Render helpers
|
package/build/lib/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,yFAAyF;AACzF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,OAAO,CACL,KAAC,GAAG,IAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,YACnD,KAAC,IAAI,cAAE,IAAI,GAAQ,GACf,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAiB;IACjD,MAAM,EAAE,kBAAkB,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC1C,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,kBAAkB;QAC3B,IAAI,EAAE,QAAQ,IAAI,CAAC,kBAAkB;KACtC,CAAC;AACJ,CAAC"}
|