1616 * See the License for the specific language governing permissions and
1717 * limitations under the License.
1818 */
19- require ( "babel-polyfill" ) ;
2019
2120var browserify = require ( 'browserify' ) ;
2221var source = require ( 'vinyl-source-stream' ) ;
@@ -38,13 +37,16 @@ var watch = require('gulp-watch');
3837var batch = require ( 'gulp-batch' ) ;
3938var replace = require ( 'gulp-replace' ) ;
4039var decompress = require ( 'gulp-decompress' ) ;
41- var fs = require ( "fs" ) ;
40+ var fs = require ( "fs-extra " ) ;
4241var runSequence = require ( 'run-sequence' ) ;
4342var path = require ( 'path' ) ;
4443var childProcess = require ( "child_process" ) ;
4544var minimist = require ( 'minimist' ) ;
4645var cucumber = require ( 'gulp-cucumber' ) ;
4746var merge = require ( 'merge-stream' ) ;
47+ var install = require ( "gulp-install" ) ;
48+ var os = require ( 'os' ) ;
49+ var file = require ( 'gulp-file' ) ;
4850
4951gulp . task ( 'default' , [ "test" ] ) ;
5052
@@ -100,7 +102,7 @@ gulp.task('build-browser-test', function(){
100102 cache : { } ,
101103 debug : true
102104 } ) . transform ( babelify . configure ( {
103- presets : [ 'es2015' , 'stage-3' ] , ignore : / e x t e r n a l /
105+ presets : [ 'es2015' , 'stage-3' ] , plugins : [ 'transform-runtime' ] , ignore : / e x t e r n a l /
104106 } ) )
105107 . bundle ( function ( err , res ) {
106108 cb ( ) ;
@@ -117,7 +119,7 @@ gulp.task('build-browser-test', function(){
117119
118120var buildNode = function ( options ) {
119121 return gulp . src ( options . src )
120- . pipe ( babel ( { presets : [ 'es2015' , 'stage-3' ] , ignore : [ 'src/external/**/*.js' ] } ) )
122+ . pipe ( babel ( { presets : [ 'es2015' , 'stage-3' ] , plugins : [ 'transform-runtime' ] , ignore : [ 'src/external/**/*.js' ] } ) )
121123 . pipe ( gulp . dest ( options . dest ) )
122124} ;
123125
@@ -132,6 +134,22 @@ gulp.task('all', function(cb){
132134 runSequence ( 'nodejs' , 'browser' , cb ) ;
133135} ) ;
134136
137+ // prepares directory for package.test.js
138+ gulp . task ( 'install-driver-into-sandbox' , [ 'nodejs' ] , function ( ) {
139+ var testDir = path . join ( os . tmpdir ( ) , 'sandbox' ) ;
140+ fs . emptyDirSync ( testDir ) ;
141+
142+ var packageJsonContent = JSON . stringify ( {
143+ "dependencies" :{
144+ "neo4j-driver" : __dirname
145+ }
146+ } ) ;
147+
148+ return file ( 'package.json' , packageJsonContent , { src :true } )
149+ . pipe ( gulp . dest ( testDir ) )
150+ . pipe ( install ( ) ) ;
151+ } ) ;
152+
135153gulp . task ( 'test' , function ( cb ) {
136154 runSequence ( 'test-nodejs' , 'test-browser' , 'run-tck' , function ( err ) {
137155 if ( err ) {
@@ -143,7 +161,7 @@ gulp.task('test', function(cb){
143161 } ) ;
144162} ) ;
145163
146- gulp . task ( 'test-nodejs' , [ 'nodejs ' ] , function ( ) {
164+ gulp . task ( 'test-nodejs' , [ 'install-driver-into-sandbox ' ] , function ( ) {
147165 return gulp . src ( 'test/**/*.test.js' )
148166 . pipe ( jasmine ( {
149167 // reporter: new reporters.JUnitXmlReporter({
0 commit comments