@travetto/pack 6.0.1 → 7.0.0-rc.1

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
@@ -26,7 +26,7 @@ There are three primary cli commands for packing your code:
26
26
  ```bash
27
27
  $ trv pack --help
28
28
 
29
- Usage: pack [options]
29
+ Usage: pack [options] [args...:string]
30
30
 
31
31
  Options:
32
32
  -b, --build-dir <string> Workspace for building (default: "/tmp/<temp-folder>")
@@ -92,7 +92,7 @@ This command is nearly identical to the standard `pack` operation, except for th
92
92
  ```bash
93
93
  $ trv pack:zip --help
94
94
 
95
- Usage: pack:zip [options]
95
+ Usage: pack:zip [options] [args...:string]
96
96
 
97
97
  Options:
98
98
  -b, --build-dir <string> Workspace for building (default: "/tmp/<temp-folder>")
@@ -121,7 +121,7 @@ This command starts off identical to the standard `pack` operation, but it conta
121
121
  ```bash
122
122
  $ trv pack:docker --help
123
123
 
124
- Usage: pack:docker [options]
124
+ Usage: pack:docker [options] [args...:string]
125
125
 
126
126
  Options:
127
127
  -b, --build-dir <string> Workspace for building (default: "/tmp/<temp-folder>")
@@ -140,7 +140,7 @@ Options:
140
140
  -wr, --include-workspace-resources Include workspace resources (default: false)
141
141
  -np, --npm-package <string> External NPM Packages (default: [])
142
142
  -df, --docker-factory <string> Docker Factory source (default: "@travetto/pack/support/pack.dockerfile.ts")
143
- -di, --docker-image <string> Docker Image to extend (default: "node:24-alpine")
143
+ -di, --docker-image <string> Docker Image to extend (default: "node:25-alpine")
144
144
  -dn, --docker-name <string> Docker Image Name (default: "travetto_pack")
145
145
  -ru, --runtime-user <string> Docker Runtime user
146
146
  -rp, --runtime-package <string> Docker Runtime Packages (default: [])
@@ -244,21 +244,21 @@ cd $TRV_OUT
244
244
  npx rollup -c $TRV_OUT/node_modules/@travetto/pack/support/rollup/build.js
245
245
  cd $ROOT
246
246
 
247
- # Pulling Docker Base Image node:24-alpine
247
+ # Pulling Docker Base Image node:25-alpine
248
248
 
249
- echo "Pulling Docker Base Image node:24-alpine"
249
+ echo "Pulling Docker Base Image node:25-alpine"
250
250
 
251
- docker pull node:24-alpine
251
+ docker pull node:25-alpine
252
252
 
253
- # Detected Image OS node:24-alpine as alpine
253
+ # Detected Image OS node:25-alpine as alpine
254
254
 
255
- echo "Detected Image OS node:24-alpine as alpine"
255
+ echo "Detected Image OS node:25-alpine as alpine"
256
256
 
257
257
  # Generating Docker File $DIST/Dockerfile @travetto/pack/support/pack.dockerfile.ts
258
258
 
259
259
  echo "Generating Docker File $DIST/Dockerfile @travetto/pack/support/pack.dockerfile.ts"
260
260
 
261
- echo "FROM node:24-alpine" > $DIST/Dockerfile
261
+ echo "FROM node:25-alpine" > $DIST/Dockerfile
262
262
  echo "RUN addgroup -g 2000 app && adduser -D -G app -u 2000 app" >> $DIST/Dockerfile
263
263
  echo "RUN mkdir /app && chown app:app /app" >> $DIST/Dockerfile
264
264
  echo "COPY --chown=\"app:app\" . /app" >> $DIST/Dockerfile
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@travetto/pack",
3
- "version": "6.0.1",
3
+ "version": "7.0.0-rc.1",
4
4
  "description": "Code packing utilities",
5
5
  "keywords": [
6
6
  "travetto",
@@ -25,16 +25,16 @@
25
25
  "directory": "module/pack"
26
26
  },
27
27
  "dependencies": {
28
- "@rollup/plugin-commonjs": "^28.0.6",
28
+ "@rollup/plugin-commonjs": "^29.0.0",
29
29
  "@rollup/plugin-json": "^6.1.0",
30
- "@rollup/plugin-node-resolve": "^16.0.2",
30
+ "@rollup/plugin-node-resolve": "^16.0.3",
31
31
  "@rollup/plugin-terser": "^0.4.4",
32
- "@travetto/runtime": "^6.0.1",
33
- "@travetto/terminal": "^6.0.1",
34
- "rollup": "^4.52.4"
32
+ "@travetto/runtime": "^7.0.0-rc.1",
33
+ "@travetto/terminal": "^7.0.0-rc.1",
34
+ "rollup": "^4.53.3"
35
35
  },
36
36
  "peerDependencies": {
37
- "@travetto/cli": "^6.0.1"
37
+ "@travetto/cli": "^7.0.0-rc.1"
38
38
  },
39
39
  "peerDependenciesMeta": {
40
40
  "@travetto/cli": {
@@ -15,30 +15,41 @@ const NODE_MAJOR = process.version.match(/\d+/)?.[0] ?? '22';
15
15
  */
16
16
  @CliCommand({ with: { module: true } })
17
17
  export class PackDockerCommand extends BasePackCommand {
18
- @CliFlag({ desc: 'Docker Factory source', short: 'df', envVars: ['PACK_DOCKER_FACTORY'] })
18
+ /** Docker Factory source */
19
+ @CliFlag({ short: 'df', envVars: ['PACK_DOCKER_FACTORY'] })
19
20
  dockerFactory = '@travetto/pack/support/pack.dockerfile.ts';
20
- @CliFlag({ desc: 'Docker Image to extend', short: 'di', envVars: ['PACK_DOCKER_IMAGE'] })
21
+ /** Docker Image to extend */
22
+ @CliFlag({ short: 'di', envVars: ['PACK_DOCKER_IMAGE'] })
21
23
  dockerImage = `node:${NODE_MAJOR}-alpine`;
22
- @CliFlag({ desc: 'Docker Image Name', short: 'dn', envVars: ['PACK_DOCKER_IMAGE'] })
24
+ /** Docker Image Name */
25
+ @CliFlag({ short: 'dn', envVars: ['PACK_DOCKER_IMAGE'] })
23
26
  @Required(false)
24
27
  dockerName: string;
25
- @CliFlag({ desc: 'Docker Runtime user', short: 'ru', name: 'runtime-user', envVars: ['PACK_DOCKER_RUNTIME_USER'] })
28
+ /** Docker Runtime user */
29
+ @CliFlag({ short: 'ru', full: 'runtime-user', envVars: ['PACK_DOCKER_RUNTIME_USER'] })
26
30
  dockerRuntimeUserSrc?: string;
27
- @CliFlag({ desc: 'Docker Runtime Packages', short: 'rp', name: 'runtime-package', envVars: ['PACK_DOCKER_RUNTIME_PACKAGES'] })
31
+ /** Docker Runtime Packages */
32
+ @CliFlag({ short: 'rp', full: 'runtime-package', envVars: ['PACK_DOCKER_RUNTIME_PACKAGES'] })
28
33
  dockerRuntimePackages: string[] = [];
29
- @CliFlag({ desc: 'Docker Image Port', short: 'dp', envVars: ['PACK_DOCKER_PORT'] })
34
+ /** Docker Image Port */
35
+ @CliFlag({ short: 'dp', envVars: ['PACK_DOCKER_PORT'] })
30
36
  dockerPort: number[] = [];
31
37
 
32
38
  // Publish flags
33
- @CliFlag({ desc: 'Docker Stage Only', short: 'ds', envVars: ['PACK_DOCKER_STAGE'] })
39
+ /** Docker Stage Only */
40
+ @CliFlag({ short: 'ds', envVars: ['PACK_DOCKER_STAGE'] })
34
41
  dockerStageOnly: boolean = false;
35
- @CliFlag({ desc: 'Docker Image Tag', short: 'dt', envVars: ['PACK_DOCKER_TAGS'] })
42
+ /** Docker Image Tag */
43
+ @CliFlag({ short: 'dt', envVars: ['PACK_DOCKER_TAGS'] })
36
44
  dockerTag: string[] = ['latest'];
37
- @CliFlag({ desc: 'Docker Push Tags', short: 'dx', envVars: ['PACK_DOCKER_PUSH'] })
45
+ /** Docker Push Tags */
46
+ @CliFlag({ short: 'dx', envVars: ['PACK_DOCKER_PUSH'] })
38
47
  dockerPush = false;
39
- @CliFlag({ desc: 'Docker Build Platform', short: 'db', envVars: ['PACK_DOCKER_BUILD_PLATFORM'] })
48
+ /** Docker Build Platform */
49
+ @CliFlag({ short: 'db', envVars: ['PACK_DOCKER_BUILD_PLATFORM'] })
40
50
  dockerBuildPlatform?: string;
41
- @CliFlag({ desc: 'Docker Registry', short: 'dr', envVars: ['PACK_DOCKER_REGISTRY'] })
51
+ /** Docker Registry */
52
+ @CliFlag({ short: 'dr', envVars: ['PACK_DOCKER_REGISTRY'] })
42
53
  dockerRegistry?: string;
43
54
 
44
55
  @Ignore()
@@ -4,7 +4,7 @@ import path from 'node:path';
4
4
  import { CliCommandShape, CliFlag, ParsedState, cliTpl } from '@travetto/cli';
5
5
  import { TimeUtil, Runtime, RuntimeIndex } from '@travetto/runtime';
6
6
  import { Terminal } from '@travetto/terminal';
7
- import { Ignore, Required, Schema } from '@travetto/schema';
7
+ import { Ignore, Method, Required, Schema } from '@travetto/schema';
8
8
  import { PackageUtil } from '@travetto/manifest';
9
9
 
10
10
  import { PackOperation } from './bin/operation.ts';
@@ -27,52 +27,63 @@ export abstract class BasePackCommand implements CliCommandShape {
27
27
  @Ignore()
28
28
  _parsed: ParsedState;
29
29
 
30
- @CliFlag({ desc: 'Workspace for building', short: 'b' })
30
+ /** Workspace for building */
31
+ @CliFlag({ short: 'b' })
31
32
  buildDir: string = path.resolve(os.tmpdir(), Runtime.mainSourcePath.replace(/[\/\\: ]/g, '_'));
32
33
 
33
- @CliFlag({ desc: 'Clean workspace' })
34
+ /** Clean workspace */
34
35
  clean = true;
35
36
 
36
- @CliFlag({ desc: 'Output location', short: 'o' })
37
+ /** Output location */
38
+ @CliFlag({ short: 'o' })
37
39
  @Required(false)
38
40
  output: string;
39
41
 
40
- @CliFlag({ desc: 'Create entry scripts', short: 'es' })
42
+ /** Create entry scripts */
43
+ @CliFlag({ short: 'es' })
41
44
  mainScripts: boolean = true;
42
45
 
43
- @CliFlag({ desc: 'Main name for build artifact', short: 'f' })
46
+ /** Main name for build artifact */
47
+ @CliFlag({ short: 'f' })
44
48
  @Required(false)
45
49
  mainName: string;
46
50
 
47
- @CliFlag({ desc: 'Entry point', short: 'e' })
51
+ /** Entry point */
52
+ @CliFlag({ short: 'e' })
48
53
  @Required(false)
49
54
  entryPoint: string = '@travetto/cli/support/entry.trv.ts';
50
55
 
51
- @CliFlag({ desc: 'Minify output' })
56
+ /** Minify output */
52
57
  minify = true;
53
58
 
54
- @CliFlag({ desc: 'Bundle source maps', short: 'sm' })
59
+ /** Bundle source maps */
60
+ @CliFlag({ short: 'sm' })
55
61
  sourcemap = false;
56
62
 
57
- @CliFlag({ desc: 'Include source with source maps', short: 'is' })
63
+ /** Include source with source maps */
64
+ @CliFlag({ short: 'is' })
58
65
  includeSources = false;
59
66
 
60
- @CliFlag({ desc: 'Eject commands to file', short: 'x' })
67
+ /** Eject commands to file */
68
+ @CliFlag({ short: 'x' })
61
69
  ejectFile?: string;
62
70
 
63
- @CliFlag({ desc: 'Rollup configuration file', short: 'r' })
71
+ /** Rollup configuration file */
72
+ @CliFlag({ short: 'r' })
64
73
  rollupConfiguration = '@travetto/pack/support/rollup/build.ts';
65
74
 
66
- @CliFlag({ desc: 'Env Flag File Name' })
75
+ /** Env Flag File Name */
67
76
  envFile = '.env';
68
77
 
69
- @CliFlag({ desc: 'Manifest File Name' })
78
+ /** Manifest File Name */
70
79
  manifestFile = 'manifest.json';
71
80
 
72
- @CliFlag({ desc: 'Include workspace resources', short: 'wr' })
81
+ /** Include workspace resources */
82
+ @CliFlag({ short: 'wr' })
73
83
  includeWorkspaceResources: boolean = false;
74
84
 
75
- @CliFlag({ desc: 'External NPM Packages', short: 'np', name: 'npm-package', envVars: ['PACK_EXTERNAL_PACKAGES'] })
85
+ /** External NPM Packages */
86
+ @CliFlag({ short: 'np', full: 'npm-package', envVars: ['PACK_EXTERNAL_PACKAGES'] })
76
87
  externalDependencies: string[] = [];
77
88
 
78
89
  @Ignore()
@@ -125,6 +136,7 @@ export abstract class BasePackCommand implements CliCommandShape {
125
136
  .flat();
126
137
  }
127
138
 
139
+ @Method()
128
140
  async main(args: string[] = []): Promise<void> {
129
141
  // Resolve all files to absolute paths
130
142
  this.output = this.output ? path.resolve(this.output) : undefined!;