@travetto/pack 5.0.1 → 5.0.2

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 CHANGED
@@ -142,13 +142,14 @@ Options:
142
142
  -df, --docker-factory <string> Docker Factory source (default: "@travetto/pack/support/pack.dockerfile")
143
143
  -di, --docker-image <string> Docker Image to extend (default: "node:22-alpine")
144
144
  -dn, --docker-name <string> Docker Image Name (default: "travetto_pack")
145
- -dt, --docker-tag <string> Docker Image Tag (default: ["latest"])
145
+ -ru, --runtime-user <string> Docker Runtime user
146
+ -rp, --runtime-package <string> Docker Runtime Packages (default: [])
146
147
  -dp, --docker-port <number> Docker Image Port (default: [])
148
+ -ds, --docker-stage-only Docker Stage Only (default: false)
149
+ -dt, --docker-tag <string> Docker Image Tag (default: ["latest"])
147
150
  -dx, --docker-push Docker Push Tags (default: false)
148
151
  -db, --docker-build-platform <string> Docker Build Platform
149
152
  -dr, --docker-registry <string> Docker Registry
150
- -ru, --runtime-user <string> Docker Runtime user
151
- -rp, --runtime-package <string> Docker Runtime Packages (default: [])
152
153
  -m, --module <module> Module to run for
153
154
  -h, --help display help for command
154
155
  ```
@@ -266,12 +267,4 @@ echo "" >> $DIST/Dockerfile
266
267
  echo "USER app" >> $DIST/Dockerfile
267
268
  echo "WORKDIR /app" >> $DIST/Dockerfile
268
269
  echo "ENTRYPOINT [\"/app/todo-app.sh\"]" >> $DIST/Dockerfile
269
-
270
- # Building Docker Container latest
271
-
272
- echo "Building Docker Container latest"
273
-
274
- cd $DIST
275
- docker build -t travetto_todo-app:latest .
276
- cd $ROOT
277
270
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@travetto/pack",
3
- "version": "5.0.1",
3
+ "version": "5.0.2",
4
4
  "description": "Code packing utilities",
5
5
  "keywords": [
6
6
  "travetto",
@@ -22,20 +22,24 @@ export class PackDockerCommand extends BasePackCommand {
22
22
  @CliFlag({ desc: 'Docker Image Name', short: 'dn', envVars: ['PACK_DOCKER_IMAGE'] })
23
23
  @Required(false)
24
24
  dockerName: string;
25
- @CliFlag({ desc: 'Docker Image Tag', short: 'dt', envVars: ['PACK_DOCKER_TAGS'] })
26
- dockerTag: string[] = ['latest'];
25
+ @CliFlag({ desc: 'Docker Runtime user', short: 'ru', name: 'runtime-user', envVars: ['PACK_DOCKER_RUNTIME_USER'] })
26
+ dockerRuntimeUserSrc?: string;
27
+ @CliFlag({ desc: 'Docker Runtime Packages', short: 'rp', name: 'runtime-package', envVars: ['PACK_DOCKER_RUNTIME_PACKAGES'] })
28
+ dockerRuntimePackages: string[] = [];
27
29
  @CliFlag({ desc: 'Docker Image Port', short: 'dp', envVars: ['PACK_DOCKER_PORT'] })
28
30
  dockerPort: number[] = [];
31
+
32
+ // Publish flags
33
+ @CliFlag({ desc: 'Docker Stage Only', short: 'ds', envVars: ['PACK_DOCKER_STAGE'] })
34
+ dockerStageOnly: boolean = false;
35
+ @CliFlag({ desc: 'Docker Image Tag', short: 'dt', envVars: ['PACK_DOCKER_TAGS'] })
36
+ dockerTag: string[] = ['latest'];
29
37
  @CliFlag({ desc: 'Docker Push Tags', short: 'dx', envVars: ['PACK_DOCKER_PUSH'] })
30
38
  dockerPush = false;
31
39
  @CliFlag({ desc: 'Docker Build Platform', short: 'db', envVars: ['PACK_DOCKER_BUILD_PLATFORM'] })
32
40
  dockerBuildPlatform?: string;
33
41
  @CliFlag({ desc: 'Docker Registry', short: 'dr', envVars: ['PACK_DOCKER_REGISTRY'] })
34
42
  dockerRegistry?: string;
35
- @CliFlag({ desc: 'Docker Runtime user', short: 'ru', name: 'runtime-user', envVars: ['PACK_DOCKER_RUNTIME_USER'] })
36
- dockerRuntimeUserSrc?: string;
37
- @CliFlag({ desc: 'Docker Runtime Packages', short: 'rp', name: 'runtime-package', envVars: ['PACK_DOCKER_RUNTIME_PACKAGES'] })
38
- dockerRuntimePackages: string[] = [];
39
43
 
40
44
  @Ignore()
41
45
  dockerRuntime: DockerPackConfig['dockerRuntime'];
@@ -79,6 +83,21 @@ export class PackDockerCommand extends BasePackCommand {
79
83
  const group = (!groupIsNum ? groupOrGid : undefined) || this.defaultUser;
80
84
  const user = (!userIsNum ? userOrUid : undefined) || this.defaultUser;
81
85
  this.dockerRuntime = { user, uid, group, gid, folder: `/${this.appFolder}`, packages: this.dockerRuntimePackages };
86
+
87
+ if (this.dockerStageOnly) {
88
+ if (this.dockerRegistry) {
89
+ console.warn('Docker Registry is currently ignored due to --docker-build being false');
90
+ }
91
+ if (this.dockerBuildPlatform) {
92
+ console.warn('Docker Build Platform is currently ignored due to --docker-build being false');
93
+ }
94
+ if (this.dockerPush) {
95
+ console.warn('Docker Push is currently ignored due to --docker-build being false');
96
+ }
97
+ if (this.dockerTag) {
98
+ console.warn('Docker Tag is currently ignored due to --docker-build being false');
99
+ }
100
+ }
82
101
  }
83
102
 
84
103
  preHelp(): void {
@@ -91,8 +110,10 @@ export class PackDockerCommand extends BasePackCommand {
91
110
  DockerPackOperation.pullDockerBaseImage,
92
111
  DockerPackOperation.detectDockerImageOs,
93
112
  DockerPackOperation.writeDockerFile,
94
- DockerPackOperation.buildDockerContainer,
95
- DockerPackOperation.pushDockerContainer
113
+ ...this.dockerStageOnly ? [
114
+ DockerPackOperation.buildDockerContainer,
115
+ DockerPackOperation.pushDockerContainer
116
+ ] : []
96
117
  ];
97
118
  }
98
119
  }