js-build-tools 2.3.1 → 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 (199) 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 +12 -13
  5. package/dist/bundle.min.js +1 -1
  6. package/dist/bundleLint.js +17 -18
  7. package/dist/bundleLint.min.js +1 -1
  8. package/dist/bundleMinify.js +8 -9
  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 +0 -1
  15. package/dist/distLint.js +17 -18
  16. package/dist/distLint.min.js +1 -1
  17. package/dist/distMinify.js +8 -9
  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 +13 -14
  22. package/dist/partials/beginWatcher.js +9 -10
  23. package/dist/partials/clean.js +0 -1
  24. package/dist/partials/copyFor.js +16 -0
  25. package/dist/partials/distFor.js +16 -17
  26. package/dist/partials/distForSrc.js +9 -10
  27. package/dist/partials/distSeries.js +19 -20
  28. package/dist/partials/imagesFor.js +34 -0
  29. package/dist/partials/minifyFor.js +0 -1
  30. package/dist/partials/readmeTemplate.js +11 -12
  31. package/dist/partials/removeDirectory.js +5 -6
  32. package/dist/partials/runOnChange.js +27 -27
  33. package/dist/partials/sassFor.js +2 -3
  34. package/dist/partials/tsFor.js +20 -21
  35. package/dist/partials.js +5 -1
  36. package/dist/partials.min.js +1 -1
  37. package/dist/sass.js +7 -7
  38. package/dist/test-helpers/setUp.js +31 -39
  39. package/dist/testFull.js +17 -18
  40. package/dist/testFull.min.js +1 -1
  41. package/dist/testHelpers.js +10 -28
  42. package/dist/testHelpers.min.js +1 -1
  43. package/dist/testQuick.js +19 -20
  44. package/dist/testQuick.min.js +1 -1
  45. package/dist/typeScript.js +0 -1
  46. package/dist/utilities/dotGet.js +50 -0
  47. package/dist/utilities/dotNotate.js +77 -0
  48. package/dist/utilities/dotSet.js +44 -0
  49. package/dist/utilities/isObject.js +10 -0
  50. package/dist/watchFull.js +0 -1
  51. package/dist/watchTest.js +13 -14
  52. package/dist/watchTest.min.js +1 -1
  53. package/functions/build.js +15 -5
  54. package/functions/build.test.js +278 -42
  55. package/functions/bundle.js +3 -4
  56. package/functions/bundle.test.js +6 -6
  57. package/functions/bundleLint.js +2 -3
  58. package/functions/bundleLint.test.js +5 -5
  59. package/functions/bundleMinify.js +1 -2
  60. package/functions/bundleMinify.test.js +1 -1
  61. package/functions/copyFonts.js +11 -0
  62. package/functions/copyFonts.test.js +31 -0
  63. package/functions/default.js +1 -1
  64. package/functions/default.test.js +2 -2
  65. package/functions/dist.js +0 -1
  66. package/functions/dist.test.js +1 -1
  67. package/functions/distLint.js +2 -3
  68. package/functions/distLint.test.js +3 -3
  69. package/functions/distMinify.js +1 -2
  70. package/functions/distMinify.test.js +1 -1
  71. package/functions/images.js +10 -0
  72. package/functions/images.test.js +138 -0
  73. package/functions/partials/addToReadme.js +2 -3
  74. package/functions/partials/addToReadme.test.js +2 -2
  75. package/functions/partials/beginWatcher.js +1 -2
  76. package/functions/partials/beginWatcher.test.js +1 -1
  77. package/functions/partials/clean.js +0 -1
  78. package/functions/partials/copyFor.js +13 -0
  79. package/functions/partials/copyFor.test.js +34 -0
  80. package/functions/partials/distFor.js +1 -2
  81. package/functions/partials/distFor.test.js +4 -4
  82. package/functions/partials/distForSrc.js +3 -4
  83. package/functions/partials/distForSrc.test.js +6 -6
  84. package/functions/partials/distSeries.js +2 -3
  85. package/functions/partials/distSeries.test.js +5 -5
  86. package/functions/partials/imagesFor.js +33 -0
  87. package/functions/partials/imagesFor.test.js +143 -0
  88. package/functions/partials/minifyFor.js +0 -1
  89. package/functions/partials/minifyFor.test.js +1 -1
  90. package/functions/partials/readmeTemplate.js +3 -4
  91. package/functions/partials/readmeTemplate.test.js +2 -2
  92. package/functions/partials/removeDirectory.js +22 -23
  93. package/functions/partials/runOnChange.js +5 -6
  94. package/functions/partials/runOnChange.test.js +9 -9
  95. package/functions/partials/sassFor.js +1 -2
  96. package/functions/partials/sassFor.test.js +3 -3
  97. package/functions/partials/tsFor.js +3 -4
  98. package/functions/partials/tsFor.test.js +2 -2
  99. package/functions/partials.js +5 -1
  100. package/functions/partials.test.js +1 -1
  101. package/functions/sass.test.js +2 -2
  102. package/functions/test-helpers/setUp.js +24 -32
  103. package/functions/testFull.js +2 -3
  104. package/functions/testFull.test.js +1 -1
  105. package/functions/testHelpers.js +3 -20
  106. package/functions/testHelpers.test.js +1 -1
  107. package/functions/testQuick.js +1 -2
  108. package/functions/testQuick.test.js +1 -1
  109. package/functions/typeScript.js +0 -1
  110. package/functions/typeScript.test.js +0 -2
  111. package/functions/utilities/dotGet.js +47 -0
  112. package/functions/utilities/dotNotate.js +68 -0
  113. package/functions/utilities/dotSet.js +41 -0
  114. package/functions/utilities/isObject.js +9 -0
  115. package/functions/watchFull.js +0 -1
  116. package/functions/watchFull.test.js +1 -1
  117. package/functions/watchTest.js +1 -2
  118. package/functions/watchTest.test.js +1 -1
  119. package/gulp.config.js +153 -79
  120. package/gulpfile.base.js +5 -1
  121. package/jsdoc.base.js +1 -1
  122. package/package.json +13 -9
  123. package/vendor/array-union/index.js +31 -0
  124. package/vendor/easy-transform-stream/index.js +58 -0
  125. package/vendor/globby/gitignore.js +100 -0
  126. package/vendor/globby/index.js +195 -0
  127. package/vendor/globby/node_modules/slash/index.js +16 -0
  128. package/vendor/globby/stream-utils.js +58 -0
  129. package/vendor/globby/to-path.js +20 -0
  130. package/vendor/gulp-imagemin/index.js +128 -0
  131. package/vendor/gulp-imagemin/node_modules/chalk/source/index.js +265 -0
  132. package/vendor/gulp-imagemin/node_modules/chalk/source/utilities.js +36 -0
  133. package/vendor/gulp-imagemin/node_modules/chalk/source/vendor/ansi-styles/index.js +217 -0
  134. package/vendor/gulp-imagemin/node_modules/chalk/source/vendor/supports-color/index.js +154 -0
  135. package/vendor/gulp-plugin-extras/index.js +46 -0
  136. package/vendor/gulp-plugin-extras/node_modules/chalk/source/index.js +265 -0
  137. package/vendor/gulp-plugin-extras/node_modules/chalk/source/utilities.js +36 -0
  138. package/vendor/gulp-plugin-extras/node_modules/chalk/source/vendor/ansi-styles/index.js +217 -0
  139. package/vendor/gulp-plugin-extras/node_modules/chalk/source/vendor/supports-color/index.js +154 -0
  140. package/vendor/gulp-plugin-extras/plugin-error.js +145 -0
  141. package/vendor/ignore/index.js +468 -0
  142. package/vendor/imagemin/index.js +94 -0
  143. package/vendor/imagemin-gifsicle/index.js +37 -0
  144. package/vendor/imagemin-mozjpeg/index.js +104 -0
  145. package/vendor/imagemin-mozjpeg/node_modules/execa/index.js +264 -0
  146. package/vendor/imagemin-mozjpeg/node_modules/execa/lib/command.js +47 -0
  147. package/vendor/imagemin-mozjpeg/node_modules/execa/lib/error.js +102 -0
  148. package/vendor/imagemin-mozjpeg/node_modules/execa/lib/kill.js +123 -0
  149. package/vendor/imagemin-mozjpeg/node_modules/execa/lib/promise.js +47 -0
  150. package/vendor/imagemin-mozjpeg/node_modules/execa/lib/stdio.js +50 -0
  151. package/vendor/imagemin-mozjpeg/node_modules/execa/lib/stream.js +128 -0
  152. package/vendor/imagemin-mozjpeg/node_modules/human-signals/build/src/core.js +238 -0
  153. package/vendor/imagemin-mozjpeg/node_modules/human-signals/build/src/main.js +89 -0
  154. package/vendor/imagemin-mozjpeg/node_modules/human-signals/build/src/realtime.js +24 -0
  155. package/vendor/imagemin-mozjpeg/node_modules/human-signals/build/src/signals.js +44 -0
  156. package/vendor/imagemin-mozjpeg/node_modules/is-stream/index.js +25 -0
  157. package/vendor/imagemin-mozjpeg/node_modules/mimic-fn/index.js +70 -0
  158. package/vendor/imagemin-mozjpeg/node_modules/npm-run-path/index.js +52 -0
  159. package/vendor/imagemin-mozjpeg/node_modules/onetime/index.js +43 -0
  160. package/vendor/imagemin-mozjpeg/node_modules/path-key/index.js +20 -0
  161. package/vendor/imagemin-mozjpeg/node_modules/strip-final-newline/index.js +17 -0
  162. package/vendor/imagemin-optipng/index.js +44 -0
  163. package/vendor/imagemin-svgo/index.js +27 -0
  164. package/vendor/is-jpg/index.js +12 -0
  165. package/vendor/junk/index.js +49 -0
  166. package/vendor/mozjpeg/index.js +9 -0
  167. package/vendor/mozjpeg/lib/index.js +18 -0
  168. package/vendor/mozjpeg/package.json +50 -0
  169. package/vendor/p-pipe/index.js +26 -0
  170. package/vendor/plur/index.js +32 -0
  171. package/vendor/pretty-bytes/index.js +71 -0
  172. package/vendor/slash/index.js +12 -0
  173. package/dist/test-helpers/circularObject.js +0 -50
  174. package/dist/test-helpers/countMatches.js +0 -12
  175. package/dist/test-helpers/deepReferenceObject.js +0 -20
  176. package/dist/test-helpers/domItem.js +0 -33
  177. package/dist/test-helpers/jsonDom.js +0 -20
  178. package/dist/test-helpers/linkedList.js +0 -23
  179. package/dist/test-helpers/logObject.js +0 -21
  180. package/dist/test-helpers/multiReferenceObject.js +0 -20
  181. package/dist/test-helpers/nodeTree.js +0 -28
  182. package/functions/test-helpers/circularObject.js +0 -28
  183. package/functions/test-helpers/circularObject.test.js +0 -14
  184. package/functions/test-helpers/countMatches.js +0 -11
  185. package/functions/test-helpers/countMatches.test.js +0 -9
  186. package/functions/test-helpers/deepReferenceObject.js +0 -25
  187. package/functions/test-helpers/deepReferenceObject.test.js +0 -7
  188. package/functions/test-helpers/domItem.js +0 -31
  189. package/functions/test-helpers/domItem.test.js +0 -12
  190. package/functions/test-helpers/jsonDom.js +0 -16
  191. package/functions/test-helpers/jsonDom.test.js +0 -12
  192. package/functions/test-helpers/linkedList.js +0 -10
  193. package/functions/test-helpers/linkedList.test.js +0 -22
  194. package/functions/test-helpers/logObject.js +0 -18
  195. package/functions/test-helpers/logObject.test.js +0 -20
  196. package/functions/test-helpers/multiReferenceObject.js +0 -25
  197. package/functions/test-helpers/multiReferenceObject.test.js +0 -14
  198. package/functions/test-helpers/nodeTree.js +0 -11
  199. 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
@@ -1,17 +1,16 @@
1
- 'use strict'
2
-
3
- const browserify = require('browserify')
4
- const {
5
- dest
6
- } = require('gulp')
7
- const gulpConfig = require('../gulp.config.js')
8
- const source = require('vinyl-source-stream')
9
-
1
+ 'use strict'
2
+
3
+ const browserify = require('browserify')
4
+ const {
5
+ dest
6
+ } = require('gulp')
7
+ const gulpConfig = require('../gulp.config.js')
8
+ const source = require('vinyl-source-stream')
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
- */
16
- const bundle = () => browserify(gulpConfig.get('distMain')).bundle().pipe(source(`${gulpConfig.get('browserName')}.js`)).pipe(dest(gulpConfig.get('browserPath')))
17
- module.exports = bundle
14
+ */
15
+ const bundle = () => browserify(gulpConfig.get('dist.main')).bundle().pipe(source(''.concat(gulpConfig.get('browser.name'), '.js'))).pipe(dest(gulpConfig.get('browser.to')))
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;
@@ -1,22 +1,21 @@
1
- 'use strict'
2
-
3
- const {
4
- dest,
5
- src
6
- } = require('gulp')
7
- const gulpConfig = require('../gulp.config.js')
8
- const standard = require('gulp-standard')
9
-
1
+ 'use strict'
2
+
3
+ const {
4
+ dest,
5
+ src
6
+ } = require('gulp')
7
+ const gulpConfig = require('../gulp.config.js')
8
+ const standard = require('gulp-standard')
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
- */
16
- const bundleLint = () => src(`${gulpConfig.get('browserPath')}/${gulpConfig.get('browserName')}.js`).pipe(standard({
17
- fix: true
18
- })).pipe(standard.reporter('default', {
19
- fix: true,
20
- quiet: true
21
- })).pipe(dest(gulpConfig.get('browserPath')))
22
- module.exports = bundleLint
14
+ */
15
+ const bundleLint = () => src(''.concat(gulpConfig.get('browser.to'), '/').concat(gulpConfig.get('browser.name'), '.js')).pipe(standard({
16
+ fix: true
17
+ })).pipe(standard.reporter('default', {
18
+ fix: true,
19
+ quiet: true
20
+ })).pipe(dest(gulpConfig.get('browser.to')))
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;
@@ -1,13 +1,12 @@
1
- 'use strict'
2
-
3
- const gulpConfig = require('../gulp.config.js')
4
- const minifyFor = require('./partials/minifyFor')
5
-
1
+ 'use strict'
2
+
3
+ const gulpConfig = require('../gulp.config.js')
4
+ const minifyFor = require('./partials/minifyFor')
5
+
6
6
  /**
7
7
  * Creates the minified bundle file.
8
- * @function
9
8
  * @memberOf module:js-build-tools
10
9
  * @returns {*}
11
- */
12
- const bundleMinify = () => minifyFor(`${gulpConfig.get('browserPath')}/${gulpConfig.get('browserName')}.js`, gulpConfig.get('browserPath'))
13
- module.exports = bundleMinify
10
+ */
11
+ const bundleMinify = () => minifyFor(''.concat(gulpConfig.get('browser.to'), '/').concat(gulpConfig.get('browser.name'), '.js'), gulpConfig.get('browser.to'))
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
@@ -4,7 +4,6 @@ const distFor = require('./partials/distFor.js')
4
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
9
  */
package/dist/distLint.js CHANGED
@@ -1,22 +1,21 @@
1
- 'use strict'
2
-
3
- const gulpConfig = require('../gulp.config.js')
4
- const {
5
- dest,
6
- src
7
- } = require('gulp')
8
- const standard = require('gulp-standard')
9
-
1
+ 'use strict'
2
+
3
+ const gulpConfig = require('../gulp.config.js')
4
+ const {
5
+ dest,
6
+ src
7
+ } = require('gulp')
8
+ const standard = require('gulp-standard')
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
- */
16
- const distLint = () => src(gulpConfig.get('distSearch')).pipe(standard({
17
- fix: true
18
- })).pipe(standard.reporter('default', {
19
- fix: true,
20
- quiet: true
21
- })).pipe(dest(gulpConfig.get('distPath')))
22
- module.exports = distLint
14
+ */
15
+ const distLint = () => src(gulpConfig.get('browser.from')).pipe(standard({
16
+ fix: true
17
+ })).pipe(standard.reporter('default', {
18
+ fix: true,
19
+ quiet: true
20
+ })).pipe(dest(gulpConfig.get('dist.to')))
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;
@@ -1,13 +1,12 @@
1
- 'use strict'
2
-
3
- const gulpConfig = require('../gulp.config.js')
4
- const minifyFor = require('./partials/minifyFor')
5
-
1
+ 'use strict'
2
+
3
+ const gulpConfig = require('../gulp.config.js')
4
+ const minifyFor = require('./partials/minifyFor')
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
- */
12
- const distMinify = () => minifyFor(gulpConfig.get('distSearch'), gulpConfig.get('distPath'))
13
- module.exports = distMinify
10
+ */
11
+ const distMinify = () => minifyFor(gulpConfig.get('browser.from'), gulpConfig.get('dist.to'))
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;
@@ -1,20 +1,19 @@
1
- "use strict";
2
-
3
- const fs = require('fs');
4
- const gulpConfig = require('../../gulp.config.js');
5
- const jsdoc2md = require('jsdoc-to-markdown');
6
- const {
7
- globSync
8
- } = require('glob');
9
-
1
+ "use strict";
2
+
3
+ const fs = require('fs');
4
+ const gulpConfig = require('../../gulp.config.js');
5
+ const jsdoc2md = require('jsdoc-to-markdown');
6
+ const {
7
+ globSync
8
+ } = require('glob');
9
+
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
- */
17
- 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')));
15
+ */
16
+ const addToReadme = () => jsdoc2md.render({
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;
@@ -1,15 +1,14 @@
1
- "use strict";
2
-
3
- const gulpConfig = require('../../gulp.config.js');
4
- const {
5
- watch
6
- } = require('gulp');
7
-
1
+ "use strict";
2
+
3
+ const gulpConfig = require('../../gulp.config.js');
4
+ const {
5
+ watch
6
+ } = require('gulp');
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
- */
14
- const beginWatcher = () => watch(gulpConfig.get('watchSearch'));
12
+ */
13
+ const beginWatcher = () => watch(gulpConfig.get('test.watch'));
15
14
  module.exports = beginWatcher;
@@ -9,7 +9,6 @@ const removeDirectory = require('./removeDirectory');
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
14
  */
@@ -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;
@@ -1,24 +1,23 @@
1
- "use strict";
2
-
3
- const babel = require('gulp-babel');
4
- const {
5
- dest,
6
- src
7
- } = require('gulp');
8
- const distForSrc = require('./distForSrc');
9
- const gulpConfig = require('../../gulp.config.js');
10
-
1
+ "use strict";
2
+
3
+ const babel = require('gulp-babel');
4
+ const {
5
+ dest,
6
+ src
7
+ } = require('gulp');
8
+ const distForSrc = require('./distForSrc');
9
+ const gulpConfig = require('../../gulp.config.js');
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']
17
16
  * @returns {stream.Stream}
18
- */
19
- const distFor = function () {
20
- 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');
22
- return src(srcPath).pipe(babel()).pipe(dest(destPath));
23
- };
17
+ */
18
+ const distFor = function () {
19
+ let srcPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : distForSrc();
20
+ let destPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gulpConfig.get('dist.to');
21
+ return src(srcPath).pipe(babel()).pipe(dest(destPath));
22
+ };
24
23
  module.exports = distFor;
@@ -1,16 +1,15 @@
1
- "use strict";
2
-
3
- const gulpConfig = require('../../gulp.config');
4
-
1
+ "use strict";
2
+
3
+ const gulpConfig = require('../../gulp.config');
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
- */
12
- 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');
15
- };
10
+ */
11
+ const distForSrc = function () {
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');
14
+ };
16
15
  module.exports = distForSrc;
@@ -1,28 +1,27 @@
1
- "use strict";
2
-
3
- const gulpConfig = require('../../gulp.config');
4
- const distFor = require('./distFor');
5
- const distForSrc = require('./distForSrc');
6
- const {
7
- series
8
- } = require('gulp');
9
- const tsFor = require('./tsFor');
10
-
1
+ "use strict";
2
+
3
+ const gulpConfig = require('../../gulp.config');
4
+ const distFor = require('./distFor');
5
+ const distForSrc = require('./distForSrc');
6
+ const {
7
+ series
8
+ } = require('gulp');
9
+ const tsFor = require('./tsFor');
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']
17
16
  * @param {string} [tsSearch='ts/search/config/path']
18
17
  * @returns {function(null=): stream.Stream}
19
- */
20
- const distSeries = function () {
21
- 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');
24
- const typescript = tsFor(tsSearch, distFinalPath);
25
- const dist = () => distFor(srcPath, distFinalPath);
26
- return gulpConfig.get('useTsConfig') ? series(typescript, dist) : dist;
27
- };
18
+ */
19
+ const distSeries = function () {
20
+ let srcPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : distForSrc();
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');
23
+ const typescript = tsFor(tsSearch, distFinalPath);
24
+ const dist = () => distFor(srcPath, distFinalPath);
25
+ return gulpConfig.get('typescript.enabled') ? series(typescript, dist) : dist;
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;
@@ -11,7 +11,6 @@ const rename = require('gulp-rename');
11
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
16
  */
@@ -1,17 +1,16 @@
1
- "use strict";
2
-
3
- const {
4
- dest,
5
- src
6
- } = require('gulp');
7
- const gulpConfig = require('../../gulp.config.js');
8
- const rename = require('gulp-rename');
9
-
1
+ "use strict";
2
+
3
+ const {
4
+ dest,
5
+ src
6
+ } = require('gulp');
7
+ const gulpConfig = require('../../gulp.config.js');
8
+ const rename = require('gulp-rename');
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
- */
16
- const readmeTemplate = () => src(gulpConfig.get('readmeTemplate')).pipe(rename(gulpConfig.get('readmeFile'))).pipe(dest(gulpConfig.get('readmePath')));
14
+ */
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;
@@ -5,12 +5,11 @@ const {
5
5
  exists
6
6
  } = require('fs');
7
7
 
8
- /**
9
- * Return a promise to be completed once the specified directory is deleted.
10
- * @function
11
- * @memberOf module:partials
12
- * @param {string} dirPath
13
- * @returns {Promise<*>}
8
+ /**
9
+ * Return a promise to be completed once the specified directory is deleted.
10
+ * @memberOf module:partials
11
+ * @param {string} dirPath
12
+ * @returns {Promise<*>}
14
13
  */
15
14
  const removeDirectory = dirPath => new Promise((resolve, reject) => exists(dirPath, doesExist => doesExist ? rm(dirPath, {
16
15
  recursive: true