js-build-tools 2.4.0 → 3.0.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 (198) hide show
  1. package/README.md +334 -205
  2. package/dist/build.js +16 -5
  3. package/dist/build.min.js +1 -1
  4. package/dist/bundle.js +1 -2
  5. package/dist/bundle.min.js +1 -1
  6. package/dist/bundleLint.js +2 -3
  7. package/dist/bundleLint.min.js +1 -1
  8. package/dist/bundleMinify.js +1 -2
  9. package/dist/bundleMinify.min.js +1 -1
  10. package/dist/copyFonts.js +12 -0
  11. package/dist/copyFonts.min.js +1 -0
  12. package/dist/default.js +15 -15
  13. package/dist/default.min.js +1 -1
  14. package/dist/dist.js +7 -8
  15. package/dist/distLint.js +2 -3
  16. package/dist/distLint.min.js +1 -1
  17. package/dist/distMinify.js +1 -2
  18. package/dist/distMinify.min.js +1 -1
  19. package/dist/images.js +11 -0
  20. package/dist/images.min.js +1 -0
  21. package/dist/partials/addToReadme.js +2 -3
  22. package/dist/partials/beginWatcher.js +1 -2
  23. package/dist/partials/clean.js +10 -11
  24. package/dist/partials/copyFor.js +16 -0
  25. package/dist/partials/distFor.js +1 -2
  26. package/dist/partials/distForSrc.js +2 -3
  27. package/dist/partials/distSeries.js +3 -4
  28. package/dist/partials/imagesFor.js +34 -0
  29. package/dist/partials/minifyFor.js +15 -16
  30. package/dist/partials/readmeTemplate.js +1 -2
  31. package/dist/partials/removeDirectory.js +11 -12
  32. package/dist/partials/runOnChange.js +7 -7
  33. package/dist/partials/sassFor.js +2 -3
  34. package/dist/partials/tsFor.js +4 -5
  35. package/dist/partials.js +5 -1
  36. package/dist/partials.min.js +1 -1
  37. package/dist/test-helpers/setUp.js +31 -39
  38. package/dist/testFull.js +2 -3
  39. package/dist/testFull.min.js +1 -1
  40. package/dist/testHelpers.js +2 -20
  41. package/dist/testHelpers.min.js +1 -1
  42. package/dist/testQuick.js +1 -2
  43. package/dist/testQuick.min.js +1 -1
  44. package/dist/typeScript.js +7 -8
  45. package/dist/utilities/dotGet.js +50 -0
  46. package/dist/utilities/dotNotate.js +77 -0
  47. package/dist/utilities/dotSet.js +44 -0
  48. package/dist/utilities/isObject.js +10 -0
  49. package/dist/watchFull.js +10 -11
  50. package/dist/watchTest.js +1 -2
  51. package/dist/watchTest.min.js +1 -1
  52. package/functions/build.js +15 -5
  53. package/functions/build.test.js +278 -42
  54. package/functions/bundle.js +3 -4
  55. package/functions/bundle.test.js +6 -6
  56. package/functions/bundleLint.js +2 -3
  57. package/functions/bundleLint.test.js +5 -5
  58. package/functions/bundleMinify.js +1 -2
  59. package/functions/bundleMinify.test.js +1 -1
  60. package/functions/copyFonts.js +11 -0
  61. package/functions/copyFonts.test.js +31 -0
  62. package/functions/default.js +1 -1
  63. package/functions/default.test.js +2 -2
  64. package/functions/dist.js +0 -1
  65. package/functions/dist.test.js +1 -1
  66. package/functions/distLint.js +2 -3
  67. package/functions/distLint.test.js +3 -3
  68. package/functions/distMinify.js +1 -2
  69. package/functions/distMinify.test.js +1 -1
  70. package/functions/images.js +10 -0
  71. package/functions/images.test.js +138 -0
  72. package/functions/partials/addToReadme.js +2 -3
  73. package/functions/partials/addToReadme.test.js +2 -2
  74. package/functions/partials/beginWatcher.js +1 -2
  75. package/functions/partials/beginWatcher.test.js +1 -1
  76. package/functions/partials/clean.js +0 -1
  77. package/functions/partials/copyFor.js +13 -0
  78. package/functions/partials/copyFor.test.js +34 -0
  79. package/functions/partials/distFor.js +1 -2
  80. package/functions/partials/distFor.test.js +4 -4
  81. package/functions/partials/distForSrc.js +3 -4
  82. package/functions/partials/distForSrc.test.js +6 -6
  83. package/functions/partials/distSeries.js +2 -3
  84. package/functions/partials/distSeries.test.js +5 -5
  85. package/functions/partials/imagesFor.js +33 -0
  86. package/functions/partials/imagesFor.test.js +143 -0
  87. package/functions/partials/minifyFor.js +0 -1
  88. package/functions/partials/minifyFor.test.js +1 -1
  89. package/functions/partials/readmeTemplate.js +3 -4
  90. package/functions/partials/readmeTemplate.test.js +2 -2
  91. package/functions/partials/removeDirectory.js +0 -1
  92. package/functions/partials/runOnChange.js +5 -6
  93. package/functions/partials/runOnChange.test.js +9 -9
  94. package/functions/partials/sassFor.js +1 -2
  95. package/functions/partials/sassFor.test.js +3 -3
  96. package/functions/partials/tsFor.js +3 -4
  97. package/functions/partials/tsFor.test.js +2 -2
  98. package/functions/partials.js +5 -1
  99. package/functions/partials.test.js +1 -1
  100. package/functions/sass.test.js +2 -2
  101. package/functions/test-helpers/setUp.js +24 -32
  102. package/functions/testFull.js +2 -3
  103. package/functions/testFull.test.js +1 -1
  104. package/functions/testHelpers.js +3 -20
  105. package/functions/testHelpers.test.js +1 -1
  106. package/functions/testQuick.js +1 -2
  107. package/functions/testQuick.test.js +1 -1
  108. package/functions/typeScript.js +0 -1
  109. package/functions/typeScript.test.js +0 -2
  110. package/functions/utilities/dotGet.js +47 -0
  111. package/functions/utilities/dotNotate.js +68 -0
  112. package/functions/utilities/dotSet.js +41 -0
  113. package/functions/utilities/isObject.js +9 -0
  114. package/functions/watchFull.js +0 -1
  115. package/functions/watchFull.test.js +1 -1
  116. package/functions/watchTest.js +1 -2
  117. package/functions/watchTest.test.js +1 -1
  118. package/gulp.config.js +153 -79
  119. package/gulpfile.base.js +5 -1
  120. package/jsdoc.base.js +1 -1
  121. package/package.json +13 -9
  122. package/vendor/array-union/index.js +31 -0
  123. package/vendor/easy-transform-stream/index.js +58 -0
  124. package/vendor/globby/gitignore.js +100 -0
  125. package/vendor/globby/index.js +195 -0
  126. package/vendor/globby/node_modules/slash/index.js +16 -0
  127. package/vendor/globby/stream-utils.js +58 -0
  128. package/vendor/globby/to-path.js +20 -0
  129. package/vendor/gulp-imagemin/index.js +128 -0
  130. package/vendor/gulp-imagemin/node_modules/chalk/source/index.js +265 -0
  131. package/vendor/gulp-imagemin/node_modules/chalk/source/utilities.js +36 -0
  132. package/vendor/gulp-imagemin/node_modules/chalk/source/vendor/ansi-styles/index.js +217 -0
  133. package/vendor/gulp-imagemin/node_modules/chalk/source/vendor/supports-color/index.js +154 -0
  134. package/vendor/gulp-plugin-extras/index.js +46 -0
  135. package/vendor/gulp-plugin-extras/node_modules/chalk/source/index.js +265 -0
  136. package/vendor/gulp-plugin-extras/node_modules/chalk/source/utilities.js +36 -0
  137. package/vendor/gulp-plugin-extras/node_modules/chalk/source/vendor/ansi-styles/index.js +217 -0
  138. package/vendor/gulp-plugin-extras/node_modules/chalk/source/vendor/supports-color/index.js +154 -0
  139. package/vendor/gulp-plugin-extras/plugin-error.js +145 -0
  140. package/vendor/ignore/index.js +468 -0
  141. package/vendor/imagemin/index.js +94 -0
  142. package/vendor/imagemin-gifsicle/index.js +37 -0
  143. package/vendor/imagemin-mozjpeg/index.js +104 -0
  144. package/vendor/imagemin-mozjpeg/node_modules/execa/index.js +264 -0
  145. package/vendor/imagemin-mozjpeg/node_modules/execa/lib/command.js +47 -0
  146. package/vendor/imagemin-mozjpeg/node_modules/execa/lib/error.js +102 -0
  147. package/vendor/imagemin-mozjpeg/node_modules/execa/lib/kill.js +123 -0
  148. package/vendor/imagemin-mozjpeg/node_modules/execa/lib/promise.js +47 -0
  149. package/vendor/imagemin-mozjpeg/node_modules/execa/lib/stdio.js +50 -0
  150. package/vendor/imagemin-mozjpeg/node_modules/execa/lib/stream.js +128 -0
  151. package/vendor/imagemin-mozjpeg/node_modules/human-signals/build/src/core.js +238 -0
  152. package/vendor/imagemin-mozjpeg/node_modules/human-signals/build/src/main.js +89 -0
  153. package/vendor/imagemin-mozjpeg/node_modules/human-signals/build/src/realtime.js +24 -0
  154. package/vendor/imagemin-mozjpeg/node_modules/human-signals/build/src/signals.js +44 -0
  155. package/vendor/imagemin-mozjpeg/node_modules/is-stream/index.js +25 -0
  156. package/vendor/imagemin-mozjpeg/node_modules/mimic-fn/index.js +70 -0
  157. package/vendor/imagemin-mozjpeg/node_modules/npm-run-path/index.js +52 -0
  158. package/vendor/imagemin-mozjpeg/node_modules/onetime/index.js +43 -0
  159. package/vendor/imagemin-mozjpeg/node_modules/path-key/index.js +20 -0
  160. package/vendor/imagemin-mozjpeg/node_modules/strip-final-newline/index.js +17 -0
  161. package/vendor/imagemin-optipng/index.js +44 -0
  162. package/vendor/imagemin-svgo/index.js +27 -0
  163. package/vendor/is-jpg/index.js +12 -0
  164. package/vendor/junk/index.js +49 -0
  165. package/vendor/mozjpeg/index.js +9 -0
  166. package/vendor/mozjpeg/lib/index.js +18 -0
  167. package/vendor/mozjpeg/package.json +50 -0
  168. package/vendor/p-pipe/index.js +26 -0
  169. package/vendor/plur/index.js +32 -0
  170. package/vendor/pretty-bytes/index.js +71 -0
  171. package/vendor/slash/index.js +12 -0
  172. package/dist/test-helpers/circularObject.js +0 -50
  173. package/dist/test-helpers/countMatches.js +0 -12
  174. package/dist/test-helpers/deepReferenceObject.js +0 -20
  175. package/dist/test-helpers/domItem.js +0 -33
  176. package/dist/test-helpers/jsonDom.js +0 -20
  177. package/dist/test-helpers/linkedList.js +0 -23
  178. package/dist/test-helpers/logObject.js +0 -21
  179. package/dist/test-helpers/multiReferenceObject.js +0 -20
  180. package/dist/test-helpers/nodeTree.js +0 -28
  181. package/functions/test-helpers/circularObject.js +0 -28
  182. package/functions/test-helpers/circularObject.test.js +0 -14
  183. package/functions/test-helpers/countMatches.js +0 -11
  184. package/functions/test-helpers/countMatches.test.js +0 -9
  185. package/functions/test-helpers/deepReferenceObject.js +0 -25
  186. package/functions/test-helpers/deepReferenceObject.test.js +0 -7
  187. package/functions/test-helpers/domItem.js +0 -31
  188. package/functions/test-helpers/domItem.test.js +0 -12
  189. package/functions/test-helpers/jsonDom.js +0 -16
  190. package/functions/test-helpers/jsonDom.test.js +0 -12
  191. package/functions/test-helpers/linkedList.js +0 -10
  192. package/functions/test-helpers/linkedList.test.js +0 -22
  193. package/functions/test-helpers/logObject.js +0 -18
  194. package/functions/test-helpers/logObject.test.js +0 -20
  195. package/functions/test-helpers/multiReferenceObject.js +0 -25
  196. package/functions/test-helpers/multiReferenceObject.test.js +0 -14
  197. package/functions/test-helpers/nodeTree.js +0 -11
  198. package/functions/test-helpers/nodeTree.test.js +0 -18
package/dist/build.js CHANGED
@@ -1,5 +1,6 @@
1
1
  'use strict'
2
2
 
3
+ require('core-js/modules/web.dom-collections.iterator.js')
3
4
  const bundle = require('./bundle')
4
5
  const bundleLint = require('./bundleLint')
5
6
  const bundleMinify = require('./bundleMinify')
@@ -15,6 +16,8 @@ const {
15
16
  series
16
17
  } = require('gulp')
17
18
  const gulpConfig = require('../gulp.config.js')
19
+ const copyFonts = require('./copyFonts.js')
20
+ const images = require('./images.js')
18
21
  const sass = require('./sass.js')
19
22
  const testFull = require('./testFull')
20
23
 
@@ -29,23 +32,31 @@ const build = function () {
29
32
  const distLintMinify = parallel(distLint, distMinify)
30
33
  const bundleLintMinify = parallel(bundleLint, bundleMinify)
31
34
  const buildActions = [clean, distSeries(), distLintMinify]
32
- if (gulpConfig.get('useTsConfig')) {
35
+ if (gulpConfig.get('typescript.enabled')) {
33
36
  // For ts usage, we need to run the readme on the dist directly since that is where the .js files are located
34
37
  buildActions.push(compileReadme)
35
38
  }
36
- if (!gulpConfig.get('nodeOnly')) {
39
+ if (gulpConfig.get('browser.enabled')) {
37
40
  // If not 'nodeOnly' then we also want to bundle for browser after we complete the dist directory
38
41
  buildActions.push(bundle)
39
42
  buildActions.push(bundleLintMinify)
40
43
  }
41
44
  const runActions = [series(...buildActions)]
42
- if (!gulpConfig.get('useTsConfig')) {
45
+ if (!gulpConfig.get('typescript.enabled')) {
43
46
  // Since we didn't run this in series after dist because of typescript, we need to run it now. Potentially faster here.
44
47
  runActions.push(compileReadme)
45
48
  }
46
49
  runActions.push(testFull)
47
- if (gulpConfig.get('useSass')) {
48
- // Since we didn't run this in series after dist because of typescript, we need to run it now. Potentially faster here.
50
+ if (gulpConfig.get('fonts.enabled')) {
51
+ // Conditionally add Fonts process
52
+ runActions.push(copyFonts)
53
+ }
54
+ if (gulpConfig.get('images.enabled')) {
55
+ // Conditionally add Images process
56
+ runActions.push(images)
57
+ }
58
+ if (gulpConfig.get('sass.enabled')) {
59
+ // Conditionally add SASS process
49
60
  runActions.push(sass)
50
61
  }
51
62
  return parallel(...runActions)(done)
package/dist/build.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";const bundle=require("./bundle"),bundleLint=require("./bundleLint"),bundleMinify=require("./bundleMinify"),{clean:clean,distSeries:distSeries}=require("./partials"),compileReadme=require("./compileReadme"),distLint=require("./distLint"),distMinify=require("./distMinify"),{parallel:parallel,series:series}=require("gulp"),gulpConfig=require("../gulp.config.js"),sass=require("./sass.js"),testFull=require("./testFull"),build=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const i=parallel(distLint,distMinify),l=parallel(bundleLint,bundleMinify),s=[clean,distSeries(),i];gulpConfig.get("useTsConfig")&&s.push(compileReadme),gulpConfig.get("nodeOnly")||(s.push(bundle),s.push(l));const u=[series(...s)];return gulpConfig.get("useTsConfig")||u.push(compileReadme),u.push(testFull),gulpConfig.get("useSass")&&u.push(sass),parallel(...u)(e)};module.exports=build;
1
+ "use strict";require("core-js/modules/web.dom-collections.iterator.js");const bundle=require("./bundle"),bundleLint=require("./bundleLint"),bundleMinify=require("./bundleMinify"),{clean:clean,distSeries:distSeries}=require("./partials"),compileReadme=require("./compileReadme"),distLint=require("./distLint"),distMinify=require("./distMinify"),{parallel:parallel,series:series}=require("gulp"),gulpConfig=require("../gulp.config.js"),copyFonts=require("./copyFonts.js"),images=require("./images.js"),sass=require("./sass.js"),testFull=require("./testFull"),build=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const i=parallel(distLint,distMinify),s=parallel(bundleLint,bundleMinify),l=[clean,distSeries(),i];gulpConfig.get("typescript.enabled")&&l.push(compileReadme),gulpConfig.get("browser.enabled")&&(l.push(bundle),l.push(s));const n=[series(...l)];return gulpConfig.get("typescript.enabled")||n.push(compileReadme),n.push(testFull),gulpConfig.get("fonts.enabled")&&n.push(copyFonts),gulpConfig.get("images.enabled")&&n.push(images),gulpConfig.get("sass.enabled")&&n.push(sass),parallel(...n)(e)};module.exports=build;
package/dist/bundle.js CHANGED
@@ -9,9 +9,8 @@ const source = require('vinyl-source-stream')
9
9
 
10
10
  /**
11
11
  * Starting at the distribution entry point, bundle all the files into a single file and store them in the specified output directory.
12
- * @function
13
12
  * @memberOf module:js-build-tools
14
13
  * @returns {stream.Stream}
15
14
  */
16
- const bundle = () => browserify(gulpConfig.get('distMain')).bundle().pipe(source(`${gulpConfig.get('browserName')}.js`)).pipe(dest(gulpConfig.get('browserPath')))
15
+ const bundle = () => browserify(gulpConfig.get('dist.main')).bundle().pipe(source(''.concat(gulpConfig.get('browser.name'), '.js'))).pipe(dest(gulpConfig.get('browser.to')))
17
16
  module.exports = bundle
@@ -1 +1 @@
1
- "use strict";const browserify=require("browserify"),{dest:dest}=require("gulp"),gulpConfig=require("../gulp.config.js"),source=require("vinyl-source-stream"),bundle=()=>browserify(gulpConfig.get("distMain")).bundle().pipe(source(`${gulpConfig.get("browserName")}.js`)).pipe(dest(gulpConfig.get("browserPath")));module.exports=bundle;
1
+ "use strict";const browserify=require("browserify"),{dest:dest}=require("gulp"),gulpConfig=require("../gulp.config.js"),source=require("vinyl-source-stream"),bundle=()=>browserify(gulpConfig.get("dist.main")).bundle().pipe(source("".concat(gulpConfig.get("browser.name"),".js"))).pipe(dest(gulpConfig.get("browser.to")));module.exports=bundle;
@@ -9,14 +9,13 @@ const standard = require('gulp-standard')
9
9
 
10
10
  /**
11
11
  * Applies Standard code style linting to bundled file.
12
- * @function
13
12
  * @memberOf module:js-build-tools
14
13
  * @returns {stream.Stream}
15
14
  */
16
- const bundleLint = () => src(`${gulpConfig.get('browserPath')}/${gulpConfig.get('browserName')}.js`).pipe(standard({
15
+ const bundleLint = () => src(''.concat(gulpConfig.get('browser.to'), '/').concat(gulpConfig.get('browser.name'), '.js')).pipe(standard({
17
16
  fix: true
18
17
  })).pipe(standard.reporter('default', {
19
18
  fix: true,
20
19
  quiet: true
21
- })).pipe(dest(gulpConfig.get('browserPath')))
20
+ })).pipe(dest(gulpConfig.get('browser.to')))
22
21
  module.exports = bundleLint
@@ -1 +1 @@
1
- "use strict";const{dest:dest,src:src}=require("gulp"),gulpConfig=require("../gulp.config.js"),standard=require("gulp-standard"),bundleLint=()=>src(`${gulpConfig.get("browserPath")}/${gulpConfig.get("browserName")}.js`).pipe(standard({fix:!0})).pipe(standard.reporter("default",{fix:!0,quiet:!0})).pipe(dest(gulpConfig.get("browserPath")));module.exports=bundleLint;
1
+ "use strict";const{dest:dest,src:src}=require("gulp"),gulpConfig=require("../gulp.config.js"),standard=require("gulp-standard"),bundleLint=()=>src("".concat(gulpConfig.get("browser.to"),"/").concat(gulpConfig.get("browser.name"),".js")).pipe(standard({fix:!0})).pipe(standard.reporter("default",{fix:!0,quiet:!0})).pipe(dest(gulpConfig.get("browser.to")));module.exports=bundleLint;
@@ -5,9 +5,8 @@ const minifyFor = require('./partials/minifyFor')
5
5
 
6
6
  /**
7
7
  * Creates the minified bundle file.
8
- * @function
9
8
  * @memberOf module:js-build-tools
10
9
  * @returns {*}
11
10
  */
12
- const bundleMinify = () => minifyFor(`${gulpConfig.get('browserPath')}/${gulpConfig.get('browserName')}.js`, gulpConfig.get('browserPath'))
11
+ const bundleMinify = () => minifyFor(''.concat(gulpConfig.get('browser.to'), '/').concat(gulpConfig.get('browser.name'), '.js'), gulpConfig.get('browser.to'))
13
12
  module.exports = bundleMinify
@@ -1 +1 @@
1
- "use strict";const gulpConfig=require("../gulp.config.js"),minifyFor=require("./partials/minifyFor"),bundleMinify=()=>minifyFor(`${gulpConfig.get("browserPath")}/${gulpConfig.get("browserName")}.js`,gulpConfig.get("browserPath"));module.exports=bundleMinify;
1
+ "use strict";const gulpConfig=require("../gulp.config.js"),minifyFor=require("./partials/minifyFor"),bundleMinify=()=>minifyFor("".concat(gulpConfig.get("browser.to"),"/").concat(gulpConfig.get("browser.name"),".js"),gulpConfig.get("browser.to"));module.exports=bundleMinify;
@@ -0,0 +1,12 @@
1
+ 'use strict'
2
+
3
+ const copyFor = require('./partials/copyFor.js')
4
+ const gulpConfig = require('../gulp.config.js')
5
+
6
+ /**
7
+ * Move the font files into the browser directory.
8
+ * @memberOf module:js-build-tools
9
+ * @return {stream.Stream}
10
+ */
11
+ const copyFonts = () => copyFor(gulpConfig.get('fonts.from'), gulpConfig.get('fonts.to'))
12
+ module.exports = copyFonts
@@ -0,0 +1 @@
1
+ "use strict";const copyFor=require("./partials/copyFor.js"),gulpConfig=require("../gulp.config.js"),copyFonts=()=>copyFor(gulpConfig.get("fonts.from"),gulpConfig.get("fonts.to"));module.exports=copyFonts;
package/dist/default.js CHANGED
@@ -1,20 +1,20 @@
1
- 'use strict'
2
-
3
- const dist = require('./dist')
4
- const bundle = require('./bundle')
5
- const gulpConfig = require('../gulp.config')
6
- const {
7
- series
8
- } = require('gulp')
9
-
1
+ 'use strict'
2
+
3
+ const dist = require('./dist')
4
+ const bundle = require('./bundle')
5
+ const gulpConfig = require('../gulp.config')
6
+ const {
7
+ series
8
+ } = require('gulp')
9
+
10
10
  /**
11
11
  * Recommended as the default task, runs the simple dist and bundle tasks.
12
12
  * @memberOf module:js-build-tools
13
13
  * @param {function} [done=null]
14
14
  * @returns {stream.Stream}
15
- */
16
- const defaultCmd = function () {
17
- const done = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null
18
- return gulpConfig.get('nodeOnly') ? series(dist)(done) : series(dist, bundle)(done)
19
- }
20
- module.exports = defaultCmd
15
+ */
16
+ const defaultCmd = function () {
17
+ const done = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null
18
+ return gulpConfig.get('browser.enabled') ? series(dist, bundle)(done) : series(dist)(done)
19
+ }
20
+ module.exports = defaultCmd
@@ -1 +1 @@
1
- "use strict";const dist=require("./dist"),bundle=require("./bundle"),gulpConfig=require("../gulp.config"),{series:series}=require("gulp"),defaultCmd=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return gulpConfig.get("nodeOnly")?series(dist)(e):series(dist,bundle)(e)};module.exports=defaultCmd;
1
+ "use strict";const dist=require("./dist"),bundle=require("./bundle"),gulpConfig=require("../gulp.config"),{series:series}=require("gulp"),defaultCmd=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return gulpConfig.get("browser.enabled")?series(dist,bundle)(e):series(dist)(e)};module.exports=defaultCmd;
package/dist/dist.js CHANGED
@@ -1,12 +1,11 @@
1
- 'use strict'
2
-
3
- const distFor = require('./partials/distFor.js')
4
-
1
+ 'use strict'
2
+
3
+ const distFor = require('./partials/distFor.js')
4
+
5
5
  /**
6
6
  * Simplified distribution tasks which will use arguments from distFor.
7
- * @function
8
7
  * @memberOf module:js-build-tools
9
8
  * @returns {*}
10
- */
11
- const dist = () => distFor()
12
- module.exports = dist
9
+ */
10
+ const dist = () => distFor()
11
+ module.exports = dist
package/dist/distLint.js CHANGED
@@ -9,14 +9,13 @@ const standard = require('gulp-standard')
9
9
 
10
10
  /**
11
11
  * Applies Standard code style linting to distribution files.
12
- * @function
13
12
  * @memberOf module:js-build-tools
14
13
  * @returns {*}
15
14
  */
16
- const distLint = () => src(gulpConfig.get('distSearch')).pipe(standard({
15
+ const distLint = () => src(gulpConfig.get('browser.from')).pipe(standard({
17
16
  fix: true
18
17
  })).pipe(standard.reporter('default', {
19
18
  fix: true,
20
19
  quiet: true
21
- })).pipe(dest(gulpConfig.get('distPath')))
20
+ })).pipe(dest(gulpConfig.get('dist.to')))
22
21
  module.exports = distLint
@@ -1 +1 @@
1
- "use strict";const gulpConfig=require("../gulp.config.js"),{dest:dest,src:src}=require("gulp"),standard=require("gulp-standard"),distLint=()=>src(gulpConfig.get("distSearch")).pipe(standard({fix:!0})).pipe(standard.reporter("default",{fix:!0,quiet:!0})).pipe(dest(gulpConfig.get("distPath")));module.exports=distLint;
1
+ "use strict";const gulpConfig=require("../gulp.config.js"),{dest:dest,src:src}=require("gulp"),standard=require("gulp-standard"),distLint=()=>src(gulpConfig.get("browser.from")).pipe(standard({fix:!0})).pipe(standard.reporter("default",{fix:!0,quiet:!0})).pipe(dest(gulpConfig.get("dist.to")));module.exports=distLint;
@@ -5,9 +5,8 @@ const minifyFor = require('./partials/minifyFor')
5
5
 
6
6
  /**
7
7
  * Creates minified versions of the dist files.
8
- * @function
9
8
  * @memberOf module:js-build-tools
10
9
  * @returns {*}
11
10
  */
12
- const distMinify = () => minifyFor(gulpConfig.get('distSearch'), gulpConfig.get('distPath'))
11
+ const distMinify = () => minifyFor(gulpConfig.get('browser.from'), gulpConfig.get('dist.to'))
13
12
  module.exports = distMinify
@@ -1 +1 @@
1
- "use strict";const gulpConfig=require("../gulp.config.js"),minifyFor=require("./partials/minifyFor"),distMinify=()=>minifyFor(gulpConfig.get("distSearch"),gulpConfig.get("distPath"));module.exports=distMinify;
1
+ "use strict";const gulpConfig=require("../gulp.config.js"),minifyFor=require("./partials/minifyFor"),distMinify=()=>minifyFor(gulpConfig.get("browser.from"),gulpConfig.get("dist.to"));module.exports=distMinify;
package/dist/images.js ADDED
@@ -0,0 +1,11 @@
1
+ 'use strict'
2
+
3
+ const imagesFor = require('./partials/imagesFor.js')
4
+
5
+ /**
6
+ * Move and optimize the images into the browser folder using configured settings.
7
+ * @memberOf module:js-build-tools
8
+ * @return {stream.Stream}
9
+ */
10
+ const images = () => imagesFor()
11
+ module.exports = images
@@ -0,0 +1 @@
1
+ "use strict";const imagesFor=require("./partials/imagesFor.js"),images=()=>imagesFor();module.exports=images;
@@ -10,11 +10,10 @@ const {
10
10
  /**
11
11
  * Appends all the jsdoc comments to the readme file. Assumes empty or templated file.
12
12
  * Configure this with 'readmeSearch', 'readmePath', 'readmeFile', and 'readmeOptions'.
13
- * @function
14
13
  * @memberOf module:partials
15
14
  * @returns {string|Uint8Array}
16
15
  */
17
16
  const addToReadme = () => jsdoc2md.render({
18
- files: globSync(gulpConfig.get('readmeSearch'))
19
- }).then(readme => fs.appendFileSync(gulpConfig.get('readmePath') + gulpConfig.get('readmeFile'), readme, gulpConfig.get('readmeOptions')));
17
+ files: globSync(gulpConfig.get('readme.from'))
18
+ }).then(readme => fs.appendFileSync(gulpConfig.get('readme.to') + gulpConfig.get('readme.file'), readme, gulpConfig.get('readmeOptions')));
20
19
  module.exports = addToReadme;
@@ -7,9 +7,8 @@ const {
7
7
 
8
8
  /**
9
9
  * Create a chokidar instance which watches and triggers change when the globed files are modified.
10
- * @function
11
10
  * @memberOf module:partials
12
11
  * @returns {FSWatcher}
13
12
  */
14
- const beginWatcher = () => watch(gulpConfig.get('watchSearch'));
13
+ const beginWatcher = () => watch(gulpConfig.get('test.watch'));
15
14
  module.exports = beginWatcher;
@@ -1,17 +1,16 @@
1
- "use strict";
2
-
3
- require("core-js/modules/esnext.async-iterator.reduce.js");
4
- require("core-js/modules/esnext.iterator.constructor.js");
5
- require("core-js/modules/esnext.iterator.reduce.js");
6
- const gulpConfig = require('../../gulp.config.js');
7
- const removeDirectory = require('./removeDirectory');
8
-
1
+ "use strict";
2
+
3
+ require("core-js/modules/esnext.async-iterator.reduce.js");
4
+ require("core-js/modules/esnext.iterator.constructor.js");
5
+ require("core-js/modules/esnext.iterator.reduce.js");
6
+ const gulpConfig = require('../../gulp.config.js');
7
+ const removeDirectory = require('./removeDirectory');
8
+
9
9
  /**
10
10
  * Deletes all the distribution and browser files (used before create a new build).
11
11
  * Configure array of directories to remove with 'cleanPaths'.
12
- * @function
13
12
  * @memberOf module:partials
14
13
  * @returns {Promise<string[]> | *}
15
- */
16
- const clean = () => gulpConfig.get('cleanPaths').reduce((promise, path) => promise.then(() => removeDirectory(path)), Promise.resolve());
14
+ */
15
+ const clean = () => gulpConfig.get('cleanPaths').reduce((promise, path) => promise.then(() => removeDirectory(path)), Promise.resolve());
17
16
  module.exports = clean;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ const {
4
+ dest,
5
+ src
6
+ } = require('gulp');
7
+
8
+ /**
9
+ * Copy some files to a different location.
10
+ * @memberOf module:partials
11
+ * @param {string|array} srcPath
12
+ * @param {string} destPath
13
+ * @returns {stream.Stream}
14
+ */
15
+ const copyFor = (srcPath, destPath) => src(srcPath).pipe(dest(destPath));
16
+ module.exports = copyFor;
@@ -10,7 +10,6 @@ const gulpConfig = require('../../gulp.config.js');
10
10
 
11
11
  /**
12
12
  * Build the distribution for a given source pattern.
13
- * @function
14
13
  * @memberOf module:partials
15
14
  * @param {string|array} [srcPath='src/config/path/dist/for']
16
15
  * @param {string} [destPath='dist/config/path']
@@ -18,7 +17,7 @@ const gulpConfig = require('../../gulp.config.js');
18
17
  */
19
18
  const distFor = function () {
20
19
  let srcPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : distForSrc();
21
- let destPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gulpConfig.get('distPath');
20
+ let destPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gulpConfig.get('dist.to');
22
21
  return src(srcPath).pipe(babel()).pipe(dest(destPath));
23
22
  };
24
23
  module.exports = distFor;
@@ -4,13 +4,12 @@ const gulpConfig = require('../../gulp.config');
4
4
 
5
5
  /**
6
6
  * Retrieve the correct distFor search path based on TS Config.
7
- * @function
8
7
  * @memberOf module:partials
9
8
  * @param {module:gulpConfig~FlagStringSetting} [useTs='config/for/ts']
10
9
  * @returns {string}
11
10
  */
12
11
  const distForSrc = function () {
13
- let useTs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : gulpConfig.get('useTsConfig');
14
- return useTs ? gulpConfig.get('distSearch') : gulpConfig.get('srcSearch');
12
+ let useTs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : gulpConfig.get('typescript.enabled');
13
+ return useTs ? gulpConfig.get('browser.from') : gulpConfig.get('dist.from');
15
14
  };
16
15
  module.exports = distForSrc;
@@ -10,7 +10,6 @@ const tsFor = require('./tsFor');
10
10
 
11
11
  /**
12
12
  * When using TypeScript, ensure that we process the ts first then run babel (dist)
13
- * @function
14
13
  * @memberOf module:partials
15
14
  * @param {string} [srcPath='src/config/path/dist/for']
16
15
  * @param {string} [distFinalPath='dist/config/path']
@@ -19,10 +18,10 @@ const tsFor = require('./tsFor');
19
18
  */
20
19
  const distSeries = function () {
21
20
  let srcPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : distForSrc();
22
- let distFinalPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gulpConfig.get('distPath');
23
- let tsSearch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : gulpConfig.get('tsSearch');
21
+ let distFinalPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gulpConfig.get('dist.to');
22
+ let tsSearch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : gulpConfig.get('typescript.from');
24
23
  const typescript = tsFor(tsSearch, distFinalPath);
25
24
  const dist = () => distFor(srcPath, distFinalPath);
26
- return gulpConfig.get('useTsConfig') ? series(typescript, dist) : dist;
25
+ return gulpConfig.get('typescript.enabled') ? series(typescript, dist) : dist;
27
26
  };
28
27
  module.exports = distSeries;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ const cache = require('gulp-cache');
4
+ const {
5
+ dest,
6
+ src
7
+ } = require('gulp');
8
+ const gulpConfig = require('../../gulp.config.js');
9
+ let imagemin = content => content;
10
+ try {
11
+ imagemin = require('../../vendor/gulp-imagemin').default;
12
+ } catch (e) {
13
+ // It didn't get created yet
14
+ }
15
+
16
+ /**
17
+ * Move and optimize images into the browser directory.
18
+ * @memberOf module:partials
19
+ * @param {string|array} [imageSrc=src/images/pattern]
20
+ * @param {string} [imageDest=dest/image/folder]
21
+ * @return {stream.Stream}
22
+ */
23
+ const imagesFor = function () {
24
+ let imageSrc = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : gulpConfig.get('images.from');
25
+ let imageDest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gulpConfig.get('images.to');
26
+ return src(imageSrc).pipe(
27
+ // Caching images that ran through imagemin
28
+ cache(imagemin({
29
+ interlaced: true,
30
+ silent: true,
31
+ verbose: false
32
+ }))).pipe(dest(imageDest));
33
+ };
34
+ module.exports = imagesFor;
@@ -1,21 +1,20 @@
1
- "use strict";
2
-
3
- const {
4
- dest,
5
- src
6
- } = require('gulp');
7
- const {
8
- default: uglify
9
- } = require('gulp-uglify-es');
10
- const rename = require('gulp-rename');
11
-
1
+ "use strict";
2
+
3
+ const {
4
+ dest,
5
+ src
6
+ } = require('gulp');
7
+ const {
8
+ default: uglify
9
+ } = require('gulp-uglify-es');
10
+ const rename = require('gulp-rename');
11
+
12
12
  /**
13
13
  * Minify files and rename the output with '.min' extension.
14
- * @function
15
14
  * @memberOf module:partials
16
15
  * @returns {*}
17
- */
18
- const minifyFor = (srcSearch, destination) => src(srcSearch).pipe(uglify()).pipe(rename({
19
- extname: '.min.js'
20
- })).pipe(dest(destination));
16
+ */
17
+ const minifyFor = (srcSearch, destination) => src(srcSearch).pipe(uglify()).pipe(rename({
18
+ extname: '.min.js'
19
+ })).pipe(dest(destination));
21
20
  module.exports = minifyFor;
@@ -9,9 +9,8 @@ const rename = require('gulp-rename');
9
9
 
10
10
  /**
11
11
  * Copy a readme template into the README.md file.
12
- * @function
13
12
  * @memberOf module:partials
14
13
  * @returns {*}
15
14
  */
16
- const readmeTemplate = () => src(gulpConfig.get('readmeTemplate')).pipe(rename(gulpConfig.get('readmeFile'))).pipe(dest(gulpConfig.get('readmePath')));
15
+ const readmeTemplate = () => src(gulpConfig.get('readme.template')).pipe(rename(gulpConfig.get('readme.file'))).pipe(dest(gulpConfig.get('readme.to')));
17
16
  module.exports = readmeTemplate;
@@ -1,18 +1,17 @@
1
- "use strict";
2
-
3
- const {
4
- rm,
5
- exists
6
- } = require('fs');
7
-
1
+ "use strict";
2
+
3
+ const {
4
+ rm,
5
+ exists
6
+ } = require('fs');
7
+
8
8
  /**
9
9
  * Return a promise to be completed once the specified directory is deleted.
10
- * @function
11
10
  * @memberOf module:partials
12
11
  * @param {string} dirPath
13
12
  * @returns {Promise<*>}
14
- */
15
- const removeDirectory = dirPath => new Promise((resolve, reject) => exists(dirPath, doesExist => doesExist ? rm(dirPath, {
16
- recursive: true
17
- }, error => error ? reject(error) : resolve(dirPath)) : resolve(dirPath)));
13
+ */
14
+ const removeDirectory = dirPath => new Promise((resolve, reject) => exists(dirPath, doesExist => doesExist ? rm(dirPath, {
15
+ recursive: true
16
+ }, error => error ? reject(error) : resolve(dirPath)) : resolve(dirPath)));
18
17
  module.exports = removeDirectory;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.string.replace.js");
3
4
  const gulpConfig = require('../../gulp.config.js');
4
5
  const bundle = require('../bundle');
5
6
  const distSeries = require('./distSeries');
@@ -30,14 +31,13 @@ const testQuick = require('../testQuick');
30
31
  *
31
32
  * // The resulting replaced path for the destination folder
32
33
  * distPathResult = 'dist/some/path/'
33
- * @function
34
34
  * @memberOf module:partials
35
35
  * @param {string} path
36
36
  * @returns {stream.Stream}
37
37
  */
38
38
  const runOnChange = path => {
39
- const useTs = gulpConfig.get('useTsConfig');
40
- const distPath = gulpConfig.get('distPath');
39
+ const useTs = gulpConfig.get('typescript.enabled');
40
+ const distPath = gulpConfig.get('dist.to');
41
41
  const srcPath = gulpConfig.get('srcPath');
42
42
  /**
43
43
  * 1. The original path comes in from src and is a .ts
@@ -47,13 +47,13 @@ const runOnChange = path => {
47
47
  * 5. Use the dist path found previously in #2
48
48
  * 6. Use the full dist path and the dist outgoing path in distFor
49
49
  */
50
- const pathRegex = new RegExp(`^${srcPath}(.*\\/)(.+)\\.(js|ts)$`, 'i');
51
- const distPathResult = path.replace(pathRegex, `${distPath}$1`);
50
+ const pathRegex = new RegExp("^".concat(srcPath, "(.*\\/)(.+)\\.(js|ts)$"), 'i');
51
+ const distPathResult = path.replace(pathRegex, "".concat(distPath, "$1"));
52
52
  let distSrcPath = path;
53
53
  if (useTs) {
54
- distSrcPath = path.replace(pathRegex, `${distPath}$1$2.js`);
54
+ distSrcPath = path.replace(pathRegex, "".concat(distPath, "$1$2.js"));
55
55
  }
56
56
  const runSeries = distSeries(distSrcPath, distPathResult, path);
57
- return gulpConfig.get('nodeOnly') ? series(testQuick, runSeries)() : parallel(testQuick, series(runSeries, bundle))();
57
+ return gulpConfig.get('browser.enabled') ? parallel(testQuick, series(runSeries, bundle))() : series(testQuick, runSeries)();
58
58
  };
59
59
  module.exports = runOnChange;
@@ -11,15 +11,14 @@ const sass = require('gulp-sass')(require('sass'));
11
11
 
12
12
  /**
13
13
  * Build the CSS for a given source pattern.
14
- * @function
15
14
  * @memberOf module:partials
16
15
  * @param {string|array} [srcSearch='src/config/path/sass/for']
17
16
  * @param {string} [cssPath='css/config/path']
18
17
  * @returns {stream.Stream}
19
18
  */
20
19
  const sassFor = function () {
21
- let srcSearch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : gulpConfig.get('sassSearch');
22
- let cssPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gulpConfig.get('cssPath');
20
+ let srcSearch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : gulpConfig.get('sass.from');
21
+ let cssPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gulpConfig.get('sass.to');
23
22
  return src(srcSearch).pipe(sass().on('error', sass.logError)) // Passes it through a gulp-sass, log errors to console
24
23
  .pipe(dest(cssPath)).pipe(cssnano()).pipe(rename({
25
24
  extname: '.min.css'
@@ -10,7 +10,6 @@ const ts = require('gulp-typescript');
10
10
 
11
11
  /**
12
12
  * Starting at the source directory, find all the ts files and convert them into the distribution directory.
13
- * @function
14
13
  * @memberOf module:partials
15
14
  * @param {string|array} [srcPath='']
16
15
  * @param {string} [distPath='']
@@ -18,10 +17,10 @@ const ts = require('gulp-typescript');
18
17
  * @see `https://www.typescriptlang.org/docs/handbook/gulp.html` for more info
19
18
  */
20
19
  const tsFor = function () {
21
- let srcPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : gulpConfig.get('tsSearch');
22
- let distPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gulpConfig.get('distPath');
23
- const declarationProject = ts.createProject(gulpConfig.get('useTsConfig'));
24
- const tsProject = ts.createProject(gulpConfig.get('useTsConfig'));
20
+ let srcPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : gulpConfig.get('typescript.from');
21
+ let distPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gulpConfig.get('typescript.to');
22
+ const declarationProject = ts.createProject(gulpConfig.get('typescript.config'));
23
+ const tsProject = ts.createProject(gulpConfig.get('typescript.config'));
25
24
  const makeDeclarations = () => src(srcPath).pipe(declarationProject()).dts.pipe(dest(distPath));
26
25
  const compileJS = () => src(srcPath).pipe(tsProject()).js.pipe(dest(distPath));
27
26
  return parallel(makeDeclarations, compileJS);
package/dist/partials.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * Micro-functions used as components for the main gulp functions.
5
5
  * @file
6
6
  * @author Joshua Heagle <joshuaheagle@gmail.com>
7
- * @version 2.0.0
7
+ * @version 3.0.0
8
8
  * @module partials
9
9
  * @memberOf module:js-build-tools
10
10
  */
@@ -12,9 +12,11 @@
12
12
  const addToReadme = require('./partials/addToReadme')
13
13
  const beginWatcher = require('./partials/beginWatcher')
14
14
  const clean = require('./partials/clean')
15
+ const copyFor = require('./partials/copyFor')
15
16
  const distFor = require('./partials/distFor')
16
17
  const distForSrc = require('./partials/distForSrc')
17
18
  const distSeries = require('./partials/distSeries')
19
+ const imagesFor = require('./partials/imagesFor.js')
18
20
  const minifyFor = require('./partials/minifyFor')
19
21
  const readmeTemplate = require('./partials/readmeTemplate')
20
22
  const removeDirectory = require('./partials/removeDirectory')
@@ -25,9 +27,11 @@ module.exports = {
25
27
  addToReadme,
26
28
  beginWatcher,
27
29
  clean,
30
+ copyFor,
28
31
  distFor,
29
32
  distForSrc,
30
33
  distSeries,
34
+ imagesFor,
31
35
  minifyFor,
32
36
  readmeTemplate,
33
37
  removeDirectory,
@@ -1 +1 @@
1
- "use strict";const addToReadme=require("./partials/addToReadme"),beginWatcher=require("./partials/beginWatcher"),clean=require("./partials/clean"),distFor=require("./partials/distFor"),distForSrc=require("./partials/distForSrc"),distSeries=require("./partials/distSeries"),minifyFor=require("./partials/minifyFor"),readmeTemplate=require("./partials/readmeTemplate"),removeDirectory=require("./partials/removeDirectory"),runOnChange=require("./partials/runOnChange"),sassFor=require("./partials/sassFor"),tsFor=require("./partials/tsFor");module.exports={addToReadme:addToReadme,beginWatcher:beginWatcher,clean:clean,distFor:distFor,distForSrc:distForSrc,distSeries:distSeries,minifyFor:minifyFor,readmeTemplate:readmeTemplate,removeDirectory:removeDirectory,runOnChange:runOnChange,sassFor:sassFor,tsFor:tsFor};
1
+ "use strict";const addToReadme=require("./partials/addToReadme"),beginWatcher=require("./partials/beginWatcher"),clean=require("./partials/clean"),copyFor=require("./partials/copyFor"),distFor=require("./partials/distFor"),distForSrc=require("./partials/distForSrc"),distSeries=require("./partials/distSeries"),imagesFor=require("./partials/imagesFor.js"),minifyFor=require("./partials/minifyFor"),readmeTemplate=require("./partials/readmeTemplate"),removeDirectory=require("./partials/removeDirectory"),runOnChange=require("./partials/runOnChange"),sassFor=require("./partials/sassFor"),tsFor=require("./partials/tsFor");module.exports={addToReadme:addToReadme,beginWatcher:beginWatcher,clean:clean,copyFor:copyFor,distFor:distFor,distForSrc:distForSrc,distSeries:distSeries,imagesFor:imagesFor,minifyFor:minifyFor,readmeTemplate:readmeTemplate,removeDirectory:removeDirectory,runOnChange:runOnChange,sassFor:sassFor,tsFor:tsFor};