@plugjs/build 0.4.29 → 0.4.30

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,
@@ -131,6 +134,7 @@ function tasks(options = {}) {
131
134
  /** Find all source files to lint */
132
135
  _find_lint_sources() {
133
136
  return (0, import_plug.merge)([
137
+ ..._extraLint.map((args) => (0, import_plug.find)(...args)),
134
138
  this._find_sources(),
135
139
  this._find_tests(),
136
140
  this._find_types(),
@@ -139,7 +143,10 @@ function tasks(options = {}) {
139
143
  },
140
144
  /** Find all source files for coverage */
141
145
  _find_coverage_sources() {
142
- return this._find_sources();
146
+ return (0, import_plug.merge)([
147
+ ..._extraCoverage.map((args) => (0, import_plug.find)(...args)),
148
+ this._find_sources()
149
+ ]);
143
150
  },
144
151
  /* ====================================================================== *
145
152
  * TRANSPILE *
@@ -270,7 +277,8 @@ function tasks(options = {}) {
270
277
  async exports() {
271
278
  const files = await this.transpile();
272
279
  emitBanner('Updating exports in "package.json"');
273
- return (0, import_plug.merge)([files]).filter(this.exportsGlob, { directory: this.destDir, ignore: "**/*.map" }).exports({
280
+ const globs = [this.exportsGlob, ..._exportsGlobs];
281
+ return (0, import_plug.merge)([files]).filter(...globs, { directory: this.destDir, ignore: "**/*.map" }).exports({
274
282
  cjsExtension: this.cjsExtension,
275
283
  esmExtension: this.esmExtension,
276
284
  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/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import '@plugjs/cov8';
2
2
  import '@plugjs/eslint';
3
3
  import '@plugjs/expect5';
4
+ import { find } from '@plugjs/plug';
4
5
  import '@plugjs/typescript';
5
6
  import type { ESBuildOptions, Pipe } from '@plugjs/plug';
6
7
  export * from '@plugjs/plug';
@@ -18,6 +19,10 @@ export interface TasksOptions {
18
19
  coverageDataDir?: string;
19
20
  /** A directory containing extra types to use while transpiling (default: `types`) */
20
21
  extraTypesDir?: string;
22
+ /** Extra `find` defintions for additional coverage sources */
23
+ extraCoverage?: Parameters<typeof find>[];
24
+ /** Extra `find` defintions for additional linting sources */
25
+ extraLint?: Parameters<typeof find>[];
21
26
  /** The source `package.json` file (default: `package.json`) */
22
27
  packageJson?: string;
23
28
  /** The source `package.json` file (default: same as `packageJson` option) */
@@ -38,6 +43,8 @@ export interface TasksOptions {
38
43
  testGlob?: string;
39
44
  /** A glob pattern matching files to be exported (default: `index.*`) */
40
45
  exportsGlob?: string;
46
+ /** Extra glob patterns matching files to be exported (default: `[]`) */
47
+ exportsGlobs?: string[];
41
48
  /** Enable coverage when running tests (default: `true`) */
42
49
  coverage?: boolean;
43
50
  /** Minimum overall coverage percentage (default: `100`) */
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,
@@ -116,6 +119,7 @@ function tasks(options = {}) {
116
119
  /** Find all source files to lint */
117
120
  _find_lint_sources() {
118
121
  return merge([
122
+ ..._extraLint.map((args) => find(...args)),
119
123
  this._find_sources(),
120
124
  this._find_tests(),
121
125
  this._find_types(),
@@ -124,7 +128,10 @@ function tasks(options = {}) {
124
128
  },
125
129
  /** Find all source files for coverage */
126
130
  _find_coverage_sources() {
127
- return this._find_sources();
131
+ return merge([
132
+ ..._extraCoverage.map((args) => find(...args)),
133
+ this._find_sources()
134
+ ]);
128
135
  },
129
136
  /* ====================================================================== *
130
137
  * TRANSPILE *
@@ -255,7 +262,8 @@ function tasks(options = {}) {
255
262
  async exports() {
256
263
  const files = await this.transpile();
257
264
  emitBanner('Updating exports in "package.json"');
258
- return merge([files]).filter(this.exportsGlob, { directory: this.destDir, ignore: "**/*.map" }).exports({
265
+ const globs = [this.exportsGlob, ..._exportsGlobs];
266
+ return merge([files]).filter(...globs, { directory: this.destDir, ignore: "**/*.map" }).exports({
259
267
  cjsExtension: this.cjsExtension,
260
268
  esmExtension: this.esmExtension,
261
269
  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.30",
4
4
  "description": "Simple shared build using PlugJS",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
package/src/index.ts CHANGED
@@ -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?: Parameters<typeof find>[]
54
+ /** Extra `find` defintions for additional linting sources */
55
+ extraLint?: Parameters<typeof find>[]
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,
@@ -220,6 +235,7 @@ export function tasks(options: TasksOptions = {}) {
220
235
  /** Find all source files to lint */
221
236
  _find_lint_sources(): Pipe {
222
237
  return merge([
238
+ ..._extraLint.map((args) => find(...args)),
223
239
  this._find_sources(),
224
240
  this._find_tests(),
225
241
  this._find_types(),
@@ -229,7 +245,10 @@ export function tasks(options: TasksOptions = {}) {
229
245
 
230
246
  /** Find all source files for coverage */
231
247
  _find_coverage_sources(): Pipe {
232
- return this._find_sources()
248
+ return merge([
249
+ ..._extraCoverage.map((args) => find(...args)),
250
+ this._find_sources(),
251
+ ])
233
252
  },
234
253
 
235
254
  /* ====================================================================== *
@@ -404,8 +423,10 @@ export function tasks(options: TasksOptions = {}) {
404
423
 
405
424
  emitBanner('Updating exports in "package.json"')
406
425
 
426
+ const globs = [ this.exportsGlob, ..._exportsGlobs ] as const
427
+
407
428
  return merge([ files ])
408
- .filter(this.exportsGlob, { directory: this.destDir, ignore: '**/*.map' })
429
+ .filter(...globs, { directory: this.destDir, ignore: '**/*.map' })
409
430
  .exports({
410
431
  cjsExtension: this.cjsExtension,
411
432
  esmExtension: this.esmExtension,