@travetto/pack 6.0.0-rc.1 → 6.0.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 +18 -18
- package/__index__.ts +2 -2
- package/package.json +7 -7
- package/src/config-util.ts +1 -1
- package/support/bin/docker-operation.ts +5 -5
- package/support/bin/operation.ts +4 -4
- package/support/bin/shell.ts +1 -1
- package/support/bin/util.ts +2 -2
- package/support/cli.pack_docker.ts +4 -4
- package/support/cli.pack_zip.ts +1 -1
- package/support/pack.base.ts +4 -4
- package/support/pack.dockerfile.ts +2 -2
- package/support/rollup/build.ts +4 -4
- package/support/rollup/config.ts +2 -2
- package/support/rollup/rollup-travetto-entry.ts +2 -2
- package/support/rollup/rollup-travetto-import.ts +6 -3
- package/support/rollup/rollup-travetto-sourcemaps.ts +1 -1
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,17 +129,17 @@ 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")
|
|
142
|
+
-df, --docker-factory <string> Docker Factory source (default: "@travetto/pack/support/pack.dockerfile.ts")
|
|
143
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
|
|
@@ -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
|
|
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=(
|
|
201
|
+
# Writing entry scripts todo-app.sh args=(web:http)
|
|
202
202
|
|
|
203
|
-
echo "Writing entry scripts todo-app.sh args=(
|
|
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
|
|
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=(
|
|
210
|
+
# Writing entry scripts todo-app.cmd args=(web:http)
|
|
211
211
|
|
|
212
|
-
echo "Writing entry scripts todo-app.cmd args=(
|
|
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
|
|
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
|
|
@@ -254,9 +254,9 @@ docker pull node:23-alpine
|
|
|
254
254
|
|
|
255
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
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
|
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
|
|
3
|
+
"version": "6.0.0",
|
|
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.
|
|
28
|
+
"@rollup/plugin-commonjs": "^28.0.3",
|
|
29
29
|
"@rollup/plugin-json": "^6.1.0",
|
|
30
|
-
"@rollup/plugin-node-resolve": "^16.0.
|
|
30
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
31
31
|
"@rollup/plugin-terser": "^0.4.4",
|
|
32
|
-
"@travetto/runtime": "^6.0.0
|
|
33
|
-
"@travetto/terminal": "^6.0.0
|
|
34
|
-
"rollup": "^4.
|
|
32
|
+
"@travetto/runtime": "^6.0.0",
|
|
33
|
+
"@travetto/terminal": "^6.0.0",
|
|
34
|
+
"rollup": "^4.40.0"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"@travetto/cli": "^6.0.0
|
|
37
|
+
"@travetto/cli": "^6.0.0"
|
|
38
38
|
},
|
|
39
39
|
"peerDependenciesMeta": {
|
|
40
40
|
"@travetto/cli": {
|
package/src/config-util.ts
CHANGED
|
@@ -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
|
}
|
package/support/bin/operation.ts
CHANGED
|
@@ -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
|
}
|
package/support/bin/shell.ts
CHANGED
package/support/bin/util.ts
CHANGED
|
@@ -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(([
|
|
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(
|
|
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++) {
|
package/support/cli.pack_zip.ts
CHANGED
package/support/pack.base.ts
CHANGED
|
@@ -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);
|
package/support/rollup/build.ts
CHANGED
|
@@ -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
|
package/support/rollup/config.ts
CHANGED
|
@@ -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,
|
|
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);
|