@nx/docker 0.0.0-pr-32490-e4fdfa9 → 0.0.0-pr-32868-a65a4a2
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 +1 -1
- package/package.json +3 -3
- package/src/plugins/plugin.js +1 -0
- package/src/release/version-utils.d.ts.map +1 -1
- package/src/release/version-utils.js +18 -14
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
# Nx: Smart Repos · Fast Builds
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.
|
|
26
26
|
|
|
27
27
|
This package is a [Docker plugin for Nx](https://nx.dev/technologies/build-tools/docker/introduction).
|
|
28
28
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx/docker",
|
|
3
3
|
"description": "The Nx Plugin for Docker to aid in containerizing projects.",
|
|
4
|
-
"version": "0.0.0-pr-
|
|
4
|
+
"version": "0.0.0-pr-32868-a65a4a2",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -47,12 +47,12 @@
|
|
|
47
47
|
"executors": "./executors.json",
|
|
48
48
|
"generators": "./generators.json",
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@nx/devkit": "0.0.0-pr-
|
|
50
|
+
"@nx/devkit": "0.0.0-pr-32868-a65a4a2",
|
|
51
51
|
"enquirer": "~2.3.6",
|
|
52
52
|
"tslib": "^2.3.0"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"nx": "0.0.0-pr-
|
|
55
|
+
"nx": "0.0.0-pr-32868-a65a4a2"
|
|
56
56
|
},
|
|
57
57
|
"types": "./src/index.d.ts"
|
|
58
58
|
}
|
package/src/plugins/plugin.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/docker/src/release/version-utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAQzG,eAAO,MAAM,oBAAoB,GAC/B,eAAe,MAAM,EACrB,aAAa,MAAM,WAGpB,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,uBAAuB,EACzC,qBAAqB,EAAE,qBAAqB,EAC5C,mBAAmB,CAAC,EAAE,MAAM,EAC5B,aAAa,CAAC,EAAE,MAAM;;;
|
|
1
|
+
{"version":3,"file":"version-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/docker/src/release/version-utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAQzG,eAAO,MAAM,oBAAoB,GAC/B,eAAe,MAAM,EACrB,aAAa,MAAM,WAGpB,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,uBAAuB,EACzC,qBAAqB,EAAE,qBAAqB,EAC5C,mBAAmB,CAAC,EAAE,MAAM,EAC5B,aAAa,CAAC,EAAE,MAAM;;;GA4CvB"}
|
|
@@ -16,22 +16,26 @@ const getDockerVersionPath = (workspaceRoot, projectRoot) => {
|
|
|
16
16
|
};
|
|
17
17
|
exports.getDockerVersionPath = getDockerVersionPath;
|
|
18
18
|
async function handleDockerVersion(workspaceRoot, projectGraphNode, finalConfigForProject, dockerVersionScheme, dockerVersion) {
|
|
19
|
+
// If the full docker image reference is provided, use it directly
|
|
20
|
+
const nxDockerImageRefEnvOverride = process.env.NX_DOCKER_IMAGE_REF?.trim() || undefined;
|
|
19
21
|
// If an explicit dockerVersion is provided, use it directly
|
|
20
22
|
let newVersion;
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
+
if (!nxDockerImageRefEnvOverride) {
|
|
24
|
+
if (dockerVersion) {
|
|
25
|
+
newVersion = dockerVersion;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const availableVersionSchemes = finalConfigForProject.dockerOptions.versionSchemes ??
|
|
29
|
+
DEFAULT_VERSION_SCHEMES;
|
|
30
|
+
const versionScheme = dockerVersionScheme && dockerVersionScheme in availableVersionSchemes
|
|
31
|
+
? dockerVersionScheme
|
|
32
|
+
: await promptForNewVersion(availableVersionSchemes, projectGraphNode.name);
|
|
33
|
+
newVersion = calculateNewVersion(projectGraphNode.name, versionScheme, availableVersionSchemes);
|
|
34
|
+
}
|
|
23
35
|
}
|
|
24
|
-
|
|
25
|
-
const availableVersionSchemes = finalConfigForProject.dockerOptions.versionSchemes ??
|
|
26
|
-
DEFAULT_VERSION_SCHEMES;
|
|
27
|
-
const versionScheme = dockerVersionScheme && dockerVersionScheme in availableVersionSchemes
|
|
28
|
-
? dockerVersionScheme
|
|
29
|
-
: await promptForNewVersion(availableVersionSchemes, projectGraphNode.name);
|
|
30
|
-
newVersion = calculateNewVersion(projectGraphNode.name, versionScheme, availableVersionSchemes);
|
|
31
|
-
}
|
|
32
|
-
const logs = updateProjectVersion(newVersion, workspaceRoot, projectGraphNode.data.root, finalConfigForProject.dockerOptions.repositoryName, finalConfigForProject.dockerOptions.registryUrl);
|
|
36
|
+
const logs = updateProjectVersion(newVersion, nxDockerImageRefEnvOverride, workspaceRoot, projectGraphNode.data.root, finalConfigForProject.dockerOptions.repositoryName, finalConfigForProject.dockerOptions.registryUrl);
|
|
33
37
|
return {
|
|
34
|
-
newVersion,
|
|
38
|
+
newVersion: newVersion || process.env.NX_DOCKER_IMAGE_REF?.split(':')[1] || null,
|
|
35
39
|
logs,
|
|
36
40
|
};
|
|
37
41
|
}
|
|
@@ -57,11 +61,11 @@ function calculateNewVersion(projectName, versionScheme, versionSchemes) {
|
|
|
57
61
|
projectName,
|
|
58
62
|
});
|
|
59
63
|
}
|
|
60
|
-
function updateProjectVersion(newVersion, workspaceRoot, projectRoot, repositoryName, registry) {
|
|
64
|
+
function updateProjectVersion(newVersion, nxDockerImageRefEnvOverride, workspaceRoot, projectRoot, repositoryName, registry) {
|
|
61
65
|
const isDryRun = process.env.NX_DRY_RUN && process.env.NX_DRY_RUN !== 'false';
|
|
62
66
|
const imageRef = getDefaultImageReference(projectRoot);
|
|
63
67
|
const newImageRef = getImageReference(projectRoot, repositoryName, registry);
|
|
64
|
-
const fullImageRef = `${newImageRef}:${newVersion}`;
|
|
68
|
+
const fullImageRef = nxDockerImageRefEnvOverride ?? `${newImageRef}:${newVersion}`;
|
|
65
69
|
if (!isDryRun) {
|
|
66
70
|
(0, child_process_1.execSync)(`docker tag ${imageRef} ${fullImageRef}`);
|
|
67
71
|
}
|