@@ -48,18 +48,16 @@ var log = require('fancy-log')
4848const enableActiveNodeHandlesLogging = false
4949
5050/** Build all-in-one files for use in the browser */
51- gulp . task ( 'build- browser' , async function ( ) {
51+ gulp . task ( 'browser' , async function ( ) {
5252 const browserOutput = 'lib/browser'
5353 // Our app bundler
5454 const appBundler = browserify ( {
5555 entries : [ 'src/index.js' ] ,
5656 cache : { } ,
5757 standalone : 'neo4j' ,
58- packageCache : { }
59- } )
60- . transform ( babelifyTransform ( ) )
61- . transform ( browserifyTransformNodeToBrowserRequire ( ) )
62- . bundle ( )
58+ packageCache : { } ,
59+ transform : [ 'babelify' , './support/inject-browser-transform' ]
60+ } ) . bundle ( )
6361
6462 // Un-minified browser package
6563 await appBundler
@@ -75,65 +73,21 @@ gulp.task('build-browser', async function () {
7573 . pipe ( gulp . dest ( browserOutput ) )
7674} )
7775
78- gulp . task ( 'build-browser-test' , async function ( ) {
79- const browserOutput = 'build/browser/'
80- const testFiles = [ ]
81-
82- return gulp
83- . src ( [ './test/**/!(examples).test.js' , '!./test/**/node/*.js' ] )
84- . pipe (
85- through . obj (
86- function ( file , enc , cb ) {
87- testFiles . push ( file . path )
88- cb ( )
89- } ,
90- function ( cb ) {
91- // At end-of-stream, push the list of files to the next step
92- this . push ( testFiles )
93- cb ( )
94- }
95- )
96- )
97- . pipe (
98- through . obj ( function ( testFiles , enc , cb ) {
99- browserify ( {
100- entries : testFiles ,
101- cache : { } ,
102- debug : true
103- } )
104- . transform ( babelifyTransform ( ) )
105- . transform ( browserifyTransformNodeToBrowserRequire ( ) )
106- . bundle ( )
107- . on ( 'error' , log . error )
108- . pipe ( source ( 'neo4j-web.test.js' ) )
109- . pipe ( gulp . dest ( browserOutput ) )
110- . on ( 'end' , cb )
111- } )
112- )
113- } )
114-
115- var buildNode = function ( options ) {
116- return gulp
117- . src ( options . src )
118- . pipe ( babel ( babelConfig ( ) ) )
119- . pipe ( gulp . dest ( options . dest ) )
120- }
121-
12276gulp . task ( 'nodejs' , function ( ) {
123- return buildNode ( {
124- src : 'src/**/*.js' ,
125- dest : 'lib'
126- } )
77+ return gulp
78+ . src ( 'src/**/*.js' )
79+ . pipe ( babel ( ) )
80+ . pipe ( gulp . dest ( 'lib' ) )
12781} )
12882
12983// prepares directory for package.test.js
13084gulp . task (
13185 'install-driver-into-sandbox' ,
13286 gulp . series ( 'nodejs' , function ( ) {
133- var testDir = path . join ( 'build' , 'sandbox' )
87+ const testDir = path . join ( 'build' , 'sandbox' )
13488 fs . emptyDirSync ( testDir )
13589
136- var packageJsonContent = JSON . stringify ( {
90+ const packageJsonContent = JSON . stringify ( {
13791 private : true ,
13892 dependencies : {
13993 'neo4j-driver' : __dirname
@@ -169,14 +123,6 @@ gulp.task('run-browser-test-firefox', function (cb) {
169123 runKarma ( 'firefox' , cb )
170124} )
171125
172- gulp . task ( 'run-browser-test-edge' , function ( cb ) {
173- runKarma ( 'edge' , cb )
174- } )
175-
176- gulp . task ( 'run-browser-test-ie' , function ( cb ) {
177- runKarma ( 'ie' , cb )
178- } )
179-
180126gulp . task ( 'run-browser-test' , gulp . series ( 'run-browser-test-firefox' ) )
181127
182128gulp . task ( 'watch' , function ( ) {
@@ -198,21 +144,21 @@ gulp.task(
198144/** Set the project version, controls package.json and version.js */
199145gulp . task ( 'set' , function ( ) {
200146 // Get the --version arg from command line
201- var version = minimist ( process . argv . slice ( 2 ) , { string : 'version' } ) . version
147+ const version = minimist ( process . argv . slice ( 2 ) , { string : 'version' } ) . version
202148
203149 if ( ! semver . valid ( version ) ) {
204150 throw new Error ( `Invalid version "${ version } "` )
205151 }
206152
207153 // Change the version in relevant files
208- var versionFile = path . join ( 'src' , 'version.js' )
154+ const versionFile = path . join ( 'src' , 'version.js' )
209155 return gulp
210156 . src ( [ versionFile ] , { base : './' } )
211157 . pipe ( replace ( '0.0.0-dev' , version ) )
212158 . pipe ( gulp . dest ( './' ) )
213159} )
214160
215- var neo4jHome = path . resolve ( './build/neo4j' )
161+ const neo4jHome = path . resolve ( './build/neo4j' )
216162
217163gulp . task ( 'start-neo4j' , function ( done ) {
218164 sharedNeo4j . start ( neo4jHome , process . env . NEOCTRL_ARGS )
@@ -236,9 +182,7 @@ gulp.task('run-stress-tests', function () {
236182 . on ( 'end' , logActiveNodeHandles )
237183} )
238184
239- gulp . task ( 'run-ts-declaration-tests' , function ( ) {
240- var failed = false
241-
185+ gulp . task ( 'run-ts-declaration-tests' , function ( done ) {
242186 return gulp
243187 . src ( [ 'test/types/**/*' , 'types/**/*' ] , { base : '.' } )
244188 . pipe (
@@ -250,25 +194,14 @@ gulp.task('run-ts-declaration-tests', function () {
250194 strictNullChecks : true
251195 } )
252196 )
253- . on ( 'error' , function ( ) {
254- failed = true
255- } )
256- . on ( 'finish' , function ( ) {
257- if ( failed ) {
258- console . log (
259- '[ERROR] TypeScript declarations contain errors. Exiting...'
260- )
261- process . exit ( 1 )
262- }
263- } )
264197 . pipe ( gulp . dest ( 'build/test/types' ) )
198+ . on ( 'error' , err => done ( err ) )
199+ . on ( 'end' , ( ) => done ( ) )
265200} )
266201
267- gulp . task ( 'browser' , gulp . series ( 'build-browser-test' , 'build-browser' ) )
268-
269202gulp . task ( 'all' , gulp . series ( 'nodejs' , 'browser' ) )
270203
271- gulp . task ( 'test-browser' , gulp . series ( 'all ' , 'run-browser-test' ) )
204+ gulp . task ( 'test-browser' , gulp . series ( 'browser ' , 'run-browser-test' ) )
272205
273206gulp . task (
274207 'test' ,
@@ -297,38 +230,6 @@ function newJasmineConsoleReporter () {
297230 } )
298231}
299232
300- function babelifyTransform ( ) {
301- return babelify . configure ( babelConfig ( ) )
302- }
303-
304- function babelConfig ( ) {
305- return {
306- presets : [ [ '@babel/preset-env' ] ] ,
307- plugins : [ '@babel/plugin-transform-runtime' ]
308- }
309- }
310-
311- function browserifyTransformNodeToBrowserRequire ( ) {
312- var nodeRequire = '/node'
313- var browserRequire = '/browser'
314-
315- return transformTools . makeRequireTransform (
316- 'bodeToBrowserRequireTransform' ,
317- { evaluateArguments : true } ,
318- function ( args , opts , cb ) {
319- var requireArg = args [ 0 ]
320- var endsWithNodeRequire =
321- requireArg . slice ( - nodeRequire . length ) === nodeRequire
322- if ( endsWithNodeRequire ) {
323- var newRequireArg = requireArg . replace ( nodeRequire , browserRequire )
324- return cb ( null , "require('" + newRequireArg + "')" )
325- } else {
326- return cb ( )
327- }
328- }
329- )
330- }
331-
332233function runKarma ( browser , cb ) {
333234 new karma . Server (
334235 {
0 commit comments