@msn-control/liftoff 0.3.4 → 0.4.1

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.
Files changed (65) hide show
  1. package/README.md +82 -32
  2. package/assets/locks/frontend/package-lock.json +2217 -0
  3. package/assets/locks/frontend/package.json +19 -0
  4. package/assets/locks/node-backend/package-lock.json +4352 -0
  5. package/assets/locks/node-backend/package.json +32 -0
  6. package/dist/args.d.ts +42 -1
  7. package/dist/args.js +170 -37
  8. package/dist/args.js.map +1 -1
  9. package/dist/catalogs.d.ts +10 -1
  10. package/dist/catalogs.js +89 -0
  11. package/dist/catalogs.js.map +1 -1
  12. package/dist/cli.js +11 -1
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands.d.ts +9 -0
  15. package/dist/commands.js +832 -227
  16. package/dist/commands.js.map +1 -1
  17. package/dist/file-system.js +89 -5
  18. package/dist/file-system.js.map +1 -1
  19. package/dist/framework-adapters.d.ts +18 -0
  20. package/dist/framework-adapters.js +115 -0
  21. package/dist/framework-adapters.js.map +1 -0
  22. package/dist/framework-validation.d.ts +8 -0
  23. package/dist/framework-validation.js +83 -0
  24. package/dist/framework-validation.js.map +1 -0
  25. package/dist/init-filesystem.d.ts +102 -0
  26. package/dist/init-filesystem.js +762 -0
  27. package/dist/init-filesystem.js.map +1 -0
  28. package/dist/interactive.d.ts +43 -2
  29. package/dist/interactive.js +202 -91
  30. package/dist/interactive.js.map +1 -1
  31. package/dist/npm-template-assets.d.ts +3 -0
  32. package/dist/npm-template-assets.js +32 -0
  33. package/dist/npm-template-assets.js.map +1 -0
  34. package/dist/planner.d.ts +5 -0
  35. package/dist/planner.js +87 -21
  36. package/dist/planner.js.map +1 -1
  37. package/dist/process-runner.d.ts +28 -0
  38. package/dist/process-runner.js +83 -0
  39. package/dist/process-runner.js.map +1 -0
  40. package/dist/project-dependencies.d.ts +30 -0
  41. package/dist/project-dependencies.js +164 -0
  42. package/dist/project-dependencies.js.map +1 -0
  43. package/dist/published-verifier.js +1 -1
  44. package/dist/published-verifier.js.map +1 -1
  45. package/dist/reconcile.js +4 -1
  46. package/dist/reconcile.js.map +1 -1
  47. package/dist/runtime.d.ts +2 -0
  48. package/dist/runtime.js +9 -0
  49. package/dist/runtime.js.map +1 -0
  50. package/dist/standard-templates.js +3 -30
  51. package/dist/standard-templates.js.map +1 -1
  52. package/dist/templates.d.ts +9 -1
  53. package/dist/templates.js +110 -46
  54. package/dist/templates.js.map +1 -1
  55. package/dist/terminal.d.ts +128 -0
  56. package/dist/terminal.js +598 -0
  57. package/dist/terminal.js.map +1 -0
  58. package/dist/types.d.ts +38 -1
  59. package/dist/workstation-catalog.d.ts +20 -0
  60. package/dist/workstation-catalog.js +122 -0
  61. package/dist/workstation-catalog.js.map +1 -0
  62. package/dist/workstation.d.ts +76 -0
  63. package/dist/workstation.js +461 -0
  64. package/dist/workstation.js.map +1 -0
  65. package/package.json +8 -2
@@ -0,0 +1,128 @@
1
+ export type TerminalLayout = 'full' | 'compact' | 'plain';
2
+ export type StatusKind = 'success' | 'info' | 'warning' | 'error' | 'pending';
3
+ export type SemanticColor = 'brand' | 'info' | 'success' | 'warning' | 'error' | 'pending' | 'command' | 'metadata';
4
+ export interface TerminalRendererOptions {
5
+ stream: NodeJS.WritableStream;
6
+ columns?: number;
7
+ color?: boolean;
8
+ snapshot?: boolean;
9
+ json?: boolean;
10
+ env?: NodeJS.ProcessEnv;
11
+ layout?: TerminalLayout;
12
+ normalize?: (value: string) => string;
13
+ }
14
+ export interface PresentationSessionOptions {
15
+ stdout: NodeJS.WritableStream;
16
+ stderr: NodeJS.WritableStream;
17
+ columns?: number;
18
+ color?: boolean;
19
+ snapshot?: boolean;
20
+ json?: boolean;
21
+ env?: NodeJS.ProcessEnv;
22
+ layout?: TerminalLayout;
23
+ normalize?: (value: string) => string;
24
+ }
25
+ export interface DefinitionItem {
26
+ label: string;
27
+ value: string;
28
+ }
29
+ export interface ChoiceItem {
30
+ label: string;
31
+ value?: string;
32
+ disabled?: boolean;
33
+ default?: boolean;
34
+ selected?: boolean;
35
+ }
36
+ export declare const TERMINAL_LAYOUT: {
37
+ readonly compactColumns: 64;
38
+ readonly fullColumns: 96;
39
+ readonly maximumContentColumns: 92;
40
+ readonly minimumColumns: 20;
41
+ readonly indent: 2;
42
+ readonly sectionSpacing: 1;
43
+ };
44
+ export declare const TERMINAL_GLYPHS: {
45
+ readonly topLeft: '┌';
46
+ readonly topRight: '┐';
47
+ readonly bottomLeft: '└';
48
+ readonly bottomRight: '┘';
49
+ readonly horizontal: '─';
50
+ readonly vertical: '│';
51
+ readonly leftJunction: '├';
52
+ readonly rightJunction: '┤';
53
+ readonly bullet: '•';
54
+ readonly choice: '›';
55
+ readonly selected: '●';
56
+ readonly unselected: '○';
57
+ };
58
+ export declare const LIFTOFF_WORDMARK: readonly ['██╗ ██╗███████╗████████╗ ██████╗ ███████╗███████╗', '██║ ██║██╔════╝╚══██╔══╝██╔═══██╗██╔════╝██╔════╝', '██║ ██║█████╗ ██║ ██║ ██║█████╗ █████╗', '██║ ██║██╔══╝ ██║ ██║ ██║██╔══╝ ██╔══╝', '███████╗██║██║ ██║ ╚██████╔╝██║ ██║', '╚══════╝╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝'];
59
+ export declare const LIFTOFF_COMPACT_WORDMARK: readonly ['╻ ╻┏━╸╺┳╸┏━┓┏━╸┏━╸', '┃ ┃┣╸ ┃ ┃ ┃┣╸ ┣╸', '┗━╸╹╹ ╹ ┗━┛╹ ╹'];
60
+ export declare function stripAnsi(value: string): string;
61
+ export declare function visibleLength(value: string): number;
62
+ export declare function padVisible(value: string, width: number): string;
63
+ export declare function wrapVisible(value: string, width: number, breakLongWords?: boolean): string[];
64
+ export declare class TerminalRenderer {
65
+ private readonly options;
66
+ readonly columns: number;
67
+ readonly layout: TerminalLayout;
68
+ readonly colorEnabled: boolean;
69
+ readonly jsonMode: boolean;
70
+ private readonly colors;
71
+ constructor(options: TerminalRendererOptions);
72
+ write(value: string): void;
73
+ json(value: unknown): string;
74
+ style(kind: SemanticColor, value: string): string;
75
+ private contentWidth;
76
+ private normalize;
77
+ banner(subtitle?: string): string;
78
+ commandIdentity(command: string, description: string): string;
79
+ heading(value: string): string;
80
+ stage(value: string, detail?: string): string;
81
+ panel(title: string, lines: string[]): string;
82
+ section(title: string, lines: string[]): string;
83
+ definitionList(title: string, items: readonly DefinitionItem[]): string;
84
+ bulletList(title: string, items: readonly string[]): string;
85
+ choiceList(title: string, choices: readonly ChoiceItem[]): string;
86
+ table(headers: readonly string[], rows: readonly (readonly string[])[]): string;
87
+ tableSection(title: string, headers: readonly string[], rows: readonly (readonly string[])[]): string;
88
+ status(kind: StatusKind, label: string, detail?: string): string;
89
+ command(value: string): string;
90
+ prompt(label: string, defaultValue?: string): string;
91
+ promptContext(label: string, detail?: string): string;
92
+ remedy(value: string): string;
93
+ compactError(message: string, remedy?: string): string;
94
+ warning(value: string): string;
95
+ error(value: string, remedy?: string): string;
96
+ cancellation(value: string): string;
97
+ completion(label: string, detail?: string, items?: readonly DefinitionItem[], nextCommand?: string): string;
98
+ confirmation(value: string): string;
99
+ }
100
+ export declare class PresentationSession {
101
+ readonly stdout: TerminalRenderer;
102
+ readonly stderr: TerminalRenderer;
103
+ private readonly stdoutStream;
104
+ private readonly stderrStream;
105
+ constructor(options: PresentationSessionOptions);
106
+ identity(subtitle: string): void;
107
+ commandIdentity(command: string, description: string): void;
108
+ stage(title: string, detail?: string): void;
109
+ section(title: string, lines: string[]): void;
110
+ definitions(title: string, items: readonly DefinitionItem[]): void;
111
+ bullets(title: string, items: readonly string[]): void;
112
+ choices(title: string, choices: readonly ChoiceItem[]): void;
113
+ prompt(label: string, defaultValue?: string): void;
114
+ table(title: string, headers: readonly string[], rows: readonly (readonly string[])[]): void;
115
+ status(kind: StatusKind, label: string, detail?: string): void;
116
+ warning(value: string): void;
117
+ command(value: string): void;
118
+ remedy(value: string): void;
119
+ cancellation(value: string): void;
120
+ completion(label: string, detail?: string, items?: readonly DefinitionItem[], nextCommand?: string): void;
121
+ error(message: string, remedy?: string): void;
122
+ rawStdout(value: string): void;
123
+ rawStderr(value: string): void;
124
+ childStreams(): {
125
+ stdout: NodeJS.WritableStream;
126
+ stderr: NodeJS.WritableStream;
127
+ };
128
+ }