@plugjs/plug 0.0.21 → 0.0.22

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.
@@ -30,8 +30,10 @@ __export(runner_exports, {
30
30
  });
31
31
  module.exports = __toCommonJS(runner_exports);
32
32
  var import_mocha = __toESM(require("mocha"));
33
+ var import_assert = require("../../assert.cjs");
33
34
  var import_failure = require("../../failure.cjs");
34
35
  var import_log = require("../../log.cjs");
36
+ var import_paths = require("../../paths.cjs");
35
37
  var import_reporter = require("./reporter.cjs");
36
38
  var Mocha = class {
37
39
  constructor(_options = {}) {
@@ -40,12 +42,20 @@ var Mocha = class {
40
42
  async pipe(files, context) {
41
43
  context.log.notice("");
42
44
  context.log.enter(import_log.NOTICE, (0, import_log.$wht)("Starting Mocha"));
45
+ const { require: require2, ...options } = this._options;
46
+ if (require2) {
47
+ const requiredFile = context.resolve(require2);
48
+ const scriptFile = (0, import_paths.resolveFile)(requiredFile);
49
+ (0, import_assert.assert)(scriptFile, `Mocha setup file ${(0, import_log.$p)(requiredFile)} not found`);
50
+ context.log.debug(`Importing setup script ${(0, import_log.$p)(requiredFile)}`);
51
+ await import(scriptFile);
52
+ }
43
53
  const mocha = new import_mocha.default({
44
54
  diff: true,
45
55
  reporter: import_reporter.PlugReporter,
46
- ...this._options,
56
+ ...options,
47
57
  reporterOptions: {
48
- ...this._options.reporterOptions,
58
+ ...options.reporterOptions,
49
59
  [import_reporter.logSymbol]: context.log
50
60
  },
51
61
  allowUncaught: false,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/plugs/mocha/runner.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsB;AAEtB,qBAA6B;AAE7B,iBAA6B;AAG7B,sBAAwC;AAGxC,IAAqB,QAArB,MAAiD;AAAA,EAE/C,YAA6B,WAAyB,CAAC,GAAG;AAA7B;AAAA,EAA8B;AAAA,EAE3D,MAAM,KAAK,OAAc,SAAiC;AAGxD,YAAQ,IAAI,OAAO,EAAE;AACrB,YAAQ,IAAI,MAAM,uBAAQ,iBAAK,gBAAgB,CAAC;AAGhD,UAAM,QAAQ,IAAI,aAAAA,QAAU;AAAA,MAC1B,MAAM;AAAA,MACN,UAAU;AAAA,MACV,GAAG,KAAK;AAAA,MACR,iBAAiB;AAAA,QACf,GAAG,KAAK,SAAS;AAAA,QACjB,CAAC,4BAAY,QAAQ;AAAA,MACvB;AAAA,MACA,eAAe;AAAA,MACf,OAAO;AAAA,IACT,CAAC;AAGD,eAAW,QAAQ,MAAM,cAAc;AAAG,YAAM,QAAQ,IAAI;AAE5D,UAAM,MAAM,eAAe;AAG3B,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAI;AACF,cAAM,IAAI,CAAC,aAAa;AACtB,cAAI;AAAU,mBAAO,4BAAa,KAAK,CAAC;AACxC,kBAAQ,MAAS;AAAA,QACnB,CAAC;AAAA,MACH,SAAS,OAAP;AACA,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
5
- "names": ["RealMocha"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsB;AACtB,oBAAuB;AAEvB,qBAA6B;AAE7B,iBAAiC;AACjC,mBAA4B;AAG5B,sBAAwC;AAGxC,IAAqB,QAArB,MAAiD;AAAA,EAE/C,YAA6B,WAAyB,CAAC,GAAG;AAA7B;AAAA,EAA8B;AAAA,EAE3D,MAAM,KAAK,OAAc,SAAiC;AAGxD,YAAQ,IAAI,OAAO,EAAE;AACrB,YAAQ,IAAI,MAAM,uBAAQ,iBAAK,gBAAgB,CAAC;AAGhD,UAAM,EAAE,SAAAA,aAAY,QAAQ,IAAI,KAAK;AAGrC,QAAIA,UAAS;AACX,YAAM,eAAe,QAAQ,QAAQA,QAAO;AAC5C,YAAM,iBAAa,0BAAY,YAAY;AAC3C,gCAAO,YAAY,wBAAoB,eAAG,YAAY,aAAa;AACnE,cAAQ,IAAI,MAAM,8BAA0B,eAAG,YAAY,GAAG;AAC9D,YAAM,OAAO;AAAA,IACf;AAGA,UAAM,QAAQ,IAAI,aAAAC,QAAU;AAAA,MAC1B,MAAM;AAAA,MACN,UAAU;AAAA,MACV,GAAG;AAAA,MACH,iBAAiB;AAAA,QACf,GAAG,QAAQ;AAAA,QACX,CAAC,4BAAY,QAAQ;AAAA,MACvB;AAAA,MACA,eAAe;AAAA,MACf,OAAO;AAAA,IACT,CAAC;AAGD,eAAW,QAAQ,MAAM,cAAc;AAAG,YAAM,QAAQ,IAAI;AAE5D,UAAM,MAAM,eAAe;AAG3B,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAI;AACF,cAAM,IAAI,CAAC,aAAa;AACtB,cAAI;AAAU,mBAAO,4BAAa,KAAK,CAAC;AACxC,kBAAQ,MAAS;AAAA,QACnB,CAAC;AAAA,MACH,SAAS,OAAP;AACA,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
5
+ "names": ["require", "RealMocha"]
6
6
  }
@@ -1,7 +1,9 @@
1
1
  // plugs/mocha/runner.ts
2
2
  import RealMocha from "mocha";
3
+ import { assert } from "../../assert.mjs";
3
4
  import { BuildFailure } from "../../failure.mjs";
4
- import { $wht, NOTICE } from "../../log.mjs";
5
+ import { $p, $wht, NOTICE } from "../../log.mjs";
6
+ import { resolveFile } from "../../paths.mjs";
5
7
  import { logSymbol, PlugReporter } from "./reporter.mjs";
6
8
  var Mocha = class {
7
9
  constructor(_options = {}) {
@@ -10,12 +12,20 @@ var Mocha = class {
10
12
  async pipe(files, context) {
11
13
  context.log.notice("");
12
14
  context.log.enter(NOTICE, $wht("Starting Mocha"));
15
+ const { require: require2, ...options } = this._options;
16
+ if (require2) {
17
+ const requiredFile = context.resolve(require2);
18
+ const scriptFile = resolveFile(requiredFile);
19
+ assert(scriptFile, `Mocha setup file ${$p(requiredFile)} not found`);
20
+ context.log.debug(`Importing setup script ${$p(requiredFile)}`);
21
+ await import(scriptFile);
22
+ }
13
23
  const mocha = new RealMocha({
14
24
  diff: true,
15
25
  reporter: PlugReporter,
16
- ...this._options,
26
+ ...options,
17
27
  reporterOptions: {
18
- ...this._options.reporterOptions,
28
+ ...options.reporterOptions,
19
29
  [logSymbol]: context.log
20
30
  },
21
31
  allowUncaught: false,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/plugs/mocha/runner.ts"],
4
- "mappings": ";AAAA,OAAO,eAAe;AAEtB,SAAS,oBAAoB;AAE7B,SAAS,MAAM,cAAc;AAG7B,SAAS,WAAW,oBAAoB;AAGxC,IAAqB,QAArB,MAAiD;AAAA,EAE/C,YAA6B,WAAyB,CAAC,GAAG;AAA7B;AAAA,EAA8B;AAAA,EAE3D,MAAM,KAAK,OAAc,SAAiC;AAGxD,YAAQ,IAAI,OAAO,EAAE;AACrB,YAAQ,IAAI,MAAM,QAAQ,KAAK,gBAAgB,CAAC;AAGhD,UAAM,QAAQ,IAAI,UAAU;AAAA,MAC1B,MAAM;AAAA,MACN,UAAU;AAAA,MACV,GAAG,KAAK;AAAA,MACR,iBAAiB;AAAA,QACf,GAAG,KAAK,SAAS;AAAA,QACjB,CAAC,YAAY,QAAQ;AAAA,MACvB;AAAA,MACA,eAAe;AAAA,MACf,OAAO;AAAA,IACT,CAAC;AAGD,eAAW,QAAQ,MAAM,cAAc;AAAG,YAAM,QAAQ,IAAI;AAE5D,UAAM,MAAM,eAAe;AAG3B,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAI;AACF,cAAM,IAAI,CAAC,aAAa;AACtB,cAAI;AAAU,mBAAO,aAAa,KAAK,CAAC;AACxC,kBAAQ,MAAS;AAAA,QACnB,CAAC;AAAA,MACH,SAAS,OAAP;AACA,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
5
- "names": []
4
+ "mappings": ";AAAA,OAAO,eAAe;AACtB,SAAS,cAAc;AAEvB,SAAS,oBAAoB;AAE7B,SAAS,IAAI,MAAM,cAAc;AACjC,SAAS,mBAAmB;AAG5B,SAAS,WAAW,oBAAoB;AAGxC,IAAqB,QAArB,MAAiD;AAAA,EAE/C,YAA6B,WAAyB,CAAC,GAAG;AAA7B;AAAA,EAA8B;AAAA,EAE3D,MAAM,KAAK,OAAc,SAAiC;AAGxD,YAAQ,IAAI,OAAO,EAAE;AACrB,YAAQ,IAAI,MAAM,QAAQ,KAAK,gBAAgB,CAAC;AAGhD,UAAM,EAAE,SAAAA,aAAY,QAAQ,IAAI,KAAK;AAGrC,QAAIA,UAAS;AACX,YAAM,eAAe,QAAQ,QAAQA,QAAO;AAC5C,YAAM,aAAa,YAAY,YAAY;AAC3C,aAAO,YAAY,oBAAoB,GAAG,YAAY,aAAa;AACnE,cAAQ,IAAI,MAAM,0BAA0B,GAAG,YAAY,GAAG;AAC9D,YAAM,OAAO;AAAA,IACf;AAGA,UAAM,QAAQ,IAAI,UAAU;AAAA,MAC1B,MAAM;AAAA,MACN,UAAU;AAAA,MACV,GAAG;AAAA,MACH,iBAAiB;AAAA,QACf,GAAG,QAAQ;AAAA,QACX,CAAC,YAAY,QAAQ;AAAA,MACvB;AAAA,MACA,eAAe;AAAA,MACf,OAAO;AAAA,IACT,CAAC;AAGD,eAAW,QAAQ,MAAM,cAAc;AAAG,YAAM,QAAQ,IAAI;AAE5D,UAAM,MAAM,eAAe;AAG3B,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAI;AACF,cAAM,IAAI,CAAC,aAAa;AACtB,cAAI;AAAU,mBAAO,aAAa,KAAK,CAAC;AACxC,kBAAQ,MAAS;AAAA,QACnB,CAAC;AAAA,MACH,SAAS,OAAP;AACA,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
5
+ "names": ["require"]
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugs/mocha.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,kBAA+B;AAC/B,mBAA+B;AAAA,IAuC/B,4BAAe,aAAS,6BAAe,YAAW,gBAAgB,CAAC;",
4
+ "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,kBAA+B;AAC/B,mBAA+B;AAAA,IAyC/B,4BAAe,aAAS,6BAAe,YAAW,gBAAgB,CAAC;",
5
5
  "names": []
6
6
  }
@@ -20,6 +20,8 @@ export interface MochaOptions {
20
20
  retries?: number;
21
21
  /** Slow threshold value. */
22
22
  slow?: number;
23
+ /** Setup file to import before running Mocha. */
24
+ require?: string;
23
25
  /** Timeout threshold value. */
24
26
  timeout?: number;
25
27
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/plugs/mocha.ts"],
4
- "mappings": ";AAAA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAuC/B,eAAe,SAAS,eAAe,iBAAW,gBAAgB,CAAC;",
4
+ "mappings": ";AAAA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAyC/B,eAAe,SAAS,eAAe,iBAAW,gBAAgB,CAAC;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plugjs/plug",
3
- "version": "0.0.21",
3
+ "version": "0.0.22",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -1,8 +1,10 @@
1
1
  import RealMocha from 'mocha' // Mocha types pollute the global scope!
2
+ import { assert } from '../../assert'
2
3
 
3
4
  import { BuildFailure } from '../../failure'
4
5
  import { Files } from '../../files'
5
- import { $wht, NOTICE } from '../../log'
6
+ import { $p, $wht, NOTICE } from '../../log'
7
+ import { resolveFile } from '../../paths'
6
8
  import { Context, PipeParameters, Plug } from '../../pipe'
7
9
  import { MochaOptions } from '../mocha'
8
10
  import { logSymbol, PlugReporter } from './reporter'
@@ -18,13 +20,25 @@ export default class Mocha implements Plug<void> {
18
20
  context.log.notice('') // empty line
19
21
  context.log.enter(NOTICE, $wht('Starting Mocha'))
20
22
 
23
+ // Expand our options
24
+ const { require, ...options } = this._options
25
+
26
+ // See if we require a setup script...
27
+ if (require) {
28
+ const requiredFile = context.resolve(require)
29
+ const scriptFile = resolveFile(requiredFile)
30
+ assert(scriptFile, `Mocha setup file ${$p(requiredFile)} not found`)
31
+ context.log.debug(`Importing setup script ${$p(requiredFile)}`)
32
+ await import(scriptFile)
33
+ }
34
+
21
35
  // Create the mocha runner
22
36
  const mocha = new RealMocha({
23
37
  diff: true, // by defaut enable diffs
24
38
  reporter: PlugReporter, // default to our reporter
25
- ...this._options, // override defaults with all other options
39
+ ...options, // override defaults with all other options
26
40
  reporterOptions: {
27
- ...this._options.reporterOptions,
41
+ ...options.reporterOptions,
28
42
  [logSymbol]: context.log, // always force a log
29
43
  },
30
44
  allowUncaught: false, // never allow uncaught exceptions
@@ -23,6 +23,8 @@ export interface MochaOptions {
23
23
  retries?: number,
24
24
  /** Slow threshold value. */
25
25
  slow?: number,
26
+ /** Setup file to import before running Mocha. */
27
+ require?: string,
26
28
  /** Timeout threshold value. */
27
29
  timeout?: number,
28
30
  }