@plugjs/typescript 0.5.3 → 0.5.5

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/dist/compiler.cjs CHANGED
@@ -47,6 +47,15 @@ var TypeScriptHost = class {
47
47
  return void 0;
48
48
  return import_typescript.default.createSourceFile(fileName, code, languageVersion);
49
49
  }
50
+ readDirectory(rootDir, extensions, excludes, includes, depth) {
51
+ return import_typescript.default.sys.readDirectory(
52
+ (0, import_paths.resolveAbsolutePath)(this._directory, rootDir),
53
+ extensions,
54
+ excludes,
55
+ includes,
56
+ depth
57
+ );
58
+ }
50
59
  /* coverage ignore next */
51
60
  /** Never write any files */
52
61
  writeFile(fileName) {
@@ -62,11 +71,11 @@ var TypeScriptHost = class {
62
71
  }
63
72
  /** Check for the existence of a given file */
64
73
  fileExists(fileName) {
65
- return import_typescript.default.sys.fileExists((0, import_paths.resolveAbsolutePath)(this.getCurrentDirectory(), fileName));
74
+ return import_typescript.default.sys.fileExists((0, import_paths.resolveAbsolutePath)(this._directory, fileName));
66
75
  }
67
76
  /** Read the file if it exists, otherwise return undefined */
68
77
  readFile(fileName) {
69
- return import_typescript.default.sys.readFile((0, import_paths.resolveAbsolutePath)(this.getCurrentDirectory(), fileName));
78
+ return import_typescript.default.sys.readFile((0, import_paths.resolveAbsolutePath)(this._directory, fileName));
70
79
  }
71
80
  /** Return the current working directory */
72
81
  getCurrentDirectory() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/compiler.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoC;AACpC,wBAAe;AAIR,IAAM,iBAAN,MACoB;AAAA,EAEzB,YAA6B,YAA0B;AAA1B;AAAA,EAA2B;AAAA;AAAA;AAAA,EAKxD,cACI,UACA,iBACyB;AAC3B,UAAM,OAAO,KAAK,SAAS,QAAQ;AACnC,QAAI,QAAQ;AAAM,aAAO;AACzB,WAAO,kBAAAA,QAAG,iBAAiB,UAAU,MAAM,eAAe;AAAA,EAC5D;AAAA;AAAA;AAAA,EAIA,UAAU,UAAwB;AAChC,UAAM,IAAI,MAAM,+BAA+B,QAAQ,GAAG;AAAA,EAC5D;AAAA;AAAA,EAGA,sBAAsB,SAAqC;AACzD,WAAO,kBAAAA,QAAG,sBAAsB,OAAO;AAAA,EACzC;AAAA;AAAA,EAGA,4BAAqC;AACnC,WAAO,kBAAAA,QAAG,IAAI;AAAA,EAChB;AAAA;AAAA,EAGA,WAAW,UAA2B;AACpC,WAAO,kBAAAA,QAAG,IAAI,eAAW,kCAAoB,KAAK,oBAAoB,GAAG,QAAQ,CAAC;AAAA,EACpF;AAAA;AAAA,EAGA,SAAS,UAAsC;AAC7C,WAAO,kBAAAA,QAAG,IAAI,aAAS,kCAAoB,KAAK,oBAAoB,GAAG,QAAQ,CAAC;AAAA,EAClF;AAAA;AAAA,EAGA,sBAAoC;AAClC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,qBAAqB,UAA0B;AAE7C,QAAI,kBAAAA,QAAG,IAAI;AAA2B,aAAO;AAG7C,UAAM,0BAA0B;AAChC,WAAO,wBAAwB,KAAK,QAAQ,IAC1C,SAAS,QAAQ,yBAAyB,CAAC,MAAM,EAAE,YAAY,CAAC,IAChE;AAAA,EACJ;AAAA;AAAA;AAAA,EAIA,aAAqB;AACnB,WAAO,kBAAAA,QAAG,IAAI;AAAA,EAChB;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoC;AACpC,wBAAe;AAIR,IAAM,iBAAN,MACoB;AAAA,EAEzB,YAA6B,YAA0B;AAA1B;AAAA,EAA2B;AAAA;AAAA;AAAA,EAKxD,cACI,UACA,iBACyB;AAC3B,UAAM,OAAO,KAAK,SAAS,QAAQ;AACnC,QAAI,QAAQ;AAAM,aAAO;AACzB,WAAO,kBAAAA,QAAG,iBAAiB,UAAU,MAAM,eAAe;AAAA,EAC5D;AAAA,EAEA,cACI,SACA,YACA,UACA,UACA,OACQ;AACV,WAAO,kBAAAA,QAAG,IAAI;AAAA,UACV,kCAAoB,KAAK,YAAY,OAAO;AAAA,MAC5C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACF;AAAA;AAAA;AAAA,EAIA,UAAU,UAAwB;AAChC,UAAM,IAAI,MAAM,+BAA+B,QAAQ,GAAG;AAAA,EAC5D;AAAA;AAAA,EAGA,sBAAsB,SAAqC;AACzD,WAAO,kBAAAA,QAAG,sBAAsB,OAAO;AAAA,EACzC;AAAA;AAAA,EAGA,4BAAqC;AACnC,WAAO,kBAAAA,QAAG,IAAI;AAAA,EAChB;AAAA;AAAA,EAGA,WAAW,UAA2B;AACpC,WAAO,kBAAAA,QAAG,IAAI,eAAW,kCAAoB,KAAK,YAAY,QAAQ,CAAC;AAAA,EACzE;AAAA;AAAA,EAGA,SAAS,UAAsC;AAC7C,WAAO,kBAAAA,QAAG,IAAI,aAAS,kCAAoB,KAAK,YAAY,QAAQ,CAAC;AAAA,EACvE;AAAA;AAAA,EAGA,sBAAoC;AAClC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,qBAAqB,UAA0B;AAE7C,QAAI,kBAAAA,QAAG,IAAI;AAA2B,aAAO;AAG7C,UAAM,0BAA0B;AAChC,WAAO,wBAAwB,KAAK,QAAQ,IAC1C,SAAS,QAAQ,yBAAyB,CAAC,MAAM,EAAE,YAAY,CAAC,IAChE;AAAA,EACJ;AAAA;AAAA;AAAA,EAIA,aAAqB;AACnB,WAAO,kBAAAA,QAAG,IAAI;AAAA,EAChB;AACF;",
5
5
  "names": ["ts"]
6
6
  }
@@ -5,6 +5,7 @@ export declare class TypeScriptHost implements ts.CompilerHost {
5
5
  constructor(directory: AbsolutePath);
6
6
  /** Get a source file parsing one of our virtual files */
7
7
  getSourceFile(fileName: string, languageVersion: ts.ScriptTarget): ts.SourceFile | undefined;
8
+ readDirectory(rootDir: string, extensions: readonly string[], excludes: readonly string[] | undefined, includes: readonly string[], depth?: number | undefined): string[];
8
9
  /** Never write any files */
9
10
  writeFile(fileName: string): void;
10
11
  /** Get the default library associated with the given options */
package/dist/compiler.mjs CHANGED
@@ -13,6 +13,15 @@ var TypeScriptHost = class {
13
13
  return void 0;
14
14
  return ts.createSourceFile(fileName, code, languageVersion);
15
15
  }
16
+ readDirectory(rootDir, extensions, excludes, includes, depth) {
17
+ return ts.sys.readDirectory(
18
+ resolveAbsolutePath(this._directory, rootDir),
19
+ extensions,
20
+ excludes,
21
+ includes,
22
+ depth
23
+ );
24
+ }
16
25
  /* coverage ignore next */
17
26
  /** Never write any files */
18
27
  writeFile(fileName) {
@@ -28,11 +37,11 @@ var TypeScriptHost = class {
28
37
  }
29
38
  /** Check for the existence of a given file */
30
39
  fileExists(fileName) {
31
- return ts.sys.fileExists(resolveAbsolutePath(this.getCurrentDirectory(), fileName));
40
+ return ts.sys.fileExists(resolveAbsolutePath(this._directory, fileName));
32
41
  }
33
42
  /** Read the file if it exists, otherwise return undefined */
34
43
  readFile(fileName) {
35
- return ts.sys.readFile(resolveAbsolutePath(this.getCurrentDirectory(), fileName));
44
+ return ts.sys.readFile(resolveAbsolutePath(this._directory, fileName));
36
45
  }
37
46
  /** Return the current working directory */
38
47
  getCurrentDirectory() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/compiler.ts"],
4
- "mappings": ";AAAA,SAAS,2BAA2B;AACpC,OAAO,QAAQ;AAIR,IAAM,iBAAN,MACoB;AAAA,EAEzB,YAA6B,YAA0B;AAA1B;AAAA,EAA2B;AAAA;AAAA;AAAA,EAKxD,cACI,UACA,iBACyB;AAC3B,UAAM,OAAO,KAAK,SAAS,QAAQ;AACnC,QAAI,QAAQ;AAAM,aAAO;AACzB,WAAO,GAAG,iBAAiB,UAAU,MAAM,eAAe;AAAA,EAC5D;AAAA;AAAA;AAAA,EAIA,UAAU,UAAwB;AAChC,UAAM,IAAI,MAAM,+BAA+B,QAAQ,GAAG;AAAA,EAC5D;AAAA;AAAA,EAGA,sBAAsB,SAAqC;AACzD,WAAO,GAAG,sBAAsB,OAAO;AAAA,EACzC;AAAA;AAAA,EAGA,4BAAqC;AACnC,WAAO,GAAG,IAAI;AAAA,EAChB;AAAA;AAAA,EAGA,WAAW,UAA2B;AACpC,WAAO,GAAG,IAAI,WAAW,oBAAoB,KAAK,oBAAoB,GAAG,QAAQ,CAAC;AAAA,EACpF;AAAA;AAAA,EAGA,SAAS,UAAsC;AAC7C,WAAO,GAAG,IAAI,SAAS,oBAAoB,KAAK,oBAAoB,GAAG,QAAQ,CAAC;AAAA,EAClF;AAAA;AAAA,EAGA,sBAAoC;AAClC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,qBAAqB,UAA0B;AAE7C,QAAI,GAAG,IAAI;AAA2B,aAAO;AAG7C,UAAM,0BAA0B;AAChC,WAAO,wBAAwB,KAAK,QAAQ,IAC1C,SAAS,QAAQ,yBAAyB,CAAC,MAAM,EAAE,YAAY,CAAC,IAChE;AAAA,EACJ;AAAA;AAAA;AAAA,EAIA,aAAqB;AACnB,WAAO,GAAG,IAAI;AAAA,EAChB;AACF;",
4
+ "mappings": ";AAAA,SAAS,2BAA2B;AACpC,OAAO,QAAQ;AAIR,IAAM,iBAAN,MACoB;AAAA,EAEzB,YAA6B,YAA0B;AAA1B;AAAA,EAA2B;AAAA;AAAA;AAAA,EAKxD,cACI,UACA,iBACyB;AAC3B,UAAM,OAAO,KAAK,SAAS,QAAQ;AACnC,QAAI,QAAQ;AAAM,aAAO;AACzB,WAAO,GAAG,iBAAiB,UAAU,MAAM,eAAe;AAAA,EAC5D;AAAA,EAEA,cACI,SACA,YACA,UACA,UACA,OACQ;AACV,WAAO,GAAG,IAAI;AAAA,MACV,oBAAoB,KAAK,YAAY,OAAO;AAAA,MAC5C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACF;AAAA;AAAA;AAAA,EAIA,UAAU,UAAwB;AAChC,UAAM,IAAI,MAAM,+BAA+B,QAAQ,GAAG;AAAA,EAC5D;AAAA;AAAA,EAGA,sBAAsB,SAAqC;AACzD,WAAO,GAAG,sBAAsB,OAAO;AAAA,EACzC;AAAA;AAAA,EAGA,4BAAqC;AACnC,WAAO,GAAG,IAAI;AAAA,EAChB;AAAA;AAAA,EAGA,WAAW,UAA2B;AACpC,WAAO,GAAG,IAAI,WAAW,oBAAoB,KAAK,YAAY,QAAQ,CAAC;AAAA,EACzE;AAAA;AAAA,EAGA,SAAS,UAAsC;AAC7C,WAAO,GAAG,IAAI,SAAS,oBAAoB,KAAK,YAAY,QAAQ,CAAC;AAAA,EACvE;AAAA;AAAA,EAGA,sBAAoC;AAClC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA,EAGA,qBAAqB,UAA0B;AAE7C,QAAI,GAAG,IAAI;AAA2B,aAAO;AAG7C,UAAM,0BAA0B;AAChC,WAAO,wBAAwB,KAAK,QAAQ,IAC1C,SAAS,QAAQ,yBAAyB,CAAC,MAAM,EAAE,YAAY,CAAC,IAChE;AAAA,EACJ;AAAA;AAAA;AAAA,EAIA,aAAqB;AACnB,WAAO,GAAG,IAAI;AAAA,EAChB;AACF;",
5
5
  "names": []
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/options.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC;AAClC,wBAAe;AA2Ef,eAAsB,mBAClB,MACA,WACA,QACsC;AAExC,MAAI,CAAE,MAAM;AACV,UAAM,UAAU,EAAE,GAAG,kBAAAA,QAAG,0BAA0B,GAAG,GAAG,UAAU;AAClE,WAAO,EAAE,SAAS,QAAQ,CAAC,EAAE;AAAA,EAC/B;AAGA,QAAM,OAA2B;AAAA,IAC/B,2BAA2B,kBAAAA,QAAG,IAAI;AAAA,IAClC,cAAc,SAAS,YAAY,UAAU,UAAU,OAA0B;AAC/E,aAAO,kBAAAA,QAAG,IAAI,cAAc,SAAS,YAAY,UAAU,UAAU,KAAK;AAAA,IAC5E;AAAA,IACA,WAAW,MAAuB;AAChC,aAAO,kBAAAA,QAAG,IAAI,WAAW,IAAI;AAAA,IAC/B;AAAA,IACA,SAAS,MAAkC;AACzC,aAAO,kBAAAA,QAAG,IAAI,SAAS,IAAI;AAAA,IAC7B;AAAA,EACF;AAMA,QAAM,EAAE,QAAQ,MAAM,IAAI,kBAAAA,QAAG,eAAe,MAAM,kBAAAA,QAAG,IAAI,QAAQ;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAInD,SAAO,UAAU;AAEjB,SAAO,kBAAAA,QAAG;AAAA,IACN;AAAA;AAAA,IACA;AAAA;AAAA,QACA,gCAAkB,IAAI;AAAA;AAAA,IACtB;AAAA;AAAA,IACA;AAAA;AAAA,EACJ;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC;AAClC,wBAAe;AAcf,eAAsB,mBAClB,MACA,WACA,QACsC;AAExC,MAAI,CAAE,MAAM;AACV,UAAM,UAAU,EAAE,GAAG,kBAAAA,QAAG,0BAA0B,GAAG,GAAG,UAAU;AAClE,WAAO,EAAE,SAAS,QAAQ,CAAC,EAAE;AAAA,EAC/B;AAGA,QAAM,OAA2B;AAAA,IAC/B,2BAA2B,kBAAAA,QAAG,IAAI;AAAA,IAClC,cAAc,SAAS,YAAY,UAAU,UAAU,OAA0B;AAC/E,aAAO,kBAAAA,QAAG,IAAI,cAAc,SAAS,YAAY,UAAU,UAAU,KAAK;AAAA,IAC5E;AAAA,IACA,WAAW,MAAuB;AAChC,aAAO,kBAAAA,QAAG,IAAI,WAAW,IAAI;AAAA,IAC/B;AAAA,IACA,SAAS,MAAkC;AACzC,aAAO,kBAAAA,QAAG,IAAI,SAAS,IAAI;AAAA,IAC7B;AAAA,EACF;AAMA,QAAM,EAAE,QAAQ,MAAM,IAAI,kBAAAA,QAAG,eAAe,MAAM,kBAAAA,QAAG,IAAI,QAAQ;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAInD,SAAO,UAAU;AAEjB,SAAO,kBAAAA,QAAG;AAAA,IACN;AAAA;AAAA,IACA;AAAA;AAAA,QACA,gCAAkB,IAAI;AAAA;AAAA,IACtB;AAAA;AAAA,IACA;AAAA;AAAA,EACJ;AACF;",
5
5
  "names": ["ts"]
6
6
  }
package/dist/options.d.ts CHANGED
@@ -3,6 +3,7 @@ import type { AbsolutePath } from '@plugjs/plug/paths';
3
3
  export type CompilerOptionsAndDiagnostics = {
4
4
  options: ts.CompilerOptions;
5
5
  errors: readonly ts.Diagnostic[];
6
+ projectReferences?: readonly ts.ProjectReference[];
6
7
  };
7
8
  /** Load compiler options from a JSON file, and merge in the overrides */
8
9
  export declare function getCompilerOptions(file: AbsolutePath | undefined, overrides: ts.CompilerOptions, inputs: AbsolutePath[]): Promise<CompilerOptionsAndDiagnostics>;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/options.ts"],
4
- "mappings": ";AAAA,SAAS,yBAAyB;AAClC,OAAO,QAAQ;AA2Ef,eAAsB,mBAClB,MACA,WACA,QACsC;AAExC,MAAI,CAAE,MAAM;AACV,UAAM,UAAU,EAAE,GAAG,GAAG,0BAA0B,GAAG,GAAG,UAAU;AAClE,WAAO,EAAE,SAAS,QAAQ,CAAC,EAAE;AAAA,EAC/B;AAGA,QAAM,OAA2B;AAAA,IAC/B,2BAA2B,GAAG,IAAI;AAAA,IAClC,cAAc,SAAS,YAAY,UAAU,UAAU,OAA0B;AAC/E,aAAO,GAAG,IAAI,cAAc,SAAS,YAAY,UAAU,UAAU,KAAK;AAAA,IAC5E;AAAA,IACA,WAAW,MAAuB;AAChC,aAAO,GAAG,IAAI,WAAW,IAAI;AAAA,IAC/B;AAAA,IACA,SAAS,MAAkC;AACzC,aAAO,GAAG,IAAI,SAAS,IAAI;AAAA,IAC7B;AAAA,EACF;AAMA,QAAM,EAAE,QAAQ,MAAM,IAAI,GAAG,eAAe,MAAM,GAAG,IAAI,QAAQ;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAInD,SAAO,UAAU;AAEjB,SAAO,GAAG;AAAA,IACN;AAAA;AAAA,IACA;AAAA;AAAA,IACA,kBAAkB,IAAI;AAAA;AAAA,IACtB;AAAA;AAAA,IACA;AAAA;AAAA,EACJ;AACF;",
4
+ "mappings": ";AAAA,SAAS,yBAAyB;AAClC,OAAO,QAAQ;AAcf,eAAsB,mBAClB,MACA,WACA,QACsC;AAExC,MAAI,CAAE,MAAM;AACV,UAAM,UAAU,EAAE,GAAG,GAAG,0BAA0B,GAAG,GAAG,UAAU;AAClE,WAAO,EAAE,SAAS,QAAQ,CAAC,EAAE;AAAA,EAC/B;AAGA,QAAM,OAA2B;AAAA,IAC/B,2BAA2B,GAAG,IAAI;AAAA,IAClC,cAAc,SAAS,YAAY,UAAU,UAAU,OAA0B;AAC/E,aAAO,GAAG,IAAI,cAAc,SAAS,YAAY,UAAU,UAAU,KAAK;AAAA,IAC5E;AAAA,IACA,WAAW,MAAuB;AAChC,aAAO,GAAG,IAAI,WAAW,IAAI;AAAA,IAC/B;AAAA,IACA,SAAS,MAAkC;AACzC,aAAO,GAAG,IAAI,SAAS,IAAI;AAAA,IAC7B;AAAA,EACF;AAMA,QAAM,EAAE,QAAQ,MAAM,IAAI,GAAG,eAAe,MAAM,GAAG,IAAI,QAAQ;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAInD,SAAO,UAAU;AAEjB,SAAO,GAAG;AAAA,IACN;AAAA;AAAA,IACA;AAAA;AAAA,IACA,kBAAkB,IAAI;AAAA;AAAA,IACtB;AAAA;AAAA,IACA;AAAA;AAAA,EACJ;AACF;",
5
5
  "names": []
6
6
  }
@@ -86,7 +86,7 @@ var Tsc = class {
86
86
  __overrides.baseUrl = context.resolve(__overrides.baseUrl);
87
87
  if (__overrides.outFile)
88
88
  __overrides.outFile = context.resolve(__overrides.outFile);
89
- const { errors, options } = await (0, import_options.getCompilerOptions)(
89
+ const { errors, options, projectReferences } = await (0, import_options.getCompilerOptions)(
90
90
  tsconfig,
91
91
  // resolved tsconfig.json from constructor, might be undefined
92
92
  __overrides,
@@ -113,8 +113,16 @@ var Tsc = class {
113
113
  if (!(options.outDir || options.outFile))
114
114
  options.outDir = outDir;
115
115
  context.log.info("Compliation options", options);
116
+ if (projectReferences?.length)
117
+ context.log.info("Project references", projectReferences);
116
118
  const host = new import_compiler.TypeScriptHost(rootDir);
117
- const program = import_typescript.default.createProgram(paths, options, host, void 0, errors);
119
+ const program = import_typescript.default.createProgram({
120
+ configFileParsingDiagnostics: errors,
121
+ rootNames: paths,
122
+ projectReferences,
123
+ options,
124
+ host
125
+ });
118
126
  const diagnostics = import_typescript.default.getPreEmitDiagnostics(program);
119
127
  (0, import_report.updateReport)(report, diagnostics, rootDir);
120
128
  if (report.errors)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/typescript.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["ts"]
6
6
  }
@@ -52,7 +52,7 @@ var Tsc = class {
52
52
  __overrides.baseUrl = context.resolve(__overrides.baseUrl);
53
53
  if (__overrides.outFile)
54
54
  __overrides.outFile = context.resolve(__overrides.outFile);
55
- const { errors, options } = await getCompilerOptions(
55
+ const { errors, options, projectReferences } = await getCompilerOptions(
56
56
  tsconfig,
57
57
  // resolved tsconfig.json from constructor, might be undefined
58
58
  __overrides,
@@ -79,8 +79,16 @@ var Tsc = class {
79
79
  if (!(options.outDir || options.outFile))
80
80
  options.outDir = outDir;
81
81
  context.log.info("Compliation options", options);
82
+ if (projectReferences?.length)
83
+ context.log.info("Project references", projectReferences);
82
84
  const host = new TypeScriptHost(rootDir);
83
- const program = ts.createProgram(paths, options, host, void 0, errors);
85
+ const program = ts.createProgram({
86
+ configFileParsingDiagnostics: errors,
87
+ rootNames: paths,
88
+ projectReferences,
89
+ options,
90
+ host
91
+ });
84
92
  const diagnostics = ts.getPreEmitDiagnostics(program);
85
93
  updateReport(report, diagnostics, rootDir);
86
94
  if (report.errors)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/typescript.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plugjs/typescript",
3
- "version": "0.5.3",
3
+ "version": "0.5.5",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -33,7 +33,7 @@
33
33
  "typescript": "^5.2.2"
34
34
  },
35
35
  "peerDependencies": {
36
- "@plugjs/plug": "0.5.3"
36
+ "@plugjs/plug": "0.5.5"
37
37
  },
38
38
  "files": [
39
39
  "*.md",
package/src/compiler.ts CHANGED
@@ -20,6 +20,22 @@ implements ts.CompilerHost {
20
20
  return ts.createSourceFile(fileName, code, languageVersion)
21
21
  }
22
22
 
23
+ readDirectory(
24
+ rootDir: string,
25
+ extensions: readonly string[],
26
+ excludes: readonly string[] | undefined,
27
+ includes: readonly string[],
28
+ depth?: number | undefined,
29
+ ): string[] {
30
+ return ts.sys.readDirectory(
31
+ resolveAbsolutePath(this._directory, rootDir),
32
+ extensions,
33
+ excludes,
34
+ includes,
35
+ depth,
36
+ )
37
+ }
38
+
23
39
  /* coverage ignore next */
24
40
  /** Never write any files */
25
41
  writeFile(fileName: string): void {
@@ -38,12 +54,12 @@ implements ts.CompilerHost {
38
54
 
39
55
  /** Check for the existence of a given file */
40
56
  fileExists(fileName: string): boolean {
41
- return ts.sys.fileExists(resolveAbsolutePath(this.getCurrentDirectory(), fileName))
57
+ return ts.sys.fileExists(resolveAbsolutePath(this._directory, fileName))
42
58
  }
43
59
 
44
60
  /** Read the file if it exists, otherwise return undefined */
45
61
  readFile(fileName: string): string | undefined {
46
- return ts.sys.readFile(resolveAbsolutePath(this.getCurrentDirectory(), fileName))
62
+ return ts.sys.readFile(resolveAbsolutePath(this._directory, fileName))
47
63
  }
48
64
 
49
65
  /** Return the current working directory */
package/src/options.ts CHANGED
@@ -8,70 +8,9 @@ import type { AbsolutePath } from '@plugjs/plug/paths'
8
8
  export type CompilerOptionsAndDiagnostics = {
9
9
  options: ts.CompilerOptions,
10
10
  errors: readonly ts.Diagnostic[],
11
+ projectReferences?: readonly ts.ProjectReference[];
11
12
  }
12
13
 
13
- /* ========================================================================== */
14
-
15
- // function mergeResults(
16
- // base: CompilerOptionsAndDiagnostics,
17
- // override: CompilerOptionsAndDiagnostics,
18
- // ): CompilerOptionsAndDiagnostics {
19
- // const options = { ...base.options, ...override.options }
20
- // const errors = [ ...base.errors, ...override.errors ]
21
- // return errors.length ? { options: {}, errors } : { options, errors: [] }
22
- // }
23
-
24
- /* ========================================================================== */
25
-
26
- // async function loadOptions(
27
- // file: AbsolutePath,
28
- // stack: AbsolutePath[] = [ file ],
29
- // ): Promise<CompilerOptionsAndDiagnostics> {
30
- // const dir = getAbsoluteParent(file)
31
-
32
- // // Load up our config file and convert is wicked JSON
33
- // const { config, error } = ts.readConfigFile(file, ts.sys.readFile)
34
- // if (error) return { options: {}, errors: [ error ] }
35
-
36
- // // Parse up the configuration file as options
37
- // const { compilerOptions = {}, extends: extendsPath } = config
38
- // const result = ts.convertCompilerOptionsFromJson(compilerOptions, dir, file)
39
- // if (result.errors.length) return result
40
-
41
- // // If we don't extend, we can return our result
42
- // if (!extendsPath) return result
43
-
44
- // // Resolve the name of the file this config extends
45
- // const ext = resolveAbsolutePath(dir, extendsPath)
46
-
47
- // // Triple check that we are not recursively importing this file
48
- // if (stack.includes(ext)) {
49
- // const data = ts.sys.readFile(file)
50
- // return { options: {}, errors: [ {
51
- // messageText: `Circularity detected extending from "${ext}"`,
52
- // category: ts.DiagnosticCategory.Error,
53
- // code: 18000, // copied from typescript internals...
54
- // file: ts.createSourceFile(file, data!, ts.ScriptTarget.JSON, false, ts.ScriptKind.JSON),
55
- // start: undefined,
56
- // length: undefined,
57
- // } ] }
58
- // }
59
-
60
- // // Push our file in the stack and load recursively
61
- // return mergeResults(await loadOptions(ext, [ ...stack, ext ]), result)
62
- // }
63
-
64
- /* ========================================================================== */
65
-
66
- // export async function getCompilerOptions(
67
- // file?: AbsolutePath,
68
- // ): Promise<CompilerOptionsAndDiagnostics>
69
-
70
- // export async function getCompilerOptions(
71
- // file: AbsolutePath | undefined,
72
- // overrides: ts.CompilerOptions,
73
- // inputs: AbsolutePath[],
74
- // ): Promise<CompilerOptionsAndDiagnostics>
75
14
 
76
15
  /** Load compiler options from a JSON file, and merge in the overrides */
77
16
  export async function getCompilerOptions(
package/src/typescript.ts CHANGED
@@ -92,7 +92,7 @@ export class Tsc implements Plug<Files> {
92
92
  if (__overrides.outFile) __overrides.outFile = context.resolve(__overrides.outFile)
93
93
 
94
94
  /* We can now get our compiler options, and check any and all overrides */
95
- const { errors, options } = await getCompilerOptions(
95
+ const { errors, options, projectReferences } = await getCompilerOptions(
96
96
  tsconfig, // resolved tsconfig.json from constructor, might be undefined
97
97
  __overrides,
98
98
  paths,
@@ -129,10 +129,17 @@ export class Tsc implements Plug<Files> {
129
129
 
130
130
  /* Log out what we'll be our final compilation options */
131
131
  context.log.info('Compliation options', options)
132
+ if (projectReferences?.length) context.log.info('Project references', projectReferences)
132
133
 
133
134
  /* Typescript host, create program and compile */
134
135
  const host = new TypeScriptHost(rootDir)
135
- const program = ts.createProgram(paths, options, host, undefined, errors)
136
+ const program = ts.createProgram({
137
+ configFileParsingDiagnostics: errors,
138
+ rootNames: paths,
139
+ projectReferences,
140
+ options,
141
+ host,
142
+ })
136
143
  const diagnostics = ts.getPreEmitDiagnostics(program)
137
144
 
138
145
  /* Update report and fail on errors */