js-build-tools 6.5.0 → 6.7.0

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.
Files changed (169) hide show
  1. package/LICENSE +674 -674
  2. package/README.md +762 -692
  3. package/babel.config.js +28 -28
  4. package/dist/build.js +75 -75
  5. package/dist/bundle.js +19 -19
  6. package/dist/bundleMinify.js +7 -7
  7. package/dist/compileReadme.js +4 -4
  8. package/dist/copyFiles.js +17 -17
  9. package/dist/copyFonts.js +4 -4
  10. package/dist/default.js +5 -5
  11. package/dist/dist.js +4 -4
  12. package/dist/distMinify.js +4 -4
  13. package/dist/docs.js +7 -7
  14. package/dist/images.js +4 -4
  15. package/dist/jsdocDocs.js +6 -6
  16. package/dist/lint.js +16 -16
  17. package/dist/partials/addToReadme.js +9 -9
  18. package/dist/partials/beginWatcher.js +4 -4
  19. package/dist/partials/clean.js +5 -5
  20. package/dist/partials/copyFor.js +9 -9
  21. package/dist/partials/distFor.js +6 -6
  22. package/dist/partials/distForSrc.js +5 -5
  23. package/dist/partials/distSeries.js +7 -7
  24. package/dist/partials/imagesFor.js +93 -56
  25. package/dist/partials/jsdocDocsFor.js +46 -46
  26. package/dist/partials/lintSource.js +51 -51
  27. package/dist/partials/loadPeer.js +99 -99
  28. package/dist/partials/loadPlaywright.js +14 -14
  29. package/dist/partials/minifyFor.js +20 -20
  30. package/dist/partials/neostandardLint.js +175 -175
  31. package/dist/partials/readmeTemplate.js +4 -4
  32. package/dist/partials/removeDirectory.js +11 -11
  33. package/dist/partials/resolveDocsMethod.js +6 -6
  34. package/dist/partials/runOnChange.js +31 -31
  35. package/dist/partials/sassFor.js +6 -6
  36. package/dist/partials/serveStatic.js +9 -9
  37. package/dist/partials/tsFor.js +32 -32
  38. package/dist/partials/typeDocsFor.js +57 -51
  39. package/dist/partials.js +176 -176
  40. package/dist/sourceLint.js +18 -18
  41. package/dist/test-helpers/isolateGulpCache.js +24 -24
  42. package/dist/test-helpers/setUp.js +4 -4
  43. package/dist/testFull.js +5 -5
  44. package/dist/testQuick.js +5 -5
  45. package/dist/typeDocs.js +5 -5
  46. package/dist/typeScript.js +4 -4
  47. package/dist/utilities/convertMjsFilesForDocs.js +12 -12
  48. package/dist/utilities/dotGet.js +54 -54
  49. package/dist/utilities/dotNotate.js +79 -79
  50. package/dist/utilities/dotSet.js +45 -45
  51. package/dist/utilities/esmNamedExportsToCjs.js +15 -15
  52. package/dist/utilities/getBundleConfigs.js +9 -9
  53. package/dist/utilities/isObject.js +6 -6
  54. package/dist/utilities/strAfter.js +7 -7
  55. package/dist/utilities/strBefore.js +7 -7
  56. package/dist/watchFull.js +4 -4
  57. package/dist/watchTest.js +4 -4
  58. package/functions/build.mjs +72 -72
  59. package/functions/build.test.mjs +763 -759
  60. package/functions/bundle.mjs +44 -44
  61. package/functions/bundle.test.mjs +219 -219
  62. package/functions/bundleMinify.mjs +16 -16
  63. package/functions/bundleMinify.test.mjs +37 -37
  64. package/functions/compileReadme.mjs +9 -9
  65. package/functions/compileReadme.test.mjs +18 -18
  66. package/functions/copyFiles.mjs +32 -32
  67. package/functions/copyFiles.test.mjs +78 -78
  68. package/functions/copyFonts.mjs +9 -9
  69. package/functions/copyFonts.test.mjs +32 -32
  70. package/functions/default.mjs +12 -12
  71. package/functions/default.test.mjs +33 -33
  72. package/functions/dist.mjs +8 -8
  73. package/functions/dist.test.mjs +44 -44
  74. package/functions/distMinify.mjs +9 -9
  75. package/functions/distMinify.test.mjs +15 -15
  76. package/functions/docs.mjs +13 -13
  77. package/functions/docs.test.mjs +45 -45
  78. package/functions/gulpConfigEntries.test.mjs +23 -23
  79. package/functions/images.mjs +8 -8
  80. package/functions/images.test.mjs +142 -142
  81. package/functions/jsdocDocs.mjs +10 -10
  82. package/functions/jsdocEsmExports.test.mjs +24 -24
  83. package/functions/lint.mjs +9 -9
  84. package/functions/partials/addToReadme.mjs +25 -25
  85. package/functions/partials/addToReadme.test.mjs +34 -34
  86. package/functions/partials/beginWatcher.mjs +9 -9
  87. package/functions/partials/beginWatcher.test.mjs +19 -19
  88. package/functions/partials/clean.mjs +13 -13
  89. package/functions/partials/clean.test.mjs +22 -22
  90. package/functions/partials/copyFor.mjs +15 -15
  91. package/functions/partials/copyFor.test.mjs +53 -53
  92. package/functions/partials/distFor.mjs +22 -22
  93. package/functions/partials/distFor.test.mjs +195 -195
  94. package/functions/partials/distForSrc.mjs +11 -11
  95. package/functions/partials/distForSrc.test.mjs +18 -18
  96. package/functions/partials/distSeries.mjs +21 -21
  97. package/functions/partials/distSeries.test.mjs +34 -34
  98. package/functions/partials/imagesFor.mjs +83 -50
  99. package/functions/partials/imagesFor.test.mjs +287 -229
  100. package/functions/partials/jsdocDocsFor.mjs +163 -152
  101. package/functions/partials/jsdocDocsFor.test.mjs +182 -152
  102. package/functions/partials/lintSource.mjs +41 -41
  103. package/functions/partials/loadPeer.mjs +76 -76
  104. package/functions/partials/loadPeer.test.mjs +58 -58
  105. package/functions/partials/loadPlaywright.mjs +23 -23
  106. package/functions/partials/loadPlaywright.test.mjs +70 -70
  107. package/functions/partials/minifyFor.mjs +15 -15
  108. package/functions/partials/minifyFor.test.mjs +49 -49
  109. package/functions/partials/neostandardLint.mjs +142 -142
  110. package/functions/partials/neostandardLint.test.mjs +131 -131
  111. package/functions/partials/readmeTemplate.mjs +12 -12
  112. package/functions/partials/readmeTemplate.test.mjs +34 -34
  113. package/functions/partials/removeDirectory.mjs +34 -34
  114. package/functions/partials/removeDirectory.test.mjs +72 -72
  115. package/functions/partials/resolveDocsMethod.mjs +10 -10
  116. package/functions/partials/resolveDocsMethod.test.mjs +33 -33
  117. package/functions/partials/runOnChange.mjs +54 -54
  118. package/functions/partials/runOnChange.test.mjs +95 -95
  119. package/functions/partials/sassFor.mjs +25 -25
  120. package/functions/partials/sassFor.test.mjs +81 -81
  121. package/functions/partials/serveStatic.mjs +47 -47
  122. package/functions/partials/serveStatic.test.mjs +71 -71
  123. package/functions/partials/tsFor.mjs +92 -92
  124. package/functions/partials/tsFor.test.mjs +88 -88
  125. package/functions/partials/typeDocsFor.mjs +231 -227
  126. package/functions/partials/typeDocsFor.test.mjs +263 -252
  127. package/functions/partials.mjs +31 -31
  128. package/functions/partials.test.mjs +7 -7
  129. package/functions/sass.mjs +4 -4
  130. package/functions/sass.test.mjs +31 -31
  131. package/functions/sourceLint.mjs +13 -13
  132. package/functions/sourceLint.test.mjs +166 -166
  133. package/functions/test-helpers/isolateGulpCache.mjs +16 -16
  134. package/functions/test-helpers/neostandardLintWithRealNeostandard.mjs +40 -40
  135. package/functions/test-helpers/setUp.mjs +100 -100
  136. package/functions/test-helpers/setUp.test.mjs +19 -19
  137. package/functions/testFull.mjs +17 -17
  138. package/functions/testFull.test.mjs +17 -17
  139. package/functions/testHelpers.mjs +10 -10
  140. package/functions/testHelpers.test.mjs +7 -7
  141. package/functions/testQuick.mjs +17 -17
  142. package/functions/testQuick.test.mjs +17 -17
  143. package/functions/typeDocs.mjs +9 -9
  144. package/functions/typeDocs.test.mjs +11 -11
  145. package/functions/typeScript.mjs +8 -8
  146. package/functions/typeScript.test.mjs +11 -11
  147. package/functions/utilities/convertMjsFilesForDocs.mjs +34 -34
  148. package/functions/utilities/convertMjsFilesForDocs.test.mjs +58 -58
  149. package/functions/utilities/dotGet.mjs +49 -49
  150. package/functions/utilities/dotNotate.mjs +73 -73
  151. package/functions/utilities/dotNotate.test.mjs +41 -41
  152. package/functions/utilities/dotSet.mjs +40 -40
  153. package/functions/utilities/esmNamedExportsToCjs.mjs +30 -30
  154. package/functions/utilities/esmNamedExportsToCjs.test.mjs +47 -47
  155. package/functions/utilities/getBundleConfigs.mjs +30 -30
  156. package/functions/utilities/isObject.mjs +8 -8
  157. package/functions/utilities/strAfter.mjs +12 -12
  158. package/functions/utilities/strBefore.mjs +12 -12
  159. package/functions/watchFull.mjs +9 -9
  160. package/functions/watchFull.test.mjs +41 -41
  161. package/functions/watchTest.mjs +10 -10
  162. package/functions/watchTest.test.mjs +49 -49
  163. package/gulp.config.js +4 -4
  164. package/gulp.config.mjs +344 -327
  165. package/gulpfile.base.js +51 -51
  166. package/gulpfile.base.mjs +29 -29
  167. package/jsdoc.base.js +16 -16
  168. package/jsdoc.esmExports.js +17 -17
  169. package/package.json +146 -145
package/babel.config.js CHANGED
@@ -1,28 +1,28 @@
1
- // Explicit targets so the compiled output does not change as browserslist / caniuse-lite data moves (the same query
2
- // resolved to different browsers on different installs). These are the versions that .browserslistrc
3
- // ("last 2 versions, > 0.25%, not dead") resolved to when they were pinned (2026-09); raise them deliberately.
4
- // .browserslistrc is still used by autoprefixer in the sass task.
5
- const targets = {
6
- android: '150',
7
- chrome: '109',
8
- edge: '149',
9
- firefox: '121',
10
- ios: '16.6',
11
- opera: '127',
12
- opera_mobile: '80',
13
- safari: '18.5',
14
- samsung: '29'
15
- }
16
-
17
- module.exports = {
18
- plugins: [
19
- '@babel/plugin-transform-modules-commonjs'
20
- ],
21
- presets: [
22
- ['@babel/preset-env', {
23
- useBuiltIns: 'usage',
24
- corejs: { version: '3.6', proposals: true },
25
- targets
26
- }]
27
- ]
28
- }
1
+ // Explicit targets so the compiled output does not change as browserslist / caniuse-lite data moves (the same query
2
+ // resolved to different browsers on different installs). These are the versions that .browserslistrc
3
+ // ("last 2 versions, > 0.25%, not dead") resolved to when they were pinned (2026-09); raise them deliberately.
4
+ // .browserslistrc is still used by autoprefixer in the sass task.
5
+ const targets = {
6
+ android: '150',
7
+ chrome: '109',
8
+ edge: '149',
9
+ firefox: '121',
10
+ ios: '16.6',
11
+ opera: '127',
12
+ opera_mobile: '80',
13
+ safari: '18.5',
14
+ samsung: '29'
15
+ }
16
+
17
+ module.exports = {
18
+ plugins: [
19
+ '@babel/plugin-transform-modules-commonjs'
20
+ ],
21
+ presets: [
22
+ ['@babel/preset-env', {
23
+ useBuiltIns: 'usage',
24
+ corejs: { version: '3.6', proposals: true },
25
+ targets
26
+ }]
27
+ ]
28
+ }
package/dist/build.js CHANGED
@@ -1,76 +1,76 @@
1
- "use strict";
2
-
3
- require("core-js/modules/esnext.weak-map.delete-all.js");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.build = void 0;
8
- var _bundle = require("./bundle.js");
9
- var _bundleMinify = require("./bundleMinify.js");
10
- var _partials = require("./partials.js");
11
- var _compileReadme = require("./compileReadme.js");
12
- var _typeDocs = require("./typeDocs.js");
13
- var _jsdocDocs = require("./jsdocDocs.js");
14
- var _distMinify = require("./distMinify.js");
15
- var _sourceLint = require("./sourceLint.js");
16
- var _gulp = require("gulp");
17
- var gulpConfig = _interopRequireWildcard(require("../gulp.config.js"));
18
- var _copyFonts = require("./copyFonts.js");
19
- var _images = require("./images.js");
20
- var _resolveDocsMethod = require("./partials/resolveDocsMethod.js");
21
- var _sass = require("./sass.js");
22
- var _testFull = require("./testFull.js");
23
- var cache;
24
- function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
25
- /**
26
- * Runs several processes to build and validate the project.
27
- * Cleans and lints the source, distributes and minifies, bundles and minifies, creates the readme, then runs the
28
- * tests.
29
- * @memberOf module:js-build-tools
30
- * @returns {stream.Stream}
31
- */
32
- const build = (done = null) => {
33
- const buildActions = [(0, _partials.distSeries)(), _distMinify.distMinify];
34
- const generateDocs = gulpConfig.get('docs.enabled');
35
- const docsMethod = (0, _resolveDocsMethod.resolveDocsMethod)();
36
- if (generateDocs) {
37
- // The documentation is generated from the source itself, the readme is written by hand. With docs.inBuild off,
38
- // generating it is left to the standalone docs task (gulp docs), so a build never rewrites it.
39
- if (gulpConfig.get('docs.inBuild') !== false) {
40
- buildActions.push(docsMethod === 'jsdoc' ? _jsdocDocs.jsdocDocs : _typeDocs.typeDocs);
41
- }
42
- } else if (gulpConfig.get('typescript.enabled')) {
43
- // For ts usage, we need to run the readme on the dist directly since that is where the .js files are located
44
- buildActions.push(_compileReadme.compileReadme);
45
- }
46
- if (gulpConfig.get('browser.enabled')) {
47
- // If not 'nodeOnly' then we also want to bundle for browser after we complete the dist directory
48
- buildActions.push(_bundle.bundle);
49
- buildActions.push(_bundleMinify.bundleMinify);
50
- }
51
- const runActions = [(0, _gulp.series)(...buildActions)];
52
- if (!generateDocs && !gulpConfig.get('typescript.enabled')) {
53
- // Since we didn't run this in series after dist because of typescript, we need to run it now. Potentially faster here.
54
- runActions.push(_compileReadme.compileReadme);
55
- }
56
- runActions.push(_testFull.testFull);
57
- if (gulpConfig.get('fonts.enabled')) {
58
- // Conditionally add Fonts process
59
- runActions.push(_copyFonts.copyFonts);
60
- }
61
- if (gulpConfig.get('images.enabled')) {
62
- // Conditionally add Images process
63
- runActions.push(_images.images);
64
- }
65
- if (gulpConfig.get('sass.enabled')) {
66
- // Conditionally add SASS process
67
- runActions.push(_sass.sass);
68
- }
69
- // clean has to finish before anything writes into the output folders - images, fonts and sass all write into
70
- // browser/, so running clean in parallel with them races (ENOTEMPTY errors from clean, or output deleted mid-write).
71
- // sourceLint fixes the real source in place before anything compiles from it (distSeries, tsFor inside it), so a
72
- // build never reads a mix of pre- and post-fix content; clean only touches dist/browser output, so the two can
73
- // run alongside each other.
74
- return (0, _gulp.series)((0, _gulp.parallel)(_partials.clean, _sourceLint.sourceLint), (0, _gulp.parallel)(...runActions))(done);
75
- };
1
+ "use strict";
2
+
3
+ require("core-js/modules/esnext.weak-map.delete-all.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.build = void 0;
8
+ var _bundle = require("./bundle.js");
9
+ var _bundleMinify = require("./bundleMinify.js");
10
+ var _partials = require("./partials.js");
11
+ var _compileReadme = require("./compileReadme.js");
12
+ var _typeDocs = require("./typeDocs.js");
13
+ var _jsdocDocs = require("./jsdocDocs.js");
14
+ var _distMinify = require("./distMinify.js");
15
+ var _sourceLint = require("./sourceLint.js");
16
+ var _gulp = require("gulp");
17
+ var gulpConfig = _interopRequireWildcard(require("../gulp.config.js"));
18
+ var _copyFonts = require("./copyFonts.js");
19
+ var _images = require("./images.js");
20
+ var _resolveDocsMethod = require("./partials/resolveDocsMethod.js");
21
+ var _sass = require("./sass.js");
22
+ var _testFull = require("./testFull.js");
23
+ var cache;
24
+ function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
25
+ /**
26
+ * Runs several processes to build and validate the project.
27
+ * Cleans and lints the source, distributes and minifies, bundles and minifies, creates the readme, then runs the
28
+ * tests.
29
+ * @memberOf module:js-build-tools
30
+ * @returns {stream.Stream}
31
+ */
32
+ const build = (done = null) => {
33
+ const buildActions = [(0, _partials.distSeries)(), _distMinify.distMinify];
34
+ const generateDocs = gulpConfig.get('docs.enabled');
35
+ const docsMethod = (0, _resolveDocsMethod.resolveDocsMethod)();
36
+ if (generateDocs) {
37
+ // The documentation is generated from the source itself, the readme is written by hand. With docs.inBuild off,
38
+ // generating it is left to the standalone docs task (gulp docs), so a build never rewrites it.
39
+ if (gulpConfig.get('docs.inBuild') !== false) {
40
+ buildActions.push(docsMethod === 'jsdoc' ? _jsdocDocs.jsdocDocs : _typeDocs.typeDocs);
41
+ }
42
+ } else if (gulpConfig.get('typescript.enabled')) {
43
+ // For ts usage, we need to run the readme on the dist directly since that is where the .js files are located
44
+ buildActions.push(_compileReadme.compileReadme);
45
+ }
46
+ if (gulpConfig.get('browser.enabled')) {
47
+ // If not 'nodeOnly' then we also want to bundle for browser after we complete the dist directory
48
+ buildActions.push(_bundle.bundle);
49
+ buildActions.push(_bundleMinify.bundleMinify);
50
+ }
51
+ const runActions = [(0, _gulp.series)(...buildActions)];
52
+ if (!generateDocs && !gulpConfig.get('typescript.enabled')) {
53
+ // Since we didn't run this in series after dist because of typescript, we need to run it now. Potentially faster here.
54
+ runActions.push(_compileReadme.compileReadme);
55
+ }
56
+ runActions.push(_testFull.testFull);
57
+ if (gulpConfig.get('fonts.enabled')) {
58
+ // Conditionally add Fonts process
59
+ runActions.push(_copyFonts.copyFonts);
60
+ }
61
+ if (gulpConfig.get('images.enabled')) {
62
+ // Conditionally add Images process
63
+ runActions.push(_images.images);
64
+ }
65
+ if (gulpConfig.get('sass.enabled')) {
66
+ // Conditionally add SASS process
67
+ runActions.push(_sass.sass);
68
+ }
69
+ // clean has to finish before anything writes into the output folders - images, fonts and sass all write into
70
+ // browser/, so running clean in parallel with them races (ENOTEMPTY errors from clean, or output deleted mid-write).
71
+ // sourceLint fixes the real source in place before anything compiles from it (distSeries, tsFor inside it), so a
72
+ // build never reads a mix of pre- and post-fix content; clean only touches dist/browser output, so the two can
73
+ // run alongside each other.
74
+ return (0, _gulp.series)((0, _gulp.parallel)(_partials.clean, _sourceLint.sourceLint), (0, _gulp.parallel)(...runActions))(done);
75
+ };
76
76
  exports.build = build;
package/dist/bundle.js CHANGED
@@ -16,25 +16,25 @@ var _getBundleConfigs = require("./utilities/getBundleConfigs.js");
16
16
  var cache;
17
17
  function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
18
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
- /**
20
- * Starting at each bundle's own entry point (dist.main for the primary bundle, or its own
21
- * override from browser.bundles), bundle all the reachable files into a single file per bundle and
22
- * store them in the specified output directory. A project with no browser.bundles entries gets
23
- * exactly the one bundle it always did; each additional entry produces its own separate bundle
24
- * (for example, a render-only variant built from a different entry point than the full bundle).
25
- *
26
- * A bundle's name does double duty: it names the output file (name.js) and, via browserify's
27
- * `standalone` option, is also the name its exports are exposed under - as a global when loaded
28
- * with a bare `<script>` tag, or as the module when required via CommonJS/AMD. Without this, a
29
- * bundle built from a real entry point (one that actually exports something) builds successfully
30
- * but exposes nothing a consumer can reach.
31
- *
32
- * Two escape hatches from browser.config.json keep an unwanted dependency (or a dependency's dependency) out of the
33
- * bundle: 'ignore' replaces it with an empty object (safe when your code never actually calls into it - for example
34
- * a library's default option value you always override with your own) and 'exclude' leaves it out entirely (your
35
- * code must not require it, or provide it another way, such as a separate script tag).
36
- * @memberOf module:js-build-tools
37
- * @returns {stream.Stream}
19
+ /**
20
+ * Starting at each bundle's own entry point (dist.main for the primary bundle, or its own
21
+ * override from browser.bundles), bundle all the reachable files into a single file per bundle and
22
+ * store them in the specified output directory. A project with no browser.bundles entries gets
23
+ * exactly the one bundle it always did; each additional entry produces its own separate bundle
24
+ * (for example, a render-only variant built from a different entry point than the full bundle).
25
+ *
26
+ * A bundle's name does double duty: it names the output file (name.js) and, via browserify's
27
+ * `standalone` option, is also the name its exports are exposed under - as a global when loaded
28
+ * with a bare `<script>` tag, or as the module when required via CommonJS/AMD. Without this, a
29
+ * bundle built from a real entry point (one that actually exports something) builds successfully
30
+ * but exposes nothing a consumer can reach.
31
+ *
32
+ * Two escape hatches from browser.config.json keep an unwanted dependency (or a dependency's dependency) out of the
33
+ * bundle: 'ignore' replaces it with an empty object (safe when your code never actually calls into it - for example
34
+ * a library's default option value you always override with your own) and 'exclude' leaves it out entirely (your
35
+ * code must not require it, or provide it another way, such as a separate script tag).
36
+ * @memberOf module:js-build-tools
37
+ * @returns {stream.Stream}
38
38
  */
39
39
  const bundle = () => (0, _mergeStream.default)((0, _getBundleConfigs.getBundleConfigs)().map(({
40
40
  name,
@@ -12,13 +12,13 @@ var _minifyFor = require("./partials/minifyFor.js");
12
12
  var _getBundleConfigs = require("./utilities/getBundleConfigs.js");
13
13
  var cache;
14
14
  function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
15
- /**
16
- * Creates the minified file for every bundle (the primary bundle, plus any additional ones from
17
- * browser.bundles). The minify step itself never varies per bundle, so this is one shared
18
- * src()/dest() pipeline (inside minifyFor) fed every bundle's filename at once, rather than one
19
- * pipeline per bundle - gulp's src() accepts an array of paths natively.
20
- * @memberOf module:js-build-tools
21
- * @returns {*}
15
+ /**
16
+ * Creates the minified file for every bundle (the primary bundle, plus any additional ones from
17
+ * browser.bundles). The minify step itself never varies per bundle, so this is one shared
18
+ * src()/dest() pipeline (inside minifyFor) fed every bundle's filename at once, rather than one
19
+ * pipeline per bundle - gulp's src() accepts an array of paths natively.
20
+ * @memberOf module:js-build-tools
21
+ * @returns {*}
22
22
  */
23
23
  const bundleMinify = () => (0, _minifyFor.minifyFor)((0, _getBundleConfigs.getBundleConfigs)().map(({
24
24
  name
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.compileReadme = void 0;
7
7
  var _partials = require("./partials.js");
8
8
  var _gulp = require("gulp");
9
- /**
10
- * Generate the README.md file based off of the template, then append the generated documentation.
11
- * @memberOf module:js-build-tools
12
- * @returns {stream.Stream}
9
+ /**
10
+ * Generate the README.md file based off of the template, then append the generated documentation.
11
+ * @memberOf module:js-build-tools
12
+ * @returns {stream.Stream}
13
13
  */
14
14
  const compileReadme = exports.compileReadme = (0, _gulp.series)(_partials.readmeTemplate, _partials.addToReadme);
package/dist/copyFiles.js CHANGED
@@ -11,23 +11,23 @@ var _copyFor = require("./partials/copyFor.js");
11
11
  var gulpConfig = _interopRequireWildcard(require("../gulp.config.js"));
12
12
  var cache;
13
13
  function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
14
- /**
15
- * Copy files from one place to another - any number of { from, to, base? } entries, configured via copyFiles.
16
- * A project with no copyFiles entries gets a task that does nothing. Meant to be run explicitly (its own script,
17
- * e.g. `gulp copyFiles`), not folded into the default build - a bundle (or any other file this copies) is often
18
- * the live, publicly-reachable version of something, so publishing it elsewhere should be a deliberate step, not
19
- * a side effect of every routine local build.
20
- *
21
- * Reuses copyFor (already shared with copyFonts) rather than a fresh src()/dest() pair - that keeps its existing
22
- * encoding: false fix (Gulp 5's default utf8 handling corrupts binary files such as fonts or a minified bundle)
23
- * instead of silently losing it in a parallel implementation.
24
- *
25
- * Each entry runs as its own independent copyFor(), awaited via Promise.all rather than merged into one combined
26
- * stream (mergeStream, the pattern bundle.mjs uses) - that pattern assumes every merged stream ends up at the
27
- * same shared destination; here, each entry can have a genuinely different one, and merging streams that each
28
- * already terminate at their own separate dest() hit a real "write after end" error in practice.
29
- * @memberOf module:js-build-tools
30
- * @returns {Promise<void>}
14
+ /**
15
+ * Copy files from one place to another - any number of { from, to, base? } entries, configured via copyFiles.
16
+ * A project with no copyFiles entries gets a task that does nothing. Meant to be run explicitly (its own script,
17
+ * e.g. `gulp copyFiles`), not folded into the default build - a bundle (or any other file this copies) is often
18
+ * the live, publicly-reachable version of something, so publishing it elsewhere should be a deliberate step, not
19
+ * a side effect of every routine local build.
20
+ *
21
+ * Reuses copyFor (already shared with copyFonts) rather than a fresh src()/dest() pair - that keeps its existing
22
+ * encoding: false fix (Gulp 5's default utf8 handling corrupts binary files such as fonts or a minified bundle)
23
+ * instead of silently losing it in a parallel implementation.
24
+ *
25
+ * Each entry runs as its own independent copyFor(), awaited via Promise.all rather than merged into one combined
26
+ * stream (mergeStream, the pattern bundle.mjs uses) - that pattern assumes every merged stream ends up at the
27
+ * same shared destination; here, each entry can have a genuinely different one, and merging streams that each
28
+ * already terminate at their own separate dest() hit a real "write after end" error in practice.
29
+ * @memberOf module:js-build-tools
30
+ * @returns {Promise<void>}
31
31
  */
32
32
  const copyFiles = () => {
33
33
  const copies = gulpConfig.get('copyFiles', []);
package/dist/copyFonts.js CHANGED
@@ -9,10 +9,10 @@ var _copyFor = require("./partials/copyFor.js");
9
9
  var gulpConfig = _interopRequireWildcard(require("../gulp.config.js"));
10
10
  var cache;
11
11
  function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
12
- /**
13
- * Move the font files into the browser directory.
14
- * @memberOf module:js-build-tools
15
- * @return {stream.Stream}
12
+ /**
13
+ * Move the font files into the browser directory.
14
+ * @memberOf module:js-build-tools
15
+ * @return {stream.Stream}
16
16
  */
17
17
  const copyFonts = () => (0, _copyFor.copyFor)(gulpConfig.get('fonts.from'), gulpConfig.get('fonts.to'));
18
18
  exports.copyFonts = copyFonts;
package/dist/default.js CHANGED
@@ -11,11 +11,11 @@ var gulpConfig = _interopRequireWildcard(require("../gulp.config.js"));
11
11
  var _gulp = require("gulp");
12
12
  var cache;
13
13
  function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
14
- /**
15
- * Recommended as the default task, runs the simple dist and bundle tasks.
16
- * @memberOf module:js-build-tools
17
- * @param {function} [done=null]
18
- * @returns {stream.Stream}
14
+ /**
15
+ * Recommended as the default task, runs the simple dist and bundle tasks.
16
+ * @memberOf module:js-build-tools
17
+ * @param {function} [done=null]
18
+ * @returns {stream.Stream}
19
19
  */
20
20
  const defaultCmd = (done = null) => gulpConfig.get('browser.enabled') ? (0, _gulp.series)(_dist.dist, _bundle.bundle)(done) : (0, _gulp.series)(_dist.dist)(done);
21
21
  exports.defaultCmd = defaultCmd;
package/dist/dist.js CHANGED
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.dist = void 0;
7
7
  var _distFor = require("./partials/distFor.js");
8
- /**
9
- * Simplified distribution tasks which will use arguments from distFor.
10
- * @memberOf module:js-build-tools
11
- * @returns {*}
8
+ /**
9
+ * Simplified distribution tasks which will use arguments from distFor.
10
+ * @memberOf module:js-build-tools
11
+ * @returns {*}
12
12
  */
13
13
  const dist = () => (0, _distFor.distFor)();
14
14
  exports.dist = dist;
@@ -9,10 +9,10 @@ var gulpConfig = _interopRequireWildcard(require("../gulp.config.js"));
9
9
  var _minifyFor = require("./partials/minifyFor.js");
10
10
  var cache;
11
11
  function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
12
- /**
13
- * Creates minified versions of the dist files.
14
- * @memberOf module:js-build-tools
15
- * @returns {*}
12
+ /**
13
+ * Creates minified versions of the dist files.
14
+ * @memberOf module:js-build-tools
15
+ * @returns {*}
16
16
  */
17
17
  const distMinify = () => (0, _minifyFor.minifyFor)(gulpConfig.get('browser.from'), gulpConfig.get('dist.to'));
18
18
  exports.distMinify = distMinify;
package/dist/docs.js CHANGED
@@ -7,13 +7,13 @@ exports.docs = void 0;
7
7
  var _jsdocDocs = require("./jsdocDocs.js");
8
8
  var _resolveDocsMethod = require("./partials/resolveDocsMethod.js");
9
9
  var _typeDocs = require("./typeDocs.js");
10
- /**
11
- * Generate the HTML documentation with whichever engine docs.method (or its typescript.enabled-based default)
12
- * resolves to - see {@link module:partials.resolveDocsMethod}. The standalone counterpart to build's own
13
- * internal branching, for running `gulp docs` directly instead of as part of a full build.
14
- * @memberOf module:js-build-tools
15
- * @param {Function} [done]
16
- * @returns {*}
10
+ /**
11
+ * Generate the HTML documentation with whichever engine docs.method (or its typescript.enabled-based default)
12
+ * resolves to - see {@link module:partials.resolveDocsMethod}. The standalone counterpart to build's own
13
+ * internal branching, for running `gulp docs` directly instead of as part of a full build.
14
+ * @memberOf module:js-build-tools
15
+ * @param {Function} [done]
16
+ * @returns {*}
17
17
  */
18
18
  const docs = (done = null) => ((0, _resolveDocsMethod.resolveDocsMethod)() === 'jsdoc' ? _jsdocDocs.jsdocDocs : _typeDocs.typeDocs)(done);
19
19
  exports.docs = docs;
package/dist/images.js CHANGED
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.images = void 0;
7
7
  var _imagesFor = require("./partials/imagesFor.js");
8
- /**
9
- * Move and optimize the images into the browser folder using configured settings.
10
- * @memberOf module:js-build-tools
11
- * @return {stream.Stream}
8
+ /**
9
+ * Move and optimize the images into the browser folder using configured settings.
10
+ * @memberOf module:js-build-tools
11
+ * @return {stream.Stream}
12
12
  */
13
13
  const images = () => (0, _imagesFor.imagesFor)();
14
14
  exports.images = images;
package/dist/jsdocDocs.js CHANGED
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.jsdocDocs = void 0;
7
7
  var _jsdocDocsFor = require("./partials/jsdocDocsFor.js");
8
- /**
9
- * Generate the HTML documentation of a plain-JavaScript project from its source, with a modern jsdoc theme
10
- * instead of jsdoc's own classic default. Turn it on with docs.enabled and docs.method: 'jsdoc' (the default
11
- * when typescript.enabled is off), see {@link module:partials.jsdocDocsFor}.
12
- * @memberOf module:js-build-tools
13
- * @returns {Function}
8
+ /**
9
+ * Generate the HTML documentation of a plain-JavaScript project from its source, with a modern jsdoc theme
10
+ * instead of jsdoc's own classic default. Turn it on with docs.enabled and docs.method: 'jsdoc' (the default
11
+ * when typescript.enabled is off), see {@link module:partials.jsdocDocsFor}.
12
+ * @memberOf module:js-build-tools
13
+ * @returns {Function}
14
14
  */
15
15
  const jsdocDocs = exports.jsdocDocs = (0, _jsdocDocsFor.jsdocDocsFor)();
package/dist/lint.js CHANGED
@@ -1,17 +1,17 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.lint = void 0;
7
- var _lintSource = require("./partials/lintSource.js");
8
- /**
9
- * The standalone lint command (`gulp lint`, or `npm run lint`): the same linting and fixing as sourceLint, but it
10
- * fails (exits non-zero) when any errors remain that neostandard could not fix automatically.
11
- * @memberOf module:js-build-tools
12
- * @returns {*}
13
- */
14
- const lint = () => (0, _lintSource.lintSource)({
15
- failOnError: true
16
- });
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.lint = void 0;
7
+ var _lintSource = require("./partials/lintSource.js");
8
+ /**
9
+ * The standalone lint command (`gulp lint`, or `npm run lint`): the same linting and fixing as sourceLint, but it
10
+ * fails (exits non-zero) when any errors remain that neostandard could not fix automatically.
11
+ * @memberOf module:js-build-tools
12
+ * @returns {*}
13
+ */
14
+ const lint = () => (0, _lintSource.lintSource)({
15
+ failOnError: true
16
+ });
17
17
  exports.lint = lint;
@@ -13,15 +13,15 @@ var _convertMjsFilesForDocs = require("../utilities/convertMjsFilesForDocs.js");
13
13
  var cache;
14
14
  function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
15
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- /**
17
- * Appends all the jsdoc comments to the readme file. Assumes empty or templated file.
18
- * Configure this with 'readmeSearch', 'readmePath', 'readmeFile', and 'readmeOptions'.
19
- *
20
- * jsdoc-to-markdown only recognizes `.js` files, even though it parses real ESM syntax just fine once it reads
21
- * one - `readme.fromEsm` (empty by default) names `.mjs` files to include anyway, converted on the fly (see
22
- * {@link convertMjsFilesForDocs}) and cleaned up again once this has read them, win or lose.
23
- * @memberOf module:partials
24
- * @returns {string|Uint8Array}
16
+ /**
17
+ * Appends all the jsdoc comments to the readme file. Assumes empty or templated file.
18
+ * Configure this with 'readmeSearch', 'readmePath', 'readmeFile', and 'readmeOptions'.
19
+ *
20
+ * jsdoc-to-markdown only recognizes `.js` files, even though it parses real ESM syntax just fine once it reads
21
+ * one - `readme.fromEsm` (empty by default) names `.mjs` files to include anyway, converted on the fly (see
22
+ * {@link convertMjsFilesForDocs}) and cleaned up again once this has read them, win or lose.
23
+ * @memberOf module:partials
24
+ * @returns {string|Uint8Array}
25
25
  */
26
26
  const addToReadme = () => {
27
27
  const {
@@ -9,10 +9,10 @@ var gulpConfig = _interopRequireWildcard(require("../../gulp.config.js"));
9
9
  var _gulp = require("gulp");
10
10
  var cache;
11
11
  function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
12
- /**
13
- * Create a chokidar instance which watches and triggers change when the globed files are modified.
14
- * @memberOf module:partials
15
- * @returns {FSWatcher}
12
+ /**
13
+ * Create a chokidar instance which watches and triggers change when the globed files are modified.
14
+ * @memberOf module:partials
15
+ * @returns {FSWatcher}
16
16
  */
17
17
  const beginWatcher = () => (0, _gulp.watch)(gulpConfig.get('test.watch'));
18
18
  exports.beginWatcher = beginWatcher;
@@ -11,11 +11,11 @@ var gulpConfig = _interopRequireWildcard(require("../../gulp.config.js"));
11
11
  var _removeDirectory = require("./removeDirectory.js");
12
12
  var cache;
13
13
  function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
14
- /**
15
- * Deletes all the distribution and browser files (used before create a new build).
16
- * Configure array of directories to remove with 'cleanPaths'.
17
- * @memberOf module:partials
18
- * @returns {Promise<string[]> | *}
14
+ /**
15
+ * Deletes all the distribution and browser files (used before create a new build).
16
+ * Configure array of directories to remove with 'cleanPaths'.
17
+ * @memberOf module:partials
18
+ * @returns {Promise<string[]> | *}
19
19
  */
20
20
  const clean = () => gulpConfig.get('cleanPaths').reduce((promise, path) => promise.then(() => (0, _removeDirectory.removeDirectory)(path)), Promise.resolve());
21
21
  exports.clean = clean;
@@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.copyFor = void 0;
7
7
  var _gulp = require("gulp");
8
- /**
9
- * Copy some files to a different location.
10
- * @memberOf module:partials
11
- * @param {string|array} srcPath
12
- * @param {string} destPath
13
- * @param {Object} [options]
14
- * @param {string} [options.base] - Passed through to gulp's own src(pattern, {base}), to preserve srcPath's own
15
- * subdirectory structure in destPath instead of flattening it.
16
- * @returns {stream.Stream}
8
+ /**
9
+ * Copy some files to a different location.
10
+ * @memberOf module:partials
11
+ * @param {string|array} srcPath
12
+ * @param {string} destPath
13
+ * @param {Object} [options]
14
+ * @param {string} [options.base] - Passed through to gulp's own src(pattern, {base}), to preserve srcPath's own
15
+ * subdirectory structure in destPath instead of flattening it.
16
+ * @returns {stream.Stream}
17
17
  */
18
18
  // encoding: false copies the bytes untouched - Gulp 5's default utf8 handling corrupts binary files such as fonts.
19
19
  const copyFor = (srcPath, destPath, {
@@ -13,12 +13,12 @@ var _through = _interopRequireDefault(require("through2"));
13
13
  var cache;
14
14
  function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
15
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- /**
17
- * Build the distribution for a given source pattern.
18
- * @memberOf module:partials
19
- * @param {string|array} [srcPath='src/config/path/dist/for']
20
- * @param {string} [destPath='dist/config/path']
21
- * @returns {stream.Stream}
16
+ /**
17
+ * Build the distribution for a given source pattern.
18
+ * @memberOf module:partials
19
+ * @param {string|array} [srcPath='src/config/path/dist/for']
20
+ * @param {string} [destPath='dist/config/path']
21
+ * @returns {stream.Stream}
22
22
  */
23
23
  const distFor = (srcPath = (0, _distForSrc.distForSrc)(), destPath = gulpConfig.get('dist.to')) => (0, _gulp.src)(srcPath).pipe((0, _gulpBabel.default)()).pipe(_through.default.obj(function (file, enc, callback) {
24
24
  const regex = /\.mjs(['"]\s*\))/gi;
@@ -8,11 +8,11 @@ exports.distForSrc = void 0;
8
8
  var gulpConfig = _interopRequireWildcard(require("../../gulp.config.js"));
9
9
  var cache;
10
10
  function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var r, c, a = Object.defineProperty, n = { __proto__: null, default: e }; if (Object(e) !== e) return n; if (cache || "function" != typeof WeakMap || (cache = new WeakMap()), cache) { if (cache.has(e)) return cache.get(e); cache.set(e, n); } for (c in e) "default" !== c && {}.hasOwnProperty.call(e, c) && ((r = a && Object.getOwnPropertyDescriptor(e, c)) && (r.get || r.set) ? a(n, c, r) : n[c] = e[c]); return n; }
11
- /**
12
- * Retrieve the correct distFor search path based on TS Config.
13
- * @memberOf module:partials
14
- * @param {module:gulpConfig~FlagStringSetting} [useTs='config/for/ts']
15
- * @returns {string}
11
+ /**
12
+ * Retrieve the correct distFor search path based on TS Config.
13
+ * @memberOf module:partials
14
+ * @param {module:gulpConfig~FlagStringSetting} [useTs='config/for/ts']
15
+ * @returns {string}
16
16
  */
17
17
  const distForSrc = (useTs = gulpConfig.get('typescript.enabled')) => useTs ? gulpConfig.get('browser.from') : gulpConfig.get('dist.from');
18
18
  exports.distForSrc = distForSrc;