Skip to content

Commit efffc70

Browse files
committed
chore: Update infrastructure and rename/move js files
1 parent 7da4d28 commit efffc70

30 files changed

+207
-349
lines changed

.editorconfig

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ charset = utf-8
88
trim_trailing_whitespace = true
99
insert_final_newline = true
1010

11-
[*.yml]
11+
[*.yml,package.json]
1212
indent_size = 2
1313

1414
[*.md]

.eslintrc

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"extends": "eslint:recommended",
3+
4+
"parserOptions": {
5+
"ecmaVersion": 6,
6+
"sourceType": "module"
7+
},
8+
9+
"rules": {
10+
"no-bitwise": 1,
11+
"eqeqeq": 2,
12+
"guard-for-in": 2,
13+
"no-extend-native": 2
14+
},
15+
16+
"env": {
17+
"browser": true,
18+
"node": true
19+
},
20+
21+
"globals": {
22+
"require": false,
23+
"define": false,
24+
"escape": false
25+
}
26+
}

.gitignore

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1-
.DS_Store
2-
.idea
3-
node_modules/
1+
docs/
2+
dist/
43
coverage/
4+
node_modules/
5+
.nyc_output/
56

7+
.DS_Store
8+
.idea
69
.zuulrc
710
npm-debug.log
811
sauce.json

.jscsrc

+10-136
Original file line numberDiff line numberDiff line change
@@ -1,142 +1,16 @@
11
{
2-
"disallowDanglingUnderscores": false,
3-
"disallowIdentifierNames": [],
4-
"disallowImplicitTypeConversion": [],
5-
"disallowKeywordsOnNewLine": [
6-
"catch",
7-
"else"
8-
],
9-
"disallowKeywords": [
10-
"void",
11-
"with"
12-
],
13-
"disallowMixedSpacesAndTabs": true,
14-
"disallowMultipleLineBreaks": true,
15-
"disallowMultipleLineStrings": true,
16-
"disallowMultipleSpaces": true,
17-
"disallowMultipleVarDecl": "exceptUndefined",
18-
"disallowNewlineBeforeBlockStatements": true,
19-
"disallowPaddingNewlinesBeforeKeywords": [
20-
"case",
21-
"typeof"
22-
],
23-
"disallowPaddingNewlinesInBlocks": true,
24-
"disallowQuotedKeysInObjects": true,
25-
"disallowSpaceAfterKeywords": [
26-
"catch",
27-
"for",
28-
"switch",
29-
"while"
30-
],
31-
"disallowSpaceAfterObjectKeys": true,
32-
"disallowSpaceAfterPrefixUnaryOperators": true,
33-
"disallowSpaceBeforePostfixUnaryOperators": true,
34-
"disallowSpacesInCallExpression": true,
35-
"disallowSpacesInsideParentheses": true,
36-
"disallowTrailingComma": true,
37-
"disallowTrailingWhitespace": true,
38-
"disallowYodaConditions": true,
2+
"preset": "google",
3+
4+
"disallowVar": true,
5+
"jsDoc": {
6+
"checkParamExistence": true,
7+
"checkParamNames": true,
8+
"checkTypes": true,
9+
"requireParamTypes": true,
10+
"requireHyphenBeforeDescription": true,
11+
},
3912
"maximumLineLength": 120,
40-
"requireBlocksOnNewline": true,
41-
"requireCamelCaseOrUpperCaseIdentifiers": false,
42-
"requireCapitalizedComments": {
43-
"allExcept": [
44-
"exported",
45-
"global",
46-
"jshint"
47-
]
48-
},
49-
"requireCapitalizedConstructors": true,
50-
"requireCommaBeforeLineBreak": true,
51-
"requireCurlyBraces": [
52-
"catch",
53-
"do",
54-
"else",
55-
"for",
56-
"if",
57-
"try",
58-
"while"
59-
],
60-
"requireDollarBeforejQueryAssignment": true,
61-
"requireDotNotation": true,
62-
"requireKeywordsOnNewLine": [
63-
"break",
64-
"case",
65-
"default"
66-
],
67-
"requireLineBreakAfterVariableAssignment": true,
68-
"requireOperatorBeforeLineBreak": true,
69-
"requirePaddingNewLineAfterVariableDeclaration": true,
70-
"requirePaddingNewLinesAfterBlocks": {
71-
"allExcept": [
72-
"inArrayExpressions",
73-
"inCallExpressions",
74-
"inProperties"
75-
]
76-
},
77-
"requirePaddingNewLinesAfterUseStrict": true,
78-
"requirePaddingNewLinesBeforeExport": true,
79-
"requirePaddingNewlinesBeforeKeywords": [
80-
"do",
81-
"for",
82-
"function",
83-
"if",
84-
"return",
85-
"switch",
86-
"try",
87-
"void",
88-
"while",
89-
"with"
90-
],
91-
"requirePaddingNewLinesBeforeLineComments": {
92-
"allExcept": "firstAfterCurly"
93-
},
94-
"requirePaddingNewLinesInObjects": true,
95-
"requireParenthesesAroundIIFE": true,
96-
"requireSemicolons": true,
97-
"requireSpaceAfterBinaryOperators": true,
98-
"requireSpaceAfterKeywords": [
99-
"case",
100-
"do",
101-
"else",
102-
"if",
103-
"return",
104-
"try",
105-
"typeof"
106-
],
10713
"requireSpaceAfterLineComment": true,
108-
"requireSpaceBeforeBinaryOperators": true,
109-
"requireSpaceBeforeBlockStatements": true,
110-
"requireSpaceBeforeKeywords": [
111-
"catch",
112-
"else"
113-
],
114-
"requireSpaceBeforeObjectValues": true,
115-
"requireSpaceBetweenArguments": true,
116-
"requireSpacesInAnonymousFunctionExpression": {
117-
"beforeOpeningCurlyBrace": true
118-
},
119-
"requireSpacesInConditionalExpression": true,
120-
"requireSpacesInForStatement": true,
121-
"requireSpacesInFunctionDeclaration": {
122-
"beforeOpeningCurlyBrace": true
123-
},
124-
"requireSpacesInFunctionExpression": {
125-
"beforeOpeningCurlyBrace": true
126-
},
127-
"requireSpacesInFunction": {
128-
"beforeOpeningCurlyBrace": true
129-
},
130-
"requireSpacesInNamedFunctionExpression": {
131-
"beforeOpeningCurlyBrace": true
132-
},
13314
"safeContextKeyword": ["that"],
134-
"validateAlignedFunctionParameters": true,
13515
"validateIndentation": 3,
136-
"validateLineBreaks": "LF",
137-
"validateNewlineAfterArrayElements": {
138-
"maximum": 3
139-
},
140-
"validateParameterSeparator": ", ",
141-
"validateQuoteMarks": "'"
14216
}

.jsdoc.json

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"tags": {
3+
"dictionaries": ["jsdoc"]
4+
},
5+
"source": {
6+
"include": ["src", "package.json", "README.md"],
7+
"includePattern": ".js$",
8+
"excludePattern": "(node_modules/|docs)"
9+
},
10+
"plugins": [
11+
"plugins/markdown"
12+
],
13+
"templates": {
14+
"cleverLinks": false,
15+
"monospaceLinks": true
16+
},
17+
"opts": {
18+
"destination": "./docs/",
19+
"encoding": "utf8",
20+
"recurse": true,
21+
"template": "./node_modules/minami"
22+
}
23+
}

.jshintrc

-65
This file was deleted.

.travis.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ cache:
1313
- node_modules
1414

1515
before_install:
16-
- npm i -g npm@^3.3.0
16+
- npm install -g npm@latest
1717

1818
script:
1919
- gulp lint
2020
- gulp test:mocha
21-
- npm run codecov
21+
# - npm run codecov # disabled temporarialy while I work out how to generate accurate coverage of ES2015 code

gulpfile.babel.js

+87
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
import gulp from 'gulp';
2+
import jscs from 'gulp-jscs';
3+
import eslint from 'gulp-eslint';
4+
import stylish from 'gulp-jscs-stylish';
5+
6+
import babel from 'gulp-babel';
7+
import rename from 'gulp-rename';
8+
9+
import browserify from 'browserify';
10+
import buffer from 'vinyl-buffer';
11+
import del from 'del';
12+
import path from 'path';
13+
import {Promise} from 'es6-promise';
14+
import source from 'vinyl-source-stream';
15+
import sourcemaps from 'gulp-sourcemaps';
16+
import uglify from 'gulp-uglify';
17+
18+
const ALL_SOURCES = [
19+
path.join(__dirname, '/*.js'),
20+
path.join(__dirname, '/src/*.js'),
21+
path.join(__dirname, '/test/*.js')
22+
];
23+
24+
gulp.task('lint', function() {
25+
const opts = {
26+
base: './'
27+
};
28+
return gulp.src(ALL_SOURCES, opts)
29+
.pipe(eslint())
30+
.pipe(jscs())
31+
.pipe(stylish.combineWithHintResults())
32+
.pipe(stylish())
33+
;
34+
});
35+
36+
gulp.task('clean', function() {
37+
return Promise.all([del('dist/'), del('coverage/')]);
38+
});
39+
40+
const browserifyConfig = {
41+
debug: true,
42+
entries: 'src/Github.js',
43+
standalone: 'Github'
44+
};
45+
gulp.task('build', function() {
46+
browserify(browserifyConfig)
47+
.transform('babelify')
48+
.bundle()
49+
.pipe(source('Github.js'))
50+
.pipe(buffer())
51+
.pipe(sourcemaps.init({
52+
loadMaps: true
53+
}))
54+
.pipe(uglify())
55+
.pipe(rename({
56+
extname: '.bundle.min.js'
57+
}))
58+
.pipe(sourcemaps.write('.'))
59+
.pipe(gulp.dest('dist'))
60+
;
61+
62+
browserify(browserifyConfig)
63+
.transform('babelify')
64+
.bundle()
65+
.pipe(source('Github.js'))
66+
.pipe(buffer())
67+
.pipe(sourcemaps.init({
68+
loadMaps: true
69+
}))
70+
.pipe(rename({
71+
extname: '.bundle.js'
72+
}))
73+
.pipe(sourcemaps.write('.'))
74+
.pipe(gulp.dest('dist'))
75+
;
76+
77+
return gulp.src('src/*.js')
78+
.pipe(babel())
79+
.pipe(sourcemaps.init())
80+
.pipe(sourcemaps.write('.'))
81+
.pipe(gulp.dest('dist/components'))
82+
;
83+
});
84+
85+
gulp.task('default', ['clean'], function() {
86+
gulp.start('lint', 'test:mocha', 'build');
87+
});

0 commit comments

Comments
 (0)