@mikeyt23/node-cli-utils 2.0.13 → 2.0.14

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/LICENSE CHANGED
@@ -1,7 +1,7 @@
1
- Copyright 2021 Michael Thompson
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
-
5
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
-
1
+ Copyright 2021 Michael Thompson
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
7
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -1,77 +1,77 @@
1
- # node-cli-utils
2
-
3
- This library is a collection of miscellaneous utility functions for Node CLI scripting.
4
-
5
- I primarily use this library with [swig-cli](https://github.com/mikey-t/swig) to automate project dev tasks and generally to glue all the things together. Check out an example project that uses both swig-cli and node-cli-utils: [dotnet-react-sandbox](https://github.com/mikey-t/dotnet-react-sandbox).
6
-
7
- ## Documentation
8
-
9
- Auto-generated TypeDoc documentation: [https://mikey-t.github.io/node-cli-utils-docs/](https://mikey-t.github.io/node-cli-utils-docs/).
10
-
11
- Generated with [TypeDoc](https://github.com/TypeStrong/typedoc).
12
-
13
- ## Install
14
-
15
- ```
16
- npm i -D @mikeyt23/node-cli-utils
17
- ```
18
-
19
- ## Exported Modules
20
-
21
- Utility functions are grouped into the following sub-modules:
22
-
23
- | Module | Description |
24
- |--------|-------------|
25
- | @mikeyt23/node-cli-utils | General utils |
26
- | @mikeyt23/node-cli-utils/dockerUtils | Docker utils |
27
- | @mikeyt23/node-cli-utils/dbMigrationUtils | DB migration utils (see [db-migrations-dotnet](https://github.com/mikey-t/db-migrations-dotnet)) |
28
- | @mikeyt23/node-cli-utils/dotnetUtils | Dotnet utils |
29
- | @mikeyt23/node-cli-utils/certUtils | Cert utils |
30
- | @mikeyt23/node-cli-utils/colors | Utils methods to add color to CLI output |
31
- | @mikeyt23/node-cli-utils/DependencyChecker | Util class for checking system dependencies |
32
- | @mikeyt23/node-cli-utils/hostFileUtils | Host file utils |
33
- | @mikeyt23/node-cli-utils/parallel | A runParallel method and a ParallelExecutor class |
34
- | @mikeyt23/node-cli-utils/testUtils | Helper methods for use with the NodeJS test runner |
35
-
36
- ## Reasoning
37
-
38
- NodeJS projects are out-of-control with the depth of their dependency trees. Rather than giving in to that trend, I'm attempting to maintain a collection of utilities using only built-in NodeJS functionality whenever possible, and only importing things when I simply can't easily reproduce the functionality myself. And when I do import a dependency, it will preferably be one with a shallow dependency tree.
39
-
40
- In some ways this is bad because I'm obviously re-inventing the wheel and there's other libraries that do some of this stuff way better. But here's what I'm getting by doing it this way:
41
-
42
- - Significantly less work to keep things up to date - I don't have to audit dozens or hundreds or thousands of dependency and transitive dependency updates on a regular basis
43
- - Significantly less (or zero) risk of NPM supply chain attacks
44
- - Getting more hands-on XP with the fundamentals of NodeJS Typescript development
45
- - Control. Do I know who to talk to for bug fixes or feature improvements? Of course I know him - he's me!
46
-
47
- Originally I made an exception to this rule for [node-tar](https://github.com/isaacs/node-tar). However, I replaced this with a system call to the OS built-in `tar` utility since even Windows has this built-in since 2018.
48
-
49
- Also - just my personal opinion - every serious developer should create and maintain libraries like this. It's not always about reinventing the wheel or not. Sometimes it's about learning about different types of wheels by creating some yourself.
50
-
51
- Why one big package instead of smaller targeted packages? Smaller more focused packages would indeed be better, but only if I actually had time to maintain them all, which I don't. That decision will inevitably make this package a poor choice for most people for many reasons, but the benefit drastically outweighs the cost, in my opinion.
52
-
53
- ## Semver
54
-
55
- I won't be adhering to strict semver. I chose to group a large number of unrelated things into a single project so that I don't have to spend all my time maintaining many small projects. As a result, I probably won't be able to realistically bump minor/major versions every time there is a method signature change in a single function, for example.
56
-
57
- However, I plan on keeping the project well-documented and I also plan on continuing to increase unit test coverage, so hopefully the downsides of my approach will be somewhat mitigated.
58
-
59
- ## Noteworthy Features
60
-
61
- ### Process Spawning Cross-Platform Workarounds
62
-
63
- Dev automation tasks in all my projects make heavy use of spawning child processes, but unfortunately there's a lot of issues that cause this to be inconsistent across platforms. I've attempted to normalize some of the more annoying edge cases.
64
-
65
- For example, sometimes the only way to get a command to work how you want on windows is to pass the `shell: true` option. One case where this is useful is for running commands for a long running process that you want to be able to terminate with `ctrl+c` when you're done with it. These are commands like `docker compose up`, or running a dev web server, or anything that runs until you stop it. But on windows when you use `ctrl+c` to terminate a process spawned without the `shell: true` option, it immediately kills all the processes in the tree without warning or signaling, which is bad if those processes need to shut down gracefully before exiting. For example, on windows if you use `ctrl+c` on `docker compose up` spawned by Node, you'll notice that the containers are still running even after the attached command exits. But if you do the same thing on a nix machine, docker is given the `SIGINT` signal and it gracefully stops the containers before shutting down.
66
-
67
- But this issue is of the whack-a-mole variety, because if you do go ahead and pass the `shell: true` option, then unexpected termination of the parent process will simply orphan your child process tree, forcing you to kill it yourself manually, or with some other scripting.
68
-
69
- So normally you can do one of a couple things so that your process spawning code works well on windows in addition to nix machines:
70
-
71
- - Use another library where someone claims to have solved this completely in a cross-platform way (`press x to doubt`), and accept a non-trivial number of dependencies into your project
72
- - Use the non-shell option and just deal with some commands terminating non-gracefully
73
- - Use the shell option and just deal with long running processes sometimes getting orphaned
74
-
75
- Instead I've chosen to create a couple of different wrapper methods for Node's spawn method. One calls spawn fairly normally (`spawnAsync` in [./src/generalUtils.ts](./src/generalUtils.ts)), with an additional option to get the exec-like functionality of throwing on non-zero return code if you want. And another wrapper that is used for long running processes that uses the shell option, but if you're on windows does a nifty little hack to spawn a "middle" watchdog process that polls for whether the parent is alive or not and kills the child process tree if it becomes orphaned (`spawnAsyncLongRunning` in [./src/generalUtils.ts](./src/generalUtils.ts)).
76
-
77
- In the future I may go research how others have solved cross-platform process spawning, but for now this little hack works fine.
1
+ # node-cli-utils
2
+
3
+ This library is a collection of miscellaneous utility functions for Node CLI scripting.
4
+
5
+ I primarily use this library with [swig-cli](https://github.com/mikey-t/swig) to automate project dev tasks and generally to glue all the things together. Check out an example project that uses both swig-cli and node-cli-utils: [dotnet-react-sandbox](https://github.com/mikey-t/dotnet-react-sandbox).
6
+
7
+ ## Documentation
8
+
9
+ Auto-generated TypeDoc documentation: [https://mikey-t.github.io/node-cli-utils-docs/](https://mikey-t.github.io/node-cli-utils-docs/).
10
+
11
+ Generated with [TypeDoc](https://github.com/TypeStrong/typedoc).
12
+
13
+ ## Install
14
+
15
+ ```
16
+ npm i -D @mikeyt23/node-cli-utils
17
+ ```
18
+
19
+ ## Exported Modules
20
+
21
+ Utility functions are grouped into the following sub-modules:
22
+
23
+ | Module | Description |
24
+ |--------|-------------|
25
+ | @mikeyt23/node-cli-utils | General utils |
26
+ | @mikeyt23/node-cli-utils/dockerUtils | Docker utils |
27
+ | @mikeyt23/node-cli-utils/dbMigrationUtils | DB migration utils (see [db-migrations-dotnet](https://github.com/mikey-t/db-migrations-dotnet)) |
28
+ | @mikeyt23/node-cli-utils/dotnetUtils | Dotnet utils |
29
+ | @mikeyt23/node-cli-utils/certUtils | Cert utils |
30
+ | @mikeyt23/node-cli-utils/colors | Utils methods to add color to CLI output |
31
+ | @mikeyt23/node-cli-utils/DependencyChecker | Util class for checking system dependencies |
32
+ | @mikeyt23/node-cli-utils/hostFileUtils | Host file utils |
33
+ | @mikeyt23/node-cli-utils/parallel | A runParallel method and a ParallelExecutor class |
34
+ | @mikeyt23/node-cli-utils/testUtils | Helper methods for use with the NodeJS test runner |
35
+
36
+ ## Reasoning
37
+
38
+ NodeJS projects are out-of-control with the depth of their dependency trees. Rather than giving in to that trend, I'm attempting to maintain a collection of utilities using only built-in NodeJS functionality whenever possible, and only importing things when I simply can't easily reproduce the functionality myself. And when I do import a dependency, it will preferably be one with a shallow dependency tree.
39
+
40
+ In some ways this is bad because I'm obviously re-inventing the wheel and there's other libraries that do some of this stuff way better. But here's what I'm getting by doing it this way:
41
+
42
+ - Significantly less work to keep things up to date - I don't have to audit dozens or hundreds or thousands of dependency and transitive dependency updates on a regular basis
43
+ - Significantly less (or zero) risk of NPM supply chain attacks
44
+ - Getting more hands-on XP with the fundamentals of NodeJS Typescript development
45
+ - Control. Do I know who to talk to for bug fixes or feature improvements? Of course I know him - he's me!
46
+
47
+ Originally I made an exception to this rule for [node-tar](https://github.com/isaacs/node-tar). However, I replaced this with a system call to the OS built-in `tar` utility since even Windows has this built-in since 2018.
48
+
49
+ Also - just my personal opinion - every serious developer should create and maintain libraries like this. It's not always about reinventing the wheel or not. Sometimes it's about learning about different types of wheels by creating some yourself.
50
+
51
+ Why one big package instead of smaller targeted packages? Smaller more focused packages would indeed be better, but only if I actually had time to maintain them all, which I don't. That decision will inevitably make this package a poor choice for most people for many reasons, but the benefit drastically outweighs the cost, in my opinion.
52
+
53
+ ## Semver
54
+
55
+ I won't be adhering to strict semver. I chose to group a large number of unrelated things into a single project so that I don't have to spend all my time maintaining many small projects. As a result, I probably won't be able to realistically bump minor/major versions every time there is a method signature change in a single function, for example.
56
+
57
+ However, I plan on keeping the project well-documented and I also plan on continuing to increase unit test coverage, so hopefully the downsides of my approach will be somewhat mitigated.
58
+
59
+ ## Noteworthy Features
60
+
61
+ ### Process Spawning Cross-Platform Workarounds
62
+
63
+ Dev automation tasks in all my projects make heavy use of spawning child processes, but unfortunately there's a lot of issues that cause this to be inconsistent across platforms. I've attempted to normalize some of the more annoying edge cases.
64
+
65
+ For example, sometimes the only way to get a command to work how you want on windows is to pass the `shell: true` option. One case where this is useful is for running commands for a long running process that you want to be able to terminate with `ctrl+c` when you're done with it. These are commands like `docker compose up`, or running a dev web server, or anything that runs until you stop it. But on windows when you use `ctrl+c` to terminate a process spawned without the `shell: true` option, it immediately kills all the processes in the tree without warning or signaling, which is bad if those processes need to shut down gracefully before exiting. For example, on windows if you use `ctrl+c` on `docker compose up` spawned by Node, you'll notice that the containers are still running even after the attached command exits. But if you do the same thing on a nix machine, docker is given the `SIGINT` signal and it gracefully stops the containers before shutting down.
66
+
67
+ But this issue is of the whack-a-mole variety, because if you do go ahead and pass the `shell: true` option, then unexpected termination of the parent process will simply orphan your child process tree, forcing you to kill it yourself manually, or with some other scripting.
68
+
69
+ So normally you can do one of a couple things so that your process spawning code works well on windows in addition to nix machines:
70
+
71
+ - Use another library where someone claims to have solved this completely in a cross-platform way (`press x to doubt`), and accept a non-trivial number of dependencies into your project
72
+ - Use the non-shell option and just deal with some commands terminating non-gracefully
73
+ - Use the shell option and just deal with long running processes sometimes getting orphaned
74
+
75
+ Instead I've chosen to create a couple of different wrapper methods for Node's spawn method. One calls spawn fairly normally (`spawnAsync` in [./src/generalUtils.ts](./src/generalUtils.ts)), with an additional option to get the exec-like functionality of throwing on non-zero return code if you want. And another wrapper that is used for long running processes that uses the shell option, but if you're on windows does a nifty little hack to spawn a "middle" watchdog process that polls for whether the parent is alive or not and kills the child process tree if it becomes orphaned (`spawnAsyncLongRunning` in [./src/generalUtils.ts](./src/generalUtils.ts)).
76
+
77
+ In the future I may go research how others have solved cross-platform process spawning, but for now this little hack works fine.
@@ -4,7 +4,7 @@ export type StringBoolEntry = {
4
4
  value: boolean;
5
5
  };
6
6
  export type StringBoolArray = StringBoolEntry[];
7
- export default abstract class DependencyChecker {
7
+ export declare abstract class DependencyChecker {
8
8
  protected platformCode: PlatformCode;
9
9
  constructor();
10
10
  abstract getReport(): Promise<StringBoolArray>;
@@ -23,4 +23,5 @@ export default abstract class DependencyChecker {
23
23
  protected isPortAvailable(port: number): Promise<boolean>;
24
24
  private getPlatform;
25
25
  }
26
+ export declare function hasDotnetSdkGreaterThanOrEqualTo(minimumMajorVersion: number): Promise<boolean>;
26
27
  //# sourceMappingURL=DependencyChecker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DependencyChecker.d.ts","sourceRoot":"","sources":["../../src/DependencyChecker.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAA;AAClD,MAAM,MAAM,eAAe,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AAC7D,MAAM,MAAM,eAAe,GAAG,eAAe,EAAE,CAAA;AAE/C,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,iBAAiB;IAC7C,SAAS,CAAC,YAAY,EAAE,YAAY,CAAA;;IAMpC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAE9C,kBAAkB,CAAC,kBAAkB,EAAE,eAAe,GAAG,OAAO;IAOhE,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;cA0BnF,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;cAY1C,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;cASvC,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;cAQzC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;cAI1B,gCAAgC,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAsB/E,6BAA6B,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cA6B5E,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;cAI7B,eAAe;cAIf,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;cAmB9B,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAczD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB/D,OAAO,CAAC,WAAW;CAYpB"}
1
+ {"version":3,"file":"DependencyChecker.d.ts","sourceRoot":"","sources":["../../src/DependencyChecker.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAA;AAClD,MAAM,MAAM,eAAe,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AAC7D,MAAM,MAAM,eAAe,GAAG,eAAe,EAAE,CAAA;AAE/C,8BAAsB,iBAAiB;IACrC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAA;;IAMpC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAE9C,kBAAkB,CAAC,kBAAkB,EAAE,eAAe,GAAG,OAAO;IAOhE,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;cA0BnF,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;cAY1C,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;cASvC,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;cAQzC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;cAI1B,gCAAgC,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAI/E,6BAA6B,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cA6B5E,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;cAI7B,eAAe;cAIf,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;cAmB9B,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAczD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB/D,OAAO,CAAC,WAAW;CAYpB;AAED,wBAAsB,gCAAgC,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBpG"}
@@ -26,12 +26,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- const node_child_process_1 = require("node:child_process");
29
+ exports.hasDotnetSdkGreaterThanOrEqualTo = exports.DependencyChecker = void 0;
30
30
  const chalk_1 = __importDefault(require("chalk"));
31
- const node_process_1 = require("node:process");
32
31
  const net = __importStar(require("net"));
33
- const generalUtils_js_1 = require("./generalUtils.js");
32
+ const node_child_process_1 = require("node:child_process");
33
+ const node_process_1 = require("node:process");
34
34
  const dockerUtils_js_1 = require("./dockerUtils.js");
35
+ const generalUtils_js_1 = require("./generalUtils.js");
35
36
  class DependencyChecker {
36
37
  constructor() {
37
38
  this.platformCode = this.getPlatform();
@@ -90,23 +91,7 @@ class DependencyChecker {
90
91
  return !!(0, generalUtils_js_1.whichSync)('git').location;
91
92
  }
92
93
  async hasDotnetSdkGreaterThanOrEqualTo(minimumMajorVersion) {
93
- if (!(0, generalUtils_js_1.whichSync)('dotnet').location) {
94
- return false;
95
- }
96
- const childProc = (0, node_child_process_1.spawnSync)('dotnet', ['--list-sdks'], { encoding: 'utf-8' });
97
- if (childProc.error) {
98
- return false;
99
- }
100
- const lines = childProc.stdout.split('\n').filter((line) => !!line);
101
- const lastLine = lines[lines.length - 1];
102
- let latestMajorVersion;
103
- try {
104
- latestMajorVersion = parseInt(lastLine.substring(0, lastLine.indexOf('.')));
105
- }
106
- catch (_a) {
107
- throw Error('error parsing results of dotnet --list-sdks');
108
- }
109
- return latestMajorVersion >= minimumMajorVersion;
94
+ return await hasDotnetSdkGreaterThanOrEqualTo(minimumMajorVersion);
110
95
  }
111
96
  async hasNodejsGreaterThanOrEqualTo(minimumMajorVersion) {
112
97
  if (!(0, generalUtils_js_1.whichSync)('node').location) {
@@ -197,5 +182,29 @@ class DependencyChecker {
197
182
  }
198
183
  }
199
184
  }
200
- exports.default = DependencyChecker;
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeUNoZWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvRGVwZW5kZW5jeUNoZWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJEQUE4QztBQUM5QyxrREFBeUI7QUFDekIsK0NBQTREO0FBQzVELHlDQUEwQjtBQUMxQix1REFBNEc7QUFDNUcscURBQWtEO0FBTWxELE1BQThCLGlCQUFpQjtJQUc3QztRQUNFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ3hDLENBQUM7SUFJRCxrQkFBa0IsQ0FBQyxrQkFBbUM7UUFDcEQsSUFBSSxrQkFBa0IsS0FBSyxJQUFJLEVBQUU7WUFDL0IsT0FBTyxLQUFLLENBQUE7U0FDYjtRQUNELE9BQU8sa0JBQWtCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUF1QixFQUFFLGVBQXlCLEVBQUUsUUFBbUI7UUFDeEYsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFBO1FBRTlCLE1BQU0sY0FBYyxHQUFvQixRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkQsTUFBTSxDQUFBO1FBRVIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUMvQixHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUNoRCxXQUFXLENBQUMsTUFBTSxDQUNuQixD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
185
+ exports.DependencyChecker = DependencyChecker;
186
+ async function hasDotnetSdkGreaterThanOrEqualTo(minimumMajorVersion) {
187
+ if (!(await (0, generalUtils_js_1.which)('dotnet')).location) {
188
+ return false;
189
+ }
190
+ const result = await (0, generalUtils_js_1.simpleSpawnAsync)('dotnet', ['--list-sdks'], false);
191
+ if (result.code !== 0) {
192
+ (0, generalUtils_js_1.trace)(result);
193
+ throw new Error('Command "dotnet --list-sdks" returned a non-zero result - enable trace for error details');
194
+ }
195
+ if (result.stdoutLines.length === 0) {
196
+ throw new Error('Unexpected error running "dotnet --list-sdks" and parsing the result - empty stdout lines');
197
+ }
198
+ let latestMajorVersion;
199
+ const lastLine = result.stdoutLines[result.stdoutLines.length - 1];
200
+ try {
201
+ latestMajorVersion = parseInt(lastLine.substring(0, lastLine.indexOf('.')));
202
+ }
203
+ catch (_a) {
204
+ throw Error('error parsing results of dotnet --list-sdks');
205
+ }
206
+ (0, generalUtils_js_1.trace)(`minimumMajorVersion: ${minimumMajorVersion} | latestMajorVersion: ${latestMajorVersion}`);
207
+ return latestMajorVersion >= minimumMajorVersion;
208
+ }
209
+ exports.hasDotnetSdkGreaterThanOrEqualTo = hasDotnetSdkGreaterThanOrEqualTo;
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeUNoZWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvRGVwZW5kZW5jeUNoZWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBeUI7QUFDekIseUNBQTBCO0FBQzFCLDJEQUE4QztBQUM5QywrQ0FBNEQ7QUFDNUQscURBQWtEO0FBQ2xELHVEQUE0STtBQU01SSxNQUFzQixpQkFBaUI7SUFHckM7UUFDRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUN4QyxDQUFDO0lBSUQsa0JBQWtCLENBQUMsa0JBQW1DO1FBQ3BELElBQUksa0JBQWtCLEtBQUssSUFBSSxFQUFFO1lBQy9CLE9BQU8sS0FBSyxDQUFBO1NBQ2I7UUFDRCxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBdUIsRUFBRSxlQUF5QixFQUFFLFFBQW1CO1FBQ3hGLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQTtRQUU5QixNQUFNLGNBQWMsR0FBb0IsUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sQ0FBQTtRQUVSLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDL0IsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFDaEQsV0FBVyxDQUFDLE1BQU0sQ0FDbkIsQ0FBQTtRQUVELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQTtRQUV2QixJQUFJLGVBQWUsRUFBRTtZQUNuQixZQUFZLElBQUksR0FBRyxXQUFXLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFBO1NBQzdHO1FBRUQsS0FBSyxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLGNBQWMsRUFBRTtZQUMzQyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUN6RCxZQUFZLElBQUksR0FBRyxHQUFHLEdBQUcsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsZUFBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFBO1NBQzFGO1FBRUQsT0FBTyxZQUFZLENBQUE7SUFDckIsQ0FBQztJQUVTLEtBQUssQ0FBQyxzQkFBc0I7UUFDcEMsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssRUFBRTtZQUMvQixPQUFPLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUE7U0FDeEM7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssT0FBTyxFQUFFO1lBQ3hDLE9BQU8sTUFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtTQUMxQzthQUFNLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLEVBQUU7WUFDdEMsT0FBTyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO1NBQzFDO1FBRUQsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRVMsS0FBSyxDQUFDLG1CQUFtQjtRQUNqQyxJQUFJO1lBQ0YsTUFBTSxJQUFBLDRCQUFVLEVBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1lBQy9FLE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFBQyxXQUFNO1lBQ04sT0FBTyxLQUFLLENBQUE7U0FDYjtJQUNILENBQUM7SUFFUyxLQUFLLENBQUMscUJBQXFCO1FBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsdUZBQXVGLENBQUMsQ0FBQTtTQUN6RztRQUNELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUM1QixPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUE7SUFDbEIsQ0FBQztJQUVTLEtBQUssQ0FBQyxNQUFNO1FBQ3BCLE9BQU8sQ0FBQyxDQUFDLElBQUEsMkJBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUE7SUFDcEMsQ0FBQztJQUVTLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxtQkFBMkI7UUFDMUUsT0FBTyxNQUFNLGdDQUFnQyxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDcEUsQ0FBQztJQUVTLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxtQkFBMkI7UUFDdkUsSUFBSSxDQUFDLElBQUEsMkJBQVMsRUFBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDL0IsT0FBTyxLQUFLLENBQUE7U0FDYjtRQUVELE1BQU0sU0FBUyxHQUFHLElBQUEsOEJBQVMsRUFBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBQ2xFLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRTtZQUNuQixPQUFPLEtBQUssQ0FBQTtTQUNiO1FBRUQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQTtRQUMvQixJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLE9BQU8sS0FBSyxDQUFBO1NBQ2I7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzQixNQUFNLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO1NBQzdDO1FBRUQsSUFBSSxpQkFBeUIsQ0FBQTtRQUM3QixJQUFJO1lBQ0YsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ3ZFO1FBQUMsV0FBTTtZQUNOLE1BQU0sS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUE7U0FDMUM7UUFFRCxPQUFPLGlCQUFpQixJQUFJLG1CQUFtQixDQUFBO0lBQ2pELENBQUM7SUFFUyxLQUFLLENBQUMsU0FBUztRQUN2QixPQUFPLENBQUMsQ0FBQyxJQUFBLDJCQUFTLEVBQUMsUUFBUSxDQUFDLENBQUE7SUFDOUIsQ0FBQztJQUVTLEtBQUssQ0FBQyxlQUFlO1FBQzdCLE9BQU8sTUFBTSxJQUFBLGdDQUFlLEdBQUUsQ0FBQTtJQUNoQyxDQUFDO0lBRVMsS0FBSyxDQUFDLFVBQVU7UUFDeEIsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssRUFBRTtZQUMvQixNQUFNLFNBQVMsR0FBRyxJQUFBLDhCQUFTLEVBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7WUFDbkYsSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFO2dCQUNuQixPQUFPLEtBQUssQ0FBQTthQUNiO1lBRUQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQTtZQUUvQixJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNsQyxPQUFPLEtBQUssQ0FBQTthQUNiO1lBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDakQ7UUFFRCxPQUFPLENBQUMsQ0FBQyxJQUFBLDJCQUFTLEVBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFBO0lBQ3hDLENBQUM7SUFFUyxLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFBYztRQUNwRCxNQUFNLFNBQVMsR0FBRywrQ0FBK0MsTUFBTSxFQUFFLENBQUE7UUFDekUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLEdBQUcsd0JBQXdCLENBQUMsQ0FBQTtTQUN0RDtRQUNELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM3QixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxHQUFHLGtEQUFrRCxDQUFDLENBQUE7U0FDaEY7UUFFRCxPQUFPLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBRVMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFZO1FBQzFDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQTtZQUU3QyxNQUFNLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7Z0JBQ3hCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtnQkFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUMsaUJBQWlCO1lBQ2xDLENBQUMsQ0FBQyxDQUFBO1lBRUYsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUEwQixFQUFFLEVBQUU7Z0JBQ2hELE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtnQkFDaEIsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRTtvQkFDL0IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsb0JBQW9CO2lCQUNuQztxQkFBTTtvQkFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQyxtREFBbUQ7aUJBQ25FO1lBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTyxXQUFXO1FBRWpCLElBQUksSUFBQSxtQ0FBaUIsR0FBRSxFQUFFO1lBQ3ZCLE9BQU8sS0FBSyxDQUFBO1NBQ2I7YUFBTSxJQUFJLElBQUEsK0JBQWEsR0FBRSxFQUFFO1lBQzFCLE9BQU8sS0FBSyxDQUFBO1NBQ2I7YUFBTSxJQUFJLElBQUEsaUNBQWUsR0FBRSxFQUFFO1lBQzVCLE9BQU8sT0FBTyxDQUFBO1NBQ2Y7YUFBTTtZQUNMLE1BQU0sS0FBSyxDQUFDLDJCQUEyQix1QkFBaUIsMkRBQTJELENBQUMsQ0FBQTtTQUNySDtJQUNILENBQUM7Q0FDRjtBQXJMRCw4Q0FxTEM7QUFFTSxLQUFLLFVBQVUsZ0NBQWdDLENBQUMsbUJBQTJCO0lBQ2hGLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBQSx1QkFBSyxFQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO1FBQ3JDLE9BQU8sS0FBSyxDQUFBO0tBQ2I7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsa0NBQWdCLEVBQUMsUUFBUSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdkUsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtRQUNyQixJQUFBLHVCQUFLLEVBQUMsTUFBTSxDQUFDLENBQUE7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLDBGQUEwRixDQUFDLENBQUE7S0FDNUc7SUFFRCxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLDJGQUEyRixDQUFDLENBQUE7S0FDN0c7SUFFRCxJQUFJLGtCQUEwQixDQUFBO0lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDbEUsSUFBSTtRQUNGLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUM1RTtJQUFDLFdBQU07UUFDTixNQUFNLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFBO0tBQzNEO0lBRUQsSUFBQSx1QkFBSyxFQUFDLHdCQUF3QixtQkFBbUIsMEJBQTBCLGtCQUFrQixFQUFFLENBQUMsQ0FBQTtJQUNoRyxPQUFPLGtCQUFrQixJQUFJLG1CQUFtQixDQUFBO0FBQ2xELENBQUM7QUF6QkQsNEVBeUJDIn0=
@@ -198,13 +198,13 @@ exports.winGetPfxInfo = winGetPfxInfo;
198
198
  * Does not actually do anything - just outputs the manual instructions for installing a cert for use by chrome on linux.
199
199
  */
200
200
  function linuxInstallCert() {
201
- const instructions = `Automated linux cert install not supported (chrome does not use system certs without significant extra configuration).
202
- Manual Instructions:
203
- - In Chrome, go to chrome://settings/certificates
204
- - Select Authorities -> import
205
- - Select your generated .crt file (in the ./cert/ directory by default - if you haven't generated it, see the generateCertWithOpenSsl function)
206
- - Check box for "Trust certificate for identifying websites"
207
- - Click OK
201
+ const instructions = `Automated linux cert install not supported (chrome does not use system certs without significant extra configuration).
202
+ Manual Instructions:
203
+ - In Chrome, go to chrome://settings/certificates
204
+ - Select Authorities -> import
205
+ - Select your generated .crt file (in the ./cert/ directory by default - if you haven't generated it, see the generateCertWithOpenSsl function)
206
+ - Check box for "Trust certificate for identifying websites"
207
+ - Click OK
208
208
  - Reload site`;
209
209
  console.log(instructions);
210
210
  }
@@ -265,20 +265,20 @@ function getRequiresElevatedPermissionsMessage(isInstall = true) {
265
265
  }
266
266
  // Newer cert requirements force the need for "extension info" with DNS and IP info, but openssl v1.x doesn't support that with the
267
267
  // CLI option -addext, so we're using a san.cnf file instead and passing this into the CLI command with the -config option.
268
- const sanCnfTemplate = `[req]
269
- distinguished_name=req
270
- x509_extensions = v3_req
271
- prompt = no
272
-
273
- [req_distinguished_name]
274
- CN = {{url}}
275
-
276
- [v3_req]
277
- subjectAltName = @alt_names
278
-
279
- [alt_names]
280
- DNS.1 = {{url}}
281
- IP.1 = 127.0.0.1
282
-
268
+ const sanCnfTemplate = `[req]
269
+ distinguished_name=req
270
+ x509_extensions = v3_req
271
+ prompt = no
272
+
273
+ [req_distinguished_name]
274
+ CN = {{url}}
275
+
276
+ [v3_req]
277
+ subjectAltName = @alt_names
278
+
279
+ [alt_names]
280
+ DNS.1 = {{url}}
281
+ IP.1 = 127.0.0.1
282
+
283
283
  `;
284
284
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydFV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NlcnRVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzREFBd0I7QUFDeEIsZ0VBQWtDO0FBQ2xDLDBEQUE0QjtBQUM1Qix1REFlMEI7QUFDMUIsMkNBQWlDO0FBZWpDLE1BQU0scUJBQXFCLEdBQW1CO0lBQzVDLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsNkJBQTZCLEVBQUUsSUFBSTtJQUNuQyxVQUFVLEVBQUUsSUFBSTtDQUNqQixDQUFBO0FBV0Q7Ozs7O0dBS0c7QUFDSSxLQUFLLFVBQVUsdUJBQXVCLENBQUMsR0FBVyxFQUFFLE9BQXNDO0lBQy9GLElBQUEsK0JBQWEsRUFBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDekIsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDNUIsTUFBTSxLQUFLLEdBQUcsSUFBQSwrQkFBYSxHQUFFLENBQUE7SUFFN0IsTUFBTSxhQUFhLEdBQXdCLEVBQUUsR0FBRyxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUE7SUFFOUcsTUFBTSxTQUFTLEdBQW1DLEVBQUUsR0FBRyxFQUFFLGFBQWEsQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7SUFFbEosSUFBQSx1QkFBSyxFQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxrQ0FBa0MsQ0FBQyxDQUFBO0lBRXpFLElBQUksZUFBZSxHQUFXLEVBQUUsQ0FBQTtJQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsTUFBTSxXQUFXLEdBQUcsSUFBQSwyQkFBUyxFQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtRQUNqRCxJQUFJLENBQUMsV0FBVyxF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
@@ -170,26 +170,26 @@ async function writeEmptySqlFileIfNotExists(scriptPath, scriptType) {
170
170
  }
171
171
  const contextNamePlaceholder = '{{context_name}}';
172
172
  const migrationNamePlaceholder = '{{migration_name}}';
173
- const cSharpMigrationFileTemplate = `using Microsoft.EntityFrameworkCore.Migrations;
174
- using MikeyT.DbMigrations;
175
-
176
- #nullable disable
177
-
178
- namespace DbMigrator.Migrations.${contextNamePlaceholder}Migrations
179
- {
180
- public partial class ${migrationNamePlaceholder} : Migration
181
- {
182
- protected override void Up(MigrationBuilder migrationBuilder)
183
- {
184
- MigrationScriptRunner.RunScript(migrationBuilder, "${migrationNamePlaceholder}.sql");
185
- }
186
-
187
- protected override void Down(MigrationBuilder migrationBuilder)
188
- {
189
- MigrationScriptRunner.RunScript(migrationBuilder, "${migrationNamePlaceholder}_Down.sql");
190
- }
191
- }
192
- }
193
-
173
+ const cSharpMigrationFileTemplate = `using Microsoft.EntityFrameworkCore.Migrations;
174
+ using MikeyT.DbMigrations;
175
+
176
+ #nullable disable
177
+
178
+ namespace DbMigrator.Migrations.${contextNamePlaceholder}Migrations
179
+ {
180
+ public partial class ${migrationNamePlaceholder} : Migration
181
+ {
182
+ protected override void Up(MigrationBuilder migrationBuilder)
183
+ {
184
+ MigrationScriptRunner.RunScript(migrationBuilder, "${migrationNamePlaceholder}.sql");
185
+ }
186
+
187
+ protected override void Down(MigrationBuilder migrationBuilder)
188
+ {
189
+ MigrationScriptRunner.RunScript(migrationBuilder, "${migrationNamePlaceholder}_Down.sql");
190
+ }
191
+ }
192
+ }
193
+
194
194
  `;
195
195
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJNaWdyYXRpb25VdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYk1pZ3JhdGlvblV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVEQUE0RztBQUM1RywwREFBNEI7QUFDNUIsc0RBQXdCO0FBQ3hCLGdFQUFrQztBQUVsQzs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxlQUFlLENBQUMsV0FBbUIsRUFBRSxhQUFxQixFQUFFLElBQWMsRUFBRSxPQUFPLEdBQUcsSUFBSTtJQUM5RyxJQUFBLGtDQUFnQixFQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUM1QyxJQUFBLCtCQUFhLEVBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSw0QkFBVSxFQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3BKLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQTtBQUNwQixDQUFDO0FBTEQsMENBS0M7QUFFRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLGdCQUFnQixDQUFDLFdBQW1CLEVBQUUsYUFBcUI7SUFDL0UsTUFBTSxlQUFlLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBRSxDQUFBO0FBQzVFLENBQUM7QUFGRCw0Q0FFQztBQUVEOzs7OztHQUtHO0FBQ0ksS0FBSyxVQUFVLGtCQUFrQixDQUFDLFdBQW1CLEVBQUUsYUFBcUIsRUFBRSxhQUFzQjtJQUN6RyxNQUFNLGVBQWUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLENBQUMsVUFB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
@@ -597,6 +597,20 @@ export declare function isErrorEnoent(err: unknown): boolean;
597
597
  * @returns String in the format `YYYYMMDDHHmmss`.
598
598
  */
599
599
  export declare function getTimestampUnformatted(date?: Date): string;
600
+ /**
601
+ * Wrapper function for built-in crypto lib `randomInt`, but `min` and `max` are both inclusive.
602
+ */
600
603
  export declare function getRandomIntInclusive(min: number, max: number): number;
604
+ /**
605
+ * Check if `child` path is a file or subdirectory underneath the `parentDir` directory. The `parentDir` param must be
606
+ * a valid path and a directory. The `child` path does not need to exist, but note that if the child path is relative,
607
+ * it will be resolved using the current working directory. Transform or resolve the child path before passing into this
608
+ * method to avoid using current working directory.
609
+ * @param parentDir An existing directory to check the `child` path against.
610
+ * @param child An existing or non-existent path to check against the `parentDir` path.
611
+ * @param requireChildExists Pass `true` if you want an exception to be thrown in the `child` path does not exist. Defaults to `false`.
612
+ * @returns `true` if the `child` path is a descendant of `parentDir`
613
+ */
614
+ export declare function isChildPath(parentDir: string, child: string, requireChildExists?: boolean): boolean;
601
615
  export {};
602
616
  //# sourceMappingURL=generalUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generalUtils.d.ts","sourceRoot":"","sources":["../../src/generalUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generalUtils.d.ts","sourceRoot":"","sources":["../../src/generalUtils.ts"],"names":[],"mappings":"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"}