Skip to content
This repository was archived by the owner on Mar 6, 2020. It is now read-only.

Commit 315cba9

Browse files
Merge pull request #32 from extplug/eslint
Moderner linting
2 parents 0bdeb84 + 79f9379 commit 315cba9

52 files changed

Lines changed: 682 additions & 643 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintrc

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"extends": "airbnb-base",
3+
"parser": "babel-eslint",
4+
"globals": {
5+
"API": false
6+
},
7+
"rules": {
8+
"no-param-reassign": ["error", { "props": false }],
9+
"no-underscore-dangle": ["error", { "allow": ["_super"] }],
10+
"import/no-extraneous-dependencies": "off",
11+
"import/no-unresolved": ["error", {
12+
"ignore": ["^plug/", "^lang/Lang$"]
13+
}]
14+
}
15+
}

.jscsrc

Lines changed: 0 additions & 31 deletions
This file was deleted.

.travis.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
language: node_js
2+
node_js:
3+
- "6"

gulpfile.babel.js

Lines changed: 70 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ import fs from 'fs';
88
import gulp from 'gulp';
99
import merge from 'merge-stream';
1010
import mkdirp from 'mkdirp';
11-
import packg from './package.json';
1211
import rename from 'gulp-rename';
1312
import rjs from 'requirejs';
1413
import runseq from 'run-sequence';
1514
import source from 'vinyl-source-stream';
1615
import template from 'gulp-template';
1716
import zip from 'gulp-zip';
17+
import packg from './package.json';
1818

1919
gulp.task('clean-lib', cb => {
2020
del('lib', cb);
@@ -24,32 +24,30 @@ gulp.task('clean-build', cb => {
2424
del('build', cb);
2525
});
2626

27-
gulp.task('clean', [ 'clean-lib', 'clean-build' ]);
27+
gulp.task('clean', ['clean-lib', 'clean-build']);
2828

29-
gulp.task('babel', () => {
30-
return gulp.src('src/**/*.js')
29+
gulp.task('babel', () =>
30+
gulp.src('src/**/*.js')
3131
.pipe(babel({
3232
presets: ['extplug'],
33-
plugins: ['external-helpers']
33+
plugins: ['external-helpers'],
3434
}))
3535
.pipe(babelHelpers('_babelHelpers.js', 'var'))
36-
.pipe(gulp.dest('lib/'));
37-
});
38-
39-
const nodelib = (entry, standalone, name) => {
40-
name = name || `${standalone}.js`;
36+
.pipe(gulp.dest('lib/'))
37+
);
4138

42-
let opts = {
43-
entries: `./node_modules/${entry}`
44-
};
45-
if (standalone) opts.standalone = standalone;
46-
47-
return () => {
48-
return browserify(opts)
49-
.bundle()
50-
.pipe(source(name))
51-
.pipe(gulp.dest('build/_deps/'));
39+
const nodelib = (entry, standalone, name = `${standalone}.js`) => {
40+
const opts = {
41+
entries: `./node_modules/${entry}`,
5242
};
43+
if (standalone) {
44+
opts.standalone = standalone;
45+
}
46+
47+
return () => browserify(opts)
48+
.bundle()
49+
.pipe(source(name))
50+
.pipe(gulp.dest('build/_deps/'));
5351
};
5452

5553
gulp.task('lib-debug', nodelib('debug/browser.js', 'debug'));
@@ -63,18 +61,18 @@ gulp.task('dependencies', [
6361
'lib-semvercmp',
6462
'lib-sistyl',
6563
'lib-symbol',
66-
'lib-regexp-quote'
64+
'lib-regexp-quote',
6765
]);
6866

6967
gulp.task('rjs', done => {
70-
let npm = 'node_modules/';
68+
const npm = 'node_modules/';
7169
packg.builtAt = Date.now();
72-
let packgString = JSON.stringify(packg, null, 2);
70+
const packgString = JSON.stringify(packg, null, 2);
7371
delete packg.builtAt;
7472
rjs.optimize({
7573
baseUrl: './',
7674
name: 'extplug/main',
77-
include: [ 'extplug/ExtPlug' ],
75+
include: ['extplug/ExtPlug'],
7876
paths: {
7977
// plug-modules defines, these are defined at runtime
8078
// so the r.js optimizer can't find them
@@ -83,43 +81,41 @@ gulp.task('rjs', done => {
8381
backbone: 'empty:',
8482
jquery: 'empty:',
8583
underscore: 'empty:',
86-
meld: npm + 'meld/meld',
84+
meld: `${npm}meld/meld`,
8785
sistyl: 'build/_deps/sistyl',
8886
extplug: 'lib',
8987
'plug-modules': `${npm}plug-modules/plug-modules`,
90-
'debug': 'build/_deps/debug',
91-
'onecolor': `${npm}onecolor/one-color-all`,
88+
debug: 'build/_deps/debug',
89+
onecolor: `${npm}onecolor/one-color-all`,
9290
'regexp-quote': 'build/_deps/regexp-quote',
93-
'semver-compare': 'build/_deps/semvercmp'
91+
'semver-compare': 'build/_deps/semvercmp',
9492
},
9593
rawText: {
96-
'extplug/package': `define(${packgString})`
94+
'package.json': `define(${packgString})`,
95+
'extplug/package': `define(${packgString})`,
9796
},
98-
insertRequire: [ 'extplug/main' ],
97+
insertRequire: ['extplug/main'],
9998
optimize: 'none',
10099
out(text) {
101100
mkdirp('build', e => {
102101
if (e) {
103102
done(e);
104-
}
105-
else {
103+
} else {
106104
fs.writeFile('build/build.rjs.js', text, done);
107105
}
108106
});
109-
}
107+
},
110108
});
111109
});
112110

113-
gulp.task('concat', () => {
114-
return gulp.src([ 'build/_deps/es6-symbol.js'
115-
, 'lib/_babelHelpers.js'
116-
, 'build/build.rjs.js' ])
111+
gulp.task('concat', () =>
112+
gulp.src(['build/_deps/es6-symbol.js', 'lib/_babelHelpers.js', 'build/build.rjs.js'])
117113
.pipe(concat('extplug.code.js'))
118-
.pipe(gulp.dest('build/'));
119-
});
114+
.pipe(gulp.dest('build/'))
115+
);
120116

121-
gulp.task('build', [ 'concat' ], () => {
122-
return gulp.src('src/loader.js.template')
117+
gulp.task('build', ['concat'], () =>
118+
gulp.src('src/loader.js.template')
123119
.pipe(data((file, cb) => {
124120
fs.readFile('build/extplug.code.js', 'utf8', (e, c) => {
125121
if (e) cb(e);
@@ -128,65 +124,61 @@ gulp.task('build', [ 'concat' ], () => {
128124
}))
129125
.pipe(template())
130126
.pipe(rename('extplug.js'))
131-
.pipe(gulp.dest('build/'));
132-
});
127+
.pipe(gulp.dest('build/'))
128+
);
133129

134-
gulp.task('chrome-unpacked', cb => {
135-
return merge(
136-
gulp.src([ 'extensions/chrome/main.js', 'extensions/chrome/manifest.json' ])
137-
.pipe(template(packg))
138-
.pipe(gulp.dest('build/chrome/')),
130+
gulp.task('chrome-unpacked', () => merge(
131+
gulp.src(['extensions/chrome/main.js', 'extensions/chrome/manifest.json'])
132+
.pipe(template(packg))
133+
.pipe(gulp.dest('build/chrome/')),
139134

140-
gulp.src([ 'img/icon*.png' ])
141-
.pipe(gulp.dest('build/chrome/img/')),
135+
gulp.src(['img/icon*.png'])
136+
.pipe(gulp.dest('build/chrome/img/')),
142137

143-
gulp.src([ 'build/extplug.js' ])
144-
.pipe(concat('extplug.js'))
145-
.pipe(gulp.dest('build/chrome/'))
146-
);
147-
});
138+
gulp.src(['build/extplug.js'])
139+
.pipe(concat('extplug.js'))
140+
.pipe(gulp.dest('build/chrome/'))
141+
));
148142

149-
gulp.task('chrome-pack', () => {
150-
return gulp.src('build/chrome/*')
143+
gulp.task('chrome-pack', () =>
144+
gulp.src('build/chrome/*')
151145
.pipe(zip('extplug.chrome.zip'))
152-
.pipe(gulp.dest('build/'));
153-
});
146+
.pipe(gulp.dest('build/'))
147+
);
154148

155149
gulp.task('chrome', cb => {
156150
runseq('chrome-unpacked', 'chrome-pack', cb);
157151
});
158152

159-
gulp.task('firefox', () => {
160-
return merge(
161-
gulp.src([ 'extensions/firefox/*' ])
162-
.pipe(template(packg))
163-
.pipe(gulp.dest('build/firefox/')),
153+
gulp.task('firefox', () => merge(
154+
gulp.src(['extensions/firefox/*'])
155+
.pipe(template(packg))
156+
.pipe(gulp.dest('build/firefox/')),
164157

165-
gulp.src([ 'build/extplug.js' ])
166-
.pipe(gulp.dest('build/firefox/data/'))
167-
);
168-
});
158+
gulp.src(['build/extplug.js'])
159+
.pipe(gulp.dest('build/firefox/data/'))
160+
));
169161

170-
gulp.task('userscript-meta', () => {
171-
return gulp.src([ 'extensions/userscript/extplug.user.js' ])
162+
gulp.task('userscript-meta', () =>
163+
gulp.src(['extensions/userscript/extplug.user.js'])
172164
.pipe(template(packg))
173165
.pipe(rename('extplug.meta.user.js'))
174-
.pipe(gulp.dest('build/'));
175-
});
166+
.pipe(gulp.dest('build/'))
167+
);
176168

177-
gulp.task('userscript', [ 'userscript-meta' ], () => {
178-
return gulp.src([ 'build/extplug.meta.user.js', 'build/extplug.js' ])
169+
gulp.task('userscript', ['userscript-meta'], () =>
170+
gulp.src(['build/extplug.meta.user.js', 'build/extplug.js'])
179171
.pipe(concat('extplug.user.js'))
180-
.pipe(gulp.dest('build/'));
181-
});
172+
.pipe(gulp.dest('build/'))
173+
);
182174

183175
gulp.task('default', cb => {
184176
runseq(
185177
'clean',
186-
[ 'babel', 'dependencies' ],
178+
['babel', 'dependencies'],
187179
'rjs',
188180
'build',
189-
[ 'chrome', 'firefox', 'userscript' ],
181+
['chrome', 'firefox', 'userscript'],
190182
cb
191183
);
192184
});

package.json

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,29 @@
33
"version": "0.15.8",
44
"description": "Highly flexible, modular userscript extension for plug.dj.",
55
"dependencies": {
6+
"backbone": "^1.1.2",
67
"debug": "^2.2.0",
78
"es6-symbol": "^2.0.1",
9+
"jquery": "^2.1.1",
810
"meld": "^1.3.2",
911
"onecolor": "^2.5.0",
1012
"plug-modules": "^4.3.3",
1113
"regexp-quote": "0.0.0",
1214
"semver-compare": "^1.0.0",
13-
"sistyl": "^1.0.0"
15+
"sistyl": "^1.0.0",
16+
"underscore": "^1.6.0"
1417
},
1518
"devDependencies": {
19+
"babel-eslint": "^6.1.2",
1620
"babel-plugin-external-helpers": "^6.5.0",
1721
"babel-preset-es2015": "^6.9.0",
1822
"babel-preset-extplug": "^1.0.0",
1923
"babel-preset-stage-2": "^6.5.0",
2024
"browserify": "^11.0.1",
2125
"del": "^1.2.1",
26+
"eslint": "^3.0.1",
27+
"eslint-config-airbnb-base": "^4.0.0",
28+
"eslint-plugin-import": "^1.10.2",
2229
"gulp": "^3.9.0",
2330
"gulp-babel": "^6.1.2",
2431
"gulp-babel-external-helpers": "^2.0.0",
@@ -27,15 +34,15 @@
2734
"gulp-rename": "^1.2.2",
2835
"gulp-template": "^3.0.0",
2936
"gulp-zip": "^3.0.2",
30-
"jscs": "^1.13.1",
3137
"merge-stream": "^1.0.0",
3238
"mkdirp": "^0.5.1",
3339
"requirejs": "^2.1.20",
3440
"run-sequence": "^1.1.2",
3541
"vinyl-source-stream": "^1.1.0"
3642
},
3743
"scripts": {
38-
"build": "gulp build",
39-
"test": "jscs src"
44+
"prepublish": "npm run build",
45+
"build": "gulp",
46+
"test": "eslint gulpfile.babel.js src test"
4047
}
4148
}

0 commit comments

Comments
 (0)