@augment-vir/node 31.43.3 → 31.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -2
- package/dist/augments/npm/npm-deps.d.ts +38 -0
- package/dist/augments/npm/npm-deps.js +47 -0
- package/dist/augments/npm/package-json.d.ts +21 -0
- package/dist/augments/npm/package-json.js +48 -0
- package/dist/file-paths.mock.d.ts +0 -6
- package/dist/file-paths.mock.js +0 -6
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/package.json +4 -6
- package/src/augments/npm/npm-deps.ts +85 -0
- package/src/augments/npm/package-json.ts +75 -0
- package/src/file-paths.mock.ts +0 -7
- package/src/index.ts +2 -1
- package/dist/augments/docker.d.ts +0 -92
- package/dist/augments/docker.js +0 -87
- package/dist/docker/containers/container-info.d.ts +0 -57
- package/dist/docker/containers/container-info.js +0 -18
- package/dist/docker/containers/container-status.d.ts +0 -32
- package/dist/docker/containers/container-status.js +0 -68
- package/dist/docker/containers/copy-to-container.d.ts +0 -14
- package/dist/docker/containers/copy-to-container.js +0 -10
- package/dist/docker/containers/docker-command-inputs.d.ts +0 -74
- package/dist/docker/containers/docker-command-inputs.js +0 -45
- package/dist/docker/containers/kill-container.d.ts +0 -10
- package/dist/docker/containers/kill-container.js +0 -12
- package/dist/docker/containers/run-command.d.ts +0 -18
- package/dist/docker/containers/run-command.js +0 -24
- package/dist/docker/containers/run-container.d.ts +0 -23
- package/dist/docker/containers/run-container.js +0 -47
- package/dist/docker/containers/run-container.mock.d.ts +0 -2
- package/dist/docker/containers/run-container.mock.js +0 -16
- package/dist/docker/containers/try-or-kill-container.d.ts +0 -6
- package/dist/docker/containers/try-or-kill-container.js +0 -14
- package/dist/docker/docker-image.d.ts +0 -9
- package/dist/docker/docker-image.js +0 -50
- package/dist/docker/docker-startup.d.ts +0 -2
- package/dist/docker/docker-startup.js +0 -39
- package/dist/docker/run-docker-test.mock.d.ts +0 -2
- package/dist/docker/run-docker-test.mock.js +0 -23
- package/src/augments/docker.ts +0 -119
- package/src/docker/containers/container-info.ts +0 -83
- package/src/docker/containers/container-status.ts +0 -110
- package/src/docker/containers/copy-to-container.ts +0 -34
- package/src/docker/containers/docker-command-inputs.ts +0 -122
- package/src/docker/containers/kill-container.ts +0 -25
- package/src/docker/containers/run-command.ts +0 -51
- package/src/docker/containers/run-container.mock.ts +0 -22
- package/src/docker/containers/run-container.ts +0 -92
- package/src/docker/containers/try-or-kill-container.ts +0 -18
- package/src/docker/docker-image.ts +0 -61
- package/src/docker/docker-startup.ts +0 -49
- package/src/docker/run-docker-test.mock.ts +0 -26
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import {wrapString} from '@augment-vir/common';
|
|
2
|
-
import {ensureError} from '@augment-vir/core';
|
|
3
|
-
import {runShellCommand} from '../augments/terminal/shell.js';
|
|
4
|
-
|
|
5
|
-
export async function updateImage(
|
|
6
|
-
/** @example 'alpine:3.20.2' */
|
|
7
|
-
imageName: string,
|
|
8
|
-
platform?: string,
|
|
9
|
-
) {
|
|
10
|
-
if (await isImageInLocalRegistry(imageName)) {
|
|
11
|
-
/** If image already exists then we don't need to update it. */
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const command = [
|
|
16
|
-
'docker',
|
|
17
|
-
'pull',
|
|
18
|
-
...(platform
|
|
19
|
-
? [
|
|
20
|
-
'--platform',
|
|
21
|
-
platform,
|
|
22
|
-
]
|
|
23
|
-
: []),
|
|
24
|
-
wrapString({value: imageName, wrapper: "'"}),
|
|
25
|
-
].join(' ');
|
|
26
|
-
|
|
27
|
-
await runShellCommand(command, {
|
|
28
|
-
rejectOnError: true,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export async function isImageInLocalRegistry(
|
|
33
|
-
/** @example 'alpine:3.20.2' */
|
|
34
|
-
imageName: string,
|
|
35
|
-
): Promise<boolean> {
|
|
36
|
-
const output = await runShellCommand(`docker inspect '${imageName}'`);
|
|
37
|
-
|
|
38
|
-
return output.exitCode === 0;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export async function removeImageFromLocalRegistry(
|
|
42
|
-
/** @example 'alpine:3.20.2' */
|
|
43
|
-
imageName: string,
|
|
44
|
-
) {
|
|
45
|
-
try {
|
|
46
|
-
await runShellCommand(`docker image rm '${imageName}'`, {
|
|
47
|
-
rejectOnError: true,
|
|
48
|
-
});
|
|
49
|
-
} catch (caught) {
|
|
50
|
-
const error = ensureError(caught);
|
|
51
|
-
|
|
52
|
-
if (error.message.includes('No such image:')) {
|
|
53
|
-
/** Ignore the case where the image has already been deleted. */
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/** An edge case that I don't know how to intentionally trigger. */
|
|
58
|
-
/* node:coverage ignore next 2 */
|
|
59
|
-
throw error;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import {waitUntil} from '@augment-vir/assert';
|
|
2
|
-
import {currentOperatingSystem, OperatingSystem} from '../augments/os/operating-system.js';
|
|
3
|
-
import {runShellCommand} from '../augments/terminal/shell.js';
|
|
4
|
-
|
|
5
|
-
export async function isDockerRunning() {
|
|
6
|
-
const output = await runShellCommand('docker info');
|
|
7
|
-
|
|
8
|
-
return output.exitCode === 0;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const startDockerCommands: Record<OperatingSystem, string> = {
|
|
12
|
-
/**
|
|
13
|
-
* Officially supported for the following distros:
|
|
14
|
-
*
|
|
15
|
-
* - [Ubuntu](https://docs.docker.com/desktop/install/ubuntu/#launch-docker-desktop)
|
|
16
|
-
* - [Debian](https://docs.docker.com/desktop/install/debian/#launch-docker-desktop)
|
|
17
|
-
* - [Fedora](https://docs.docker.com/desktop/install/fedora/#launch-docker-desktop)
|
|
18
|
-
* - [Arch](https://docs.docker.com/desktop/install/archlinux/#launch-docker-desktop)
|
|
19
|
-
*/
|
|
20
|
-
[OperatingSystem.Linux]: 'systemctl --user start docker-desktop',
|
|
21
|
-
[OperatingSystem.Mac]: 'open -a Docker',
|
|
22
|
-
[OperatingSystem.Windows]: String.raw`/c/Program\ Files/Docker/Docker/Docker\ Desktop.exe`,
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export async function startDocker() {
|
|
26
|
-
const command = startDockerCommands[currentOperatingSystem];
|
|
27
|
-
|
|
28
|
-
/* node:coverage disable */
|
|
29
|
-
if (await isDockerRunning()) {
|
|
30
|
-
/** Docker is already running. Nothing to do. */
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
await waitUntil.isTrue(
|
|
35
|
-
async () => {
|
|
36
|
-
await runShellCommand(command, {rejectOnError: true});
|
|
37
|
-
return isDockerRunning();
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
interval: {
|
|
41
|
-
seconds: 1,
|
|
42
|
-
},
|
|
43
|
-
timeout: {
|
|
44
|
-
minutes: 1,
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
'Failed to start Docker.',
|
|
48
|
-
);
|
|
49
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import {type MaybePromise} from '@augment-vir/common';
|
|
2
|
-
import {isOperatingSystem, OperatingSystem} from '../augments/os/operating-system.js';
|
|
3
|
-
|
|
4
|
-
export function dockerTest(callback: () => MaybePromise<void>) {
|
|
5
|
-
if (!isOperatingSystem(OperatingSystem.Linux) && process.env.CI) {
|
|
6
|
-
/**
|
|
7
|
-
* We cannot test Docker on macOS GitHub Actions runners.
|
|
8
|
-
*
|
|
9
|
-
* @see
|
|
10
|
-
* - https://github.com/actions/runner-images/issues/8104
|
|
11
|
-
* - https://github.com/douglascamata/setup-docker-macos-action?tab=readme-ov-file#arm64-processors-m1-m2-m3-series-used-on-macos-14-images-are-unsupported
|
|
12
|
-
* - https://github.com/actions/runner-images/issues/2150
|
|
13
|
-
* - https://github.com/actions/runner/issues/1456
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* We cannot test Docker on Windows GitHub Actions runners because Docker cannot run in
|
|
17
|
-
* Linux container mode on Windows GitHub Actions runners.
|
|
18
|
-
*
|
|
19
|
-
* @see
|
|
20
|
-
* - https://github.com/orgs/community/discussions/25491#discussioncomment-3248089
|
|
21
|
-
*/
|
|
22
|
-
return () => {};
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return callback;
|
|
26
|
-
}
|