Skip to content

Commit 11f2aa2

Browse files
committed
chore: updates for tests / linting process
* use prettier * clean out unnecessary gulp packages * update eslint * update mocha * use chai * use yarn * update package scripts
1 parent 94a9a2f commit 11f2aa2

File tree

9 files changed

+6621
-2269
lines changed

9 files changed

+6621
-2269
lines changed

.babelrc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
2-
"presets": [
3-
"es2015",
4-
"stage-0"
5-
],
6-
"plugins": [
7-
"transform-runtime"
8-
]
2+
"presets": [
3+
"es2015",
4+
"stage-0"
5+
],
6+
"plugins": [
7+
"transform-runtime"
8+
]
99
}

.eslintrc

Lines changed: 10 additions & 206 deletions
Large diffs are not rendered by default.

.prettierrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"bracketSpacing": true,
3+
"printWidth": 80,
4+
"semi": false,
5+
"singleQuote": true,
6+
"tabWidth": 2,
7+
"trailingComma": "all",
8+
"useTabs": false
9+
}

gulpfile.js

Lines changed: 55 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,108 +1,69 @@
1-
const babel = require('gulp-babel');
2-
const del = require('del');
3-
const eslint = require('gulp-eslint');
4-
const gulp = require('gulp');
5-
const mocha = require('gulp-mocha');
6-
const plumber = require('gulp-plumber');
7-
const rename = require('gulp-rename');
8-
const sequence = require('run-sequence');
9-
const uglify = require('gulp-uglify');
10-
const webpack = require('webpack-stream');
11-
const sourcemaps = require('gulp-sourcemaps');
1+
const babel = require('gulp-babel')
2+
const del = require('del')
3+
const gulp = require('gulp')
4+
const plumber = require('gulp-plumber')
5+
const rename = require('gulp-rename')
6+
const sequence = require('run-sequence')
7+
const uglify = require('gulp-uglify')
8+
const webpack = require('webpack-stream')
9+
const sourcemaps = require('gulp-sourcemaps')
1210

13-
require('babel-register'); // for mocha tests
14-
15-
const srcDir = './src';
16-
const srcGlob = `${srcDir}/*.js`;
17-
const srcEntry = `channel.js`;
18-
const distDir = './dist';
19-
const distUmdDir = `${distDir}/umd`;
20-
const distCjsDir = `${distDir}/cjs`;
21-
const testDir = './test';
22-
const testGlob = `${testDir}/*.js`;
23-
const singleFilename = 'async-csp.js';
24-
const libraryName = 'async-csp';
11+
const srcDir = './src'
12+
const srcGlob = `${srcDir}/*.js`
13+
const srcEntry = `channel.js`
14+
const distDir = './dist'
15+
const distUmdDir = `${distDir}/umd`
16+
const distCjsDir = `${distDir}/cjs`
17+
const singleFilename = 'async-csp.js'
18+
const libraryName = 'async-csp'
2519

2620
function transpileUmd(config) {
27-
if (config === undefined) {
28-
config = {
29-
output: {
30-
filename: singleFilename,
31-
library: libraryName,
32-
libraryTarget: 'umd'
33-
},
34-
module: {
35-
loaders: [
36-
{ test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' }
37-
]
38-
}
39-
};
21+
if (config === undefined) {
22+
config = {
23+
output: {
24+
filename: singleFilename,
25+
library: libraryName,
26+
libraryTarget: 'umd',
27+
},
28+
module: {
29+
loaders: [
30+
{ test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' },
31+
],
32+
},
4033
}
41-
return webpack(config);
34+
}
35+
return webpack(config)
4236
}
4337

44-
gulp.task('lint', () => {
45-
return gulp.src([ srcGlob, testGlob, './gulpfile.js' ])
46-
.pipe(eslint()) // config in .eslintrc
47-
.pipe(eslint.format());
48-
});
49-
50-
gulp.task('test', () => {
51-
return gulp.src(testGlob)
52-
.pipe(eslint())
53-
.pipe(eslint.format())
54-
.pipe(mocha({
55-
reporter: 'spec'
56-
}));
57-
});
58-
5938
gulp.task('clean', done => {
60-
return del([ distDir ], done);
61-
});
39+
return del([distDir], done)
40+
})
6241

6342
gulp.task('build:umd', () => {
64-
return gulp.src(`${srcDir}/${srcEntry}`)
65-
.pipe(transpileUmd())
66-
.pipe(sourcemaps.init())
67-
.pipe(gulp.dest(distUmdDir))
68-
.pipe(uglify())
69-
.pipe(rename({ suffix: '.min' }))
70-
.pipe(sourcemaps.write('.'))
71-
.pipe(gulp.dest(distUmdDir));
72-
});
43+
return gulp
44+
.src(`${srcDir}/${srcEntry}`)
45+
.pipe(transpileUmd())
46+
.pipe(sourcemaps.init())
47+
.pipe(gulp.dest(distUmdDir))
48+
.pipe(uglify())
49+
.pipe(rename({ suffix: '.min' }))
50+
.pipe(sourcemaps.write('.'))
51+
.pipe(gulp.dest(distUmdDir))
52+
})
7353

7454
gulp.task('build:cjs', () => {
75-
return gulp.src(srcGlob)
76-
.pipe(plumber())
77-
.pipe(babel()) // config in .babelrc
78-
.pipe(plumber.stop())
79-
.pipe(gulp.dest(distCjsDir));
80-
});
81-
82-
gulp.task('build', (done) => {
83-
sequence(
84-
[ 'build:cjs', 'build:umd' ],
85-
done
86-
);
87-
});
55+
return gulp
56+
.src(srcGlob)
57+
.pipe(plumber())
58+
.pipe(babel()) // config in .babelrc
59+
.pipe(plumber.stop())
60+
.pipe(gulp.dest(distCjsDir))
61+
})
8862

89-
gulp.task('watch', () => {
90-
gulp.watch(srcGlob, () => {
91-
sequence(
92-
'lint',
93-
'build'
94-
);
95-
});
96-
gulp.watch(testGlob, [ 'test' ]);
97-
});
63+
gulp.task('build', done => {
64+
sequence(['build:cjs', 'build:umd'], done)
65+
})
9866

9967
gulp.task('default', done => {
100-
sequence(
101-
'test',
102-
'clean',
103-
'lint',
104-
'build',
105-
'watch',
106-
done
107-
);
108-
});
68+
sequence('test', 'clean', 'lint', 'build', 'watch', done)
69+
})

package.json

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
"main": "dist/cjs/channel.js",
1717
"scripts": {
1818
"build": "gulp build",
19-
"test": "gulp test",
20-
"watch": "gulp watch",
21-
"mocha:test": "mocha test --recursive"
19+
"lint": "eslint src/**/*.js test/**/*.js *.js",
20+
"test": "mocha \"./{,!(node_modules)/**/}*.spec.js\"",
21+
"test:watch": "npm run test -- --watch",
22+
"watch": "gulp watch"
2223
},
2324
"repository": {
2425
"type": "git",
@@ -38,17 +39,20 @@
3839
"babel-preset-es2015": "^6.6.0",
3940
"babel-preset-stage-0": "^6.5.0",
4041
"babel-register": "^6.7.2",
42+
"chai": "^4.1.2",
4143
"del": "^1.2.0",
44+
"eslint": "^4.10.0",
45+
"eslint-config-prettier": "^2.7.0",
4246
"gulp": "^3.9.0",
4347
"gulp-babel": "^6.1.2",
44-
"gulp-eslint": "^1.1.1",
45-
"gulp-mocha": "^2.2.0",
4648
"gulp-plumber": "^1.1.0",
4749
"gulp-rename": "^1.2.2",
4850
"gulp-sourcemaps": "^1.6.0",
4951
"gulp-uglify": "^1.5.3",
5052
"in-publish": "2.0.0",
51-
"mocha": "^2.4.5",
53+
"mocha": "^4.0.1",
54+
"prettier": "^1.7.4",
55+
"prettier-eslint-cli": "^4.4.0",
5256
"run-sequence": "^1.1.5",
5357
"webpack-stream": "^3.1.0",
5458
"zana-assert": "^0.1.4"

0 commit comments

Comments
 (0)