@plugjs/build 0.4.29 → 0.4.31

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/index.cjs CHANGED
@@ -44,6 +44,8 @@ function tasks(options = {}) {
44
44
  coverageDir: _coverageDir = "coverage",
45
45
  coverageDataDir: _coverageDataDir = ".coverage-data",
46
46
  extraTypesDir: _extraTypesDir = "types",
47
+ extraLint: _extraLint = [],
48
+ extraCoverage: _extraCoverage = [],
47
49
  packageJson: _packageJson = "package.json",
48
50
  outputPackageJson: _outputPackageJson = _packageJson,
49
51
  cjsExtension: _cjsExtension = ".cjs",
@@ -54,6 +56,7 @@ function tasks(options = {}) {
54
56
  banners: _banners = !_parallelize,
55
57
  testGlob: _testGlob = "**/*.test.([cm])?ts",
56
58
  exportsGlob: _exportsGlob = "index.*",
59
+ exportsGlobs: _exportsGlobs = [],
57
60
  coverage: _coverage = true,
58
61
  minimumCoverage: _minimumCoverage = 100,
59
62
  minimumFileCoverage: _minimumFileCoverage = 100,
@@ -114,12 +117,6 @@ function tasks(options = {}) {
114
117
  _find_types() {
115
118
  return (0, import_plug.find)("**/*.d.([cm])?ts", { directory: this.sourceDir });
116
119
  },
117
- /** Find all extra types definition files from `extraTypesDir` */
118
- _find_extra_types() {
119
- if (!(0, import_plug.isDirectory)(this.extraTypesDir))
120
- return (0, import_plug.noop)();
121
- return (0, import_plug.find)("**/*.d.([cm])?ts", { directory: this.extraTypesDir });
122
- },
123
120
  /** Find all resource files (non-typescript files) within sources */
124
121
  _find_resources() {
125
122
  return (0, import_plug.find)("**/*", { directory: this.sourceDir, ignore: "**/*.([cm])?ts" });
@@ -131,15 +128,21 @@ function tasks(options = {}) {
131
128
  /** Find all source files to lint */
132
129
  _find_lint_sources() {
133
130
  return (0, import_plug.merge)([
134
- this._find_sources(),
135
- this._find_tests(),
136
- this._find_types(),
137
- this._find_extra_types()
131
+ (0, import_plug.find)("**/*.([cm])?ts", "**/*.([cm])?js", { directory: this.sourceDir }),
132
+ (0, import_plug.find)("**/*.([cm])?ts", "**/*.([cm])?js", { directory: this.testDir }),
133
+ (0, import_plug.find)("**/*.([cm])?ts", "**/*.([cm])?js", { directory: this.extraTypesDir }),
134
+ ..._extraLint.map((args) => (0, import_plug.find)(...args))
138
135
  ]);
139
136
  },
140
137
  /** Find all source files for coverage */
141
138
  _find_coverage_sources() {
142
- return this._find_sources();
139
+ return (0, import_plug.merge)([
140
+ (0, import_plug.find)("**/*.([cm])?ts", "**/*.([cm])?js", {
141
+ directory: this.sourceDir,
142
+ ignore: "**/*.d.([cm])?ts"
143
+ }),
144
+ ..._extraCoverage.map((args) => (0, import_plug.find)(...args))
145
+ ]).debug();
143
146
  },
144
147
  /* ====================================================================== *
145
148
  * TRANSPILE *
@@ -270,7 +273,8 @@ function tasks(options = {}) {
270
273
  async exports() {
271
274
  const files = await this.transpile();
272
275
  emitBanner('Updating exports in "package.json"');
273
- return (0, import_plug.merge)([files]).filter(this.exportsGlob, { directory: this.destDir, ignore: "**/*.map" }).exports({
276
+ const globs = [this.exportsGlob, ..._exportsGlobs];
277
+ return (0, import_plug.merge)([files]).filter(...globs, { directory: this.destDir, ignore: "**/*.map" }).exports({
274
278
  cjsExtension: this.cjsExtension,
275
279
  esmExtension: this.esmExtension,
276
280
  packageJson: this.packageJson,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAO;AACP,oBAAO;AACP,qBAAO;AACP,kBAUO;AACP,wBAAO;AAIP,wBAAc,yBAlBd;AAqBA,IAAM,kBAAkC;AAAA,EACtC,UAAU;AAAA,EACV,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,SAAS,KAAE,2BAAc,CAAE;AAC7B;AAoFO,SAAS,MAAM,UAAwB,CAAC,GAAG;AAChD,QAAM;AAAA,IACJ,WAAW,aAAa;AAAA,IACxB,SAAS,WAAW;AAAA,IACpB,SAAS,WAAW;AAAA,IACpB,aAAa,eAAe;AAAA,IAC5B,iBAAiB,mBAAmB;AAAA,IACpC,eAAe,iBAAiB;AAAA,IAEhC,aAAa,eAAe;AAAA,IAC5B,mBAAmB,qBAAqB;AAAA,IAExC,cAAc,gBAAgB;AAAA,IAC9B,cAAc,gBAAgB;AAAA,IAC9B,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA,IAEZ,aAAa,eAAe;AAAA,IAC5B,SAAS,WAAW,CAAC;AAAA,IACrB,UAAU,YAAY;AAAA,IACtB,aAAa,eAAe;AAAA,IAC5B,UAAU,YAAY;AAAA,IACtB,iBAAiB,mBAAmB;AAAA,IACpC,qBAAqB,uBAAuB;AAAA,IAC5C,iBAAiB,mBAAmB;AAAA,IACpC,qBAAqB,uBAAuB;AAAA,IAE5C,gBAAgB,kBAAkB,CAAC;AAAA,EACrC,IAAI;AAGJ,QAAM,aAAa,WAAW,qBAAS,IAAI,SAAc;AAGzD,QAAM,uBAAuB,OAAO,OAAO,CAAC,GAAG,iBAAiB,eAAe;AAE/E,aAAO,mBAAM;AAAA;AAAA,IAEX,WAAW;AAAA;AAAA,IAEX,SAAS;AAAA;AAAA,IAET,SAAS;AAAA;AAAA,IAET,aAAa;AAAA;AAAA,IAEb,iBAAiB;AAAA;AAAA,IAEjB,eAAe;AAAA;AAAA,IAEf,aAAa;AAAA;AAAA,IAEb,mBAAmB;AAAA;AAAA,IAEnB,cAAc;AAAA;AAAA,IAEd,cAAc;AAAA;AAAA,IAEd,KAAK,OAAO,SAAS;AAAA;AAAA,IAErB,KAAK,OAAO,SAAS;AAAA;AAAA,IAErB,UAAU;AAAA;AAAA,IAEV,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,IAOb,oBAA0B;AACxB,iBAAO,kBAAK,eAAe,EAAE,WAAW,KAAK,WAAW,QAAQ,YAAY,CAAC;AAAA,IAC/E;AAAA;AAAA,IAGA,oBAA0B;AACxB,iBAAO,kBAAK,eAAe,EAAE,WAAW,KAAK,WAAW,QAAQ,YAAY,CAAC;AAAA,IAC/E;AAAA;AAAA,IAGA,gBAAsB;AACpB,iBAAO,mBAAM;AAAA,QACX,KAAK,QAAQ,SAAS,KAAK,kBAAkB,QAAI,kBAAK;AAAA,QACtD,KAAK,QAAQ,SAAS,KAAK,kBAAkB,QAAI,kBAAK;AAAA,MACxD,CAAC;AAAA,IACH;AAAA;AAAA,IAGA,cAAoB;AAClB,iBAAO,kBAAK,oBAAoB,EAAE,WAAW,KAAK,UAAU,CAAC;AAAA,IAC/D;AAAA;AAAA,IAGA,oBAA0B;AACxB,UAAI,KAAE,yBAAY,KAAK,aAAa;AAAG,mBAAO,kBAAK;AACnD,iBAAO,kBAAK,oBAAoB,EAAE,WAAW,KAAK,cAAc,CAAC;AAAA,IACnE;AAAA;AAAA,IAGA,kBAAwB;AACtB,iBAAO,kBAAK,QAAQ,EAAE,WAAW,KAAK,WAAW,QAAQ,iBAAiB,CAAC;AAAA,IAC7E;AAAA;AAAA,IAGA,cAAoB;AAClB,iBAAO,kBAAK,KAAK,UAAU,EAAE,WAAW,KAAK,SAAS,QAAQ,mBAAmB,CAAC;AAAA,IACpF;AAAA;AAAA,IAGA,qBAA2B;AACzB,iBAAO,mBAAM;AAAA,QACX,KAAK,cAAc;AAAA,QACnB,KAAK,YAAY;AAAA,QACjB,KAAK,YAAY;AAAA,QACjB,KAAK,kBAAkB;AAAA,MACzB,CAAC;AAAA,IACH;AAAA;AAAA,IAGA,yBAA+B;AAC7B,aAAO,KAAK,cAAc;AAAA,IAC5B;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,gBAAsB;AACpB,aAAO,KAAK,kBAAkB,EACzB,QAAQ;AAAA,QACP,GAAG;AAAA,QACH,QAAQ;AAAA,QACR,QAAQ,KAAK;AAAA,QACb,cAAc,EAAE,OAAO,KAAK,aAAa;AAAA,MAC3C,CAAC;AAAA,IACP;AAAA;AAAA,IAGA,gBAAsB;AACpB,aAAO,KAAK,kBAAkB,EACzB,QAAQ;AAAA,QACP,GAAG;AAAA,QACH,QAAQ;AAAA,QACR,QAAQ,KAAK;AAAA,QACb,cAAc,EAAE,OAAO,KAAK,aAAa;AAAA,MAC3C,CAAC;AAAA,IACP;AAAA;AAAA,IAGA,kBAAwB;AACtB,YAAM,oBACF,yBAAY,KAAK,aAAa,IAC1B,KAAK,gBACL;AAER,iBAAO,mBAAM;AAAA,QACX,KAAK,cAAc;AAAA,QACnB,KAAK,YAAY;AAAA,MACnB,CAAC,EAAE,IAAI,iBAAiB;AAAA,QACtB,QAAQ;AAAA,QACR,SAAS,KAAK;AAAA,QACd,aAAa;AAAA,QACb,qBAAqB;AAAA,QACrB,QAAQ,KAAK;AAAA,QACb;AAAA,MACF,CAAC;AAAA,IACH;AAAA;AAAA,IAGA,iBAAuB;AACrB,iBAAO,mBAAM;AAAA,QACX,KAAK,gBAAgB;AAAA,QACrB,KAAK,YAAY;AAAA,MACnB,CAAC,EAAE,KAAK,KAAK,OAAO;AAAA,IACtB;AAAA;AAAA,IAGA,MAAM,YAA2B;AAC/B,iBAAW,0BAA0B;AAErC,cAAI,yBAAY,KAAK,OAAO;AAAG,kBAAM,kBAAK,KAAK,OAAO;AAEtD,YAAM,SAAS,UAAM,mBAAM;AAAA,QACzB,KAAK,QAAQ,SAAS,KAAK,cAAc,QAAI,kBAAK;AAAA,QAClD,KAAK,QAAQ,SAAS,KAAK,cAAc,QAAI,kBAAK;AAAA,QAClD,KAAK,gBAAgB;AAAA,QACrB,KAAK,eAAe;AAAA,MACtB,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAM,aAA4B;AAChC,iBAAW,qBAAqB;AAEhC,YAAM,eAAW,qBAAQ,KAAK,SAAS,eAAe;AACtD,YAAM,oBACF,yBAAY,KAAK,aAAa,IAC1B,KAAK,gBACL;AAER,YAAM,KACD,YAAY,EACZ,IAAI,UAAU;AAAA,QACb,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,qBAAqB;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,IACP;AAAA;AAAA,IAGA,MAAM,WAA0B;AAC9B,iBAAW,0BAA0B;AAErC,YAAM,KACD,YAAY,EACZ,KAAK;AAAA,QACJ,aAAa,YAAY,KAAK,kBAAkB;AAAA,QAChD,aAAa;AAAA,MACf,CAAC;AAAA,IACP;AAAA;AAAA,IAGA,MAAM,WAA0B;AAC9B,iBAAW,4BAA4B;AAEvC,YAAM,KACD,YAAY,EACZ,KAAK;AAAA,QACJ,aAAa,YAAY,KAAK,kBAAkB;AAAA,QAChD,aAAa;AAAA,MACf,CAAC;AAAA,IACP;AAAA;AAAA,IAGA,MAAM,OAAsB;AAC1B,UAAI,iBAAa,yBAAY,KAAK,eAAe;AAAG,kBAAM,kBAAK,KAAK,eAAe;AAEnF,UAAI,KAAK,QAAQ;AAAQ,cAAM,KAAK,SAAS;AAC7C,UAAI,KAAK,QAAQ;AAAQ,cAAM,KAAK,SAAS;AAAA,IAC/C;AAAA;AAAA,IAGA,MAAM,WAA0B;AAC9B,UAAI;AAGJ,UAAI;AACF,cAAM,KAAK,KAAK;AAAA,MAClB,UAAE;AACA,mBAAW,2BAA2B;AAEtC,uBAAe,KAAK,uBAAuB,EACtC,SAAS,KAAK,iBAAiB;AAAA,UAC9B,WAAW,KAAK;AAAA,UAChB,iBAAiB;AAAA,UACjB,qBAAqB;AAAA,UACrB,iBAAiB;AAAA,UACjB,qBAAqB;AAAA,QACvB,CAAC;AAAA,MACP;AAGA,aAAO;AAAA,IACT;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAM,OAAsB;AAC1B,iBAAW,iBAAiB;AAE5B,YAAM,KAAK,mBAAmB,EAAE,OAAO;AAAA,IACzC;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAM,UAAyB;AAC7B,YAAM,QAAQ,MAAM,KAAK,UAAU;AAEnC,iBAAW,oCAAoC;AAE/C,iBAAO,mBAAM,CAAE,KAAM,CAAC,EACjB,OAAO,KAAK,aAAa,EAAE,WAAW,KAAK,SAAS,QAAQ,WAAW,CAAC,EACxE,QAAQ;AAAA,QACP,cAAc,KAAK;AAAA,QACnB,cAAc,KAAK;AAAA,QACnB,aAAa,KAAK;AAAA,QAClB,mBAAmB,KAAK;AAAA,MAC1B,CAAC;AAAA,IACP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,MAAM,MAAqB;AACzB,UAAI,cAAc;AAChB,cAAM,QAAQ,IAAI;AAAA,UAChB,KAAK,UAAU;AAAA,UACf,KAAK,WAAW;AAAA,UAChB,YAAY,KAAK,SAAS,IAAI,KAAK,KAAK;AAAA,UACxC,KAAK,KAAK;AAAA,QACZ,CAAC;AAAA,MACH,OAAO;AACL,cAAM,KAAK,UAAU;AACrB,cAAM,KAAK,WAAW,GACtB,OAAO,YAAY,KAAK,SAAS,IAAI,KAAK,KAAK,IAC/C,MAAM,KAAK,KAAK;AAAA,MAClB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,MAAM,UAAyB;AAC7B,YAAM,KAAK,IAAI;AAAA,IACjB;AAAA,EACF,CAAC;AACH;",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import '@plugjs/cov8';
2
2
  import '@plugjs/eslint';
3
3
  import '@plugjs/expect5';
4
4
  import '@plugjs/typescript';
5
- import type { ESBuildOptions, Pipe } from '@plugjs/plug';
5
+ import type { ESBuildOptions, FindOptions, Pipe } from '@plugjs/plug';
6
6
  export * from '@plugjs/plug';
7
7
  /** Options for creating our shared build file */
8
8
  export interface TasksOptions {
@@ -18,6 +18,10 @@ export interface TasksOptions {
18
18
  coverageDataDir?: string;
19
19
  /** A directory containing extra types to use while transpiling (default: `types`) */
20
20
  extraTypesDir?: string;
21
+ /** Extra `find` defintions for additional coverage sources */
22
+ extraCoverage?: (readonly [glob: string, ...globs: string[], options: FindOptions])[];
23
+ /** Extra `find` defintions for additional linting sources */
24
+ extraLint?: (readonly [glob: string, ...globs: string[], options: FindOptions])[];
21
25
  /** The source `package.json` file (default: `package.json`) */
22
26
  packageJson?: string;
23
27
  /** The source `package.json` file (default: same as `packageJson` option) */
@@ -38,6 +42,8 @@ export interface TasksOptions {
38
42
  testGlob?: string;
39
43
  /** A glob pattern matching files to be exported (default: `index.*`) */
40
44
  exportsGlob?: string;
45
+ /** Extra glob patterns matching files to be exported (default: `[]`) */
46
+ exportsGlobs?: string[];
41
47
  /** Enable coverage when running tests (default: `true`) */
42
48
  coverage?: boolean;
43
49
  /** Minimum overall coverage percentage (default: `100`) */
@@ -101,8 +107,6 @@ export declare function tasks(options?: TasksOptions): import("@plugjs/plug").Bu
101
107
  _find_sources(): Pipe;
102
108
  /** Find all types definition files within sources */
103
109
  _find_types(): Pipe;
104
- /** Find all extra types definition files from `extraTypesDir` */
105
- _find_extra_types(): Pipe;
106
110
  /** Find all resource files (non-typescript files) within sources */
107
111
  _find_resources(): Pipe;
108
112
  /** Find all test source files */
package/dist/index.mjs CHANGED
@@ -29,6 +29,8 @@ function tasks(options = {}) {
29
29
  coverageDir: _coverageDir = "coverage",
30
30
  coverageDataDir: _coverageDataDir = ".coverage-data",
31
31
  extraTypesDir: _extraTypesDir = "types",
32
+ extraLint: _extraLint = [],
33
+ extraCoverage: _extraCoverage = [],
32
34
  packageJson: _packageJson = "package.json",
33
35
  outputPackageJson: _outputPackageJson = _packageJson,
34
36
  cjsExtension: _cjsExtension = ".cjs",
@@ -39,6 +41,7 @@ function tasks(options = {}) {
39
41
  banners: _banners = !_parallelize,
40
42
  testGlob: _testGlob = "**/*.test.([cm])?ts",
41
43
  exportsGlob: _exportsGlob = "index.*",
44
+ exportsGlobs: _exportsGlobs = [],
42
45
  coverage: _coverage = true,
43
46
  minimumCoverage: _minimumCoverage = 100,
44
47
  minimumFileCoverage: _minimumFileCoverage = 100,
@@ -99,12 +102,6 @@ function tasks(options = {}) {
99
102
  _find_types() {
100
103
  return find("**/*.d.([cm])?ts", { directory: this.sourceDir });
101
104
  },
102
- /** Find all extra types definition files from `extraTypesDir` */
103
- _find_extra_types() {
104
- if (!isDirectory(this.extraTypesDir))
105
- return noop();
106
- return find("**/*.d.([cm])?ts", { directory: this.extraTypesDir });
107
- },
108
105
  /** Find all resource files (non-typescript files) within sources */
109
106
  _find_resources() {
110
107
  return find("**/*", { directory: this.sourceDir, ignore: "**/*.([cm])?ts" });
@@ -116,15 +113,21 @@ function tasks(options = {}) {
116
113
  /** Find all source files to lint */
117
114
  _find_lint_sources() {
118
115
  return merge([
119
- this._find_sources(),
120
- this._find_tests(),
121
- this._find_types(),
122
- this._find_extra_types()
116
+ find("**/*.([cm])?ts", "**/*.([cm])?js", { directory: this.sourceDir }),
117
+ find("**/*.([cm])?ts", "**/*.([cm])?js", { directory: this.testDir }),
118
+ find("**/*.([cm])?ts", "**/*.([cm])?js", { directory: this.extraTypesDir }),
119
+ ..._extraLint.map((args) => find(...args))
123
120
  ]);
124
121
  },
125
122
  /** Find all source files for coverage */
126
123
  _find_coverage_sources() {
127
- return this._find_sources();
124
+ return merge([
125
+ find("**/*.([cm])?ts", "**/*.([cm])?js", {
126
+ directory: this.sourceDir,
127
+ ignore: "**/*.d.([cm])?ts"
128
+ }),
129
+ ..._extraCoverage.map((args) => find(...args))
130
+ ]).debug();
128
131
  },
129
132
  /* ====================================================================== *
130
133
  * TRANSPILE *
@@ -255,7 +258,8 @@ function tasks(options = {}) {
255
258
  async exports() {
256
259
  const files = await this.transpile();
257
260
  emitBanner('Updating exports in "package.json"');
258
- return merge([files]).filter(this.exportsGlob, { directory: this.destDir, ignore: "**/*.map" }).exports({
261
+ const globs = [this.exportsGlob, ..._exportsGlobs];
262
+ return merge([files]).filter(...globs, { directory: this.destDir, ignore: "**/*.map" }).exports({
259
263
  cjsExtension: this.cjsExtension,
260
264
  esmExtension: this.esmExtension,
261
265
  packageJson: this.packageJson,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.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/build",
3
- "version": "0.4.29",
3
+ "version": "0.4.31",
4
4
  "description": "Simple shared build using PlugJS",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -30,12 +30,12 @@
30
30
  "transpile": "plug transpile"
31
31
  },
32
32
  "dependencies": {
33
- "@plugjs/cov8": "^0.4.31",
34
- "@plugjs/eslint": "^0.4.31",
33
+ "@plugjs/cov8": "^0.4.32",
34
+ "@plugjs/eslint": "^0.4.32",
35
35
  "@plugjs/eslint-plugin": "^0.1.12",
36
- "@plugjs/expect5": "^0.4.31",
37
- "@plugjs/plug": "^0.4.31",
38
- "@plugjs/typescript": "^0.4.31"
36
+ "@plugjs/expect5": "^0.4.32",
37
+ "@plugjs/plug": "^0.4.32",
38
+ "@plugjs/typescript": "^0.4.32"
39
39
  },
40
40
  "files": [
41
41
  "*.md",
package/src/index.ts CHANGED
@@ -14,7 +14,7 @@ import {
14
14
  } from '@plugjs/plug'
15
15
  import '@plugjs/typescript'
16
16
 
17
- import type { ESBuildOptions, Pipe } from '@plugjs/plug'
17
+ import type { ESBuildOptions, FindOptions, Pipe } from '@plugjs/plug'
18
18
 
19
19
  export * from '@plugjs/plug'
20
20
 
@@ -45,6 +45,15 @@ export interface TasksOptions {
45
45
  /** A directory containing extra types to use while transpiling (default: `types`) */
46
46
  extraTypesDir?: string,
47
47
 
48
+ /* ======================================================================== *
49
+ * EXTRA INPUTS *
50
+ * ======================================================================== */
51
+
52
+ /** Extra `find` defintions for additional coverage sources */
53
+ extraCoverage?: (readonly [ glob: string, ...globs: string[], options: FindOptions])[]
54
+ /** Extra `find` defintions for additional linting sources */
55
+ extraLint?: (readonly [ glob: string, ...globs: string[], options: FindOptions])[]
56
+
48
57
  /* ======================================================================== *
49
58
  * PACKAGE.JSON OPTIONS *
50
59
  * ======================================================================== */
@@ -79,6 +88,8 @@ export interface TasksOptions {
79
88
  testGlob?: string,
80
89
  /** A glob pattern matching files to be exported (default: `index.*`) */
81
90
  exportsGlob?: string,
91
+ /** Extra glob patterns matching files to be exported (default: `[]`) */
92
+ exportsGlobs?: string[],
82
93
  /** Enable coverage when running tests (default: `true`) */
83
94
  coverage?: boolean,
84
95
  /** Minimum overall coverage percentage (default: `100`) */
@@ -117,6 +128,9 @@ export function tasks(options: TasksOptions = {}) {
117
128
  coverageDataDir: _coverageDataDir = '.coverage-data',
118
129
  extraTypesDir: _extraTypesDir = 'types',
119
130
 
131
+ extraLint: _extraLint = [],
132
+ extraCoverage: _extraCoverage = [],
133
+
120
134
  packageJson: _packageJson = 'package.json',
121
135
  outputPackageJson: _outputPackageJson = _packageJson,
122
136
 
@@ -129,6 +143,7 @@ export function tasks(options: TasksOptions = {}) {
129
143
  banners: _banners = !_parallelize,
130
144
  testGlob: _testGlob = '**/*.test.([cm])?ts',
131
145
  exportsGlob: _exportsGlob = 'index.*',
146
+ exportsGlobs: _exportsGlobs = [],
132
147
  coverage: _coverage = true,
133
148
  minimumCoverage: _minimumCoverage = 100,
134
149
  minimumFileCoverage: _minimumFileCoverage = 100,
@@ -201,12 +216,6 @@ export function tasks(options: TasksOptions = {}) {
201
216
  return find('**/*.d.([cm])?ts', { directory: this.sourceDir })
202
217
  },
203
218
 
204
- /** Find all extra types definition files from `extraTypesDir` */
205
- _find_extra_types(): Pipe {
206
- if (! isDirectory(this.extraTypesDir)) return noop()
207
- return find('**/*.d.([cm])?ts', { directory: this.extraTypesDir })
208
- },
209
-
210
219
  /** Find all resource files (non-typescript files) within sources */
211
220
  _find_resources(): Pipe {
212
221
  return find('**/*', { directory: this.sourceDir, ignore: '**/*.([cm])?ts' })
@@ -220,16 +229,22 @@ export function tasks(options: TasksOptions = {}) {
220
229
  /** Find all source files to lint */
221
230
  _find_lint_sources(): Pipe {
222
231
  return merge([
223
- this._find_sources(),
224
- this._find_tests(),
225
- this._find_types(),
226
- this._find_extra_types(),
232
+ find('**/*.([cm])?ts', '**/*.([cm])?js', { directory: this.sourceDir }),
233
+ find('**/*.([cm])?ts', '**/*.([cm])?js', { directory: this.testDir }),
234
+ find('**/*.([cm])?ts', '**/*.([cm])?js', { directory: this.extraTypesDir }),
235
+ ..._extraLint.map((args) => find(...args)),
227
236
  ])
228
237
  },
229
238
 
230
239
  /** Find all source files for coverage */
231
240
  _find_coverage_sources(): Pipe {
232
- return this._find_sources()
241
+ return merge([
242
+ find('**/*.([cm])?ts', '**/*.([cm])?js', {
243
+ directory: this.sourceDir,
244
+ ignore: '**/*.d.([cm])?ts',
245
+ }),
246
+ ..._extraCoverage.map((args) => find(...args)),
247
+ ]).debug()
233
248
  },
234
249
 
235
250
  /* ====================================================================== *
@@ -404,8 +419,10 @@ export function tasks(options: TasksOptions = {}) {
404
419
 
405
420
  emitBanner('Updating exports in "package.json"')
406
421
 
422
+ const globs = [ this.exportsGlob, ..._exportsGlobs ] as const
423
+
407
424
  return merge([ files ])
408
- .filter(this.exportsGlob, { directory: this.destDir, ignore: '**/*.map' })
425
+ .filter(...globs, { directory: this.destDir, ignore: '**/*.map' })
409
426
  .exports({
410
427
  cjsExtension: this.cjsExtension,
411
428
  esmExtension: this.esmExtension,