@travetto/compiler 7.0.0-rc.3 → 7.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 CHANGED
@@ -22,7 +22,7 @@ This module expands upon the [Typescript](https://typescriptlang.org) compiler,
22
22
  Beyond the [Typescript](https://typescriptlang.org) compiler functionality, the module provides the primary entry point into the development process.
23
23
 
24
24
  ## CLI
25
- The compiler cli, [trvc](https://github.com/travetto/travetto/tree/main/module/compiler/bin/trvc.js#L20) is the entry point for compilation-related operations. It has the ability to check for active builds, and ongoing watch operations to ensure only one process is building at a time. Within the framework, regardless of mono-repo or not, the compilation always targets the entire project. With the efficient caching behavior, this leads to generally a minimal overhead but allows for centralization of all operations.
25
+ The compiler cli, [trvc](https://github.com/travetto/travetto/tree/main/module/compiler/bin/trvc.js#L2) is the entry point for compilation-related operations. It has the ability to check for active builds, and ongoing watch operations to ensure only one process is building at a time. Within the framework, regardless of mono-repo or not, the compilation always targets the entire project. With the efficient caching behavior, this leads to generally a minimal overhead but allows for centralization of all operations.
26
26
 
27
27
  The compiler cli supports the following operations:
28
28
  * `start|watch` - Run the compiler in watch mode
@@ -88,4 +88,4 @@ The compiler will move through the following phases on a given compilation execu
88
88
  * `Invoke Compiler` - Run [Typescript](https://typescriptlang.org) compiler with the aforementioned enhancements
89
89
 
90
90
  ### Bootstrapping
91
- Given that the framework is distributed as [Typescript](https://typescriptlang.org) only files, there is a bootstrapping problem that needs to be mitigated. The [trvc](https://github.com/travetto/travetto/tree/main/module/compiler/bin/trvc.js#L20) entrypoint, along with a small context utility in [Manifest](https://github.com/travetto/travetto/tree/main/module/manifest#readme "Support for project indexing, manifesting, along with file watching") are the only [Javascript](https://developer.mozilla.org/en-US/docs/Web/JavaScript) files needed to run the project. The [trvc](https://github.com/travetto/travetto/tree/main/module/compiler/bin/trvc.js#L20) entry point will compile `@travetto/compiler/support/*` files as the set that is used at startup. These files are also accessible to the compiler as they get re-compiled after the fact.
91
+ Given that the framework is distributed as [Typescript](https://typescriptlang.org) only files, there is a bootstrapping problem that needs to be mitigated. The [trvc](https://github.com/travetto/travetto/tree/main/module/compiler/bin/trvc.js#L2) entrypoint, along with a small context utility in [Manifest](https://github.com/travetto/travetto/tree/main/module/manifest#readme "Support for project indexing, manifesting, along with file watching") are the only [Javascript](https://developer.mozilla.org/en-US/docs/Web/JavaScript) files needed to run the project. The [trvc](https://github.com/travetto/travetto/tree/main/module/compiler/bin/trvc.js#L2) entry point will compile `@travetto/compiler/support/*` files as the set that is used at startup. These files are also accessible to the compiler as they get re-compiled after the fact.
@@ -1,12 +1,14 @@
1
1
  // @ts-check
2
2
  /* eslint-disable no-undef */
3
- const { stat, readFile, writeFile, mkdir, rm, readdir } = require('node:fs/promises');
4
- const path = require('node:path');
3
+ import { stat, readFile, writeFile, mkdir, rm, readdir } from 'node:fs/promises';
4
+ import path from 'node:path';
5
+ import { createRequire } from 'node:module';
5
6
 
6
7
  const COMP_MOD = '@travetto/compiler';
7
8
  const SOURCE_EXT_REGEX = /[.][cm]?[tj]sx?$/;
8
9
  const BARE_IMPORT_REGEX = /^(@[^/]+[/])?[^.][^@/]+$/;
9
10
  const OUTPUT_EXT = '.js';
11
+ const REQUIRE = createRequire(import.meta.filename);
10
12
 
11
13
  async function writeIfStale(sourceFile = '', destinationFile = '', transform = async (text = '') => text) {
12
14
  const [srcStat, destStat] = await Promise.all([sourceFile, destinationFile].map(file => stat(`${file}`).then(stats => stats.mtimeMs, () => 0)));
@@ -18,11 +20,11 @@ async function writeIfStale(sourceFile = '', destinationFile = '', transform = a
18
20
  }
19
21
  }
20
22
 
21
- async function transpile(content = '', esm = true, full = true) {
23
+ async function transpile(content = '', full = true) {
22
24
  const ts = (await import('typescript')).default;
23
25
  return ts.transpile(content, {
24
26
  target: ts.ScriptTarget.ES2022,
25
- module: esm ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS,
27
+ module: ts.ModuleKind.ESNext,
26
28
  importHelpers: true,
27
29
  sourceMap: false,
28
30
  inlineSourceMap: true,
@@ -32,9 +34,9 @@ async function transpile(content = '', esm = true, full = true) {
32
34
  }
33
35
 
34
36
  async function getContext() {
35
- const ctxFile = require.resolve('@travetto/manifest/src/context.ts');
36
- const ctxDest = path.resolve(__dirname, 'gen.context.mjs');
37
- await writeIfStale(ctxFile, ctxDest, content => transpile(content, true, false));
37
+ const ctxFile = REQUIRE.resolve('@travetto/manifest/src/context.ts');
38
+ const ctxDest = path.resolve(import.meta.dirname, 'gen.context.js');
39
+ await writeIfStale(ctxFile, ctxDest, content => transpile(content, false));
38
40
  const ctx = await import(ctxDest).then((/** @type {import('@travetto/manifest')} */ value) => value.getManifestContext());
39
41
 
40
42
  const srcPath = path.resolve.bind(path, ctx.workspace.path, ctx.build.compilerModuleFolder);
@@ -42,7 +44,6 @@ async function getContext() {
42
44
  path.resolve(ctx.workspace.path, ctx.build.compilerFolder, 'node_modules', file).replace(SOURCE_EXT_REGEX, OUTPUT_EXT);
43
45
 
44
46
  return {
45
- packageType: ctx.workspace.type,
46
47
  srcPath,
47
48
  destPath,
48
49
  tsconfig: path.resolve(ctx.workspace.path, 'tsconfig.json'),
@@ -60,7 +61,7 @@ async function getContext() {
60
61
  }
61
62
 
62
63
  /** @template T */
63
- async function load(/** @type {(operations: import('../support/entry.main.ts').Operations) => T} */ callback) {
64
+ export async function load(/** @type {(operations: import('../support/entry.main.ts').Operations) => T} */ callback) {
64
65
  const ctx = await getContext();
65
66
 
66
67
  try {
@@ -68,11 +69,11 @@ async function load(/** @type {(operations: import('../support/entry.main.ts').O
68
69
  async () => JSON.stringify({ extends: `${COMP_MOD}/tsconfig.trv.json` }, null, 2));
69
70
 
70
71
  await writeIfStale(ctx.srcPath('package.json'), ctx.destPath(`${COMP_MOD}/package.json`),
71
- async text => JSON.stringify({ ...JSON.parse(text || '{}'), type: ctx.packageType }, null, 2));
72
+ async text => JSON.stringify({ ...JSON.parse(text || '{}'), type: 'module' }, null, 2));
72
73
 
73
74
  await Promise.all((await ctx.supportFiles()).map(file =>
74
75
  writeIfStale(ctx.srcPath(file), ctx.destPath(`${COMP_MOD}/${file}`),
75
- text => transpile(ctx.cleanImports(text), ctx.packageType === 'module'))));
76
+ text => transpile(ctx.cleanImports(text)))));
76
77
 
77
78
  process.setSourceMapsEnabled(true); // Ensure source map during compilation/development
78
79
  process.env.NODE_OPTIONS = `${process.env.NODE_OPTIONS ?? ''} --enable-source-maps`; // Ensure it passes to children
@@ -84,6 +85,4 @@ async function load(/** @type {(operations: import('../support/entry.main.ts').O
84
85
  await rm(ctx.destPath(COMP_MOD), { recursive: true, force: true });
85
86
  throw error;
86
87
  }
87
- }
88
-
89
- module.exports = { load };
88
+ }
@@ -41,13 +41,16 @@ export function getManifestContext(root = process.cwd()) {
41
41
  const modPkg = (!!workspace.workspaces && process.env.TRV_MODULE) ?
42
42
  readPackage(resolve(`${process.env.TRV_MODULE}/package.json`)) :
43
43
  findPackage(root, pkg => !!pkg) ?? workspace;
44
+ if (workspace.type !== 'module') {
45
+ console.error('ERROR: Only ESM modules are supported, package.json must be of type module');
46
+ process.exit(1);
47
+ }
44
48
  return {
45
49
  workspace: {
46
50
  name: workspace.name ?? 'untitled',
47
51
  path: workspace.path,
48
52
  mono: !!workspace.workspaces,
49
53
  manager: existsSync(path.resolve(workspace.path, 'yarn.lock')) ? 'yarn' : 'npm',
50
- type: workspace.type ?? 'commonjs',
51
54
  defaultEnv: workspace.travetto?.defaultEnv ?? 'local'
52
55
  },
53
56
  build: {
@@ -66,4 +69,4 @@ export function getManifestContext(root = process.cwd()) {
66
69
  }
67
70
  };
68
71
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ25ELE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBTzVDLHNDQUFzQztBQUN0QyxNQUFNLE1BQU0sR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUMxSSxNQUFNLE9BQU8sR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzdFLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBWSxFQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFOUgsbUJBQW1CO0FBQ25CLFNBQVMsV0FBVyxDQUFDLElBQVksRUFBRSxJQUEyQjtJQUM1RCxJQUFJLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDO0lBQ3pCLElBQUksUUFBZ0IsQ0FBQztJQUNyQixJQUFJLEdBQW9CLENBQUM7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
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ25ELE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBTzVDLHNDQUFzQztBQUN0QyxNQUFNLE1BQU0sR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztBQUMxSSxNQUFNLE9BQU8sR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzdFLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBWSxFQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFOUgsbUJBQW1CO0FBQ25CLFNBQVMsV0FBVyxDQUFDLElBQVksRUFBRSxJQUEyQjtJQUM1RCxJQUFJLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDO0lBQ3pCLElBQUksUUFBZ0IsQ0FBQztJQUNyQixJQUFJLEdBQW9CLENBQUM7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
package/bin/trvc.js CHANGED
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env node
2
+ import { load } from './entry.common.js';
3
+
2
4
  const help = `
3
5
  npx trvc [command]
4
6
 
@@ -17,7 +19,7 @@ Available Commands:
17
19
  const toJson = (/** @type {number} */ depth) => value => process.stdout.write(`${JSON.stringify(value, undefined, depth)}\n`) ||
18
20
  new Promise(resolve => process.stdout.once('drain', resolve));
19
21
 
20
- require('./entry.common.js').load(operations => {
22
+ load(operations => {
21
23
  const [operation, ...all] = process.argv.slice(2);
22
24
  const args = all.filter(arg => !arg.startsWith('-'));
23
25
 
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@travetto/compiler",
3
- "version": "7.0.0-rc.3",
3
+ "version": "7.0.0",
4
+ "type": "module",
4
5
  "description": "The compiler infrastructure for the Travetto framework",
5
6
  "keywords": [
6
7
  "compiler",
@@ -30,11 +31,11 @@
30
31
  },
31
32
  "dependencies": {
32
33
  "@parcel/watcher": "^2.5.1",
33
- "@travetto/manifest": "^7.0.0-rc.2",
34
- "@travetto/transformer": "^7.0.0-rc.3"
34
+ "@travetto/manifest": "^7.0.0",
35
+ "@travetto/transformer": "^7.0.0"
35
36
  },
36
37
  "peerDependencies": {
37
- "@travetto/cli": "^7.0.0-rc.3"
38
+ "@travetto/cli": "^7.0.0"
38
39
  },
39
40
  "peerDependenciesMeta": {
40
41
  "@travetto/cli": {
package/src/state.ts CHANGED
@@ -256,6 +256,10 @@ export class CompilerState implements ts.CompilerHost {
256
256
  if (outputFile.endsWith('package.json')) {
257
257
  text = CompilerUtil.rewritePackageJSON(this.#manifest, text);
258
258
  }
259
+
260
+ // JSX runtime shenanigans
261
+ text = text.replace(/support\/jsx-runtime"/g, 'support/jsx-runtime.js"');
262
+
259
263
  const location = this.#tscOutputFileToOuptut.get(outputFile) ?? outputFile;
260
264
 
261
265
  if (ManifestModuleUtil.TYPINGS_WITH_MAP_EXT_REGEX.test(outputFile) || outputFile.endsWith('package.json')) {
package/src/util.ts CHANGED
@@ -29,7 +29,7 @@ export class CompilerUtil {
29
29
  if (pkg.main) {
30
30
  pkg.main = ManifestModuleUtil.withOutputExtension(pkg.main);
31
31
  }
32
- pkg.type = manifest.workspace.type;
32
+ pkg.type = 'module';
33
33
  for (const key of ['devDependencies', 'dependencies', 'peerDependencies'] as const) {
34
34
  if (key in pkg) {
35
35
  for (const dependency of Object.keys(pkg[key] ?? {})) {
package/support/setup.ts CHANGED
@@ -77,7 +77,7 @@ export class CompilerSetup {
77
77
  const main = pkg.main ? this.#sourceToOutputExt(pkg.main) : undefined;
78
78
  const files = pkg.files?.map(file => this.#sourceToOutputExt(file));
79
79
 
80
- const content = JSON.stringify({ ...pkg, main, type: ctx.workspace.type, files }, null, 2);
80
+ const content = JSON.stringify({ ...pkg, main, type: 'module', files }, null, 2);
81
81
  await CommonUtil.writeTextFile(outputFile, content);
82
82
  }
83
83
  }
@@ -33,8 +33,8 @@ export class TypescriptUtil {
33
33
  sourceRoot: ctx.workspace.path,
34
34
  rootDir: ctx.workspace.path,
35
35
  outDir: CommonUtil.resolveWorkspace(ctx),
36
- moduleResolution: (ctx.workspace.type === 'commonjs' ? ts.ModuleResolutionKind.NodeNext : ts.ModuleResolutionKind.Bundler),
37
- module: ctx.workspace.type === 'commonjs' ? ts.ModuleKind.NodeNext : ts.ModuleKind.ESNext,
36
+ moduleResolution: ts.ModuleResolutionKind.Bundler,
37
+ module: ts.ModuleKind.ESNext,
38
38
  };
39
39
  }
40
40
  return OPT_CACHE[ctx.workspace.path];