depflow 3.0.0-dev.10 → 3.0.0-dev.12

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 (175) hide show
  1. package/README.md +513 -117
  2. package/dist/builder/Builder.d.ts +279 -0
  3. package/dist/builder/Builder.js +391 -0
  4. package/dist/builder/Builder.js.map +1 -0
  5. package/dist/cli/Actions.d.ts +187 -0
  6. package/dist/cli/Actions.js +793 -0
  7. package/dist/cli/Actions.js.map +1 -0
  8. package/dist/cli/CLI.d.ts +170 -0
  9. package/dist/cli/CLI.js +231 -0
  10. package/dist/cli/CLI.js.map +1 -0
  11. package/dist/cli/DepflowCLI.d.ts +62 -0
  12. package/dist/cli/DepflowCLI.js +229 -0
  13. package/dist/cli/DepflowCLI.js.map +1 -0
  14. package/dist/cli/Flags.d.ts +106 -0
  15. package/dist/cli/Flags.js +125 -0
  16. package/dist/cli/Flags.js.map +1 -0
  17. package/dist/cli/bin.js +63 -0
  18. package/dist/cli/bin.js.map +1 -0
  19. package/dist/config/Config.d.ts +690 -0
  20. package/dist/config/Config.js +45 -0
  21. package/dist/config/Config.js.map +1 -0
  22. package/dist/config/ImportMap.d.ts +60 -0
  23. package/dist/config/ImportMap.js +66 -0
  24. package/dist/config/ImportMap.js.map +1 -0
  25. package/dist/config/JsonSchema.d.ts +12 -0
  26. package/dist/config/JsonSchema.js +26 -0
  27. package/dist/config/JsonSchema.js.map +1 -0
  28. package/dist/config/Settings.d.ts +201 -0
  29. package/dist/config/Settings.js +191 -0
  30. package/dist/config/Settings.js.map +1 -0
  31. package/dist/config/TSConfig.d.ts +73 -0
  32. package/dist/config/TSConfig.js +73 -0
  33. package/dist/config/TSConfig.js.map +1 -0
  34. package/dist/config/codecs/JsonCodec.d.ts +30 -0
  35. package/dist/config/codecs/JsonCodec.js +31 -0
  36. package/dist/config/codecs/JsonCodec.js.map +1 -0
  37. package/dist/config/codecs/YamlCodec.d.ts +62 -0
  38. package/dist/config/codecs/YamlCodec.js +89 -0
  39. package/dist/config/codecs/YamlCodec.js.map +1 -0
  40. package/dist/dependency/DepUtils.d.ts +78 -0
  41. package/dist/dependency/DepUtils.js +122 -0
  42. package/dist/dependency/DepUtils.js.map +1 -0
  43. package/dist/dependency/Dependency.d.ts +81 -0
  44. package/dist/dependency/Dependency.js +71 -0
  45. package/dist/dependency/Dependency.js.map +1 -0
  46. package/dist/dependency/Git.d.ts +75 -0
  47. package/dist/dependency/Git.js +97 -0
  48. package/dist/dependency/Git.js.map +1 -0
  49. package/dist/dependency/GitDependency.d.ts +30 -0
  50. package/dist/dependency/GitDependency.js +79 -0
  51. package/dist/dependency/GitDependency.js.map +1 -0
  52. package/dist/dependency/NpmDependency.d.ts +27 -0
  53. package/dist/dependency/NpmDependency.js +91 -0
  54. package/dist/dependency/NpmDependency.js.map +1 -0
  55. package/{build/support/PathResolver → dist/resolve}/AliasCompiler.d.ts +18 -5
  56. package/{build/support/PathResolver → dist/resolve}/AliasCompiler.js +31 -9
  57. package/dist/resolve/AliasCompiler.js.map +1 -0
  58. package/{build/support/PathResolver → dist/resolve}/PathResolver.d.ts +25 -8
  59. package/dist/resolve/PathResolver.js +133 -0
  60. package/dist/resolve/PathResolver.js.map +1 -0
  61. package/dist/resolve/PathRewriter.d.ts +24 -0
  62. package/{build/support/PathResolver → dist/resolve}/PathRewriter.js +21 -11
  63. package/dist/resolve/PathRewriter.js.map +1 -0
  64. package/{build → dist}/schema/Config/Builder.d.ts +114 -49
  65. package/dist/schema/Config/Builder.js +78 -0
  66. package/dist/schema/Config/Builder.js.map +1 -0
  67. package/{build → dist}/schema/Config/Config.d.ts +169 -78
  68. package/dist/schema/Config/Config.js +62 -0
  69. package/dist/schema/Config/Config.js.map +1 -0
  70. package/{build → dist}/schema/Config/Dependency.d.ts +219 -89
  71. package/dist/schema/Config/Dependency.js +80 -0
  72. package/dist/schema/Config/Dependency.js.map +1 -0
  73. package/{build → dist}/schema/Config/Extractor.d.ts +41 -17
  74. package/dist/schema/Config/Extractor.js +43 -0
  75. package/dist/schema/Config/Extractor.js.map +1 -0
  76. package/{build → dist}/schema/Config/Resolver.d.ts +25 -8
  77. package/dist/schema/Config/Resolver.js +43 -0
  78. package/dist/schema/Config/Resolver.js.map +1 -0
  79. package/{build → dist}/schema/Config/Transform.d.ts +22 -5
  80. package/dist/schema/Config/Transform.js +51 -0
  81. package/dist/schema/Config/Transform.js.map +1 -0
  82. package/dist/schema/Defaults.d.ts +20 -0
  83. package/dist/schema/Defaults.js +24 -0
  84. package/dist/schema/Defaults.js.map +1 -0
  85. package/dist/schema/ImportMap.d.ts +30 -0
  86. package/dist/schema/ImportMap.js +28 -0
  87. package/dist/schema/ImportMap.js.map +1 -0
  88. package/{build → dist}/schema/TSConfig.d.ts +23 -9
  89. package/dist/schema/TSConfig.js +39 -0
  90. package/dist/schema/TSConfig.js.map +1 -0
  91. package/{build → dist}/schema/schema.d.ts +11 -2
  92. package/{build → dist}/schema/schema.js +11 -2
  93. package/dist/schema/schema.js.map +1 -0
  94. package/dist/task/Command.d.ts +287 -0
  95. package/dist/task/Command.js +404 -0
  96. package/dist/task/Command.js.map +1 -0
  97. package/dist/task/Group.d.ts +15 -0
  98. package/dist/task/Group.js +29 -0
  99. package/dist/task/Group.js.map +1 -0
  100. package/dist/task/OutputPolicy.d.ts +262 -0
  101. package/dist/task/OutputPolicy.js +364 -0
  102. package/dist/task/OutputPolicy.js.map +1 -0
  103. package/dist/task/Task.d.ts +210 -0
  104. package/dist/task/Task.js +312 -0
  105. package/dist/task/Task.js.map +1 -0
  106. package/package.json +14 -10
  107. package/.gitignore +0 -7
  108. package/build/cli/DepFLowCLI.d.ts +0 -16
  109. package/build/cli/DepFLowCLI.js +0 -254
  110. package/build/cli/DepFLowCLI.js.map +0 -1
  111. package/build/cli/bin.js +0 -38
  112. package/build/cli/bin.js.map +0 -1
  113. package/build/config/Config.d.ts +0 -28
  114. package/build/config/Config.js +0 -46
  115. package/build/config/Config.js.map +0 -1
  116. package/build/config/ImportMap.d.ts +0 -51
  117. package/build/config/ImportMap.js +0 -97
  118. package/build/config/ImportMap.js.map +0 -1
  119. package/build/config/TSConfig.d.ts +0 -54
  120. package/build/config/TSConfig.js +0 -104
  121. package/build/config/TSConfig.js.map +0 -1
  122. package/build/schema/Config/Builder.js +0 -48
  123. package/build/schema/Config/Builder.js.map +0 -1
  124. package/build/schema/Config/Config.js +0 -20
  125. package/build/schema/Config/Config.js.map +0 -1
  126. package/build/schema/Config/Dependency.js +0 -25
  127. package/build/schema/Config/Dependency.js.map +0 -1
  128. package/build/schema/Config/Extractor.js +0 -25
  129. package/build/schema/Config/Extractor.js.map +0 -1
  130. package/build/schema/Config/Resolver.js +0 -25
  131. package/build/schema/Config/Resolver.js.map +0 -1
  132. package/build/schema/Config/Transform.js +0 -27
  133. package/build/schema/Config/Transform.js.map +0 -1
  134. package/build/schema/ImportMap.d.ts +0 -22
  135. package/build/schema/ImportMap.js +0 -12
  136. package/build/schema/ImportMap.js.map +0 -1
  137. package/build/schema/TSConfig.js +0 -19
  138. package/build/schema/TSConfig.js.map +0 -1
  139. package/build/schema/schema.js.map +0 -1
  140. package/build/support/Builder/Builder.d.ts +0 -46
  141. package/build/support/Builder/Builder.js +0 -116
  142. package/build/support/Builder/Builder.js.map +0 -1
  143. package/build/support/Dependency/Dependency.d.ts +0 -38
  144. package/build/support/Dependency/Dependency.js +0 -14
  145. package/build/support/Dependency/Dependency.js.map +0 -1
  146. package/build/support/Dependency/GitDependency.d.ts +0 -20
  147. package/build/support/Dependency/GitDependency.js +0 -67
  148. package/build/support/Dependency/GitDependency.js.map +0 -1
  149. package/build/support/Dependency/NpmDependency.d.ts +0 -18
  150. package/build/support/Dependency/NpmDependency.js +0 -65
  151. package/build/support/Dependency/NpmDependency.js.map +0 -1
  152. package/build/support/Git.d.ts +0 -53
  153. package/build/support/Git.js +0 -86
  154. package/build/support/Git.js.map +0 -1
  155. package/build/support/PathResolver/AliasCompiler.js.map +0 -1
  156. package/build/support/PathResolver/PathResolver.js +0 -105
  157. package/build/support/PathResolver/PathResolver.js.map +0 -1
  158. package/build/support/PathResolver/PathRewriter.d.ts +0 -18
  159. package/build/support/PathResolver/PathRewriter.js.map +0 -1
  160. package/build/support/PathResolver/Utils.d.ts +0 -36
  161. package/build/support/PathResolver/Utils.js +0 -45
  162. package/build/support/PathResolver/Utils.js.map +0 -1
  163. package/build/support/Task/Command.d.ts +0 -49
  164. package/build/support/Task/Command.js +0 -100
  165. package/build/support/Task/Command.js.map +0 -1
  166. package/build/support/Task/Task.d.ts +0 -84
  167. package/build/support/Task/Task.js +0 -145
  168. package/build/support/Task/Task.js.map +0 -1
  169. package/build/support/Utils.d.ts +0 -40
  170. package/build/support/Utils.js +0 -138
  171. package/build/support/Utils.js.map +0 -1
  172. package/build/support/Validator.d.ts +0 -22
  173. package/build/support/Validator.js +0 -28
  174. package/build/support/Validator.js.map +0 -1
  175. /package/{build → dist}/cli/bin.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Actions.js","sourceRoot":"","sources":["../../src/cli/Actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * @author NetFeez <netfeez.dev@gmail.com>.
3
+ * @description The console interface the CLI is built on: it reads a command, runs it and answers it,
4
+ * and it draws the help the global flags, and the arguments and flags of every command are told in.
5
+ * @license Apache-2.0
6
+ */
7
+ import type { Engine, ConsoleTransport } from '@netfeez/vterm';
8
+ import type Flags from './Flags.js';
9
+ export declare class CLI {
10
+ /** What reads the input of the console interface. */
11
+ protected dataHandleInstance: CLI.dataHandler;
12
+ /** What is written before every command the interface reads. */
13
+ prompt: string;
14
+ /** The input the interface reads commands from. */
15
+ in: NodeJS.ReadStream;
16
+ /** The engine the interface answers through. */
17
+ out: Engine;
18
+ /** The commands the interface accepts, keyed by the name each one is invoked with. */
19
+ commandMap: CLI.CommandMap;
20
+ /** The terminal the prompt and the help are written to. */
21
+ protected console: ConsoleTransport;
22
+ /** The flags that are not specific to a command, keyed by the name each one is declared under. */
23
+ protected globals: Flags.Declaration;
24
+ /** The branded line the help opens with. */
25
+ protected title: string;
26
+ /**
27
+ * Wires a console interface to its terminal, its global flags and its commands.
28
+ * @param globals - The flags no command owns, declared as `Flags` declares them.
29
+ * @param config - How the interface presents itself: the name of its runs, its prompt and its title.
30
+ */
31
+ constructor(globals?: Flags.Declaration, config?: CLI.Config);
32
+ /** Starts reading what is written to the input. **/
33
+ protected startReadIn(): void;
34
+ /** Stops reading what is written to the input. **/
35
+ protected stopReadIn(): void;
36
+ /** Starts the console UI. **/
37
+ start(): void;
38
+ /** Stops the console UI. **/
39
+ stop(): void;
40
+ /**
41
+ * Runs the command the input carries, and writes the prompt again unless the command leaves.
42
+ * @param data - What arrived in the input.
43
+ * @returns A promise of the command being over.
44
+ */
45
+ protected dataHandler(data: Buffer): Promise<void>;
46
+ /**
47
+ * The command of that name, when the map carries one.
48
+ * @param command - The name of the command.
49
+ * @returns The command, or undefined when the map carries no command of that name.
50
+ */
51
+ getCommand(command: string): CLI.Command | undefined;
52
+ /**
53
+ * The declaration of the flags a command line accepts: the global ones every command carries, plus the
54
+ * ones the named command owns.
55
+ * @param command - The name of the command, when the line named one.
56
+ * @returns The declaration the flags of that command line are parsed against.
57
+ *
58
+ * @remarks A named command that the map does not carry gets the global flags alone: the line is still
59
+ * parsed, so a token that is a flag of no command is reported as an unknown flag rather than as an
60
+ * unknown command.
61
+ */
62
+ declarationOf(command?: string): Flags.Declaration;
63
+ /**
64
+ * Puts a command in the map.
65
+ * @param command - The name of the command.
66
+ * @param exec - What the command does when it is written.
67
+ * @param info - What `help` tells about it, the arguments it accepts among it.
68
+ * @returns This instance, so commands can be added one after another.
69
+ */
70
+ addCommand(command: string, exec: CLI.commandExec, info?: CLI.CommandInfo): this;
71
+ /**
72
+ * Takes a command out of the map.
73
+ * @param command - The name of the command.
74
+ * @returns This instance, so commands can be removed one after another.
75
+ */
76
+ removeCommand(command: string): this;
77
+ /**
78
+ * Puts the commands every console interface carries in the map.
79
+ **/
80
+ protected addDefaultCommands(): void;
81
+ /**
82
+ * Writes the banner, the global flags and every command of the map with its usage, its description
83
+ * and the arguments and flags it accepts.
84
+ *
85
+ * @remarks The help belongs to the terminal and not to a run, so it is written as it is composed
86
+ * and it is not announced through the engine: no timestamp, level or name is put in front of it,
87
+ * and a line is only broken where this method breaks it.
88
+ **/
89
+ protected showHelp(): void;
90
+ /**
91
+ * The name of a flag as the help writes it, with the aliases it accepts and the value it takes.
92
+ * @param name - The name the flag is declared under.
93
+ * @param flag - The declared flag.
94
+ * @returns The name of the flag, colored.
95
+ */
96
+ protected static flagKey(name: string, flag: Flags.Flag): string;
97
+ /**
98
+ * The name of an argument as the help writes it, telling an optional one and a variadic one apart.
99
+ * @param name - The name the argument is declared under.
100
+ * @param argument - The declared argument.
101
+ * @returns The name of the argument, colored.
102
+ */
103
+ protected static argumentKey(name: string, argument: CLI.Argument): string;
104
+ /**
105
+ * Lays out a name and what it is for in the columns left after the name.
106
+ * @param key - The name, with the tokens that color it.
107
+ * @param description - What the name is for.
108
+ * @param width - The visible width every line is kept within.
109
+ * @param indent - The visible columns the entry starts at.
110
+ * @returns The lines of the entry, the description broken in as many lines as it needs.
111
+ */
112
+ protected static describe(key: string, description: string, width: number, indent?: number): string[];
113
+ /**
114
+ * Breaks a text in as many lines as it needs to fit a visible width, on its word boundaries.
115
+ * @param text - The text to break, without tokens in it.
116
+ * @param width - The visible width every line is kept within.
117
+ * @returns The lines the text was broken in.
118
+ */
119
+ protected static wrap(text: string, width: number): string[];
120
+ /**
121
+ * The columns a text paints, with its tokens taken out.
122
+ * @param text - The text to measure, with the tokens of the grammar in it.
123
+ * @returns The number of visible columns it paints.
124
+ */
125
+ protected static visibleWidth(text: string): number;
126
+ }
127
+ export declare namespace CLI {
128
+ type dataHandler = (data: Buffer) => void;
129
+ type commandExec = (this: CLI, command: string, args: string[]) => Promise<void> | void;
130
+ /** A positional argument a command accepts. **/
131
+ interface Argument {
132
+ /** What the argument is for. **/
133
+ description: string;
134
+ /** Whether the command cannot run without it. Defaults to `true`. **/
135
+ required?: boolean;
136
+ /** Whether the argument takes every token that follows, written with a trailing ellipsis. **/
137
+ variadic?: boolean;
138
+ }
139
+ /** The positional arguments a command accepts, keyed by the name each one is declared under. **/
140
+ type Arguments = {
141
+ readonly [name: string]: Argument;
142
+ };
143
+ /** What `help` tells about a command. **/
144
+ interface CommandInfo {
145
+ description?: string;
146
+ usage?: string;
147
+ args?: Arguments;
148
+ /** The flags the command owns, beside the global ones every command carries. **/
149
+ flags?: Flags.Declaration;
150
+ }
151
+ /** A command of the console interface, with what it does and what `help` tells about it. **/
152
+ interface Command extends CommandInfo {
153
+ name: string;
154
+ exec: commandExec;
155
+ }
156
+ /** The commands of the interface, keyed by the name each one is invoked with. **/
157
+ interface CommandMap {
158
+ [command: string]: Command;
159
+ }
160
+ /** How the console interface presents itself. **/
161
+ interface Config {
162
+ /** The name every run of the interface is written with. **/
163
+ name?: string;
164
+ /** The prompt written before every command, with the tokens of the console grammar. **/
165
+ prompt?: string;
166
+ /** The branded line the help opens with, with the tokens of the console grammar. **/
167
+ title?: string;
168
+ }
169
+ }
170
+ export default CLI;
@@ -0,0 +1,231 @@
1
+ /**
2
+ * @author NetFeez <netfeez.dev@gmail.com>.
3
+ * @description The console interface the CLI is built on: it reads a command, runs it and answers it,
4
+ * and it draws the help the global flags, and the arguments and flags of every command are told in.
5
+ * @license Apache-2.0
6
+ */
7
+ import { Logger, ConsoleUI } from '@netfeez/vterm';
8
+ /** The visible column the description of a flag or an argument starts at, in `help`. **/
9
+ const HELP_COLUMN = 26;
10
+ export class CLI {
11
+ /** What reads the input of the console interface. */
12
+ dataHandleInstance;
13
+ /** What is written before every command the interface reads. */
14
+ prompt;
15
+ /** The input the interface reads commands from. */
16
+ in;
17
+ /** The engine the interface answers through. */
18
+ out;
19
+ /** The commands the interface accepts, keyed by the name each one is invoked with. */
20
+ commandMap;
21
+ /** The terminal the prompt and the help are written to. */
22
+ console;
23
+ /** The flags that are not specific to a command, keyed by the name each one is declared under. */
24
+ globals;
25
+ /** The branded line the help opens with. */
26
+ title;
27
+ /**
28
+ * Wires a console interface to its terminal, its global flags and its commands.
29
+ * @param globals - The flags no command owns, declared as `Flags` declares them.
30
+ * @param config - How the interface presents itself: the name of its runs, its prompt and its title.
31
+ */
32
+ constructor(globals = {}, config = {}) {
33
+ this.dataHandleInstance = this.dataHandler.bind(this);
34
+ this.prompt = ConsoleUI.formatText(config.prompt ?? '&C5[CLI] << &C6&S');
35
+ this.in = process.stdin;
36
+ const logger = new Logger({ name: config.name ?? 'CLI' });
37
+ this.out = logger.engine;
38
+ this.console = logger.console;
39
+ this.globals = globals;
40
+ this.title = config.title ?? '&C1CLI';
41
+ this.commandMap = {};
42
+ this.addDefaultCommands();
43
+ }
44
+ /** Starts reading what is written to the input. **/
45
+ startReadIn() {
46
+ this.in.on('data', this.dataHandleInstance);
47
+ this.console.write(this.prompt);
48
+ }
49
+ /** Stops reading what is written to the input. **/
50
+ stopReadIn() { this.in.off('data', this.dataHandleInstance); }
51
+ /** Starts the console UI. **/
52
+ start() { this.startReadIn(); }
53
+ /** Stops the console UI. **/
54
+ stop() { this.stopReadIn(); }
55
+ /**
56
+ * Runs the command the input carries, and writes the prompt again unless the command leaves.
57
+ * @param data - What arrived in the input.
58
+ * @returns A promise of the command being over.
59
+ */
60
+ async dataHandler(data) {
61
+ const [cmd, ...args] = data.toString('utf-8').trim().split(' ');
62
+ this.out.log(`&C(80,0,80)command received: &C3${cmd}`, args);
63
+ try {
64
+ const command = this.commandMap[cmd];
65
+ if (command)
66
+ await command.exec.bind(this)(cmd, args);
67
+ else
68
+ this.out.error(`&C1Unknown command: &C3${cmd}`);
69
+ }
70
+ catch (error) {
71
+ this.out.error(`&C1Error executing command: &C3${cmd}`, error);
72
+ }
73
+ if (cmd !== 'exit-debug')
74
+ this.console.write(this.prompt);
75
+ }
76
+ /**
77
+ * The command of that name, when the map carries one.
78
+ * @param command - The name of the command.
79
+ * @returns The command, or undefined when the map carries no command of that name.
80
+ */
81
+ getCommand(command) { return this.commandMap[command]; }
82
+ /**
83
+ * The declaration of the flags a command line accepts: the global ones every command carries, plus the
84
+ * ones the named command owns.
85
+ * @param command - The name of the command, when the line named one.
86
+ * @returns The declaration the flags of that command line are parsed against.
87
+ *
88
+ * @remarks A named command that the map does not carry gets the global flags alone: the line is still
89
+ * parsed, so a token that is a flag of no command is reported as an unknown flag rather than as an
90
+ * unknown command.
91
+ */
92
+ declarationOf(command) {
93
+ const own = command === undefined ? undefined : this.commandMap[command]?.flags;
94
+ return own ? { ...this.globals, ...own } : this.globals;
95
+ }
96
+ /**
97
+ * Puts a command in the map.
98
+ * @param command - The name of the command.
99
+ * @param exec - What the command does when it is written.
100
+ * @param info - What `help` tells about it, the arguments it accepts among it.
101
+ * @returns This instance, so commands can be added one after another.
102
+ */
103
+ addCommand(command, exec, info) {
104
+ this.commandMap[command] = { name: command, exec, ...info };
105
+ return this;
106
+ }
107
+ /**
108
+ * Takes a command out of the map.
109
+ * @param command - The name of the command.
110
+ * @returns This instance, so commands can be removed one after another.
111
+ */
112
+ removeCommand(command) {
113
+ delete this.commandMap[command];
114
+ return this;
115
+ }
116
+ /**
117
+ * Puts the commands every console interface carries in the map.
118
+ **/
119
+ addDefaultCommands() {
120
+ this.addCommand('help', this.showHelp.bind(this), { description: '&C6Shows this help', usage: 'help' });
121
+ this.addCommand('exit', () => process.exit(), { description: '&C6Exits the process', usage: 'exit' });
122
+ }
123
+ /**
124
+ * Writes the banner, the global flags and every command of the map with its usage, its description
125
+ * and the arguments and flags it accepts.
126
+ *
127
+ * @remarks The help belongs to the terminal and not to a run, so it is written as it is composed
128
+ * and it is not announced through the engine: no timestamp, level or name is put in front of it,
129
+ * and a line is only broken where this method breaks it.
130
+ **/
131
+ showHelp() {
132
+ const width = Math.max(40, Math.min(process.stdout.columns ?? 80, 100));
133
+ const box = '&C5';
134
+ const lines = [this.title, '', '&C6Global flags:'];
135
+ for (const [name, flag] of Object.entries(this.globals)) {
136
+ const key = CLI.flagKey(name, flag);
137
+ lines.push(...CLI.describe(key, flag.description ?? '', width));
138
+ }
139
+ lines.push('', '&C6Commands:');
140
+ for (const command of Object.values(this.commandMap)) {
141
+ lines.push(`&C3 > ${command.name}`);
142
+ if (command.usage)
143
+ lines.push(` &C7Usage: &C6${command.usage}`);
144
+ if (command.description)
145
+ lines.push(...CLI.wrap(command.description, width - 5).map(line => ` ${line}`));
146
+ for (const [name, argument] of Object.entries(command.args ?? {})) {
147
+ lines.push(...CLI.describe(CLI.argumentKey(name, argument), argument.description, width, 5));
148
+ }
149
+ for (const [name, flag] of Object.entries(command.flags ?? {})) {
150
+ lines.push(...CLI.describe(CLI.flagKey(name, flag), flag.description ?? '', width, 5));
151
+ }
152
+ lines.push('');
153
+ }
154
+ const edge = `${box}╭${'─'.repeat(width - 2)}`;
155
+ this.console.log(edge);
156
+ for (const line of lines)
157
+ this.console.log(`${box}│ ${line}`);
158
+ this.console.log(`${box}╰${'─'.repeat(width - 2)}`);
159
+ }
160
+ /**
161
+ * The name of a flag as the help writes it, with the aliases it accepts and the value it takes.
162
+ * @param name - The name the flag is declared under.
163
+ * @param flag - The declared flag.
164
+ * @returns The name of the flag, colored.
165
+ */
166
+ static flagKey(name, flag) {
167
+ const names = [name, ...flag.aliases ?? []].map(alias => alias.length === 1 ? `-${alias}` : `--${alias}`);
168
+ const value = flag.type === 'boolean' ? '' : ' &C7<string>';
169
+ return `&C3${names.join(', ')}${value}`;
170
+ }
171
+ /**
172
+ * The name of an argument as the help writes it, telling an optional one and a variadic one apart.
173
+ * @param name - The name the argument is declared under.
174
+ * @param argument - The declared argument.
175
+ * @returns The name of the argument, colored.
176
+ */
177
+ static argumentKey(name, argument) {
178
+ const core = argument.variadic ? `${name}...` : name;
179
+ const written = (argument.required ?? true) ? `<${core}>` : `[${core}]`;
180
+ return `&C3${written}`;
181
+ }
182
+ /**
183
+ * Lays out a name and what it is for in the columns left after the name.
184
+ * @param key - The name, with the tokens that color it.
185
+ * @param description - What the name is for.
186
+ * @param width - The visible width every line is kept within.
187
+ * @param indent - The visible columns the entry starts at.
188
+ * @returns The lines of the entry, the description broken in as many lines as it needs.
189
+ */
190
+ static describe(key, description, width, indent = 3) {
191
+ const column = indent + HELP_COLUMN;
192
+ const lead = ' '.repeat(indent);
193
+ const padding = ' '.repeat(Math.max(1, column - indent - CLI.visibleWidth(key)));
194
+ const available = Math.max(20, width - column);
195
+ const wrapped = CLI.wrap(description, available);
196
+ if (wrapped.length === 0)
197
+ return [`${lead}${key}`];
198
+ return wrapped.map((line, index) => index === 0
199
+ ? `${lead}${key}${padding}&C7${line}`
200
+ : `${' '.repeat(column)}&C7${line}`);
201
+ }
202
+ /**
203
+ * Breaks a text in as many lines as it needs to fit a visible width, on its word boundaries.
204
+ * @param text - The text to break, without tokens in it.
205
+ * @param width - The visible width every line is kept within.
206
+ * @returns The lines the text was broken in.
207
+ */
208
+ static wrap(text, width) {
209
+ const lines = [];
210
+ let current = '';
211
+ for (const word of text.split(' ')) {
212
+ if (current && CLI.visibleWidth(current) + 1 + CLI.visibleWidth(word) > width) {
213
+ lines.push(current);
214
+ current = word;
215
+ }
216
+ else
217
+ current = current ? `${current} ${word}` : word;
218
+ }
219
+ if (current)
220
+ lines.push(current);
221
+ return lines;
222
+ }
223
+ /**
224
+ * The columns a text paints, with its tokens taken out.
225
+ * @param text - The text to measure, with the tokens of the grammar in it.
226
+ * @returns The number of visible columns it paints.
227
+ */
228
+ static visibleWidth(text) { return ConsoleUI.cleanFormat(text).length; }
229
+ }
230
+ export default CLI;
231
+ //# sourceMappingURL=CLI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../src/cli/CLI.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @author NetFeez <netfeez.dev@gmail.com>.
3
+ * @description The console surface of DepFlow: it declares the project commands and wires each one to the
4
+ * action of `Actions` that carries it out.
5
+ * @license Apache-2.0
6
+ */
7
+ import CLI from './CLI.js';
8
+ import Actions from './Actions.js';
9
+ import Flags from './Flags.js';
10
+ /** The flags accepted by every command of the CLI. **/
11
+ export declare const options: Flags<{
12
+ readonly flow: {
13
+ readonly type: "string";
14
+ readonly default: "depflow.yml";
15
+ readonly aliases: readonly ["p", "f"];
16
+ readonly description: "Path to the configuration file the command operates on.";
17
+ };
18
+ readonly watch: {
19
+ readonly type: "boolean";
20
+ readonly default: false;
21
+ readonly aliases: readonly ["w"];
22
+ readonly description: "Keeps watching the built files and rewrites their paths on every change.";
23
+ };
24
+ readonly cdn: {
25
+ readonly type: "boolean";
26
+ readonly default: false;
27
+ readonly description: "Resolves the dependency paths to their CDN target instead of their local one.";
28
+ };
29
+ readonly verbose: {
30
+ readonly type: "boolean";
31
+ readonly default: false;
32
+ readonly aliases: readonly ["v"];
33
+ readonly description: "Streams the output of every command as it runs, attributed to the command that wrote it, instead of only reporting how each of them ended. The indentation of that output is lost, and the complete buffer of every command reaches the evidence file whether this flag is given or not.";
34
+ };
35
+ readonly silent: {
36
+ readonly type: "boolean";
37
+ readonly default: false;
38
+ readonly description: "Says only what failed, one line per failed command. It silences the progress of DepFlow itself, such as \"Installing dependencies...\", and not the help, which belongs to the console interface. The exit status and the evidence file are the same as in any other mode.";
39
+ };
40
+ readonly decorate: {
41
+ readonly type: "boolean";
42
+ readonly default: true;
43
+ readonly description: "Draws boxes, indentation, timestamps, levels and names around what is reported. --decorate=false leaves the content alone and keeps the color of the markers and the diagnostics, which carry information and are not decoration.";
44
+ };
45
+ }>;
46
+ export declare class DepflowCLI extends CLI {
47
+ /** Path of the configuration file the commands operate on, as the command line gave it. **/
48
+ configPath: string;
49
+ constructor(configPath?: string);
50
+ /** Absolute path of the directory holding the configuration file, the project root. **/
51
+ get projectRoot(): string;
52
+ /** Absolute path of the flow directory (`.depflow`) under the project root. **/
53
+ protected get flowDirectory(): string;
54
+ /** The project the commands operate on: the context every action is driven with. **/
55
+ get context(): Actions.Context;
56
+ }
57
+ export declare namespace DepflowCLI {
58
+ type Exec = (this: DepflowCLI, command: string, args: string[], flags: Options) => Promise<void> | void;
59
+ /** The values of the flags accepted by the CLI. **/
60
+ type Options = typeof options.infer;
61
+ }
62
+ export default DepflowCLI;