@plugjs/plug 0.0.7 → 0.0.8

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.
@@ -68,8 +68,7 @@ async function getCompilerOptions(file, ...override) {
68
68
  if (file)
69
69
  result = mergeResults(result, await loadOptions(file));
70
70
  if (override.length) {
71
- const [overrides, overridesFile] = override;
72
- const overridesDir = (0, import_paths.getAbsoluteParent)(overridesFile);
71
+ const [overrides, overridesFile, overridesDir] = override;
73
72
  const options = import_typescript.default.convertCompilerOptionsFromJson(overrides, overridesDir, overridesFile);
74
73
  result = mergeResults(result, options);
75
74
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/plugs/tsc/options.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAe;AAEf,mBAAqE;AACrE,qBAAyB;AAWzB,SAAS,aACL,MACA,UAC6B;AAC/B,SAAO;AAAA,IACL,SAAS,EAAE,GAAG,KAAK,SAAS,GAAG,SAAS,QAAQ;AAAA,IAChD,QAAQ,CAAE,GAAG,KAAK,QAAQ,GAAG,SAAS,MAAO;AAAA,EAC/C;AACF;AAIA,eAAe,YACX,MACA,QAAwB,CAAE,IAAK,GACO;AACxC,QAAM,UAAM,gCAAkB,IAAI;AAGlC,QAAM,OAAO,UAAM,yBAAS,MAAM,OAAO;AACzC,QAAM,EAAE,QAAQ,MAAM,IAAI,kBAAAA,QAAG,0BAA0B,MAAM,IAAI;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAGnD,QAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,YAAY,IAAI;AACvD,QAAM,SAAS,kBAAAA,QAAG,+BAA+B,iBAAiB,KAAK,IAAI;AAC3E,MAAI,OAAO,OAAO;AAAQ,WAAO;AAGjC,MAAI,CAAC;AAAa,WAAO;AAGzB,QAAM,UAAM,kCAAoB,KAAK,WAAW;AAGhD,MAAI,MAAM,SAAS,GAAG,GAAG;AACvB,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE;AAAA,MAC9B,aAAa,wCAAwC;AAAA,MACrD,UAAU,kBAAAA,QAAG,mBAAmB;AAAA,MAChC,MAAM;AAAA,MACN,MAAM,kBAAAA,QAAG,iBAAiB,MAAM,MAAM,kBAAAA,QAAG,aAAa,MAAM,OAAO,kBAAAA,QAAG,WAAW,IAAI;AAAA,MACrF,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAE,EAAE;AAAA,EACN;AAGA,SAAO,aAAa,MAAM,YAAY,KAAK,CAAE,GAAG,OAAO,GAAI,CAAC,GAAG,MAAM;AACvE;AAeA,eAAsB,mBAClB,SACG,UACmC;AACxC,MAAI,SAAwC,EAAE,SAAS,kBAAAA,QAAG,0BAA0B,GAAG,QAAQ,CAAC,EAAE;AAGlG,MAAI;AAAM,aAAS,aAAa,QAAQ,MAAM,YAAY,IAAI,CAAC;AAG/D,MAAI,SAAS,QAAQ;AACnB,UAAM,CAAE,WAAW,aAAc,IAAI;AACrC,UAAM,mBAAe,gCAAkB,aAAa;AACpD,UAAM,UAAU,kBAAAA,QAAG,+BAA+B,WAAW,cAAc,aAAa;AACxF,aAAS,aAAa,QAAQ,OAAO;AAAA,EACvC;AAGA,SAAO;AACT;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAe;AAEf,mBAAqE;AACrE,qBAAyB;AAWzB,SAAS,aACL,MACA,UAC6B;AAC/B,SAAO;AAAA,IACL,SAAS,EAAE,GAAG,KAAK,SAAS,GAAG,SAAS,QAAQ;AAAA,IAChD,QAAQ,CAAE,GAAG,KAAK,QAAQ,GAAG,SAAS,MAAO;AAAA,EAC/C;AACF;AAIA,eAAe,YACX,MACA,QAAwB,CAAE,IAAK,GACO;AACxC,QAAM,UAAM,gCAAkB,IAAI;AAGlC,QAAM,OAAO,UAAM,yBAAS,MAAM,OAAO;AACzC,QAAM,EAAE,QAAQ,MAAM,IAAI,kBAAAA,QAAG,0BAA0B,MAAM,IAAI;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAGnD,QAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,YAAY,IAAI;AACvD,QAAM,SAAS,kBAAAA,QAAG,+BAA+B,iBAAiB,KAAK,IAAI;AAC3E,MAAI,OAAO,OAAO;AAAQ,WAAO;AAGjC,MAAI,CAAC;AAAa,WAAO;AAGzB,QAAM,UAAM,kCAAoB,KAAK,WAAW;AAGhD,MAAI,MAAM,SAAS,GAAG,GAAG;AACvB,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE;AAAA,MAC9B,aAAa,wCAAwC;AAAA,MACrD,UAAU,kBAAAA,QAAG,mBAAmB;AAAA,MAChC,MAAM;AAAA,MACN,MAAM,kBAAAA,QAAG,iBAAiB,MAAM,MAAM,kBAAAA,QAAG,aAAa,MAAM,OAAO,kBAAAA,QAAG,WAAW,IAAI;AAAA,MACrF,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAE,EAAE;AAAA,EACN;AAGA,SAAO,aAAa,MAAM,YAAY,KAAK,CAAE,GAAG,OAAO,GAAI,CAAC,GAAG,MAAM;AACvE;AAgBA,eAAsB,mBAClB,SACG,UACmC;AACxC,MAAI,SAAwC,EAAE,SAAS,kBAAAA,QAAG,0BAA0B,GAAG,QAAQ,CAAC,EAAE;AAGlG,MAAI;AAAM,aAAS,aAAa,QAAQ,MAAM,YAAY,IAAI,CAAC;AAG/D,MAAI,SAAS,QAAQ;AACnB,UAAM,CAAE,WAAW,eAAe,YAAa,IAAI;AACnD,UAAM,UAAU,kBAAAA,QAAG,+BAA+B,WAAW,cAAc,aAAa;AACxF,aAAS,aAAa,QAAQ,OAAO;AAAA,EACvC;AAGA,SAAO;AACT;",
5
5
  "names": ["ts"]
6
6
  }
@@ -38,8 +38,7 @@ async function getCompilerOptions(file, ...override) {
38
38
  if (file)
39
39
  result = mergeResults(result, await loadOptions(file));
40
40
  if (override.length) {
41
- const [overrides, overridesFile] = override;
42
- const overridesDir = getAbsoluteParent(overridesFile);
41
+ const [overrides, overridesFile, overridesDir] = override;
43
42
  const options = ts.convertCompilerOptionsFromJson(overrides, overridesDir, overridesFile);
44
43
  result = mergeResults(result, options);
45
44
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/plugs/tsc/options.ts"],
4
- "mappings": ";AAAA,OAAO,QAAQ;AAEf,SAAuB,mBAAmB,2BAA2B;AACrE,SAAS,gBAAgB;AAWzB,SAAS,aACL,MACA,UAC6B;AAC/B,SAAO;AAAA,IACL,SAAS,EAAE,GAAG,KAAK,SAAS,GAAG,SAAS,QAAQ;AAAA,IAChD,QAAQ,CAAE,GAAG,KAAK,QAAQ,GAAG,SAAS,MAAO;AAAA,EAC/C;AACF;AAIA,eAAe,YACX,MACA,QAAwB,CAAE,IAAK,GACO;AACxC,QAAM,MAAM,kBAAkB,IAAI;AAGlC,QAAM,OAAO,MAAM,SAAS,MAAM,OAAO;AACzC,QAAM,EAAE,QAAQ,MAAM,IAAI,GAAG,0BAA0B,MAAM,IAAI;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAGnD,QAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,YAAY,IAAI;AACvD,QAAM,SAAS,GAAG,+BAA+B,iBAAiB,KAAK,IAAI;AAC3E,MAAI,OAAO,OAAO;AAAQ,WAAO;AAGjC,MAAI,CAAC;AAAa,WAAO;AAGzB,QAAM,MAAM,oBAAoB,KAAK,WAAW;AAGhD,MAAI,MAAM,SAAS,GAAG,GAAG;AACvB,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE;AAAA,MAC9B,aAAa,wCAAwC;AAAA,MACrD,UAAU,GAAG,mBAAmB;AAAA,MAChC,MAAM;AAAA,MACN,MAAM,GAAG,iBAAiB,MAAM,MAAM,GAAG,aAAa,MAAM,OAAO,GAAG,WAAW,IAAI;AAAA,MACrF,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAE,EAAE;AAAA,EACN;AAGA,SAAO,aAAa,MAAM,YAAY,KAAK,CAAE,GAAG,OAAO,GAAI,CAAC,GAAG,MAAM;AACvE;AAeA,eAAsB,mBAClB,SACG,UACmC;AACxC,MAAI,SAAwC,EAAE,SAAS,GAAG,0BAA0B,GAAG,QAAQ,CAAC,EAAE;AAGlG,MAAI;AAAM,aAAS,aAAa,QAAQ,MAAM,YAAY,IAAI,CAAC;AAG/D,MAAI,SAAS,QAAQ;AACnB,UAAM,CAAE,WAAW,aAAc,IAAI;AACrC,UAAM,eAAe,kBAAkB,aAAa;AACpD,UAAM,UAAU,GAAG,+BAA+B,WAAW,cAAc,aAAa;AACxF,aAAS,aAAa,QAAQ,OAAO;AAAA,EACvC;AAGA,SAAO;AACT;",
4
+ "mappings": ";AAAA,OAAO,QAAQ;AAEf,SAAuB,mBAAmB,2BAA2B;AACrE,SAAS,gBAAgB;AAWzB,SAAS,aACL,MACA,UAC6B;AAC/B,SAAO;AAAA,IACL,SAAS,EAAE,GAAG,KAAK,SAAS,GAAG,SAAS,QAAQ;AAAA,IAChD,QAAQ,CAAE,GAAG,KAAK,QAAQ,GAAG,SAAS,MAAO;AAAA,EAC/C;AACF;AAIA,eAAe,YACX,MACA,QAAwB,CAAE,IAAK,GACO;AACxC,QAAM,MAAM,kBAAkB,IAAI;AAGlC,QAAM,OAAO,MAAM,SAAS,MAAM,OAAO;AACzC,QAAM,EAAE,QAAQ,MAAM,IAAI,GAAG,0BAA0B,MAAM,IAAI;AACjE,MAAI;AAAO,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE,KAAM,EAAE;AAGnD,QAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,YAAY,IAAI;AACvD,QAAM,SAAS,GAAG,+BAA+B,iBAAiB,KAAK,IAAI;AAC3E,MAAI,OAAO,OAAO;AAAQ,WAAO;AAGjC,MAAI,CAAC;AAAa,WAAO;AAGzB,QAAM,MAAM,oBAAoB,KAAK,WAAW;AAGhD,MAAI,MAAM,SAAS,GAAG,GAAG;AACvB,WAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAE;AAAA,MAC9B,aAAa,wCAAwC;AAAA,MACrD,UAAU,GAAG,mBAAmB;AAAA,MAChC,MAAM;AAAA,MACN,MAAM,GAAG,iBAAiB,MAAM,MAAM,GAAG,aAAa,MAAM,OAAO,GAAG,WAAW,IAAI;AAAA,MACrF,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAE,EAAE;AAAA,EACN;AAGA,SAAO,aAAa,MAAM,YAAY,KAAK,CAAE,GAAG,OAAO,GAAI,CAAC,GAAG,MAAM;AACvE;AAgBA,eAAsB,mBAClB,SACG,UACmC;AACxC,MAAI,SAAwC,EAAE,SAAS,GAAG,0BAA0B,GAAG,QAAQ,CAAC,EAAE;AAGlG,MAAI;AAAM,aAAS,aAAa,QAAQ,MAAM,YAAY,IAAI,CAAC;AAG/D,MAAI,SAAS,QAAQ;AACnB,UAAM,CAAE,WAAW,eAAe,YAAa,IAAI;AACnD,UAAM,UAAU,GAAG,+BAA+B,WAAW,cAAc,aAAa;AACxF,aAAS,aAAa,QAAQ,OAAO;AAAA,EACvC;AAGA,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -46,35 +46,49 @@ var Tsc = class {
46
46
  this._options = options;
47
47
  }
48
48
  async pipe(files, run) {
49
- const tsconfig = this._tsconfig ? run.resolve(this._tsconfig) : (0, import_paths.isFile)(files.directory, "tsconfig.json");
50
- const overrides = {
51
- rootDir: files.directory,
52
- ...this._options
53
- };
49
+ const baseDir = run.resolve(".");
50
+ const report = run.report("TypeScript Report");
51
+ const overrides = { ...this._options };
52
+ const sourcesConfig = (0, import_paths.isFile)(files.directory, "tsconfig.json");
53
+ const tsconfig = this._tsconfig ? run.resolve(this._tsconfig) : sourcesConfig || (0, import_paths.isFile)(run.resolve("tsconfig.json"));
54
+ let rootDir;
55
+ if (overrides.rootDir) {
56
+ rootDir = overrides.rootDir = run.resolve(overrides.rootDir);
57
+ } else {
58
+ rootDir = overrides.rootDir = files.directory;
59
+ }
60
+ let outDir;
61
+ if (overrides.outDir) {
62
+ outDir = overrides.outDir = run.resolve(overrides.outDir);
63
+ } else {
64
+ outDir = overrides.outDir = rootDir;
65
+ }
66
+ if (overrides.rootDirs) {
67
+ overrides.rootDirs = overrides.rootDirs.map((dir) => run.resolve(dir));
68
+ }
69
+ if (overrides.baseUrl)
70
+ overrides.baseUrl = run.resolve(overrides.baseUrl);
54
71
  const { errors, options } = await (0, import_options2.getCompilerOptions)(
55
72
  tsconfig,
56
73
  overrides,
57
- run.buildFile
74
+ run.buildFile,
75
+ baseDir
58
76
  );
59
- const report = run.report("TypeScript Report");
60
- (0, import_report.updateReport)(report, errors, (0, import_paths.getCurrentWorkingDirectory)());
77
+ (0, import_report.updateReport)(report, errors, baseDir);
61
78
  if (report.errors)
62
79
  report.done(true);
63
- const { rootDir, outDir } = options;
64
- const root = rootDir ? run.resolve(rootDir) : files.directory;
65
- const out = outDir ? run.resolve(outDir) : root;
66
- const host = new import_compiler.TypeScriptHost(root);
67
80
  const paths = [...files.absolutePaths()];
68
81
  for (const path of paths)
69
82
  import_log.log.trace(`Compiling "${(0, import_log.$p)(path)}"`);
70
83
  import_log.log.info("Compiling", paths.length, "files");
71
84
  import_log.log.debug("Compliation options", options);
85
+ const host = new import_compiler.TypeScriptHost(rootDir);
72
86
  const program = import_typescript.default.createProgram(paths, options, host, void 0, errors);
73
87
  const diagnostics = import_typescript.default.getPreEmitDiagnostics(program);
74
- (0, import_report.updateReport)(report, diagnostics, root);
88
+ (0, import_report.updateReport)(report, diagnostics, rootDir);
75
89
  if (report.errors)
76
90
  report.done(true);
77
- const builder = run.files(out);
91
+ const builder = run.files(outDir);
78
92
  const promises = [];
79
93
  const result = program.emit(void 0, (fileName, code) => {
80
94
  promises.push(builder.write(fileName, code).then((file) => {
@@ -84,13 +98,13 @@ var Tsc = class {
84
98
  throw (0, import_assert.failure)();
85
99
  }));
86
100
  });
87
- (0, import_report.updateReport)(report, result.diagnostics, root);
88
- if (report.errors)
89
- report.done(true);
90
101
  const settlements = await Promise.allSettled(promises);
91
102
  const failures = settlements.reduce((failures2, s) => failures2 + s.status === "rejected" ? 1 : 0, 0);
92
103
  if (failures)
93
104
  throw (0, import_assert.failure)();
105
+ (0, import_report.updateReport)(report, result.diagnostics, rootDir);
106
+ if (report.errors)
107
+ report.done(true);
94
108
  const outputs = builder.build();
95
109
  import_log.log.info("TSC produced", outputs.length, "files into", (0, import_log.$p)(outputs.directory));
96
110
  return outputs;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/plugs/tsc/runner.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAe;AAEf,oBAAwB;AAExB,iBAAwB;AACxB,mBAAmD;AAGnD,qBAA2C;AAC3C,sBAA+B;AAC/B,IAAAA,kBAAmC;AACnC,oBAA6B;AAM7B,IAAqB,MAArB,MAAgD;AAAA,EAC7B;AAAA,EACA;AAAA,EAOjB,eAAe,MAAwC;AACrD,UAAM,EAAE,QAAQ,CAAE,QAAS,GAAG,QAAQ,QAAI,6BAAa,MAAM,CAAC,CAAC;AAC/D,SAAK,YAAY;AACjB,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,MAAM,KAAK,OAAc,KAA0B;AACjD,UAAM,WAAW,KAAK,YACpB,IAAI,QAAQ,KAAK,SAAS,QAC1B,qBAAO,MAAM,WAAW,eAAe;AAEzC,UAAM,YAAgC;AAAA,MACpC,SAAS,MAAM;AAAA,MACf,GAAG,KAAK;AAAA,IACV;AAEA,UAAM,EAAE,QAAQ,QAAQ,IAAI,UAAM;AAAA,MAC9B;AAAA,MACA;AAAA,MACA,IAAI;AAAA,IAAS;AAEjB,UAAM,SAAS,IAAI,OAAO,mBAAmB;AAG7C,oCAAa,QAAQ,YAAQ,yCAA2B,CAAC;AACzD,QAAI,OAAO;AAAQ,aAAO,KAAK,IAAI;AAEnC,UAAM,EAAE,SAAS,OAAO,IAAI;AAC5B,UAAM,OAAO,UAAU,IAAI,QAAQ,OAAO,IAAI,MAAM;AACpD,UAAM,MAAM,SAAS,IAAI,QAAQ,MAAM,IAAI;AAE3C,UAAM,OAAO,IAAI,+BAAe,IAAI;AAEpC,UAAM,QAAQ,CAAE,GAAG,MAAM,cAAc,CAAE;AACzC,eAAW,QAAQ;AAAO,qBAAI,MAAM,kBAAc,eAAG,IAAI,IAAI;AAG7D,mBAAI,KAAK,aAAa,MAAM,QAAQ,OAAO;AAC3C,mBAAI,MAAM,uBAAuB,OAAO;AAExC,UAAM,UAAU,kBAAAC,QAAG,cAAc,OAAO,SAAS,MAAM,QAAW,MAAM;AACxE,UAAM,cAAc,kBAAAA,QAAG,sBAAsB,OAAO;AAGpD,oCAAa,QAAQ,aAAa,IAAI;AACtC,QAAI,OAAO;AAAQ,aAAO,KAAK,IAAI;AAEnC,UAAM,UAAU,IAAI,MAAM,GAAG;AAC7B,UAAM,WAA4B,CAAC;AACnC,UAAM,SAAS,QAAQ,KAAK,QAAW,CAAC,UAAU,SAAS;AACzD,eAAS,KAAK,QAAQ,MAAM,UAAU,IAAI,EAAE,KAAK,CAAC,SAAS;AACzD,uBAAI,MAAM,eAAW,eAAG,IAAI,CAAC;AAAA,MAC/B,CAAC,EAAE,MAAM,CAAC,UAAU;AAClB,YAAI,IAAI,MAAM,oBAAoB,UAAU,KAAK;AACjD,kBAAM,uBAAQ;AAAA,MAChB,CAAC,CAAC;AAAA,IACJ,CAAC;AAGD,oCAAa,QAAQ,OAAO,aAAa,IAAI;AAC7C,QAAI,OAAO;AAAQ,aAAO,KAAK,IAAI;AAGnC,UAAM,cAAc,MAAM,QAAQ,WAAW,QAAQ;AACrD,UAAM,WAAW,YACZ,OAAO,CAACC,WAAU,MAAMA,YAAW,EAAE,WAAW,aAAa,IAAI,GAAG,CAAC;AAC1E,QAAI;AAAU,gBAAM,uBAAQ;AAG5B,UAAM,UAAU,QAAQ,MAAM;AAC9B,mBAAI,KAAK,gBAAgB,QAAQ,QAAQ,kBAAc,eAAG,QAAQ,SAAS,CAAC;AAC5E,WAAO;AAAA,EACT;AACF;",
4
+ "mappings": "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",
5
5
  "names": ["import_options", "ts", "failures"]
6
6
  }
@@ -2,7 +2,7 @@
2
2
  import ts from "typescript";
3
3
  import { failure } from "../../assert.mjs";
4
4
  import { $p, log } from "../../log.mjs";
5
- import { getCurrentWorkingDirectory, isFile } from "../../paths.mjs";
5
+ import { isFile } from "../../paths.mjs";
6
6
  import { parseOptions } from "../../utils/options.mjs";
7
7
  import { TypeScriptHost } from "./compiler.mjs";
8
8
  import { getCompilerOptions } from "./options.mjs";
@@ -16,35 +16,49 @@ var Tsc = class {
16
16
  this._options = options;
17
17
  }
18
18
  async pipe(files, run) {
19
- const tsconfig = this._tsconfig ? run.resolve(this._tsconfig) : isFile(files.directory, "tsconfig.json");
20
- const overrides = {
21
- rootDir: files.directory,
22
- ...this._options
23
- };
19
+ const baseDir = run.resolve(".");
20
+ const report = run.report("TypeScript Report");
21
+ const overrides = { ...this._options };
22
+ const sourcesConfig = isFile(files.directory, "tsconfig.json");
23
+ const tsconfig = this._tsconfig ? run.resolve(this._tsconfig) : sourcesConfig || isFile(run.resolve("tsconfig.json"));
24
+ let rootDir;
25
+ if (overrides.rootDir) {
26
+ rootDir = overrides.rootDir = run.resolve(overrides.rootDir);
27
+ } else {
28
+ rootDir = overrides.rootDir = files.directory;
29
+ }
30
+ let outDir;
31
+ if (overrides.outDir) {
32
+ outDir = overrides.outDir = run.resolve(overrides.outDir);
33
+ } else {
34
+ outDir = overrides.outDir = rootDir;
35
+ }
36
+ if (overrides.rootDirs) {
37
+ overrides.rootDirs = overrides.rootDirs.map((dir) => run.resolve(dir));
38
+ }
39
+ if (overrides.baseUrl)
40
+ overrides.baseUrl = run.resolve(overrides.baseUrl);
24
41
  const { errors, options } = await getCompilerOptions(
25
42
  tsconfig,
26
43
  overrides,
27
- run.buildFile
44
+ run.buildFile,
45
+ baseDir
28
46
  );
29
- const report = run.report("TypeScript Report");
30
- updateReport(report, errors, getCurrentWorkingDirectory());
47
+ updateReport(report, errors, baseDir);
31
48
  if (report.errors)
32
49
  report.done(true);
33
- const { rootDir, outDir } = options;
34
- const root = rootDir ? run.resolve(rootDir) : files.directory;
35
- const out = outDir ? run.resolve(outDir) : root;
36
- const host = new TypeScriptHost(root);
37
50
  const paths = [...files.absolutePaths()];
38
51
  for (const path of paths)
39
52
  log.trace(`Compiling "${$p(path)}"`);
40
53
  log.info("Compiling", paths.length, "files");
41
54
  log.debug("Compliation options", options);
55
+ const host = new TypeScriptHost(rootDir);
42
56
  const program = ts.createProgram(paths, options, host, void 0, errors);
43
57
  const diagnostics = ts.getPreEmitDiagnostics(program);
44
- updateReport(report, diagnostics, root);
58
+ updateReport(report, diagnostics, rootDir);
45
59
  if (report.errors)
46
60
  report.done(true);
47
- const builder = run.files(out);
61
+ const builder = run.files(outDir);
48
62
  const promises = [];
49
63
  const result = program.emit(void 0, (fileName, code) => {
50
64
  promises.push(builder.write(fileName, code).then((file) => {
@@ -54,13 +68,13 @@ var Tsc = class {
54
68
  throw failure();
55
69
  }));
56
70
  });
57
- updateReport(report, result.diagnostics, root);
58
- if (report.errors)
59
- report.done(true);
60
71
  const settlements = await Promise.allSettled(promises);
61
72
  const failures = settlements.reduce((failures2, s) => failures2 + s.status === "rejected" ? 1 : 0, 0);
62
73
  if (failures)
63
74
  throw failure();
75
+ updateReport(report, result.diagnostics, rootDir);
76
+ if (report.errors)
77
+ report.done(true);
64
78
  const outputs = builder.build();
65
79
  log.info("TSC produced", outputs.length, "files into", $p(outputs.directory));
66
80
  return outputs;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/plugs/tsc/runner.ts"],
4
- "mappings": ";AAAA,OAAO,QAAQ;AAEf,SAAS,eAAe;AAExB,SAAS,IAAI,WAAW;AACxB,SAAS,4BAA4B,cAAc;AAGnD,SAAS,oBAAkC;AAC3C,SAAS,sBAAsB;AAC/B,SAAS,0BAA0B;AACnC,SAAS,oBAAoB;AAM7B,IAAqB,MAArB,MAAgD;AAAA,EAC7B;AAAA,EACA;AAAA,EAOjB,eAAe,MAAwC;AACrD,UAAM,EAAE,QAAQ,CAAE,QAAS,GAAG,QAAQ,IAAI,aAAa,MAAM,CAAC,CAAC;AAC/D,SAAK,YAAY;AACjB,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,MAAM,KAAK,OAAc,KAA0B;AACjD,UAAM,WAAW,KAAK,YACpB,IAAI,QAAQ,KAAK,SAAS,IAC1B,OAAO,MAAM,WAAW,eAAe;AAEzC,UAAM,YAAgC;AAAA,MACpC,SAAS,MAAM;AAAA,MACf,GAAG,KAAK;AAAA,IACV;AAEA,UAAM,EAAE,QAAQ,QAAQ,IAAI,MAAM;AAAA,MAC9B;AAAA,MACA;AAAA,MACA,IAAI;AAAA,IAAS;AAEjB,UAAM,SAAS,IAAI,OAAO,mBAAmB;AAG7C,iBAAa,QAAQ,QAAQ,2BAA2B,CAAC;AACzD,QAAI,OAAO;AAAQ,aAAO,KAAK,IAAI;AAEnC,UAAM,EAAE,SAAS,OAAO,IAAI;AAC5B,UAAM,OAAO,UAAU,IAAI,QAAQ,OAAO,IAAI,MAAM;AACpD,UAAM,MAAM,SAAS,IAAI,QAAQ,MAAM,IAAI;AAE3C,UAAM,OAAO,IAAI,eAAe,IAAI;AAEpC,UAAM,QAAQ,CAAE,GAAG,MAAM,cAAc,CAAE;AACzC,eAAW,QAAQ;AAAO,UAAI,MAAM,cAAc,GAAG,IAAI,IAAI;AAG7D,QAAI,KAAK,aAAa,MAAM,QAAQ,OAAO;AAC3C,QAAI,MAAM,uBAAuB,OAAO;AAExC,UAAM,UAAU,GAAG,cAAc,OAAO,SAAS,MAAM,QAAW,MAAM;AACxE,UAAM,cAAc,GAAG,sBAAsB,OAAO;AAGpD,iBAAa,QAAQ,aAAa,IAAI;AACtC,QAAI,OAAO;AAAQ,aAAO,KAAK,IAAI;AAEnC,UAAM,UAAU,IAAI,MAAM,GAAG;AAC7B,UAAM,WAA4B,CAAC;AACnC,UAAM,SAAS,QAAQ,KAAK,QAAW,CAAC,UAAU,SAAS;AACzD,eAAS,KAAK,QAAQ,MAAM,UAAU,IAAI,EAAE,KAAK,CAAC,SAAS;AACzD,YAAI,MAAM,WAAW,GAAG,IAAI,CAAC;AAAA,MAC/B,CAAC,EAAE,MAAM,CAAC,UAAU;AAClB,YAAI,IAAI,MAAM,oBAAoB,UAAU,KAAK;AACjD,cAAM,QAAQ;AAAA,MAChB,CAAC,CAAC;AAAA,IACJ,CAAC;AAGD,iBAAa,QAAQ,OAAO,aAAa,IAAI;AAC7C,QAAI,OAAO;AAAQ,aAAO,KAAK,IAAI;AAGnC,UAAM,cAAc,MAAM,QAAQ,WAAW,QAAQ;AACrD,UAAM,WAAW,YACZ,OAAO,CAACA,WAAU,MAAMA,YAAW,EAAE,WAAW,aAAa,IAAI,GAAG,CAAC;AAC1E,QAAI;AAAU,YAAM,QAAQ;AAG5B,UAAM,UAAU,QAAQ,MAAM;AAC9B,QAAI,KAAK,gBAAgB,QAAQ,QAAQ,cAAc,GAAG,QAAQ,SAAS,CAAC;AAC5E,WAAO;AAAA,EACT;AACF;",
4
+ "mappings": "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",
5
5
  "names": ["failures"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plugjs/plug",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "scripts": {
24
24
  "bootstrap": "./bootstrap.sh",
25
- "build": "node ./extra/cli.mjs --force-esm",
25
+ "build": "./runme.sh",
26
26
  "dev": "npx nodemon -e .ts -w ./test -w ./src -x ./runme.sh"
27
27
  },
28
28
  "author": "",
@@ -72,12 +72,13 @@ export async function getCompilerOptions(
72
72
  file: AbsolutePath | undefined,
73
73
  overrides: ts.CompilerOptions,
74
74
  overridesFile: AbsolutePath,
75
+ overridesBasePath: AbsolutePath,
75
76
  ): Promise<CompilerOptionsAndDiagnostics>
76
77
 
77
78
  /** Load compiler options from a JSON file, and merge in the overrides */
78
79
  export async function getCompilerOptions(
79
80
  file?: AbsolutePath,
80
- ...override: [ ts.CompilerOptions, AbsolutePath ] | []
81
+ ...override: [ ts.CompilerOptions, AbsolutePath, AbsolutePath ] | []
81
82
  ): Promise<CompilerOptionsAndDiagnostics> {
82
83
  let result: CompilerOptionsAndDiagnostics = { options: ts.getDefaultCompilerOptions(), errors: [] }
83
84
 
@@ -86,8 +87,7 @@ export async function getCompilerOptions(
86
87
 
87
88
  // If we have overrides, merge them
88
89
  if (override.length) {
89
- const [ overrides, overridesFile ] = override
90
- const overridesDir = getAbsoluteParent(overridesFile)
90
+ const [ overrides, overridesFile, overridesDir ] = override
91
91
  const options = ts.convertCompilerOptionsFromJson(overrides, overridesDir, overridesFile)
92
92
  result = mergeResults(result, options)
93
93
  }
@@ -3,7 +3,7 @@ import ts from 'typescript' // TypeScript does NOT support ESM modules
3
3
  import { failure } from '../../assert.js'
4
4
  import { Files } from '../../files.js'
5
5
  import { $p, log } from '../../log.js'
6
- import { getCurrentWorkingDirectory, isFile } from '../../paths.js'
6
+ import { AbsolutePath, isFile } from '../../paths.js'
7
7
  import { Plug } from '../../pipe.js'
8
8
  import { Run } from '../../run.js'
9
9
  import { parseOptions, ParseOptions } from '../../utils/options.js'
@@ -31,47 +31,71 @@ export default class Tsc implements Plug<Files> {
31
31
  }
32
32
 
33
33
  async pipe(files: Files, run: Run): Promise<Files> {
34
- const tsconfig = this._tsconfig ?
35
- run.resolve(this._tsconfig) :
36
- isFile(files.directory, 'tsconfig.json')
34
+ const baseDir = run.resolve('.') // "this" directory, base of all relative paths
35
+ const report = run.report('TypeScript Report') // report used throughout
36
+ const overrides = { ...this._options } // clone our options
37
+
38
+ /*
39
+ * The "tsconfig" file is either specified, or (if existing) first checked
40
+ * alongside the sources, otherwise checked in the current directory.
41
+ */
42
+ const sourcesConfig = isFile(files.directory, 'tsconfig.json')
43
+ const tsconfig = this._tsconfig ? run.resolve(this._tsconfig) :
44
+ sourcesConfig || isFile(run.resolve('tsconfig.json'))
45
+
46
+ /* Root directory must always exist */
47
+ let rootDir: AbsolutePath
48
+ if (overrides.rootDir) {
49
+ rootDir = overrides.rootDir = run.resolve(overrides.rootDir)
50
+ } else {
51
+ rootDir = overrides.rootDir = files.directory
52
+ }
53
+
54
+ /* Output directory _also_ must always exist */
55
+ let outDir: AbsolutePath
56
+ if (overrides.outDir) {
57
+ outDir = overrides.outDir = run.resolve(overrides.outDir)
58
+ } else {
59
+ outDir = overrides.outDir = rootDir // default to the root directory
60
+ }
37
61
 
38
- const overrides: ts.CompilerOptions = {
39
- rootDir: files.directory, // by default, our "files" directory
40
- ...this._options, // any other options specified in the constructor
62
+ /* All other root paths */
63
+ if (overrides.rootDirs) {
64
+ overrides.rootDirs = overrides.rootDirs.map((dir) => run.resolve(dir))
41
65
  }
42
66
 
67
+ /* The baseURL is resolved, as well */
68
+ if (overrides.baseUrl) overrides.baseUrl = run.resolve(overrides.baseUrl)
69
+
70
+ /* We can now get our compiler options, and check any and all overrides */
43
71
  const { errors, options } = await getCompilerOptions(
44
72
  tsconfig, // resolved tsconfig.json from constructor, might be undefined
45
73
  overrides, // overrides from constructor, might be an empty object
46
- run.buildFile) // overrides are defined in the build file, sooo.....
47
-
48
- const report = run.report('TypeScript Report')
74
+ run.buildFile, // the build file where the overrides were specified,
75
+ baseDir) // base dir where to resolve overrides
49
76
 
50
- // Update report and fail on errors
51
- updateReport(report, errors, getCurrentWorkingDirectory())
77
+ /* Update report and fail on errors */
78
+ updateReport(report, errors, baseDir)
52
79
  if (report.errors) report.done(true)
53
80
 
54
- const { rootDir, outDir } = options
55
- const root = rootDir ? run.resolve(rootDir) : files.directory
56
- const out = outDir ? run.resolve(outDir) : root
57
-
58
- const host = new TypeScriptHost(root)
59
-
81
+ /* Prep for compilation */
60
82
  const paths = [ ...files.absolutePaths() ]
61
83
  for (const path of paths) log.trace(`Compiling "${$p(path)}"`)
62
84
 
63
- // Get our build file and create the master program
64
85
  log.info('Compiling', paths.length, 'files')
65
86
  log.debug('Compliation options', options)
66
87
 
88
+ /* Typescript host, create program and compile */
89
+ const host = new TypeScriptHost(rootDir)
67
90
  const program = ts.createProgram(paths, options, host, undefined, errors)
68
91
  const diagnostics = ts.getPreEmitDiagnostics(program)
69
92
 
70
- // Update report and fail on errors
71
- updateReport(report, diagnostics, root)
93
+ /* Update report and fail on errors */
94
+ updateReport(report, diagnostics, rootDir)
72
95
  if (report.errors) report.done(true)
73
96
 
74
- const builder = run.files(out)
97
+ /* Write out all files asynchronously */
98
+ const builder = run.files(outDir)
75
99
  const promises: Promise<void>[] = []
76
100
  const result = program.emit(undefined, (fileName, code) => {
77
101
  promises.push(builder.write(fileName, code).then((file) => {
@@ -82,17 +106,17 @@ export default class Tsc implements Plug<Files> {
82
106
  }))
83
107
  })
84
108
 
85
- // Update report and fail on errors
86
- updateReport(report, result.diagnostics, root)
87
- if (report.errors) report.done(true)
88
-
89
- // Await for all files to be written and check
109
+ /* Await for all files to be written and check */
90
110
  const settlements = await Promise.allSettled(promises)
91
111
  const failures = settlements
92
112
  .reduce((failures, s) => failures + s.status === 'rejected' ? 1 : 0, 0)
93
113
  if (failures) throw failure() // already logged above
94
114
 
95
- // All done, build our files and return it
115
+ /* Update report and fail on errors */
116
+ updateReport(report, result.diagnostics, rootDir)
117
+ if (report.errors) report.done(true)
118
+
119
+ /* All done, build our files and return it */
96
120
  const outputs = builder.build()
97
121
  log.info('TSC produced', outputs.length, 'files into', $p(outputs.directory))
98
122
  return outputs
@@ -5,4 +5,4 @@ export declare type CompilerOptionsAndDiagnostics = {
5
5
  errors: readonly ts.Diagnostic[];
6
6
  };
7
7
  export declare function getCompilerOptions(file?: AbsolutePath): Promise<CompilerOptionsAndDiagnostics>;
8
- export declare function getCompilerOptions(file: AbsolutePath | undefined, overrides: ts.CompilerOptions, overridesFile: AbsolutePath): Promise<CompilerOptionsAndDiagnostics>;
8
+ export declare function getCompilerOptions(file: AbsolutePath | undefined, overrides: ts.CompilerOptions, overridesFile: AbsolutePath, overridesBasePath: AbsolutePath): Promise<CompilerOptionsAndDiagnostics>;