@mikeyt23/node-cli-utils 2.0.6 → 2.0.8
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/README.md +11 -10
- package/dist/cjs/DependencyChecker.d.ts.map +1 -1
- package/dist/cjs/DependencyChecker.js +3 -2
- package/dist/cjs/NodeCliUtilsConfig.d.ts +3 -7
- package/dist/cjs/NodeCliUtilsConfig.d.ts.map +1 -1
- package/dist/cjs/NodeCliUtilsConfig.js +7 -10
- package/dist/cjs/dockerUtils.d.ts +164 -0
- package/dist/cjs/dockerUtils.d.ts.map +1 -0
- package/dist/cjs/dockerUtils.js +299 -0
- package/dist/cjs/generalUtils.d.ts +66 -110
- package/dist/cjs/generalUtils.d.ts.map +1 -1
- package/dist/cjs/generalUtils.js +83 -196
- package/dist/cjs/generalUtilsInternal.d.ts.map +1 -1
- package/dist/cjs/generalUtilsInternal.js +8 -5
- package/dist/esm/DependencyChecker.d.ts.map +1 -1
- package/dist/esm/DependencyChecker.js +3 -2
- package/dist/esm/NodeCliUtilsConfig.d.ts +3 -7
- package/dist/esm/NodeCliUtilsConfig.d.ts.map +1 -1
- package/dist/esm/NodeCliUtilsConfig.js +7 -10
- package/dist/esm/dockerUtils.d.ts +164 -0
- package/dist/esm/dockerUtils.d.ts.map +1 -0
- package/dist/esm/dockerUtils.js +281 -0
- package/dist/esm/generalUtils.d.ts +66 -110
- package/dist/esm/generalUtils.d.ts.map +1 -1
- package/dist/esm/generalUtils.js +78 -190
- package/dist/esm/generalUtilsInternal.d.ts.map +1 -1
- package/dist/esm/generalUtilsInternal.js +9 -6
- package/package.json +25 -2
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
3
|
import { SpawnOptions } from 'node:child_process';
|
|
3
4
|
/**
|
|
4
5
|
* Just a wrapper for console.log() to type less.
|
|
@@ -83,10 +84,6 @@ export interface WhichResult {
|
|
|
83
84
|
additionalLocations: string[] | undefined;
|
|
84
85
|
error: Error | undefined;
|
|
85
86
|
}
|
|
86
|
-
/**
|
|
87
|
-
* Type guard for command passed to {@link spawnDockerCompose}.
|
|
88
|
-
*/
|
|
89
|
-
export type DockerComposeCommand = 'build' | 'config' | 'cp' | 'create' | 'down' | 'events' | 'exec' | 'images' | 'kill' | 'logs' | 'ls' | 'pause' | 'port' | 'ps' | 'pull' | 'push' | 'restart' | 'rm' | 'run' | 'start' | 'stop' | 'top' | 'unpause' | 'up' | 'version';
|
|
90
87
|
/**
|
|
91
88
|
* Sleeps for the specified number of milliseconds.
|
|
92
89
|
* @param ms The number of milliseconds to sleep
|
|
@@ -178,84 +175,6 @@ export declare function requireString(paramName: string, paramValue: string): vo
|
|
|
178
175
|
* @param paramValue The value of the parameter
|
|
179
176
|
*/
|
|
180
177
|
export declare function requireValidPath(paramName: string, paramValue: string): void;
|
|
181
|
-
/**
|
|
182
|
-
* Project names must contain only lowercase letters, decimal digits, dashes, and underscores, and must begin with a lowercase letter or decimal digit.
|
|
183
|
-
*
|
|
184
|
-
* See https://docs.docker.com/compose/environment-variables/envvars/#compose_project_name.
|
|
185
|
-
* @param projectName The string to validate
|
|
186
|
-
* @returns `true` if it's a valid docker compose project name and `false` otherwise
|
|
187
|
-
*/
|
|
188
|
-
export declare function isDockerComposeProjectNameValid(projectName: string): boolean;
|
|
189
|
-
/**
|
|
190
|
-
* Options for {@link spawnDockerCompose}.
|
|
191
|
-
* @param projectName
|
|
192
|
-
* Note that there are other better options such as using the environment variable `COMPOSE_PROJECT_NAME`. See https://docs.docker.com/compose/environment-variables/envvars/#compose_project_name.
|
|
193
|
-
* @param attached Default: false. All commands that support the detached option wil use it unless attached is specified as true (-d support: exec, logs, ps, restart, run, start, stop, up)
|
|
194
|
-
* @param useDockerComposeFileDirectoryAsCwd Default: false. If true, the docker compose command will be run in the directory containing the docker compose file.
|
|
195
|
-
*/
|
|
196
|
-
export interface DockerComposeOptions {
|
|
197
|
-
/** Additional arguments to pass to the docker-compose command. */
|
|
198
|
-
args: string[];
|
|
199
|
-
/**
|
|
200
|
-
* Defaults to `false`. Controls whether or not the `--detach` option is passed. Note that this only applies to
|
|
201
|
-
* some commands (exec, logs, ps, restart, run, start, stop, up).
|
|
202
|
-
*/
|
|
203
|
-
attached: boolean;
|
|
204
|
-
/**
|
|
205
|
-
* If not provided, it will default to using the directory that the docker-compose.yml is located in.
|
|
206
|
-
* Specifies what current working directory to use with the spawn command.
|
|
207
|
-
*
|
|
208
|
-
* **Important:**: this only affects the current working directory of the spawned process itself. The docker command will still only pull in env values from a `.env`
|
|
209
|
-
* file in the same directory as the docker-compose.yml, NOT the cwd passed here. If a different `.env` file path is needed, use the {@link altEnvFilePath} option. If
|
|
210
|
-
* you use the {@link altEnvFilePath} option with a relative path, ensure that it is relative to the current working directory passed with this option.
|
|
211
|
-
*/
|
|
212
|
-
cwd?: string;
|
|
213
|
-
/**
|
|
214
|
-
* Optional. If provided, projectName will be passed as the `--project-name` param to `docker compose` so that generated containers will use it as a prefix
|
|
215
|
-
* instead of the default, which is the directory name where the docker-compose.yml is located.
|
|
216
|
-
*
|
|
217
|
-
* Alternate approaches for setting the docker compose project name:
|
|
218
|
-
*
|
|
219
|
-
* - Locate your docker-compose.yml file in the root of your project so that docker will use that directory name for prefixing generated containers
|
|
220
|
-
* - OR, locate your docker-compose.yml in a sub-directory named appropriately for use as a prefix for generated containers
|
|
221
|
-
* - OR, put a `.env` file in the same directory as your docker-compose.yml
|
|
222
|
-
* with the entry `COMPOSE_PROJECT_NAME=your-project-name`
|
|
223
|
-
*
|
|
224
|
-
* Additional note on docker compose project names form the official docker compose docs: "Project names must contain only lowercase letters, decimal digits,
|
|
225
|
-
* dashes, and underscores, and must begin with a lowercase letter or decimal digit". See https://docs.docker.com/compose/environment-variables/envvars/#compose_project_name.
|
|
226
|
-
*
|
|
227
|
-
*/
|
|
228
|
-
projectName?: string;
|
|
229
|
-
/**
|
|
230
|
-
* Optional. If provided, profile is passed to docker compose along with `--profile` param. Must match this regex: `[a-zA-Z0-9][a-zA-Z0-9_.-]+`.
|
|
231
|
-
*
|
|
232
|
-
* See https://docs.docker.com/compose/profiles/.
|
|
233
|
-
*/
|
|
234
|
-
profile?: string;
|
|
235
|
-
/**
|
|
236
|
-
* The option `useWslPrefix` set to `true` can be used If Docker Desktop is not installed on Windows and docker commands need to execute via wsl.
|
|
237
|
-
*/
|
|
238
|
-
useWslPrefix?: boolean;
|
|
239
|
-
/**
|
|
240
|
-
* Specify an alternative env file. This is useful since docker will normally only use a `.env` file in the same directory as the docker-compose.yml file,
|
|
241
|
-
* regardless of the current working directory of the running command. This path will be passed to docker compose using the `--env-file` option.
|
|
242
|
-
*
|
|
243
|
-
* **Important:** if using a relative path, be sure pass the appropriate value for {@link cwd} to this method so that the relative path can correctly be resolved.
|
|
244
|
-
*/
|
|
245
|
-
altEnvFilePath?: string;
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* For docker compose commands, see https://docs.docker.com/compose/reference/. For available options for this wrapper function, see {@link DockerComposeOptions}.
|
|
249
|
-
*
|
|
250
|
-
* The current working directory will be the directory of the {@link dockerComposePath} unless specified in the options. This ensures relative paths in the
|
|
251
|
-
* docker compose file will be relative to itself by default.
|
|
252
|
-
*
|
|
253
|
-
* See {@link DockerComposeOptions.projectName} for info on where to locate your docker compose file and how to specify the docker project name.
|
|
254
|
-
* @param dockerComposePath Path to docker-compose.yml
|
|
255
|
-
* @param dockerComposeCommand The docker-compose command to run
|
|
256
|
-
* @param options {@link DockerComposeOptions} to use, including additional arguments to pass to the docker compose command and the project name
|
|
257
|
-
*/
|
|
258
|
-
export declare function spawnDockerCompose(dockerComposePath: string, dockerComposeCommand: DockerComposeCommand, options?: Partial<DockerComposeOptions>): Promise<void>;
|
|
259
178
|
/**
|
|
260
179
|
* Splits a string into lines, removing `\n` and `\r` characters. Does not return empty lines. Also see {@link stringToLines}.
|
|
261
180
|
* @param str String to split into lines
|
|
@@ -360,33 +279,6 @@ export declare function which(commandName: string): Promise<WhichResult>;
|
|
|
360
279
|
* @returns The location of the command, any additional locations, and an error if one occurred
|
|
361
280
|
*/
|
|
362
281
|
export declare function whichSync(commandName: string): WhichResult;
|
|
363
|
-
/**
|
|
364
|
-
* Uses {@link which} to determine if docker is installed. If the `which` call doesn't find docker and the platform
|
|
365
|
-
* is Windows, then this will check the output of `wsl docker --version` to see if just the engine is installed.
|
|
366
|
-
* @returns `true` if docker is installed, `false` otherwise
|
|
367
|
-
*/
|
|
368
|
-
export declare function isDockerInstalled(): Promise<boolean>;
|
|
369
|
-
/**
|
|
370
|
-
* Runs the `docker info` command and looks for "error during connect" in the output to determine if docker is running. If you
|
|
371
|
-
* want to check if docker is installed, use {@link isDockerInstalled}.
|
|
372
|
-
* @returns `true` if docker is installed and running, `false` otherwise
|
|
373
|
-
*/
|
|
374
|
-
export declare function isDockerRunning(): Promise<boolean>;
|
|
375
|
-
/**
|
|
376
|
-
* Attempt to start the docker service if it isn't running. Whether it's running is determined by a call to {@link isDockerRunning}.
|
|
377
|
-
*
|
|
378
|
-
* Notes on docker startup command:
|
|
379
|
-
* - May require entering a password
|
|
380
|
-
* - On Windows with Docker Desktop and from within powershell or cmd it will run in powershell: `Start-Process "C:\Program Files\Docker\Docker\Docker Desktop.exe" -NoNewWindow`
|
|
381
|
-
* - On Windows without Docker Desktop from within powershell or cmd it will run: `sudo service docker start`
|
|
382
|
-
* - On Linux (including WSL) it will run: `sudo systemctl start docker`
|
|
383
|
-
* - Not currently supported on Mac
|
|
384
|
-
* - If you're on Windows and have Docker Desktop but it is stopped and you're in a WSL shell, docker will appear as if it's not installed and this method will throw
|
|
385
|
-
*
|
|
386
|
-
* @throws An {@link Error} If docker is not detected on the system.
|
|
387
|
-
* @throws An {@link Error} if docker is detected as installed and not running but the OS is Mac.
|
|
388
|
-
*/
|
|
389
|
-
export declare function ensureDockerRunning(): Promise<void>;
|
|
390
282
|
/**
|
|
391
283
|
* Uses built-in NodeJS readline to ask a question and return the user's answer.
|
|
392
284
|
* @param query The question to ask
|
|
@@ -589,7 +481,8 @@ export declare enum Emoji {
|
|
|
589
481
|
NoEntry = "\u26D4",
|
|
590
482
|
Stop = "\uD83D\uDED1",
|
|
591
483
|
Certificate = "\uD83D\uDCDC",
|
|
592
|
-
Key = "\uD83D\uDD11"
|
|
484
|
+
Key = "\uD83D\uDD11",
|
|
485
|
+
Scull = "\u2620\uFE0F"
|
|
593
486
|
}
|
|
594
487
|
/**
|
|
595
488
|
* Converts a windows path to a WSL path (Windows Subsystem for Linux) if it's an absolute path, otherwise returns it unchanged.
|
|
@@ -604,7 +497,70 @@ export declare enum Emoji {
|
|
|
604
497
|
* @returns The wsl equivalent path.
|
|
605
498
|
*/
|
|
606
499
|
export declare function toWslPath(winPath: string, wrapInQuotesIfSpaces?: boolean): string;
|
|
500
|
+
/**
|
|
501
|
+
* Serialize a class instance. Ignore properties with underscore prefix and include getters. Useful for overriding the `toJSON` function of
|
|
502
|
+
* a class so that calls to `JSON.stringify()` will generate more appropriate JSON.
|
|
503
|
+
*
|
|
504
|
+
* @example
|
|
505
|
+
* ```
|
|
506
|
+
* class MyClass {
|
|
507
|
+
* //...
|
|
508
|
+
* toJSON = () => classToJson(this)
|
|
509
|
+
* //...
|
|
510
|
+
* }
|
|
511
|
+
* ```
|
|
512
|
+
* @param instance A class instance, usually `this` if `classToJson` is being used as a class method.
|
|
513
|
+
* @returns Json serialization of the class instance.
|
|
514
|
+
*/
|
|
607
515
|
export declare function classToJson(instance: object): {
|
|
608
516
|
[key: string]: unknown;
|
|
609
517
|
};
|
|
518
|
+
/**
|
|
519
|
+
* Get's the value for the CLI param at process.argv[`argvIndex`] and throws the specified optional `errorMessage`
|
|
520
|
+
* or a default error message if the CLI arg is missing.
|
|
521
|
+
*
|
|
522
|
+
* Notes on common index position values:
|
|
523
|
+
*
|
|
524
|
+
* - `0`: NodeJS path
|
|
525
|
+
* - `1`: Script path
|
|
526
|
+
* - `2`: First script param - for `swig` this will be the task name
|
|
527
|
+
* @param errorMessage
|
|
528
|
+
* @returns
|
|
529
|
+
*/
|
|
530
|
+
export declare function getRequiredCliParam(argvIndex: number, errorMessage?: string): string;
|
|
531
|
+
type AsyncBooleanFunc = () => Promise<boolean>;
|
|
532
|
+
type AsyncFunc<T> = () => Promise<T>;
|
|
533
|
+
/**
|
|
534
|
+
* Executes an asynchronous function conditionally.
|
|
535
|
+
*
|
|
536
|
+
* @overload
|
|
537
|
+
* @template T The type of value that the `asyncFunc` returns.
|
|
538
|
+
* @param condition A boolean that determines if the `asyncFunc` should be executed.
|
|
539
|
+
* @param asyncFunc The async function to execute if the condition is true.
|
|
540
|
+
* @param logEnabled Optional. Determines whether to enable logging. Defaults to `false`.
|
|
541
|
+
* @returns Returns a Promise resolving to the value returned by `asyncFunc` if the condition is true, otherwise returns `undefined`.
|
|
542
|
+
*/
|
|
543
|
+
export declare function conditionallyAsync<T>(condition: boolean, asyncFunc: AsyncFunc<T>, logEnabled?: boolean): Promise<T | undefined>;
|
|
544
|
+
/**
|
|
545
|
+
* Executes an asynchronous function conditionally.
|
|
546
|
+
*
|
|
547
|
+
* @overload
|
|
548
|
+
* @template T The type of value that the `asyncFunc` returns.
|
|
549
|
+
* @param conditionAsyncFunc An async function that returns a boolean that determines whether `asyncFunc` should be executed.
|
|
550
|
+
* @param asyncFunc The async function to execute if the condition is true.
|
|
551
|
+
* @param logEnabled Optional. Determines whether to enable logging. Defaults to `false`.
|
|
552
|
+
* @returns Returns a Promise resolving to the value returned by `asyncFunc` if the condition is true, otherwise returns `undefined`.
|
|
553
|
+
*/
|
|
554
|
+
export declare function conditionallyAsync<T>(conditionAsyncFunc: AsyncBooleanFunc, asyncFunc: AsyncFunc<T>, logEnabled?: boolean): Promise<T | undefined>;
|
|
555
|
+
/**
|
|
556
|
+
* Type guard function to check if an Error is a `NodeJS.ErrnoException`.
|
|
557
|
+
* @param err The Error object to check.
|
|
558
|
+
* @returns `true` if it's a NodeJS.ErrnoException and `false` otherwise.
|
|
559
|
+
*/
|
|
560
|
+
export declare function isErrnoException(err: unknown): err is NodeJS.ErrnoException;
|
|
561
|
+
/**
|
|
562
|
+
* Return `true` if `err` is a `NodeJS.ErrnoException` and has a `code` property equal to `ENOENT`.
|
|
563
|
+
*/
|
|
564
|
+
export declare function isErrorEnoent(err: unknown): boolean;
|
|
565
|
+
export {};
|
|
610
566
|
//# sourceMappingURL=generalUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generalUtils.d.ts","sourceRoot":"","sources":["../../src/generalUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generalUtils.d.ts","sourceRoot":"","sources":["../../src/generalUtils.ts"],"names":[],"mappings":"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"}
|