Skip to content

Commit 73ba6b0

Browse files
added ability to run tests in console & travis-ci
1 parent e53a046 commit 73ba6b0

File tree

9 files changed

+105
-713
lines changed

9 files changed

+105
-713
lines changed

.travis.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,9 @@ sudo: false
22
language: node_js
33
node_js:
44
- "6"
5-
- "7"
6-
- "8"
7-
- "9"
85
env:
96
- NODE_ENV=TEST
107
before_script:
118
- npm run build
12-
- npm i testem -g
13-
- npm i mocha-phantomjs -g
149
script:
1510
- npm run test

gulpfile.js

Lines changed: 46 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,38 @@
1-
const DIST_DIR = __dirname + '/dist';
2-
const path = require('path');
3-
const gulp = require('gulp');
4-
const runSequence = require('run-sequence');
5-
const rollup = require('gulp-better-rollup');
6-
const commonjs = require('rollup-plugin-commonjs');
7-
const resolve = require('rollup-plugin-node-resolve');
8-
const babel = require('rollup-plugin-babel');
9-
const {noop} = require('gulp-util');
10-
const plumber = require('gulp-plumber');
11-
const connect = require('connect');
12-
const serveStatic = require('serve-static');
13-
const child_process= require('child_process');
14-
const rename = require('gulp-rename');
15-
const terser = require('gulp-minify');
1+
const DIST_DIR = __dirname + "/dist";
2+
const path = require("path");
3+
const gulp = require("gulp");
4+
const runSequence = require("run-sequence");
5+
const rollup = require("gulp-better-rollup");
6+
const commonjs = require("rollup-plugin-commonjs");
7+
const resolve = require("rollup-plugin-node-resolve");
8+
const babel = require("rollup-plugin-babel");
9+
const {noop} = require("gulp-util");
10+
const plumber = require("gulp-plumber");
11+
const connect = require("connect");
12+
const serveStatic = require("serve-static");
13+
const child_process = require("child_process");
14+
const rename = require("gulp-rename");
15+
const terser = require("gulp-minify");
1616

1717
const PORT= 3000;
1818

1919
let isDevMode= false;
2020

21-
const clientEntryFile = 'src/safe-jsonp.js';
21+
const clientEntryFile = "src/safe-jsonp.js";
2222

2323
function createBuildTask(entryFile, buildOptions) {
2424

2525
const {name, base, ext} = path.parse(entryFile),
2626
{
2727
exportName = name,
2828
destPath = DIST_DIR,
29-
format = 'umd',
29+
format = "umd",
3030
toES5 = false,
3131
outFile = `${name}.${format}${ext}`,
3232
taskTargetName = outFile,
3333
minify = false,
34-
include = 'node_modules/**',
35-
exclude,
36-
targets,
37-
useBuiltIns = 'usage'
34+
include = "node_modules/**",
35+
exclude
3836
} = buildOptions || {};
3937

4038

@@ -80,81 +78,68 @@ function createBuildTask(entryFile, buildOptions) {
8078
return taskName;
8179
}
8280

83-
gulp.task('webserver', function() {
81+
gulp.task("webserver", function () {
8482
connect()
85-
.use(serveStatic('./'))
86-
.use(serveStatic('./public'))
87-
.use(serveStatic('./dist'))
88-
.use(serveStatic('./src'))
89-
.use(serveStatic('./test'))
83+
.use(serveStatic("./"))
84+
.use(serveStatic("./public"))
85+
.use(serveStatic("./dist"))
86+
.use(serveStatic("./src"))
87+
.use(serveStatic("./test"))
9088
.listen(PORT);
9189

9290
console.log(`Server listening on http://localhost:${PORT}`);
9391
});
9492

95-
const clientBuildTask = createBuildTask(clientEntryFile, {exportName: 'JSONP', toES5: true, minify: true});
96-
const clientBuildTaskES = createBuildTask(clientEntryFile, {format: 'esm', minify: true});
97-
98-
const shellTask = (name, command) => {
99-
gulp.task(name, function (done) {
100-
spawned_process = child_process.exec(command);
101-
102-
spawned_process.on('exit', (code) => {
103-
console.log(`Child process for ${name} exited with code ${code}`);
104-
code ? done(new Error(`Process for task ${name} exited with code ${code}`)) : done();
105-
});
106-
});
107-
108-
return name;
109-
};
110-
111-
const npmBuildTest = shellTask('test:build', 'npm run test:build');
112-
113-
gulp.task('build', function (done) {
114-
runSequence([clientBuildTask, clientBuildTaskES], npmBuildTest, done);
93+
const clientBuildTask = createBuildTask(clientEntryFile, {exportName: "JSONP", toES5: true, minify: true});
94+
const clientBuildTaskES = createBuildTask(clientEntryFile, {format: "esm", minify: true});
95+
const clientBuildTests = createBuildTask("test/safe-jsonp.spec.js", {
96+
taskTargetName: "test",
97+
format: "cjs",
98+
toES5: true
11599
});
116-
gulp.task('build:dev', [clientBuildTask]);
117100

101+
gulp.task("build", function (done) {
102+
runSequence([clientBuildTask, clientBuildTaskES], clientBuildTests, done);
103+
});
118104

105+
gulp.task("build:dev", [clientBuildTask]);
119106

120107
let spawned_process= null;
121108

122-
gulp.task('kill-server', function(){
109+
gulp.task("kill-server", function () {
123110
if(spawned_process){
124111
spawned_process.kill();
125-
console.log('Child process killed');
112+
console.log("Child process killed");
126113
}
127114
});
128115

129-
gulp.task('jsonp-server', function () {
130-
spawned_process = child_process.fork('./test/jsonp-server.js');
116+
gulp.task("jsonp-server", function () {
117+
spawned_process = child_process.fork("./test/jsonp-server.js");
131118

132-
spawned_process.on('exit', (code)=>{
119+
spawned_process.on("exit", (code) => {
133120
console.log(`JSONP server exited with code ${code}`);
134121
});
135122

136123
});
137124

138125

139-
140-
141-
gulp.task('dev', function (done) {
126+
gulp.task("dev", function (done) {
142127
isDevMode= true;
143128

144-
runSequence(['build:dev', 'webserver'], npmBuildTest, 'jsonp-server', function () {
145-
console.log('File watcher started');
146-
gulp.watch('./src/**/*.js', ['kill-server', 'build:dev', npmBuildTest, 'jsonp-server'], function (file) {
129+
runSequence(["build:dev", "webserver"], clientBuildTests, "jsonp-server", function () {
130+
console.log("File watcher started");
131+
gulp.watch("./src/**/*.js", ["kill-server", "build:dev", clientBuildTests, "jsonp-server"], function (file) {
147132
console.log(`File [${file.path}] has been changed`);
148133
});
149134

150-
gulp.watch('./test/**/*.js', ['kill-server', npmBuildTest, 'jsonp-server'], function (file) {
135+
gulp.watch("./test/**/*.js", ["kill-server", clientBuildTests, "jsonp-server"], function (file) {
151136
console.log(`File [${file.path}] has been changed`);
152137
})
153138
});
154139

155140
});
156141

157-
gulp.task('default', ['build']);
142+
gulp.task("default", ["build"]);
158143

159144

160145

0 commit comments

Comments
 (0)