js-build-tools 6.6.0 → 6.8.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 (173) hide show
  1. package/LICENSE +674 -674
  2. package/README.md +768 -701
  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/cacheFiles.js +121 -0
  20. package/dist/partials/clean.js +5 -5
  21. package/dist/partials/copyFor.js +9 -9
  22. package/dist/partials/distFor.js +6 -6
  23. package/dist/partials/distForSrc.js +5 -5
  24. package/dist/partials/distSeries.js +7 -7
  25. package/dist/partials/imagesFor.js +155 -93
  26. package/dist/partials/jsdocDocsFor.js +64 -51
  27. package/dist/partials/lintSource.js +51 -51
  28. package/dist/partials/loadPeer.js +99 -99
  29. package/dist/partials/loadPlaywright.js +14 -14
  30. package/dist/partials/minifyFor.js +20 -20
  31. package/dist/partials/neostandardLint.js +175 -175
  32. package/dist/partials/readmeTemplate.js +4 -4
  33. package/dist/partials/removeDirectory.js +11 -11
  34. package/dist/partials/resolveDocsMethod.js +6 -6
  35. package/dist/partials/runOnChange.js +31 -31
  36. package/dist/partials/sassFor.js +6 -6
  37. package/dist/partials/serveStatic.js +9 -9
  38. package/dist/partials/tsFor.js +32 -32
  39. package/dist/partials/typeDocsFor.js +264 -264
  40. package/dist/partials.js +183 -176
  41. package/dist/partials.min.js +1 -1
  42. package/dist/sourceLint.js +18 -18
  43. package/dist/test-helpers/setUp.js +6 -4
  44. package/dist/testFull.js +5 -5
  45. package/dist/testQuick.js +5 -5
  46. package/dist/typeDocs.js +5 -5
  47. package/dist/typeScript.js +4 -4
  48. package/dist/utilities/convertMjsFilesForDocs.js +12 -12
  49. package/dist/utilities/dotGet.js +54 -54
  50. package/dist/utilities/dotNotate.js +79 -79
  51. package/dist/utilities/dotSet.js +45 -45
  52. package/dist/utilities/esmNamedExportsToCjs.js +15 -15
  53. package/dist/utilities/getBundleConfigs.js +9 -9
  54. package/dist/utilities/isObject.js +6 -6
  55. package/dist/utilities/strAfter.js +7 -7
  56. package/dist/utilities/strBefore.js +7 -7
  57. package/dist/watchFull.js +4 -4
  58. package/dist/watchTest.js +4 -4
  59. package/functions/build.mjs +72 -72
  60. package/functions/build.test.mjs +760 -759
  61. package/functions/bundle.mjs +44 -44
  62. package/functions/bundle.test.mjs +219 -219
  63. package/functions/bundleMinify.mjs +16 -16
  64. package/functions/bundleMinify.test.mjs +37 -37
  65. package/functions/compileReadme.mjs +9 -9
  66. package/functions/compileReadme.test.mjs +18 -18
  67. package/functions/copyFiles.mjs +32 -32
  68. package/functions/copyFiles.test.mjs +78 -78
  69. package/functions/copyFonts.mjs +9 -9
  70. package/functions/copyFonts.test.mjs +32 -32
  71. package/functions/default.mjs +12 -12
  72. package/functions/default.test.mjs +33 -33
  73. package/functions/dist.mjs +8 -8
  74. package/functions/dist.test.mjs +44 -44
  75. package/functions/distMinify.mjs +9 -9
  76. package/functions/distMinify.test.mjs +15 -15
  77. package/functions/docs.mjs +13 -13
  78. package/functions/docs.test.mjs +45 -45
  79. package/functions/gulpConfigEntries.test.mjs +23 -23
  80. package/functions/images.mjs +8 -8
  81. package/functions/images.test.mjs +140 -142
  82. package/functions/jsdocDocs.mjs +10 -10
  83. package/functions/jsdocEsmExports.test.mjs +24 -24
  84. package/functions/lint.mjs +9 -9
  85. package/functions/partials/addToReadme.mjs +25 -25
  86. package/functions/partials/addToReadme.test.mjs +34 -34
  87. package/functions/partials/beginWatcher.mjs +9 -9
  88. package/functions/partials/beginWatcher.test.mjs +19 -19
  89. package/functions/partials/cacheFiles.mjs +114 -0
  90. package/functions/partials/cacheFiles.test.mjs +151 -0
  91. package/functions/partials/clean.mjs +13 -13
  92. package/functions/partials/clean.test.mjs +22 -22
  93. package/functions/partials/copyFor.mjs +15 -15
  94. package/functions/partials/copyFor.test.mjs +53 -53
  95. package/functions/partials/distFor.mjs +22 -22
  96. package/functions/partials/distFor.test.mjs +195 -195
  97. package/functions/partials/distForSrc.mjs +11 -11
  98. package/functions/partials/distForSrc.test.mjs +18 -18
  99. package/functions/partials/distSeries.mjs +21 -21
  100. package/functions/partials/distSeries.test.mjs +34 -34
  101. package/functions/partials/imagesFor.mjs +147 -83
  102. package/functions/partials/imagesFor.test.mjs +311 -287
  103. package/functions/partials/jsdocDocsFor.mjs +163 -152
  104. package/functions/partials/jsdocDocsFor.test.mjs +182 -152
  105. package/functions/partials/lintSource.mjs +41 -41
  106. package/functions/partials/loadPeer.mjs +76 -76
  107. package/functions/partials/loadPeer.test.mjs +58 -58
  108. package/functions/partials/loadPlaywright.mjs +23 -23
  109. package/functions/partials/loadPlaywright.test.mjs +70 -70
  110. package/functions/partials/minifyFor.mjs +15 -15
  111. package/functions/partials/minifyFor.test.mjs +49 -49
  112. package/functions/partials/neostandardLint.mjs +142 -142
  113. package/functions/partials/neostandardLint.test.mjs +131 -131
  114. package/functions/partials/readmeTemplate.mjs +12 -12
  115. package/functions/partials/readmeTemplate.test.mjs +34 -34
  116. package/functions/partials/removeDirectory.mjs +34 -34
  117. package/functions/partials/removeDirectory.test.mjs +72 -72
  118. package/functions/partials/resolveDocsMethod.mjs +10 -10
  119. package/functions/partials/resolveDocsMethod.test.mjs +33 -33
  120. package/functions/partials/runOnChange.mjs +54 -54
  121. package/functions/partials/runOnChange.test.mjs +95 -95
  122. package/functions/partials/sassFor.mjs +25 -25
  123. package/functions/partials/sassFor.test.mjs +81 -81
  124. package/functions/partials/serveStatic.mjs +47 -47
  125. package/functions/partials/serveStatic.test.mjs +71 -71
  126. package/functions/partials/tsFor.mjs +92 -92
  127. package/functions/partials/tsFor.test.mjs +88 -88
  128. package/functions/partials/typeDocsFor.mjs +231 -231
  129. package/functions/partials/typeDocsFor.test.mjs +263 -263
  130. package/functions/partials.mjs +32 -31
  131. package/functions/partials.test.mjs +7 -7
  132. package/functions/sass.mjs +4 -4
  133. package/functions/sass.test.mjs +31 -31
  134. package/functions/sourceLint.mjs +13 -13
  135. package/functions/sourceLint.test.mjs +166 -166
  136. package/functions/test-helpers/neostandardLintWithRealNeostandard.mjs +40 -40
  137. package/functions/test-helpers/setUp.mjs +102 -100
  138. package/functions/test-helpers/setUp.test.mjs +19 -19
  139. package/functions/testFull.mjs +17 -17
  140. package/functions/testFull.test.mjs +17 -17
  141. package/functions/testHelpers.mjs +10 -10
  142. package/functions/testHelpers.test.mjs +7 -7
  143. package/functions/testQuick.mjs +17 -17
  144. package/functions/testQuick.test.mjs +17 -17
  145. package/functions/typeDocs.mjs +9 -9
  146. package/functions/typeDocs.test.mjs +11 -11
  147. package/functions/typeScript.mjs +8 -8
  148. package/functions/typeScript.test.mjs +11 -11
  149. package/functions/utilities/convertMjsFilesForDocs.mjs +34 -34
  150. package/functions/utilities/convertMjsFilesForDocs.test.mjs +58 -58
  151. package/functions/utilities/dotGet.mjs +49 -49
  152. package/functions/utilities/dotNotate.mjs +73 -73
  153. package/functions/utilities/dotNotate.test.mjs +41 -41
  154. package/functions/utilities/dotSet.mjs +40 -40
  155. package/functions/utilities/esmNamedExportsToCjs.mjs +30 -30
  156. package/functions/utilities/esmNamedExportsToCjs.test.mjs +47 -47
  157. package/functions/utilities/getBundleConfigs.mjs +30 -30
  158. package/functions/utilities/isObject.mjs +8 -8
  159. package/functions/utilities/strAfter.mjs +12 -12
  160. package/functions/utilities/strBefore.mjs +12 -12
  161. package/functions/watchFull.mjs +9 -9
  162. package/functions/watchFull.test.mjs +41 -41
  163. package/functions/watchTest.mjs +10 -10
  164. package/functions/watchTest.test.mjs +49 -49
  165. package/gulp.config.js +4 -4
  166. package/gulp.config.mjs +349 -340
  167. package/gulpfile.base.js +51 -51
  168. package/gulpfile.base.mjs +29 -29
  169. package/jsdoc.base.js +16 -16
  170. package/jsdoc.esmExports.js +17 -17
  171. package/package.json +146 -145
  172. package/dist/test-helpers/isolateGulpCache.js +0 -25
  173. package/functions/test-helpers/isolateGulpCache.mjs +0 -16
@@ -1,72 +1,72 @@
1
- import { bundle } from './bundle.mjs'
2
- import { bundleMinify } from './bundleMinify.mjs'
3
- import { clean, distSeries } from './partials.mjs'
4
- import { compileReadme } from './compileReadme.mjs'
5
- import { typeDocs } from './typeDocs.mjs'
6
- import { jsdocDocs } from './jsdocDocs.mjs'
7
- import { distMinify } from './distMinify.mjs'
8
- import { sourceLint } from './sourceLint.mjs'
9
- import { parallel, series } from 'gulp'
10
- import * as gulpConfig from '../gulp.config.mjs'
11
- import { copyFonts } from './copyFonts.mjs'
12
- import { images } from './images.mjs'
13
- import { resolveDocsMethod } from './partials/resolveDocsMethod.mjs'
14
- import { sass } from './sass.mjs'
15
- import { testFull } from './testFull.mjs'
16
-
17
- /**
18
- * Runs several processes to build and validate the project.
19
- * Cleans and lints the source, distributes and minifies, bundles and minifies, creates the readme, then runs the
20
- * tests.
21
- * @memberOf module:js-build-tools
22
- * @returns {stream.Stream}
23
- */
24
- export const build = (done = null) => {
25
- const buildActions = [distSeries(), distMinify]
26
- const generateDocs = gulpConfig.get('docs.enabled')
27
- const docsMethod = resolveDocsMethod()
28
- if (generateDocs) {
29
- // The documentation is generated from the source itself, the readme is written by hand. With docs.inBuild off,
30
- // generating it is left to the standalone docs task (gulp docs), so a build never rewrites it.
31
- if (gulpConfig.get('docs.inBuild') !== false) {
32
- buildActions.push(docsMethod === 'jsdoc' ? jsdocDocs : typeDocs)
33
- }
34
- } else if (gulpConfig.get('typescript.enabled')) {
35
- // For ts usage, we need to run the readme on the dist directly since that is where the .js files are located
36
- buildActions.push(compileReadme)
37
- }
38
- if (gulpConfig.get('browser.enabled')) {
39
- // If not 'nodeOnly' then we also want to bundle for browser after we complete the dist directory
40
- buildActions.push(bundle)
41
- buildActions.push(bundleMinify)
42
- }
43
- const runActions = [
44
- series(...buildActions),
45
- ]
46
- if (!generateDocs && !gulpConfig.get('typescript.enabled')) {
47
- // Since we didn't run this in series after dist because of typescript, we need to run it now. Potentially faster here.
48
- runActions.push(compileReadme)
49
- }
50
- runActions.push(testFull)
51
- if (gulpConfig.get('fonts.enabled')) {
52
- // Conditionally add Fonts process
53
- runActions.push(copyFonts)
54
- }
55
- if (gulpConfig.get('images.enabled')) {
56
- // Conditionally add Images process
57
- runActions.push(images)
58
- }
59
- if (gulpConfig.get('sass.enabled')) {
60
- // Conditionally add SASS process
61
- runActions.push(sass)
62
- }
63
- // clean has to finish before anything writes into the output folders - images, fonts and sass all write into
64
- // browser/, so running clean in parallel with them races (ENOTEMPTY errors from clean, or output deleted mid-write).
65
- // sourceLint fixes the real source in place before anything compiles from it (distSeries, tsFor inside it), so a
66
- // build never reads a mix of pre- and post-fix content; clean only touches dist/browser output, so the two can
67
- // run alongside each other.
68
- return series(
69
- parallel(clean, sourceLint),
70
- parallel(...runActions)
71
- )(done)
72
- }
1
+ import { bundle } from './bundle.mjs'
2
+ import { bundleMinify } from './bundleMinify.mjs'
3
+ import { clean, distSeries } from './partials.mjs'
4
+ import { compileReadme } from './compileReadme.mjs'
5
+ import { typeDocs } from './typeDocs.mjs'
6
+ import { jsdocDocs } from './jsdocDocs.mjs'
7
+ import { distMinify } from './distMinify.mjs'
8
+ import { sourceLint } from './sourceLint.mjs'
9
+ import { parallel, series } from 'gulp'
10
+ import * as gulpConfig from '../gulp.config.mjs'
11
+ import { copyFonts } from './copyFonts.mjs'
12
+ import { images } from './images.mjs'
13
+ import { resolveDocsMethod } from './partials/resolveDocsMethod.mjs'
14
+ import { sass } from './sass.mjs'
15
+ import { testFull } from './testFull.mjs'
16
+
17
+ /**
18
+ * Runs several processes to build and validate the project.
19
+ * Cleans and lints the source, distributes and minifies, bundles and minifies, creates the readme, then runs the
20
+ * tests.
21
+ * @memberOf module:js-build-tools
22
+ * @returns {stream.Stream}
23
+ */
24
+ export const build = (done = null) => {
25
+ const buildActions = [distSeries(), distMinify]
26
+ const generateDocs = gulpConfig.get('docs.enabled')
27
+ const docsMethod = resolveDocsMethod()
28
+ if (generateDocs) {
29
+ // The documentation is generated from the source itself, the readme is written by hand. With docs.inBuild off,
30
+ // generating it is left to the standalone docs task (gulp docs), so a build never rewrites it.
31
+ if (gulpConfig.get('docs.inBuild') !== false) {
32
+ buildActions.push(docsMethod === 'jsdoc' ? jsdocDocs : typeDocs)
33
+ }
34
+ } else if (gulpConfig.get('typescript.enabled')) {
35
+ // For ts usage, we need to run the readme on the dist directly since that is where the .js files are located
36
+ buildActions.push(compileReadme)
37
+ }
38
+ if (gulpConfig.get('browser.enabled')) {
39
+ // If not 'nodeOnly' then we also want to bundle for browser after we complete the dist directory
40
+ buildActions.push(bundle)
41
+ buildActions.push(bundleMinify)
42
+ }
43
+ const runActions = [
44
+ series(...buildActions),
45
+ ]
46
+ if (!generateDocs && !gulpConfig.get('typescript.enabled')) {
47
+ // Since we didn't run this in series after dist because of typescript, we need to run it now. Potentially faster here.
48
+ runActions.push(compileReadme)
49
+ }
50
+ runActions.push(testFull)
51
+ if (gulpConfig.get('fonts.enabled')) {
52
+ // Conditionally add Fonts process
53
+ runActions.push(copyFonts)
54
+ }
55
+ if (gulpConfig.get('images.enabled')) {
56
+ // Conditionally add Images process
57
+ runActions.push(images)
58
+ }
59
+ if (gulpConfig.get('sass.enabled')) {
60
+ // Conditionally add SASS process
61
+ runActions.push(sass)
62
+ }
63
+ // clean has to finish before anything writes into the output folders - images, fonts and sass all write into
64
+ // browser/, so running clean in parallel with them races (ENOTEMPTY errors from clean, or output deleted mid-write).
65
+ // sourceLint fixes the real source in place before anything compiles from it (distSeries, tsFor inside it), so a
66
+ // build never reads a mix of pre- and post-fix content; clean only touches dist/browser output, so the two can
67
+ // run alongside each other.
68
+ return series(
69
+ parallel(clean, sourceLint),
70
+ parallel(...runActions)
71
+ )(done)
72
+ }