added test
This commit is contained in:
		| @@ -17,7 +17,7 @@ var myFunction = function () { | ||||
| gulp.task('gulpTest',function() { | ||||
|     gulp.src('./mydir/*.something') | ||||
|         .pipe(gulpCallFunction(myFunction,'forEach')) | ||||
|         .pipe(gulp.dest(./build/)) | ||||
|         .pipe(gulp.dest("./build/")) | ||||
| }); | ||||
| ``` | ||||
|  | ||||
|   | ||||
							
								
								
									
										31
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								index.js
									
									
									
									
									
								
							| @@ -3,14 +3,17 @@ var through = require("through2"); | ||||
| var path = require("path"); | ||||
| var beautylog = require("beautylog"); | ||||
| //important vars | ||||
| var executionMode; //can be forEach or atEnd | ||||
| var functionsToExecute; | ||||
| var gulpCallFunction = { | ||||
|     executionMode: 'forEach', | ||||
|     functionsToExecute: undefined, | ||||
|     logBool: false | ||||
| }; | ||||
| var runFunctionNames = function () { | ||||
|     if (typeof functionsToExecute === "function") { | ||||
|         functionsToExecute(); | ||||
|     if (typeof gulpCallFunction.functionsToExecute == "function") { | ||||
|         gulpCallFunction.functionsToExecute(); | ||||
|     } | ||||
|     else if (Array.isArray(functionsToExecute)) { | ||||
|         for (var anyFunction in functionsToExecute) { | ||||
|     else if (Array.isArray(gulpCallFunction.functionsToExecute)) { | ||||
|         for (var anyFunction in gulpCallFunction.functionsToExecute) { | ||||
|             anyFunction(); | ||||
|         } | ||||
|     } | ||||
| @@ -19,20 +22,26 @@ var runFunctionNames = function () { | ||||
|     } | ||||
| }; | ||||
| var forEach = function (file, enc, cb) { | ||||
|     if (executionMode === 'forEach') { | ||||
|     if (gulpCallFunction.logBool) | ||||
|         beautylog.log(gulpCallFunction.executionMode); | ||||
|     if (gulpCallFunction.executionMode === 'forEach') { | ||||
|         if (gulpCallFunction.logBool) | ||||
|             beautylog.log('is forEach'); | ||||
|         runFunctionNames(); | ||||
|     } | ||||
|     //tell gulp that we are complete | ||||
|     return cb(null, file); | ||||
| }; | ||||
| var atEnd = function () { | ||||
|     if (executionMode === "atEnd") { | ||||
|     if (gulpCallFunction.executionMode == "atEnd") { | ||||
|         runFunctionNames(); | ||||
|     } | ||||
| }; | ||||
| module.exports = function (functionsToExecute, executionMode) { | ||||
| module.exports = function (functionsToExecute, executionMode, logBool) { | ||||
|     if (executionMode === void 0) { executionMode = 'forEach'; } | ||||
|     this.functionsToExecute = functionsToExecute; | ||||
|     this.executionMode = executionMode; | ||||
|     if (logBool === void 0) { logBool = false; } | ||||
|     gulpCallFunction.functionsToExecute = functionsToExecute; | ||||
|     gulpCallFunction.executionMode = executionMode; | ||||
|     gulpCallFunction.logBool = logBool; | ||||
|     return through.obj(forEach, atEnd); | ||||
| }; | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|   "description": "accepts a function call as parameter to execute in gulp pipeline", | ||||
|   "main": "index.js", | ||||
|   "scripts": { | ||||
|     "test": "(cd ts/compile && gulp)", | ||||
|     "test": "(cd ts/compile && node compile.js) && (node test.js)", | ||||
|     "reinstall": "(rm -r node_modules && npm install)", | ||||
|     "release": "(git pull origin master && npm version patch && git push origin master && git checkout release && git merge master && git push origin release && git checkout master)", | ||||
|     "startdev": "(git checkout master && git pull origin master)" | ||||
| @@ -29,6 +29,7 @@ | ||||
|     "gulp-typescript": "^2.9.2" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "beautylog": "0.0.15" | ||||
|     "beautylog": "0.0.15", | ||||
|     "through2": "^2.0.0" | ||||
|   } | ||||
| } | ||||
|   | ||||
							
								
								
									
										12
									
								
								test.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								test.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| /// <reference path="typings/tsd.d.ts" /> | ||||
| var gulp = require("gulp"); | ||||
| var gulpCallFunction = require("./index.js"); | ||||
| var myFunction = function () { | ||||
|     console.log("Hello World!"); | ||||
| }; | ||||
| gulp.task('default', function () { | ||||
|     gulp.src('./test/test.md') | ||||
|         .pipe(gulpCallFunction(myFunction, 'forEach')) | ||||
|         .pipe(gulp.dest("./test/result/")); | ||||
| }); | ||||
| gulp.start.apply(gulp, ['default']); | ||||
							
								
								
									
										2
									
								
								test/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								test/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| #Test | ||||
| This directory contains files for testing | ||||
							
								
								
									
										2
									
								
								test/result/test.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								test/result/test.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| # Test.md | ||||
| This is a test file for the test.js gulp pipeline | ||||
							
								
								
									
										2
									
								
								test/test.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								test/test.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| # Test.md | ||||
| This is a test file for the test.js gulp pipeline | ||||
| @@ -11,6 +11,16 @@ gulp.task('compileTS', function() { | ||||
| 	return stream; | ||||
| }); | ||||
| 
 | ||||
| gulp.task('default',['compileTS'], function() { | ||||
| gulp.task('compileTestTS', function() { | ||||
| 	var stream = gulp.src('../test.ts') | ||||
| 			.pipe(gulpTypescript({ | ||||
| 				out: "test.js" | ||||
| 			})) | ||||
| 			.pipe(gulp.dest("../../")); | ||||
| 	return stream; | ||||
| }); | ||||
| 
 | ||||
| gulp.task('default',['compileTS','compileTestTS'], function() { | ||||
| 	console.log('Typescript compiled'); | ||||
| }); | ||||
| gulp.start.apply(gulp, ['default']); | ||||
							
								
								
									
										41
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								ts/index.ts
									
									
									
									
									
								
							| @@ -4,13 +4,17 @@ var path = require("path"); | ||||
| var beautylog = require("beautylog"); | ||||
|  | ||||
| //important vars | ||||
| var executionMode:string; //can be forEach or atEnd | ||||
| var functionsToExecute; | ||||
| var gulpCallFunction = { | ||||
|     executionMode: 'forEach', //can be forEach or atEnd | ||||
|     functionsToExecute: undefined, | ||||
|     logBool: false | ||||
| }; | ||||
|  | ||||
| var runFunctionNames = function () { | ||||
|     if (typeof functionsToExecute === "function" ) { | ||||
|         functionsToExecute(); | ||||
|     } else if (Array.isArray(functionsToExecute)) { | ||||
|         for (var anyFunction in functionsToExecute) { | ||||
|     if (typeof gulpCallFunction.functionsToExecute == "function" ) { | ||||
|         gulpCallFunction.functionsToExecute(); | ||||
|     } else if (Array.isArray(gulpCallFunction.functionsToExecute)) { | ||||
|         for (var anyFunction in gulpCallFunction.functionsToExecute) { | ||||
|             anyFunction(); | ||||
|         } | ||||
|     } else { | ||||
| @@ -20,20 +24,23 @@ var runFunctionNames = function () { | ||||
|  | ||||
|  | ||||
| var forEach = function (file, enc, cb) { | ||||
|         if (executionMode === 'forEach') { | ||||
|             runFunctionNames(); | ||||
|         } | ||||
|         //tell gulp that we are complete | ||||
|         return cb(null, file); | ||||
|     if (gulpCallFunction.logBool) beautylog.log(gulpCallFunction.executionMode); | ||||
|     if (gulpCallFunction.executionMode === 'forEach') { | ||||
|         if(gulpCallFunction.logBool) beautylog.log('is forEach'); | ||||
|         runFunctionNames(); | ||||
|     } | ||||
|     //tell gulp that we are complete | ||||
|     return cb(null, file); | ||||
| }; | ||||
|  | ||||
| var atEnd = function() { | ||||
|         if (executionMode === "atEnd") { | ||||
|             runFunctionNames(); | ||||
|         } | ||||
|     if (gulpCallFunction.executionMode == "atEnd") { | ||||
|         runFunctionNames(); | ||||
|     } | ||||
| }; | ||||
| module.exports = function (functionsToExecute:any|any[],executionMode:string = 'forEach') { | ||||
|     this.functionsToExecute = functionsToExecute; | ||||
|     this.executionMode = executionMode; | ||||
| module.exports = function (functionsToExecute:any|any[],executionMode:string = 'forEach', logBool = false) { | ||||
|     gulpCallFunction.functionsToExecute = functionsToExecute; | ||||
|     gulpCallFunction.executionMode = executionMode; | ||||
|     gulpCallFunction.logBool = logBool; | ||||
|     return through.obj(forEach,atEnd); | ||||
| }; | ||||
|   | ||||
							
								
								
									
										14
									
								
								ts/test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								ts/test.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| /// <reference path="typings/tsd.d.ts" /> | ||||
| var gulp = require("gulp"); | ||||
| var gulpCallFunction = require("./index.js"); | ||||
|  | ||||
| var myFunction = function () { | ||||
|     console.log("Hello World!"); | ||||
| } | ||||
|  | ||||
| gulp.task('default',function() { | ||||
|     gulp.src('./test/test.md') | ||||
|         .pipe(gulpCallFunction(myFunction,'forEach')) | ||||
|         .pipe(gulp.dest("./test/result/")) | ||||
| }); | ||||
| gulp.start.apply(gulp, ['default']); | ||||
		Reference in New Issue
	
	Block a user