@travetto/pack 6.0.0-rc.0 → 6.0.0-rc.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
@@ -34,12 +34,12 @@ Options:
34
34
  -o, --output <string> Output location
35
35
  --main-scripts, --no-main-scripts Create entry scripts (default: true)
36
36
  -f, --main-name <string> Main name for build artifact
37
- -e, --entry-point <string> Entry point (default: "@travetto/cli/support/entry.trv")
37
+ -e, --entry-point <string> Entry point (default: "@travetto/cli/support/entry.trv.ts")
38
38
  --minify, --no-minify Minify output (default: true)
39
39
  -sm, --sourcemap Bundle source maps (default: false)
40
40
  -is, --include-sources Include source with source maps (default: false)
41
41
  -x, --eject-file <string> Eject commands to file
42
- -r, --rollup-configuration <string> Rollup configuration file (default: "@travetto/pack/support/rollup/build")
42
+ -r, --rollup-configuration <string> Rollup configuration file (default: "@travetto/pack/support/rollup/build.ts")
43
43
  --env-file <string> Env Flag File Name (default: ".env")
44
44
  --manifest-file <string> Manifest File Name (default: "manifest.json")
45
45
  -wr, --include-workspace-resources Include workspace resources (default: false)
@@ -100,12 +100,12 @@ Options:
100
100
  -o, --output <string> Output location (default: "travetto_pack.zip")
101
101
  --main-scripts, --no-main-scripts Create entry scripts (default: true)
102
102
  -f, --main-name <string> Main name for build artifact
103
- -e, --entry-point <string> Entry point (default: "@travetto/cli/support/entry.trv")
103
+ -e, --entry-point <string> Entry point (default: "@travetto/cli/support/entry.trv.ts")
104
104
  --minify, --no-minify Minify output (default: true)
105
105
  -sm, --sourcemap Bundle source maps (default: false)
106
106
  -is, --include-sources Include source with source maps (default: false)
107
107
  -x, --eject-file <string> Eject commands to file
108
- -r, --rollup-configuration <string> Rollup configuration file (default: "@travetto/pack/support/rollup/build")
108
+ -r, --rollup-configuration <string> Rollup configuration file (default: "@travetto/pack/support/rollup/build.ts")
109
109
  --env-file <string> Env Flag File Name (default: ".env")
110
110
  --manifest-file <string> Manifest File Name (default: "manifest.json")
111
111
  -wr, --include-workspace-resources Include workspace resources (default: false)
@@ -129,18 +129,18 @@ Options:
129
129
  -o, --output <string> Output location
130
130
  --main-scripts, --no-main-scripts Create entry scripts (default: true)
131
131
  -f, --main-name <string> Main name for build artifact
132
- -e, --entry-point <string> Entry point (default: "@travetto/cli/support/entry.trv")
132
+ -e, --entry-point <string> Entry point (default: "@travetto/cli/support/entry.trv.ts")
133
133
  --minify, --no-minify Minify output (default: true)
134
134
  -sm, --sourcemap Bundle source maps (default: false)
135
135
  -is, --include-sources Include source with source maps (default: false)
136
136
  -x, --eject-file <string> Eject commands to file
137
- -r, --rollup-configuration <string> Rollup configuration file (default: "@travetto/pack/support/rollup/build")
137
+ -r, --rollup-configuration <string> Rollup configuration file (default: "@travetto/pack/support/rollup/build.ts")
138
138
  --env-file <string> Env Flag File Name (default: ".env")
139
139
  --manifest-file <string> Manifest File Name (default: "manifest.json")
140
140
  -wr, --include-workspace-resources Include workspace resources (default: false)
141
141
  -np, --npm-package <string> External NPM Packages (default: [])
142
- -df, --docker-factory <string> Docker Factory source (default: "@travetto/pack/support/pack.dockerfile")
143
- -di, --docker-image <string> Docker Image to extend (default: "node:22-alpine")
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:23-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: [])
@@ -167,7 +167,7 @@ As indicated, any of the pack operations can be ejected, and produce an output t
167
167
 
168
168
  **Terminal: Sample Ejected File**
169
169
  ```bash
170
- $ trv pack:docker -x /dev/stdout run:rest
170
+ $ trv pack:docker -x /dev/stdout web:http
171
171
 
172
172
  #!/bin/sh
173
173
  export DIST=/tmp/<temp-folder>
@@ -198,21 +198,21 @@ echo "Writing package.json"
198
198
 
199
199
  echo "{\"type\":\"commonjs\",\"main\":\"todo-app.js\"}" > $DIST/package.json
200
200
 
201
- # Writing entry scripts todo-app.sh args=(run:rest)
201
+ # Writing entry scripts todo-app.sh args=(web:http)
202
202
 
203
- echo "Writing entry scripts todo-app.sh args=(run:rest)"
203
+ echo "Writing entry scripts todo-app.sh args=(web:http)"
204
204
 
205
205
  echo "#!/bin/sh" > $DIST/todo-app.sh
206
206
  echo "cd \$(dirname \"\$0\")" >> $DIST/todo-app.sh
207
- echo "node todo-app.js run:rest \$@" >> $DIST/todo-app.sh
207
+ echo "node todo-app.js web:http \$@" >> $DIST/todo-app.sh
208
208
  chmod 755 $DIST/todo-app.sh
209
209
 
210
- # Writing entry scripts todo-app.cmd args=(run:rest)
210
+ # Writing entry scripts todo-app.cmd args=(web:http)
211
211
 
212
- echo "Writing entry scripts todo-app.cmd args=(run:rest)"
212
+ echo "Writing entry scripts todo-app.cmd args=(web:http)"
213
213
 
214
214
  echo "cd %~p0" > $DIST/todo-app.cmd
215
- echo "node todo-app.js run:rest %*" >> $DIST/todo-app.cmd
215
+ echo "node todo-app.js web:http %*" >> $DIST/todo-app.cmd
216
216
  chmod 755 $DIST/todo-app.cmd
217
217
 
218
218
  # Copying over module resources
@@ -227,9 +227,9 @@ echo "Writing Manifest manifest.json"
227
227
 
228
228
  TRV_MODULE=$MOD npx trvc manifest --prod $DIST/manifest.json
229
229
 
230
- # Bundling Output minify=true sourcemap=false entryPoint=@travetto/cli/support/entry.trv
230
+ # Bundling Output minify=true sourcemap=false entryPoint=@travetto/cli/support/entry.trv.ts
231
231
 
232
- echo "Bundling Output minify=true sourcemap=false entryPoint=@travetto/cli/support/entry.trv"
232
+ echo "Bundling Output minify=true sourcemap=false entryPoint=@travetto/cli/support/entry.trv.ts"
233
233
 
234
234
  export BUNDLE_ENTRY=node_modules/@travetto/cli/support/entry.trv.js
235
235
  export BUNDLE_MAIN_FILE=todo-app.js
@@ -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:22-alpine
247
+ # Pulling Docker Base Image node:23-alpine
248
248
 
249
- echo "Pulling Docker Base Image node:22-alpine"
249
+ echo "Pulling Docker Base Image node:23-alpine"
250
250
 
251
- docker pull node:22-alpine
251
+ docker pull node:23-alpine
252
252
 
253
- # Detected Image OS node:22-alpine as alpine
253
+ # Detected Image OS node:23-alpine as alpine
254
254
 
255
- echo "Detected Image OS node:22-alpine as alpine"
255
+ echo "Detected Image OS node:23-alpine as alpine"
256
256
 
257
- # Generating Docker File $DIST/Dockerfile @travetto/pack/support/pack.dockerfile
257
+ # Generating Docker File $DIST/Dockerfile @travetto/pack/support/pack.dockerfile.ts
258
258
 
259
- echo "Generating Docker File $DIST/Dockerfile @travetto/pack/support/pack.dockerfile"
259
+ echo "Generating Docker File $DIST/Dockerfile @travetto/pack/support/pack.dockerfile.ts"
260
260
 
261
- echo "FROM node:22-alpine" > $DIST/Dockerfile
261
+ echo "FROM node:23-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/__index__.ts CHANGED
@@ -1,2 +1,2 @@
1
- export type { CommonPackConfig, DockerPackFactory, DockerPackConfig } from './src/types';
2
- export { PackConfigUtil } from './src/config-util';
1
+ export type { CommonPackConfig, DockerPackFactory, DockerPackConfig } from './src/types.ts';
2
+ export { PackConfigUtil } from './src/config-util.ts';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@travetto/pack",
3
- "version": "6.0.0-rc.0",
3
+ "version": "6.0.0-rc.2",
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.2",
28
+ "@rollup/plugin-commonjs": "^28.0.3",
29
29
  "@rollup/plugin-json": "^6.1.0",
30
- "@rollup/plugin-node-resolve": "^16.0.0",
30
+ "@rollup/plugin-node-resolve": "^16.0.1",
31
31
  "@rollup/plugin-terser": "^0.4.4",
32
- "@travetto/runtime": "^6.0.0-rc.0",
33
- "@travetto/terminal": "^6.0.0-rc.0",
34
- "rollup": "^4.31.0"
32
+ "@travetto/runtime": "^6.0.0-rc.2",
33
+ "@travetto/terminal": "^6.0.0-rc.2",
34
+ "rollup": "^4.40.0"
35
35
  },
36
36
  "peerDependencies": {
37
- "@travetto/cli": "^6.0.0-rc.0"
37
+ "@travetto/cli": "^6.0.0-rc.2"
38
38
  },
39
39
  "peerDependenciesMeta": {
40
40
  "@travetto/cli": {
@@ -1,4 +1,4 @@
1
- import { DockerPackConfig } from './types';
1
+ import { DockerPackConfig } from './types.ts';
2
2
 
3
3
  /**
4
4
  * Common utils for setting up pack config
@@ -4,10 +4,10 @@ import path from 'node:path';
4
4
  import { Runtime } from '@travetto/runtime';
5
5
  import { cliTpl } from '@travetto/cli';
6
6
 
7
- import { ActiveShellCommand } from './shell';
8
- import { DockerPackConfig, DockerPackFactoryModule } from '../../src/types';
9
- import { PackOperation } from './operation';
10
- import { PackUtil } from './util';
7
+ import { ActiveShellCommand } from './shell.ts';
8
+ import { DockerPackConfig, DockerPackFactoryModule } from '../../src/types.ts';
9
+ import { PackOperation } from './operation.ts';
10
+ import { PackUtil } from './util.ts';
11
11
 
12
12
  export class DockerPackOperation {
13
13
 
@@ -82,7 +82,7 @@ export class DockerPackOperation {
82
82
  yield ActiveShellCommand.chdir(path.resolve());
83
83
  } else {
84
84
  await PackUtil.runCommand(cmd, { cwd: cfg.buildDir, stdio: [0, 'pipe', 2] });
85
- const [image] = JSON.parse(await PackUtil.runCommand(['docker', 'inspect', cfg.dockerImage]));
85
+ const [image]: [{ Size: number }] = JSON.parse(await PackUtil.runCommand(['docker', 'inspect', cfg.dockerImage]));
86
86
  yield [cliTpl`${{ title: 'Built Docker Container ' }} ${{ identifier: 'sizeMb' }}=${{ param: Math.trunc(image.Size / 2 ** 20) }}`];
87
87
  }
88
88
  }
@@ -4,9 +4,9 @@ import path from 'node:path';
4
4
  import { cliTpl } from '@travetto/cli';
5
5
  import { Env, Runtime, RuntimeIndex } from '@travetto/runtime';
6
6
 
7
- import { CommonPackConfig } from '../../src/types';
8
- import { PackUtil } from './util';
9
- import { ActiveShellCommand, ShellCommands } from './shell';
7
+ import { CommonPackConfig } from '../../src/types.ts';
8
+ import { PackUtil } from './util.ts';
9
+ import { ActiveShellCommand, ShellCommands } from './shell.ts';
10
10
 
11
11
  /**
12
12
  * General pack operations
@@ -89,7 +89,7 @@ export class PackOperation {
89
89
  yield bundleCommand;
90
90
  yield ActiveShellCommand.chdir(path.resolve());
91
91
  } else {
92
- await PackUtil.runCommand(bundleCommand, { cwd, env: { ...process.env, ...env } });
92
+ await PackUtil.runCommand(bundleCommand, { cwd, env: { ...process.env, ...env }, stdio: [0, 'pipe', 2] });
93
93
  const stat = await fs.stat(path.resolve(cfg.buildDir, cfg.mainFile));
94
94
  yield [cliTpl`${{ title: 'Bundled Output ' }} ${{ identifier: 'sizeKb' }}=${{ param: Math.trunc(stat.size / 2 ** 10) }}`];
95
95
  }
@@ -1,7 +1,7 @@
1
1
  import util from 'node:util';
2
2
  import path from 'node:path';
3
3
 
4
- import { ShellCommandImpl } from '../../src/types';
4
+ import { ShellCommandImpl } from '../../src/types.ts';
5
5
 
6
6
  const escape = (text: string): string =>
7
7
  text
@@ -4,7 +4,7 @@ import path from 'node:path';
4
4
 
5
5
  import { AppError, ExecUtil, RuntimeIndex } from '@travetto/runtime';
6
6
 
7
- import { ActiveShellCommand } from './shell';
7
+ import { ActiveShellCommand } from './shell.ts';
8
8
 
9
9
  export class PackUtil {
10
10
  /**
@@ -12,7 +12,7 @@ export class PackUtil {
12
12
  */
13
13
  static buildEnvFile(env: Record<string, string | number | boolean | undefined>): string[] {
14
14
  return Object.entries(env)
15
- .filter(([k, v]) => (v !== undefined))
15
+ .filter(([, v]) => (v !== undefined))
16
16
  .map(([k, v]) => `${k}=${v}`);
17
17
  }
18
18
 
@@ -4,9 +4,9 @@ import { RuntimeIndex } from '@travetto/runtime';
4
4
  import { CliCommand, CliFlag, CliUtil, CliValidationError } from '@travetto/cli';
5
5
  import { Ignore, Required } from '@travetto/schema';
6
6
 
7
- import { DockerPackOperation } from './bin/docker-operation';
7
+ import { DockerPackOperation } from './bin/docker-operation.ts';
8
8
  import { BasePackCommand, PackOperationShape } from './pack.base';
9
- import { DockerPackConfig } from '../src/types';
9
+ import { DockerPackConfig } from '../src/types.ts';
10
10
 
11
11
  const NODE_MAJOR = process.version.match(/\d+/)?.[0] ?? '22';
12
12
 
@@ -16,7 +16,7 @@ const NODE_MAJOR = process.version.match(/\d+/)?.[0] ?? '22';
16
16
  @CliCommand({ with: { module: true } })
17
17
  export class PackDockerCommand extends BasePackCommand {
18
18
  @CliFlag({ desc: 'Docker Factory source', short: 'df', envVars: ['PACK_DOCKER_FACTORY'] })
19
- dockerFactory = '@travetto/pack/support/pack.dockerfile';
19
+ dockerFactory = '@travetto/pack/support/pack.dockerfile.ts';
20
20
  @CliFlag({ desc: 'Docker Image to extend', short: 'di', envVars: ['PACK_DOCKER_IMAGE'] })
21
21
  dockerImage = `node:${NODE_MAJOR}-alpine`;
22
22
  @CliFlag({ desc: 'Docker Image Name', short: 'dn', envVars: ['PACK_DOCKER_IMAGE'] })
@@ -53,7 +53,7 @@ export class PackDockerCommand extends BasePackCommand {
53
53
  @Ignore()
54
54
  defaultUserId = 2000;
55
55
 
56
- async validate(...args: string[]): Promise<CliValidationError[] | undefined> {
56
+ async validate(): Promise<CliValidationError[] | undefined> {
57
57
  const errs: CliValidationError[] = [];
58
58
  if (this.dockerPort?.length) {
59
59
  for (let i = 0; i < this.dockerPort.length; i++) {
@@ -1,6 +1,6 @@
1
1
  import { CliCommand, CliUtil } from '@travetto/cli';
2
2
 
3
- import { PackOperation } from './bin/operation';
3
+ import { PackOperation } from './bin/operation.ts';
4
4
  import { BasePackCommand, PackOperationShape } from './pack.base';
5
5
 
6
6
  /**
@@ -7,8 +7,8 @@ import { Terminal } from '@travetto/terminal';
7
7
  import { Ignore, Required, Schema } from '@travetto/schema';
8
8
  import { PackageUtil } from '@travetto/manifest';
9
9
 
10
- import { PackOperation } from './bin/operation';
11
- import { PackUtil } from './bin/util';
10
+ import { PackOperation } from './bin/operation.ts';
11
+ import { PackUtil } from './bin/util.ts';
12
12
 
13
13
  export type PackOperationShape<T> = ((config: T) => AsyncIterable<string[]>);
14
14
 
@@ -46,7 +46,7 @@ export abstract class BasePackCommand implements CliCommandShape {
46
46
 
47
47
  @CliFlag({ desc: 'Entry point', short: 'e' })
48
48
  @Required(false)
49
- entryPoint: string = '@travetto/cli/support/entry.trv';
49
+ entryPoint: string = '@travetto/cli/support/entry.trv.ts';
50
50
 
51
51
  @CliFlag({ desc: 'Minify output' })
52
52
  minify = true;
@@ -61,7 +61,7 @@ export abstract class BasePackCommand implements CliCommandShape {
61
61
  ejectFile?: string;
62
62
 
63
63
  @CliFlag({ desc: 'Rollup configuration file', short: 'r' })
64
- rollupConfiguration = '@travetto/pack/support/rollup/build';
64
+ rollupConfiguration = '@travetto/pack/support/rollup/build.ts';
65
65
 
66
66
  @CliFlag({ desc: 'Env Flag File Name' })
67
67
  envFile = '.env';
@@ -1,4 +1,4 @@
1
- import { DockerPackFactory } from '../src/types';
2
- import { PackConfigUtil } from '../src/config-util';
1
+ import { DockerPackFactory } from '../src/types.ts';
2
+ import { PackConfigUtil } from '../src/config-util.ts';
3
3
 
4
4
  export const factory: DockerPackFactory = cfg => PackConfigUtil.dockerStandardFile(cfg);
@@ -4,10 +4,10 @@ import terser from '@rollup/plugin-terser';
4
4
  import jsonImport from '@rollup/plugin-json';
5
5
  import type { RollupOptions } from 'rollup';
6
6
 
7
- import { getCoreConfig } from './config';
8
- import { travettoImportPlugin } from './rollup-travetto-import';
9
- import { travettoSourcemaps } from './rollup-travetto-sourcemaps';
10
- import { travettoEntryPlugin } from './rollup-travetto-entry';
7
+ import { getCoreConfig } from './config.ts';
8
+ import { travettoImportPlugin } from './rollup-travetto-import.ts';
9
+ import { travettoSourcemaps } from './rollup-travetto-sourcemaps.ts';
10
+ import { travettoEntryPlugin } from './rollup-travetto-entry.ts';
11
11
 
12
12
  export default function buildConfig(): RollupOptions {
13
13
  // Load up if not defined
@@ -6,7 +6,7 @@ import type terser from '@rollup/plugin-terser';
6
6
  import { type ManifestModule, ManifestModuleUtil, type NodeModuleType } from '@travetto/manifest';
7
7
  import { EnvProp, Runtime, RuntimeIndex } from '@travetto/runtime';
8
8
 
9
- import { CoreRollupConfig } from '../../src/types';
9
+ import { CoreRollupConfig } from '../../src/types.ts';
10
10
 
11
11
  function getFilesFromModule(m: ManifestModule): string[] {
12
12
  return [
@@ -55,7 +55,7 @@ export function getFiles(entry?: string): string[] {
55
55
  .map(x => RuntimeIndex.getManifestModule(x))
56
56
  .filter(m => m.prod)
57
57
  .flatMap(getFilesFromModule)
58
- .filter(x => (!entry || !x.endsWith(entry)) && !x.includes('@travetto/pack/support'));
58
+ .filter(x => (!entry || !x.endsWith(entry)) && !x.includes('@travetto/pack/support/'));
59
59
  }
60
60
 
61
61
  export function getIgnoredModules(): ManifestModule[] {
@@ -3,7 +3,7 @@ import { Plugin } from 'rollup';
3
3
 
4
4
  import { RuntimeIndex } from '@travetto/runtime';
5
5
 
6
- import { CoreRollupConfig } from '../../src/types';
6
+ import { CoreRollupConfig } from '../../src/types.ts';
7
7
 
8
8
  export const GLOBAL_IMPORT = '__trv_imp';
9
9
 
@@ -27,7 +27,7 @@ globalThis.${GLOBAL_IMPORT} = trvImp;
27
27
  name: 'travetto-entry',
28
28
 
29
29
  intro() {
30
- return readFileSync(RuntimeIndex.getFromImport('@travetto/pack/support/bin/preamble')!.outputFile, 'utf8')
30
+ return readFileSync(RuntimeIndex.getFromImport('@travetto/pack/support/bin/preamble.ts')!.outputFile, 'utf8')
31
31
  .replaceAll('%%ENV_FILE%%', config.envFile ?? '')
32
32
  .replace(/\/\/# source.*$/m, '');
33
33
  },
@@ -2,18 +2,21 @@ import { AstNode, Plugin } from 'rollup';
2
2
  import { walk } from 'estree-walker';
3
3
  import magicString from 'magic-string';
4
4
 
5
- import { GLOBAL_IMPORT } from './rollup-travetto-entry';
6
- import { CoreRollupConfig } from '../../src/types';
5
+ import { GLOBAL_IMPORT } from './rollup-travetto-entry.ts';
6
+ import { CoreRollupConfig } from '../../src/types.ts';
7
7
 
8
8
  type TNode = AstNode & { source?: { type: string }, callee?: TNode & { name?: string }, args?: TNode[] };
9
9
 
10
+ /**
11
+ * Handles importing via non-static strings (e.g. ClassSource)
12
+ */
10
13
  export function travettoImportPlugin(config: CoreRollupConfig): Plugin {
11
14
  const fileSet = new Set(config.files);
12
15
 
13
16
  const out: Plugin = {
14
17
  name: 'travetto-import',
15
18
 
16
- resolveDynamicImport(specifier, importer, options) {
19
+ resolveDynamicImport(specifier, _importer, _options) {
17
20
  const key = typeof specifier === 'string' ? specifier : '';
18
21
  if (config.ignore.has(key)) {
19
22
  return false;
@@ -3,7 +3,7 @@ import fs from 'node:fs/promises';
3
3
 
4
4
  import { LoadResult, Plugin, PluginContext } from 'rollup';
5
5
 
6
- import { CoreRollupConfig } from '../../src/types';
6
+ import { CoreRollupConfig } from '../../src/types.ts';
7
7
 
8
8
  function toString(error: unknown): string {
9
9
  return error instanceof Error ? error.stack ?? error.toString() : JSON.stringify(error);