js-build-tools 1.2.3 → 2.1.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 (140) hide show
  1. package/README.md +573 -250
  2. package/dist/build.js +22 -15
  3. package/dist/build.min.js +1 -1
  4. package/dist/bundle.js +11 -8
  5. package/dist/bundle.min.js +1 -1
  6. package/dist/bundleLint.js +17 -13
  7. package/dist/bundleLint.min.js +1 -1
  8. package/dist/bundleMinify.js +8 -12
  9. package/dist/bundleMinify.min.js +1 -1
  10. package/dist/compileReadme.js +8 -6
  11. package/dist/compileReadme.min.js +1 -1
  12. package/dist/default.js +12 -7
  13. package/dist/default.min.js +1 -1
  14. package/dist/dist.js +6 -2
  15. package/dist/dist.min.js +1 -1
  16. package/dist/distLint.js +15 -12
  17. package/dist/distLint.min.js +1 -1
  18. package/dist/distMinify.js +7 -12
  19. package/dist/distMinify.min.js +1 -1
  20. package/dist/partials/addToReadme.js +25 -0
  21. package/dist/partials/beginWatcher.js +16 -0
  22. package/dist/partials/clean.js +21 -0
  23. package/dist/partials/distFor.js +23 -0
  24. package/dist/partials/distForSrc.js +16 -0
  25. package/dist/partials/distSeries.js +31 -0
  26. package/dist/partials/minifyFor.js +21 -0
  27. package/dist/partials/readmeTemplate.js +18 -0
  28. package/dist/partials/runOnChange.js +63 -0
  29. package/dist/partials/tsFor.js +24 -0
  30. package/dist/partials.js +33 -0
  31. package/dist/partials.min.js +1 -0
  32. package/dist/test-helpers/circularObject.js +50 -0
  33. package/dist/test-helpers/countMatches.js +16 -0
  34. package/dist/test-helpers/deepReferenceObject.js +20 -0
  35. package/dist/test-helpers/domItem.js +33 -0
  36. package/dist/test-helpers/jsonDom.js +20 -0
  37. package/dist/test-helpers/linkedList.js +23 -0
  38. package/dist/test-helpers/logObject.js +24 -0
  39. package/dist/test-helpers/multiReferenceObject.js +20 -0
  40. package/dist/test-helpers/nodeTree.js +28 -0
  41. package/dist/test-helpers/setUp.js +127 -0
  42. package/dist/testFull.js +16 -5
  43. package/dist/testFull.min.js +1 -1
  44. package/dist/testHelpers.js +29 -194
  45. package/dist/testHelpers.min.js +1 -1
  46. package/dist/testQuick.js +18 -7
  47. package/dist/testQuick.min.js +1 -1
  48. package/dist/typeScript.js +14 -0
  49. package/dist/typeScript.min.js +1 -0
  50. package/dist/watchFull.js +9 -16
  51. package/dist/watchFull.min.js +1 -1
  52. package/dist/watchTest.js +11 -9
  53. package/dist/watchTest.min.js +1 -1
  54. package/functions/build.js +8 -5
  55. package/functions/build.test.js +59 -0
  56. package/functions/bundle.js +6 -4
  57. package/functions/bundle.test.js +68 -0
  58. package/functions/bundleLint.js +5 -3
  59. package/functions/bundleLint.test.js +61 -0
  60. package/functions/bundleMinify.js +4 -7
  61. package/functions/bundleMinify.test.js +14 -0
  62. package/functions/compileReadme.js +3 -2
  63. package/functions/compileReadme.test.js +18 -0
  64. package/functions/default.js +5 -2
  65. package/functions/default.test.js +32 -0
  66. package/functions/dist.js +3 -1
  67. package/functions/dist.test.js +43 -0
  68. package/functions/distLint.js +4 -2
  69. package/functions/distLint.test.js +58 -0
  70. package/functions/distMinify.js +4 -7
  71. package/functions/distMinify.test.js +14 -0
  72. package/functions/partials/addToReadme.js +20 -0
  73. package/functions/partials/addToReadme.test.js +28 -0
  74. package/functions/partials/beginWatcher.js +12 -0
  75. package/functions/partials/beginWatcher.test.js +18 -0
  76. package/functions/partials/clean.js +14 -0
  77. package/functions/partials/clean.test.js +20 -0
  78. package/functions/partials/distFor.js +18 -0
  79. package/functions/partials/distFor.test.js +125 -0
  80. package/functions/partials/distForSrc.js +14 -0
  81. package/functions/partials/distForSrc.test.js +17 -0
  82. package/functions/partials/distSeries.js +21 -0
  83. package/functions/partials/distSeries.test.js +33 -0
  84. package/functions/partials/minifyFor.js +16 -0
  85. package/functions/partials/minifyFor.test.js +48 -0
  86. package/functions/partials/readmeTemplate.js +15 -0
  87. package/functions/partials/readmeTemplate.test.js +33 -0
  88. package/functions/partials/runOnChange.js +57 -0
  89. package/functions/partials/runOnChange.test.js +93 -0
  90. package/functions/partials/tsFor.js +21 -0
  91. package/functions/partials/tsFor.test.js +44 -0
  92. package/functions/partials.js +32 -0
  93. package/functions/partials.test.js +7 -0
  94. package/functions/test-helpers/circularObject.js +28 -0
  95. package/functions/test-helpers/circularObject.test.js +14 -0
  96. package/functions/test-helpers/countMatches.js +11 -0
  97. package/functions/test-helpers/countMatches.test.js +9 -0
  98. package/functions/test-helpers/deepReferenceObject.js +25 -0
  99. package/functions/test-helpers/deepReferenceObject.test.js +7 -0
  100. package/functions/test-helpers/domItem.js +31 -0
  101. package/functions/test-helpers/domItem.test.js +12 -0
  102. package/functions/test-helpers/jsonDom.js +16 -0
  103. package/functions/test-helpers/jsonDom.test.js +12 -0
  104. package/functions/test-helpers/linkedList.js +10 -0
  105. package/functions/test-helpers/linkedList.test.js +22 -0
  106. package/functions/test-helpers/logObject.js +18 -0
  107. package/functions/test-helpers/logObject.test.js +20 -0
  108. package/functions/test-helpers/multiReferenceObject.js +25 -0
  109. package/functions/test-helpers/multiReferenceObject.test.js +14 -0
  110. package/functions/test-helpers/nodeTree.js +11 -0
  111. package/functions/test-helpers/nodeTree.test.js +18 -0
  112. package/functions/test-helpers/setUp.js +67 -0
  113. package/functions/test-helpers/setUp.test.js +18 -0
  114. package/functions/testFull.js +13 -3
  115. package/functions/testFull.test.js +16 -0
  116. package/functions/testHelpers.js +27 -137
  117. package/functions/testHelpers.test.js +3 -96
  118. package/functions/testQuick.js +12 -2
  119. package/functions/testQuick.test.js +16 -0
  120. package/functions/typeScript.js +11 -0
  121. package/functions/typeScript.test.js +10 -0
  122. package/functions/watchFull.js +6 -12
  123. package/functions/watchFull.test.js +40 -0
  124. package/functions/watchTest.js +4 -2
  125. package/functions/watchTest.test.js +48 -0
  126. package/gulp.config.js +161 -16
  127. package/gulpfile.base.js +9 -0
  128. package/package.json +1 -1
  129. package/dist/addToReadme.js +0 -22
  130. package/dist/addToReadme.min.js +0 -1
  131. package/dist/clean.js +0 -11
  132. package/dist/clean.min.js +0 -1
  133. package/dist/distFor.js +0 -21
  134. package/dist/distFor.min.js +0 -1
  135. package/dist/readmeTemplate.js +0 -15
  136. package/dist/readmeTemplate.min.js +0 -1
  137. package/functions/addToReadme.js +0 -17
  138. package/functions/clean.js +0 -10
  139. package/functions/distFor.js +0 -15
  140. package/functions/readmeTemplate.js +0 -13
package/dist/build.js CHANGED
@@ -1,23 +1,30 @@
1
1
  'use strict'
2
2
 
3
- const bundle = require('./bundle')
4
- const bundleLint = require('./bundleLint')
5
- const bundleMinify = require('./bundleMinify')
6
- const clean = require('./clean')
7
- const compileReadme = require('./compileReadme')
8
- const dist = require('./dist')
9
- const distLint = require('./distLint')
10
- const distMinify = require('./distMinify')
11
- const {
12
- parallel,
13
- series
14
- } = require('gulp')
15
- const gulpConfig = require('../gulp.config.js')
16
- const testFull = require('./testFull')
3
+ var bundle = require('./bundle')
4
+ var bundleLint = require('./bundleLint')
5
+ var bundleMinify = require('./bundleMinify')
6
+ var _require = require('./partials')
7
+ var clean = _require.clean
8
+ var distSeries = _require.distSeries
9
+ var compileReadme = require('./compileReadme')
10
+ var dist = require('./dist')
11
+ var distLint = require('./distLint')
12
+ var distMinify = require('./distMinify')
13
+ var _require2 = require('gulp')
14
+ var parallel = _require2.parallel
15
+ var series = _require2.series
16
+ var gulpConfig = require('../gulp.config.js')
17
+ var testFull = require('./testFull')
17
18
 
18
19
  /**
19
20
  * Runs several processes to build and validate the project.
20
21
  * Cleans, distributes (lint and minify), bundles (lint and minify), creates the readme, then runs the tests.
22
+ * @memberOf module:js-build-tools
23
+ * @param {function} [done=null]
24
+ * @returns {stream.Stream}
21
25
  */
22
- const build = parallel(gulpConfig.nodeOnly ? series(clean, dist, parallel(distLint, distMinify)) : series(clean, dist, parallel(distLint, distMinify), bundle, parallel(bundleLint, bundleMinify)), compileReadme, testFull)
26
+ var build = function build () {
27
+ var done = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null
28
+ return parallel(gulpConfig.get('nodeOnly') ? series(clean, dist, parallel(distLint, distMinify)) : series(clean, distSeries, parallel(distLint, distMinify), bundle, parallel(bundleLint, bundleMinify)), compileReadme, testFull)(done)
29
+ }
23
30
  module.exports = build
package/dist/build.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";const bundle=require("./bundle"),bundleLint=require("./bundleLint"),bundleMinify=require("./bundleMinify"),clean=require("./clean"),compileReadme=require("./compileReadme"),dist=require("./dist"),distLint=require("./distLint"),distMinify=require("./distMinify"),{parallel:parallel,series:series}=require("gulp"),gulpConfig=require("../gulp.config.js"),testFull=require("./testFull"),build=parallel(gulpConfig.nodeOnly?series(clean,dist,parallel(distLint,distMinify)):series(clean,dist,parallel(distLint,distMinify),bundle,parallel(bundleLint,bundleMinify)),compileReadme,testFull);module.exports=build;
1
+ "use strict";var bundle=require("./bundle"),bundleLint=require("./bundleLint"),bundleMinify=require("./bundleMinify"),_require=require("./partials"),clean=_require.clean,distSeries=_require.distSeries,compileReadme=require("./compileReadme"),dist=require("./dist"),distLint=require("./distLint"),distMinify=require("./distMinify"),_require2=require("gulp"),parallel=_require2.parallel,series=_require2.series,gulpConfig=require("../gulp.config.js"),testFull=require("./testFull"),build=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return parallel(gulpConfig.get("nodeOnly")?series(clean,dist,parallel(distLint,distMinify)):series(clean,distSeries,parallel(distLint,distMinify),bundle,parallel(bundleLint,bundleMinify)),compileReadme,testFull)(e)};module.exports=build;
package/dist/bundle.js CHANGED
@@ -1,15 +1,18 @@
1
1
  'use strict'
2
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')
3
+ var browserify = require('browserify')
4
+ var _require = require('gulp')
5
+ var dest = _require.dest
6
+ var gulpConfig = require('../gulp.config.js')
7
+ var source = require('vinyl-source-stream')
9
8
 
10
9
  /**
11
10
  * Starting at the distribution entry point, bundle all the files into a single file and store them in the specified output directory.
12
- * @returns {*}
11
+ * @function
12
+ * @memberOf module:js-build-tools
13
+ * @returns {stream.Stream}
13
14
  */
14
- const bundle = () => browserify(gulpConfig.distMain).bundle().pipe(source(''.concat(gulpConfig.browserName, '.js'))).pipe(dest(gulpConfig.browserPath))
15
+ var bundle = function bundle () {
16
+ return browserify(gulpConfig.get('distMain')).bundle().pipe(source(''.concat(gulpConfig.get('browserName'), '.js'))).pipe(dest(gulpConfig.get('browserPath')))
17
+ }
15
18
  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.distMain).bundle().pipe(source("".concat(gulpConfig.browserName,".js"))).pipe(dest(gulpConfig.browserPath));module.exports=bundle;
1
+ "use strict";var browserify=require("browserify"),_require=require("gulp"),dest=_require.dest,gulpConfig=require("../gulp.config.js"),source=require("vinyl-source-stream"),bundle=function(){return browserify(gulpConfig.get("distMain")).bundle().pipe(source("".concat(gulpConfig.get("browserName"),".js"))).pipe(dest(gulpConfig.get("browserPath")))};module.exports=bundle;
@@ -1,20 +1,24 @@
1
1
  'use strict'
2
2
 
3
- const {
4
- dest,
5
- src
6
- } = require('gulp')
7
- const gulpConfig = require('../gulp.config.js')
8
- const standard = require('gulp-standard')
3
+ require('core-js/modules/es.array.concat.js')
4
+ var _require = require('gulp')
5
+ var dest = _require.dest
6
+ var src = _require.src
7
+ var gulpConfig = require('../gulp.config.js')
8
+ var standard = require('gulp-standard')
9
9
 
10
10
  /**
11
11
  * Applies Standard code style linting to bundled file.
12
- * @returns {*}
12
+ * @function
13
+ * @memberOf module:js-build-tools
14
+ * @returns {stream.Stream}
13
15
  */
14
- const bundleLint = () => src(''.concat(gulpConfig.browserPath, '/').concat(gulpConfig.browserName, '.js')).pipe(standard({
15
- fix: true
16
- })).pipe(standard.reporter('default', {
17
- fix: true,
18
- quiet: true
19
- })).pipe(dest(gulpConfig.browserPath))
16
+ var bundleLint = function bundleLint () {
17
+ return src(''.concat(gulpConfig.get('browserPath'), '/').concat(gulpConfig.get('browserName'), '.js')).pipe(standard({
18
+ fix: true
19
+ })).pipe(standard.reporter('default', {
20
+ fix: true,
21
+ quiet: true
22
+ })).pipe(dest(gulpConfig.get('browserPath')))
23
+ }
20
24
  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("".concat(gulpConfig.browserPath,"/").concat(gulpConfig.browserName,".js")).pipe(standard({fix:!0})).pipe(standard.reporter("default",{fix:!0,quiet:!0})).pipe(dest(gulpConfig.browserPath));module.exports=bundleLint;
1
+ "use strict";require("core-js/modules/es.array.concat.js");var _require=require("gulp"),dest=_require.dest,src=_require.src,gulpConfig=require("../gulp.config.js"),standard=require("gulp-standard"),bundleLint=function(){return src("".concat(gulpConfig.get("browserPath"),"/").concat(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,20 +1,16 @@
1
1
  'use strict'
2
2
 
3
- const {
4
- dest,
5
- src
6
- } = require('gulp')
7
- const gulpConfig = require('../gulp.config.js')
8
- const {
9
- default: uglify
10
- } = require('gulp-uglify-es')
11
- const rename = require('gulp-rename')
3
+ require('core-js/modules/es.array.concat.js')
4
+ var gulpConfig = require('../gulp.config.js')
5
+ var minifyFor = require('./partials/minifyFor')
12
6
 
13
7
  /**
14
8
  * Creates the minified bundle file.
9
+ * @function
10
+ * @memberOf module:js-build-tools
15
11
  * @returns {*}
16
12
  */
17
- const bundleMinify = () => src(''.concat(gulpConfig.browserPath, '/').concat(gulpConfig.browserName, '.js')).pipe(uglify()).pipe(rename({
18
- extname: '.min.js'
19
- })).pipe(dest(gulpConfig.browserPath))
13
+ var bundleMinify = function bundleMinify () {
14
+ return minifyFor(''.concat(gulpConfig.get('browserPath'), '/').concat(gulpConfig.get('browserName'), '.js'), gulpConfig.get('browserPath'))
15
+ }
20
16
  module.exports = bundleMinify
@@ -1 +1 @@
1
- "use strict";const{dest:dest,src:src}=require("gulp"),gulpConfig=require("../gulp.config.js"),{default:uglify}=require("gulp-uglify-es"),rename=require("gulp-rename"),bundleMinify=()=>src("".concat(gulpConfig.browserPath,"/").concat(gulpConfig.browserName,".js")).pipe(uglify()).pipe(rename({extname:".min.js"})).pipe(dest(gulpConfig.browserPath));module.exports=bundleMinify;
1
+ "use strict";require("core-js/modules/es.array.concat.js");var gulpConfig=require("../gulp.config.js"),minifyFor=require("./partials/minifyFor"),bundleMinify=function(){return minifyFor("".concat(gulpConfig.get("browserPath"),"/").concat(gulpConfig.get("browserName"),".js"),gulpConfig.get("browserPath"))};module.exports=bundleMinify;
@@ -1,13 +1,15 @@
1
1
  'use strict'
2
2
 
3
- const addToReadme = require('./addToReadme')
4
- const readmeTemplate = require('./readmeTemplate')
5
- const {
6
- series
7
- } = require('gulp')
3
+ var _require = require('./partials')
4
+ var addToReadme = _require.addToReadme
5
+ var readmeTemplate = _require.readmeTemplate
6
+ var _require2 = require('gulp')
7
+ var series = _require2.series
8
8
 
9
9
  /**
10
10
  * Generate the README.md file based off of the template, then append the generated documentation.
11
+ * @memberOf module:js-build-tools
12
+ * @returns {stream.Stream}
11
13
  */
12
- const compileReadme = series(readmeTemplate, addToReadme)
14
+ var compileReadme = series(readmeTemplate, addToReadme)
13
15
  module.exports = compileReadme
@@ -1 +1 @@
1
- "use strict";const addToReadme=require("./addToReadme"),readmeTemplate=require("./readmeTemplate"),{series:series}=require("gulp"),compileReadme=series(readmeTemplate,addToReadme);module.exports=compileReadme;
1
+ "use strict";var _require=require("./partials"),addToReadme=_require.addToReadme,readmeTemplate=_require.readmeTemplate,_require2=require("gulp"),series=_require2.series,compileReadme=series(readmeTemplate,addToReadme);module.exports=compileReadme;
package/dist/default.js CHANGED
@@ -1,14 +1,19 @@
1
1
  'use strict'
2
2
 
3
- const {
4
- series
5
- } = require('gulp')
6
- const dist = require('./dist')
7
- const bundle = require('./bundle')
8
- const gulpConfig = require('../gulp.config')
3
+ var dist = require('./dist')
4
+ var bundle = require('./bundle')
5
+ var gulpConfig = require('../gulp.config')
6
+ var _require = require('gulp')
7
+ var series = _require.series
9
8
 
10
9
  /**
11
10
  * Recommended as the default task, runs the simple dist and bundle tasks.
11
+ * @memberOf module:js-build-tools
12
+ * @param {function} [done=null]
13
+ * @returns {stream.Stream}
12
14
  */
13
- const defaultCmd = gulpConfig.nodeOnly ? series(dist) : series(dist, bundle)
15
+ var defaultCmd = function defaultCmd () {
16
+ var done = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null
17
+ return gulpConfig.get('nodeOnly') ? series(dist)(done) : series(dist, bundle)(done)
18
+ }
14
19
  module.exports = defaultCmd
@@ -1 +1 @@
1
- "use strict";const{series:series}=require("gulp"),dist=require("./dist"),bundle=require("./bundle"),gulpConfig=require("../gulp.config"),defaultCmd=gulpConfig.nodeOnly?series(dist):series(dist,bundle);module.exports=defaultCmd;
1
+ "use strict";var dist=require("./dist"),bundle=require("./bundle"),gulpConfig=require("../gulp.config"),_require=require("gulp"),series=_require.series,defaultCmd=function(){var 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;
package/dist/dist.js CHANGED
@@ -1,10 +1,14 @@
1
1
  'use strict'
2
2
 
3
- const distFor = require('./distFor.js')
3
+ var distFor = require('./partials/distFor.js')
4
4
 
5
5
  /**
6
6
  * Simplified distribution tasks which will use arguments from distFor.
7
+ * @function
8
+ * @memberOf module:js-build-tools
7
9
  * @returns {*}
8
10
  */
9
- const dist = () => distFor()
11
+ var dist = function dist () {
12
+ return distFor()
13
+ }
10
14
  module.exports = dist
package/dist/dist.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";const distFor=require("./distFor.js"),dist=()=>distFor();module.exports=dist;
1
+ "use strict";var distFor=require("./partials/distFor.js"),dist=function(){return distFor()};module.exports=dist;
package/dist/distLint.js CHANGED
@@ -1,20 +1,23 @@
1
1
  'use strict'
2
2
 
3
- const gulpConfig = require('../gulp.config.js')
4
- const {
5
- dest,
6
- src
7
- } = require('gulp')
8
- const standard = require('gulp-standard')
3
+ var gulpConfig = require('../gulp.config.js')
4
+ var _require = require('gulp')
5
+ var dest = _require.dest
6
+ var src = _require.src
7
+ var standard = require('gulp-standard')
9
8
 
10
9
  /**
11
10
  * Applies Standard code style linting to distribution files.
11
+ * @function
12
+ * @memberOf module:js-build-tools
12
13
  * @returns {*}
13
14
  */
14
- const distLint = () => src(gulpConfig.distSearch).pipe(standard({
15
- fix: true
16
- })).pipe(standard.reporter('default', {
17
- fix: true,
18
- quiet: true
19
- })).pipe(dest(gulpConfig.distPath))
15
+ var distLint = function distLint () {
16
+ return 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
+ }
20
23
  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.distSearch).pipe(standard({fix:!0})).pipe(standard.reporter("default",{fix:!0,quiet:!0})).pipe(dest(gulpConfig.distPath));module.exports=distLint;
1
+ "use strict";var gulpConfig=require("../gulp.config.js"),_require=require("gulp"),dest=_require.dest,src=_require.src,standard=require("gulp-standard"),distLint=function(){return 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,20 +1,15 @@
1
1
  'use strict'
2
2
 
3
- const {
4
- dest,
5
- src
6
- } = require('gulp')
7
- const gulpConfig = require('../gulp.config.js')
8
- const {
9
- default: uglify
10
- } = require('gulp-uglify-es')
11
- const rename = require('gulp-rename')
3
+ var gulpConfig = require('../gulp.config.js')
4
+ var minifyFor = require('./partials/minifyFor')
12
5
 
13
6
  /**
14
7
  * Creates minified versions of the dist files.
8
+ * @function
9
+ * @memberOf module:js-build-tools
15
10
  * @returns {*}
16
11
  */
17
- const distMinify = () => src(gulpConfig.distSearch).pipe(uglify()).pipe(rename({
18
- extname: '.min.js'
19
- })).pipe(dest(gulpConfig.distPath))
12
+ var distMinify = function distMinify () {
13
+ return minifyFor(gulpConfig.get('distSearch'), gulpConfig.get('distPath'))
14
+ }
20
15
  module.exports = distMinify
@@ -1 +1 @@
1
- "use strict";const{dest:dest,src:src}=require("gulp"),gulpConfig=require("../gulp.config.js"),{default:uglify}=require("gulp-uglify-es"),rename=require("gulp-rename"),distMinify=()=>src(gulpConfig.distSearch).pipe(uglify()).pipe(rename({extname:".min.js"})).pipe(dest(gulpConfig.distPath));module.exports=distMinify;
1
+ "use strict";var gulpConfig=require("../gulp.config.js"),minifyFor=require("./partials/minifyFor"),distMinify=function(){return minifyFor(gulpConfig.get("distSearch"),gulpConfig.get("distPath"))};module.exports=distMinify;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var fs = require('fs');
4
+ var gulpConfig = require('../../gulp.config.js');
5
+ var jsdoc2md = require('jsdoc-to-markdown');
6
+ var _require = require('glob'),
7
+ globSync = _require.globSync;
8
+
9
+ /**
10
+ * Appends all the jsdoc comments to the readme file. Assumes empty or templated file.
11
+ * @function
12
+ * @memberOf module:partials
13
+ * @param {function|null} [done=null]
14
+ * @returns {string|Uint8Array}
15
+ */
16
+ var addToReadme = function addToReadme() {
17
+ var done = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
18
+ var files = globSync(gulpConfig.get('readmeSearch'));
19
+ var readme = jsdoc2md.renderSync({
20
+ files: files
21
+ });
22
+ fs.appendFileSync(gulpConfig.get('readmePath') + gulpConfig.get('readmeFile'), readme, gulpConfig.get('readmeOptions'));
23
+ return done && done();
24
+ };
25
+ module.exports = addToReadme;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var gulpConfig = require('../../gulp.config.js');
4
+ var _require = require('gulp'),
5
+ watch = _require.watch;
6
+
7
+ /**
8
+ * Create a chokidar instance which watches and triggers change when the globed files are modified.
9
+ * @function
10
+ * @memberOf module:partials
11
+ * @returns {FSWatcher}
12
+ */
13
+ var beginWatcher = function beginWatcher() {
14
+ return watch(gulpConfig.get('watchSearch'));
15
+ };
16
+ module.exports = beginWatcher;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var del = require('del');
4
+ var gulpConfig = require('../../gulp.config.js');
5
+
6
+ /**
7
+ * Deletes all the distribution and browser files (used before create a new build).
8
+ * @function
9
+ * @memberOf module:partials
10
+ * @param {function} [done=null]
11
+ * @param {string[]} [paths=['dist/config/path', 'browser/config/path']]
12
+ * @returns {Promise<string[]> | *}
13
+ */
14
+ var clean = function clean() {
15
+ var done = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
16
+ var paths = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [gulpConfig.get('distPath'), gulpConfig.get('browserPath')];
17
+ return del(paths).then(function () {
18
+ return done && done();
19
+ });
20
+ };
21
+ module.exports = clean;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var babel = require('gulp-babel');
4
+ var _require = require('gulp'),
5
+ dest = _require.dest,
6
+ src = _require.src;
7
+ var distForSrc = require('./distForSrc');
8
+ var gulpConfig = require('../../gulp.config.js');
9
+
10
+ /**
11
+ * Build the distribution for a given source pattern.
12
+ * @function
13
+ * @memberOf module:partials
14
+ * @param {string|array} [srcPath='src/config/path/dist/for']
15
+ * @param {string} [destPath='dist/config/path']
16
+ * @returns {*}
17
+ */
18
+ var distFor = function distFor() {
19
+ var srcPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : distForSrc();
20
+ var destPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gulpConfig.get('distPath');
21
+ return src(srcPath).pipe(babel()).pipe(dest(destPath));
22
+ };
23
+ module.exports = distFor;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var gulpConfig = require('../../gulp.config');
4
+
5
+ /**
6
+ * Retrieve the correct distFor search path based on TS Config.
7
+ * @function
8
+ * @memberOf module:partials
9
+ * @param {module:gulpConfig~FlagStringSetting} [useTs='config/for/ts']
10
+ * @returns {string}
11
+ */
12
+ var distForSrc = function distForSrc() {
13
+ var useTs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : gulpConfig.get('useTsConfig');
14
+ return useTs ? gulpConfig.get('distSearch') : gulpConfig.get('srcSearch');
15
+ };
16
+ module.exports = distForSrc;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var gulpConfig = require('../../gulp.config');
4
+ var distFor = require('./distFor');
5
+ var distForSrc = require('./distForSrc');
6
+ var _require = require('gulp'),
7
+ series = _require.series;
8
+ var tsFor = require('./tsFor');
9
+
10
+ /**
11
+ * When using TypeScript, ensure that we process the ts first then run babel (dist)
12
+ * @function
13
+ * @memberOf module:partials
14
+ * @param {string} [srcPath='src/config/path/dist/for']
15
+ * @param {string} [distFinalPath='dist/config/path']
16
+ * @param {string} [tsSearch='ts/search/config/path']
17
+ * @returns {Function}
18
+ */
19
+ var distSeries = function distSeries() {
20
+ var srcPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : distForSrc();
21
+ var distFinalPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gulpConfig.get('distPath');
22
+ var tsSearch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : gulpConfig.get('tsSearch');
23
+ return gulpConfig.get('useTsConfig') ? series(function () {
24
+ return tsFor(tsSearch, distFinalPath);
25
+ }, function () {
26
+ return distFor(srcPath, distFinalPath);
27
+ }) : function () {
28
+ return distFor(srcPath, distFinalPath);
29
+ };
30
+ };
31
+ module.exports = distSeries;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _require = require('gulp'),
4
+ dest = _require.dest,
5
+ src = _require.src;
6
+ var _require2 = require('gulp-uglify-es'),
7
+ uglify = _require2.default;
8
+ var rename = require('gulp-rename');
9
+
10
+ /**
11
+ * Minify files and rename the output with '.min' extension.
12
+ * @function
13
+ * @memberOf module:partials
14
+ * @returns {*}
15
+ */
16
+ var minifyFor = function minifyFor(srcSearch, destination) {
17
+ return src(srcSearch).pipe(uglify()).pipe(rename({
18
+ extname: '.min.js'
19
+ })).pipe(dest(destination));
20
+ };
21
+ module.exports = minifyFor;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _require = require('gulp'),
4
+ dest = _require.dest,
5
+ src = _require.src;
6
+ var gulpConfig = require('../../gulp.config.js');
7
+ var rename = require('gulp-rename');
8
+
9
+ /**
10
+ * Copy a readme template into the README.md file.
11
+ * @function
12
+ * @memberOf module:partials
13
+ * @returns {*}
14
+ */
15
+ var readmeTemplate = function readmeTemplate() {
16
+ return src(gulpConfig.get('readmeTemplate')).pipe(rename(gulpConfig.get('readmeFile'))).pipe(dest(gulpConfig.get('readmePath')));
17
+ };
18
+ module.exports = readmeTemplate;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.regexp.constructor.js");
4
+ require("core-js/modules/es.regexp.exec.js");
5
+ require("core-js/modules/es.regexp.sticky.js");
6
+ require("core-js/modules/es.regexp.to-string.js");
7
+ require("core-js/modules/es.string.replace.js");
8
+ var gulpConfig = require('../../gulp.config.js');
9
+ var bundle = require('../bundle');
10
+ var distSeries = require('./distSeries');
11
+ var _require = require('gulp'),
12
+ parallel = _require.parallel,
13
+ series = _require.series;
14
+ var testQuick = require('../testQuick');
15
+
16
+ /**
17
+ * Run this function when the watched files are modified.
18
+ * 1. Find the sub-folders within src path
19
+ * 2. Maintain the folders, but use distPath for base
20
+ * 3. Remove base folder and return dist path with correct sub-folders
21
+ * @example
22
+ * // Configured paths
23
+ * distPath = 'dist'
24
+ * srcPath = 'functions'
25
+ *
26
+ * // Path parameter
27
+ * path = 'functions/some/path/file.js'
28
+ *
29
+ * // Generated regex using configured srcPath
30
+ * pathRegex = '/^functions(.*\/).+\.js$/i'
31
+ *
32
+ * // Replace value using the configured distPath
33
+ * replacePath = 'dist$1'
34
+ *
35
+ * // The resulting replaced path for the destination folder
36
+ * distPathResult = 'dist/some/path/'
37
+ * @function
38
+ * @memberOf module:partials
39
+ * @param {string} path
40
+ * @returns {stream.Stream}
41
+ */
42
+ var runOnChange = function runOnChange(path) {
43
+ var useTs = gulpConfig.get('useTsConfig');
44
+ var distPath = gulpConfig.get('distPath');
45
+ var srcPath = gulpConfig.get('srcPath');
46
+ /**
47
+ * 1. The original path comes in from src and is a .ts
48
+ * 2. Discover the outgoing dist path where that file should go
49
+ * 3. Use the path and dist in tsFor
50
+ * 4. Take the original path, convert to full file path in dist
51
+ * 5. Use the dist path found previously in #2
52
+ * 6. Use the full dist path and the dist outgoing path in distFor
53
+ */
54
+ var pathRegex = new RegExp("^".concat(srcPath, "(.*\\/)(.+)\\.(js|ts)$"), 'i');
55
+ var distPathResult = path.replace(pathRegex, "".concat(distPath, "$1"));
56
+ var distSrcPath = path;
57
+ if (useTs) {
58
+ distSrcPath = path.replace(pathRegex, "".concat(distPath, "$1$2.js"));
59
+ }
60
+ var runSeries = distSeries(distSrcPath, distPathResult, path);
61
+ return gulpConfig.get('nodeOnly') ? series(testQuick, runSeries)() : parallel(testQuick, series(runSeries, bundle))();
62
+ };
63
+ module.exports = runOnChange;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _require = require('gulp'),
4
+ dest = _require.dest,
5
+ src = _require.src;
6
+ var gulpConfig = require('../../gulp.config.js');
7
+ var ts = require('gulp-typescript');
8
+ var tsProject = ts.createProject(gulpConfig.get('useTsConfig'));
9
+
10
+ /**
11
+ * Starting at the source directory, find all the ts files and convert them into the distribution directory.
12
+ * @function
13
+ * @memberOf module:partials
14
+ * @param {string|array} [srcPath='']
15
+ * @param {string} [distPath='']
16
+ * @returns {stream.Stream}
17
+ * @see `https://www.typescriptlang.org/docs/handbook/gulp.html` for more info
18
+ */
19
+ var tsFor = function tsFor() {
20
+ var srcPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : gulpConfig.get('tsSearch');
21
+ var distPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : gulpConfig.get('distPath');
22
+ return src(srcPath).pipe(tsProject()).js.pipe(dest(distPath));
23
+ };
24
+ module.exports = tsFor;
@@ -0,0 +1,33 @@
1
+ 'use strict'
2
+
3
+ /**
4
+ * Micro-functions used as components for the main gulp functions.
5
+ * @file
6
+ * @author Joshua Heagle <joshuaheagle@gmail.com>
7
+ * @version 2.0.0
8
+ * @module partials
9
+ * @memberOf module:js-build-tools
10
+ */
11
+
12
+ var addToReadme = require('./partials/addToReadme')
13
+ var beginWatcher = require('./partials/beginWatcher')
14
+ var clean = require('./partials/clean')
15
+ var distFor = require('./partials/distFor')
16
+ var distForSrc = require('./partials/distForSrc')
17
+ var distSeries = require('./partials/distSeries')
18
+ var minifyFor = require('./partials/minifyFor')
19
+ var readmeTemplate = require('./partials/readmeTemplate')
20
+ var runOnChange = require('./partials/runOnChange')
21
+ var tsFor = require('./partials/tsFor')
22
+ module.exports = {
23
+ addToReadme: addToReadme,
24
+ beginWatcher: beginWatcher,
25
+ clean: clean,
26
+ distFor: distFor,
27
+ distForSrc: distForSrc,
28
+ distSeries: distSeries,
29
+ minifyFor: minifyFor,
30
+ readmeTemplate: readmeTemplate,
31
+ runOnChange: runOnChange,
32
+ tsFor: tsFor
33
+ }
@@ -0,0 +1 @@
1
+ "use strict";var 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"),runOnChange=require("./partials/runOnChange"),tsFor=require("./partials/tsFor");module.exports={addToReadme:addToReadme,beginWatcher:beginWatcher,clean:clean,distFor:distFor,distForSrc:distForSrc,distSeries:distSeries,minifyFor:minifyFor,readmeTemplate:readmeTemplate,runOnChange:runOnChange,tsFor:tsFor};