Skip to content

Commit 3cfcfb7

Browse files
authored
Merge pull request #459 from ali-ince/2.0-db-name-in-summary
Expose database name inside result summary
2 parents e345898 + 86e97e8 commit 3cfcfb7

13 files changed

+11669
-8676
lines changed

.babelrc

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
{
22
"presets": [
3-
"env"
3+
[
4+
"@babel/preset-env"
5+
]
46
],
5-
"plugins": ["transform-runtime"]
7+
"plugins": [
8+
"@babel/plugin-transform-runtime"
9+
]
610
}

gulpfile.babel.js

+72-193
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,13 @@ var buffer = require('vinyl-buffer')
2323
var gulp = require('gulp')
2424
var through = require('through2')
2525
var uglify = require('gulp-uglify')
26-
var gutil = require('gulp-util')
2726
var jasmine = require('gulp-jasmine')
2827
var babelify = require('babelify')
2928
var babel = require('gulp-babel')
3029
var watch = require('gulp-watch')
3130
var batch = require('gulp-batch')
3231
var replace = require('gulp-replace')
3332
var fs = require('fs-extra')
34-
var runSequence = require('run-sequence')
3533
var path = require('path')
3634
var minimist = require('minimist')
3735
var install = require('gulp-install')
@@ -42,160 +40,80 @@ var ts = require('gulp-typescript')
4240
var JasmineConsoleReporter = require('jasmine-console-reporter')
4341
var karma = require('karma')
4442
var transformTools = require('browserify-transform-tools')
43+
var log = require('fancy-log')
4544

4645
/**
4746
* Useful to investigate resource leaks in tests. Enable to see active sockets and file handles after the 'test' task.
4847
*/
49-
var enableActiveNodeHandlesLogging = false
50-
51-
gulp.task('default', ['test'])
52-
53-
gulp.task('browser', function (cb) {
54-
runSequence('build-browser-test', 'build-browser', cb)
55-
})
48+
const enableActiveNodeHandlesLogging = false
5649

5750
/** Build all-in-one files for use in the browser */
58-
gulp.task('build-browser', function () {
59-
var browserOutput = 'lib/browser'
51+
gulp.task('browser', async function () {
52+
const browserOutput = 'lib/browser'
6053
// Our app bundler
61-
var appBundler = browserify({
54+
const appBundler = browserify({
6255
entries: ['src/index.js'],
6356
cache: {},
6457
standalone: 'neo4j',
65-
packageCache: {}
66-
})
67-
.transform(babelifyTransform())
68-
.transform(browserifyTransformNodeToBrowserRequire())
69-
.bundle()
58+
packageCache: {},
59+
transform: ['babelify', './support/inject-browser-transform']
60+
}).bundle()
7061

7162
// Un-minified browser package
72-
appBundler
73-
.on('error', gutil.log)
63+
await appBundler
64+
.on('error', log.error)
7465
.pipe(source('neo4j-web.js'))
7566
.pipe(gulp.dest(browserOutput))
7667

77-
return appBundler
78-
.on('error', gutil.log)
68+
await appBundler
69+
.on('error', log.error)
7970
.pipe(source('neo4j-web.min.js'))
8071
.pipe(buffer())
8172
.pipe(uglify())
8273
.pipe(gulp.dest(browserOutput))
8374
})
8475

85-
gulp.task('build-browser-test', function () {
86-
var browserOutput = 'build/browser/'
87-
var testFiles = []
88-
return gulp
89-
.src(['./test/**/*.test.js', '!./test/**/node/*.js'])
90-
.pipe(
91-
through.obj(
92-
function (file, enc, cb) {
93-
if (file.path.indexOf('examples.test.js') < 0) {
94-
testFiles.push(file.path)
95-
}
96-
cb()
97-
},
98-
function (cb) {
99-
// At end-of-stream, push the list of files to the next step
100-
this.push(testFiles)
101-
cb()
102-
}
103-
)
104-
)
105-
.pipe(
106-
through.obj(
107-
function (testFiles, enc, cb) {
108-
browserify({
109-
entries: testFiles,
110-
cache: {},
111-
debug: true
112-
})
113-
.transform(babelifyTransform())
114-
.transform(browserifyTransformNodeToBrowserRequire())
115-
.bundle(function () {
116-
cb()
117-
})
118-
.on('error', gutil.log)
119-
.pipe(source('neo4j-web.test.js'))
120-
.pipe(gulp.dest(browserOutput))
121-
},
122-
function (cb) {
123-
cb()
124-
}
125-
)
126-
)
127-
})
128-
129-
var buildNode = function (options) {
130-
return gulp
131-
.src(options.src)
132-
.pipe(babel(babelConfig()))
133-
.pipe(gulp.dest(options.dest))
134-
}
135-
13676
gulp.task('nodejs', function () {
137-
return buildNode({
138-
src: 'src/**/*.js',
139-
dest: 'lib'
140-
})
141-
})
142-
143-
gulp.task('all', function (cb) {
144-
runSequence('nodejs', 'browser', cb)
77+
return gulp
78+
.src('src/**/*.js')
79+
.pipe(babel())
80+
.pipe(gulp.dest('lib'))
14581
})
14682

14783
// prepares directory for package.test.js
148-
gulp.task('install-driver-into-sandbox', ['nodejs'], function () {
149-
var testDir = path.join('build', 'sandbox')
150-
fs.emptyDirSync(testDir)
151-
152-
var packageJsonContent = JSON.stringify({
153-
private: true,
154-
dependencies: {
155-
'neo4j-driver': __dirname
156-
}
157-
})
158-
159-
return file('package.json', packageJsonContent, { src: true })
160-
.pipe(gulp.dest(testDir))
161-
.pipe(install())
162-
})
163-
164-
gulp.task('test', function (cb) {
165-
runSequence(
166-
'run-ts-declaration-tests',
167-
'test-nodejs',
168-
'test-browser',
169-
function (err) {
170-
if (err) {
171-
var exitCode = 2
172-
console.log('[FAIL] test task failed - exiting with code ' + exitCode)
173-
return process.exit(exitCode)
84+
gulp.task(
85+
'install-driver-into-sandbox',
86+
gulp.series('nodejs', function () {
87+
const testDir = path.join('build', 'sandbox')
88+
fs.emptyDirSync(testDir)
89+
90+
const packageJsonContent = JSON.stringify({
91+
private: true,
92+
dependencies: {
93+
'neo4j-driver': __dirname
17494
}
175-
return cb()
176-
}
177-
)
178-
})
179-
180-
gulp.task('test-nodejs', ['install-driver-into-sandbox'], function () {
181-
return gulp
182-
.src(['./test/**/*.test.js', '!./test/**/browser/*.js'])
183-
.pipe(
184-
jasmine({
185-
includeStackTrace: true,
186-
reporter: newJasmineConsoleReporter()
187-
})
188-
)
189-
.on('end', logActiveNodeHandles)
190-
})
191-
192-
gulp.task('test-browser', function (cb) {
193-
runSequence('all', 'run-browser-test', cb)
194-
})
95+
})
19596

196-
gulp.task('run-browser-test', function (cb) {
197-
runSequence('run-browser-test-firefox', cb)
198-
})
97+
return file('package.json', packageJsonContent, { src: true })
98+
.pipe(gulp.dest(testDir))
99+
.pipe(install())
100+
})
101+
)
102+
103+
gulp.task(
104+
'test-nodejs',
105+
gulp.series('install-driver-into-sandbox', function () {
106+
return gulp
107+
.src(['./test/**/*.test.js', '!./test/**/browser/*.js'])
108+
.pipe(
109+
jasmine({
110+
includeStackTrace: true,
111+
reporter: newJasmineConsoleReporter()
112+
})
113+
)
114+
.on('end', logActiveNodeHandles)
115+
})
116+
)
199117

200118
gulp.task('run-browser-test-chrome', function (cb) {
201119
runKarma('chrome', cb)
@@ -205,13 +123,7 @@ gulp.task('run-browser-test-firefox', function (cb) {
205123
runKarma('firefox', cb)
206124
})
207125

208-
gulp.task('run-browser-test-edge', function (cb) {
209-
runKarma('edge', cb)
210-
})
211-
212-
gulp.task('run-browser-test-ie', function (cb) {
213-
runKarma('ie', cb)
214-
})
126+
gulp.task('run-browser-test', gulp.series('run-browser-test-firefox'))
215127

216128
gulp.task('watch', function () {
217129
return watch(
@@ -222,28 +134,31 @@ gulp.task('watch', function () {
222134
)
223135
})
224136

225-
gulp.task('watch-n-test', ['test-nodejs'], function () {
226-
return gulp.watch(['src/**/*.js', 'test/**/*.js'], ['test-nodejs'])
227-
})
137+
gulp.task(
138+
'watch-n-test',
139+
gulp.series('test-nodejs', function () {
140+
return gulp.watch(['src/**/*.js', 'test/**/*.js'], ['test-nodejs'])
141+
})
142+
)
228143

229144
/** Set the project version, controls package.json and version.js */
230145
gulp.task('set', function () {
231146
// Get the --version arg from command line
232-
var version = minimist(process.argv.slice(2), { string: 'version' }).version
147+
const version = minimist(process.argv.slice(2), { string: 'version' }).version
233148

234149
if (!semver.valid(version)) {
235150
throw new Error(`Invalid version "${version}"`)
236151
}
237152

238153
// Change the version in relevant files
239-
var versionFile = path.join('src', 'version.js')
154+
const versionFile = path.join('src', 'version.js')
240155
return gulp
241156
.src([versionFile], { base: './' })
242157
.pipe(replace('0.0.0-dev', version))
243158
.pipe(gulp.dest('./'))
244159
})
245160

246-
var neo4jHome = path.resolve('./build/neo4j')
161+
const neo4jHome = path.resolve('./build/neo4j')
247162

248163
gulp.task('start-neo4j', function (done) {
249164
sharedNeo4j.start(neo4jHome, process.env.NEOCTRL_ARGS)
@@ -267,9 +182,7 @@ gulp.task('run-stress-tests', function () {
267182
.on('end', logActiveNodeHandles)
268183
})
269184

270-
gulp.task('run-ts-declaration-tests', function () {
271-
var failed = false
272-
185+
gulp.task('run-ts-declaration-tests', function (done) {
273186
return gulp
274187
.src(['test/types/**/*', 'types/**/*'], { base: '.' })
275188
.pipe(
@@ -281,20 +194,22 @@ gulp.task('run-ts-declaration-tests', function () {
281194
strictNullChecks: true
282195
})
283196
)
284-
.on('error', function () {
285-
failed = true
286-
})
287-
.on('finish', function () {
288-
if (failed) {
289-
console.log(
290-
'[ERROR] TypeScript declarations contain errors. Exiting...'
291-
)
292-
process.exit(1)
293-
}
294-
})
295197
.pipe(gulp.dest('build/test/types'))
198+
.on('error', err => done(err))
199+
.on('end', () => done())
296200
})
297201

202+
gulp.task('all', gulp.series('nodejs', 'browser'))
203+
204+
gulp.task('test-browser', gulp.series('browser', 'run-browser-test'))
205+
206+
gulp.task(
207+
'test',
208+
gulp.series('run-ts-declaration-tests', 'test-nodejs', 'test-browser')
209+
)
210+
211+
gulp.task('default', gulp.series('test'))
212+
298213
function logActiveNodeHandles () {
299214
if (enableActiveNodeHandlesLogging) {
300215
console.log(
@@ -315,46 +230,10 @@ function newJasmineConsoleReporter () {
315230
})
316231
}
317232

318-
function babelifyTransform () {
319-
return babelify.configure(babelConfig())
320-
}
321-
322-
function babelConfig () {
323-
return {
324-
presets: ['env'],
325-
plugins: ['transform-runtime']
326-
}
327-
}
328-
329-
function browserifyTransformNodeToBrowserRequire () {
330-
var nodeRequire = '/node'
331-
var browserRequire = '/browser'
332-
333-
return transformTools.makeRequireTransform(
334-
'bodeToBrowserRequireTransform',
335-
{ evaluateArguments: true },
336-
function (args, opts, cb) {
337-
var requireArg = args[0]
338-
var endsWithNodeRequire =
339-
requireArg.slice(-nodeRequire.length) === nodeRequire
340-
if (endsWithNodeRequire) {
341-
var newRequireArg = requireArg.replace(nodeRequire, browserRequire)
342-
return cb(null, "require('" + newRequireArg + "')")
343-
} else {
344-
return cb()
345-
}
346-
}
347-
)
348-
}
349-
350233
function runKarma (browser, cb) {
351234
new karma.Server(
352235
{
353-
configFile: path.join(
354-
__dirname,
355-
`/test/browser/karma-${browser}.conf.js`
356-
),
357-
singleRun: true
236+
configFile: path.join(__dirname, `/test/browser/karma-${browser}.conf.js`)
358237
},
359238
function (exitCode) {
360239
exitCode ? process.exit(exitCode) : cb()

0 commit comments

Comments
 (0)