Skip to content

Commit 82a1247

Browse files
committed
refactor(eslint-config): updated to the beta of the config
1 parent ba184e7 commit 82a1247

32 files changed

+570
-532
lines changed

.editorconfig

+1-16
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,6 @@ root = true
77
charset = utf-8
88
trim_trailing_whitespace = true
99
indent_style = space
10-
indent_size = 4
10+
indent_size = 2
1111
end_of_line = lf
1212
insert_final_newline = true
13-
14-
[*.yml]
15-
indent_size = 2
16-
17-
[*.scss]
18-
indent_size = 2
19-
20-
[.eslintrc]
21-
indent_size = 2
22-
23-
[package.json]
24-
indent_size = 2
25-
26-
[*.md]
27-
indent_size = 2

Gruntfile.js

+17-17
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
/*eslint filenames/match-regex: "off" */
1+
/* eslint filenames/match-regex: "off" */
2+
/* eslint import/no-extraneous-dependencies: ["error", {"devDependencies": true}] */
23
require('babel-register');
34

4-
module.exports = function (grunt) {
5-
require('time-grunt')(grunt);
6-
require('load-grunt-config')(grunt, {
7-
jitGrunt: {
8-
staticMappings: {
9-
sasslint: 'grunt-sass-lint'
10-
}
11-
}
12-
});
5+
module.exports = grunt => {
6+
require('time-grunt')(grunt);
7+
require('load-grunt-config')(grunt, {
8+
jitGrunt: {
9+
staticMappings: {
10+
sasslint: 'grunt-sass-lint'
11+
}
12+
}
13+
});
14+
15+
grunt.event.on('coverage', (lcov, done) => {
16+
require('coveralls').handleInput(lcov, err => {
17+
if (err) return done(err);
1318

14-
grunt.event.on('coverage', (lcov, done) => {
15-
require('coveralls').handleInput(lcov, (err) => {
16-
if (err) {
17-
return done(err);
18-
}
19-
return done();
20-
});
19+
return done();
2120
});
21+
});
2222
};

grunt/rollup.js

+43-44
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,52 @@
1+
/* eslint import/no-extraneous-dependencies: ["error", {"devDependencies": true}] */
12
import babel from 'rollup-plugin-babel';
23
import glob from 'glob';
34
import path from 'path';
45

56
module.exports = {
6-
es5: {
7-
options: {
8-
format: 'cjs',
9-
sourceMap: true,
10-
plugins() {
11-
return [
12-
{
13-
transform: (code, id) => {
14-
if ('.scss' === path.extname(id)) {
15-
return {code: 'const styles = {}; export default styles;', map: {mappings: ''}};
16-
}
17-
return null;
18-
}
19-
},
20-
babel({
21-
babelrc: false,
22-
exclude: ['./node_modules/**'],
23-
presets: ['react', 'es2015-rollup']
24-
})
25-
];
7+
es5: {
8+
options: {
9+
format: 'cjs',
10+
sourceMap: true,
11+
plugins() {
12+
return [
13+
{
14+
transform: (code, id) => {
15+
if ('.scss' === path.extname(id)) {
16+
return {code: 'const styles = {}; export default styles;', map: {mappings: ''}};
17+
}
18+
return null;
2619
}
27-
},
28-
files: {
29-
'lib/main.js': 'src/main.js'
30-
}
20+
},
21+
babel({
22+
babelrc: false,
23+
exclude: ['./node_modules/**'],
24+
presets: ['react', 'es2015-rollup']
25+
})
26+
];
27+
}
3128
},
32-
browser: {
33-
options: {
34-
format: 'cjs',
35-
sourceMap: true,
36-
external: glob.sync('**/*.scss', {cwd: 'src'}).map((file) => {
37-
return require.resolve(`${__dirname}/../src/${file}`);
38-
}),
39-
plugins() {
40-
return [
41-
babel({
42-
babelrc: false,
43-
exclude: './node_modules/**',
44-
presets: ['react', 'es2015-rollup']
45-
})
46-
];
47-
}
48-
},
49-
files: {
50-
'lib/browser.js': 'src/main.js'
51-
}
29+
files: {
30+
'lib/main.js': 'src/main.js'
31+
}
32+
},
33+
browser: {
34+
options: {
35+
format: 'cjs',
36+
sourceMap: true,
37+
external: glob.sync('**/*.scss', {cwd: 'src'}).map(file => require.resolve(`${__dirname}/../src/${file}`)),
38+
plugins() {
39+
return [
40+
babel({
41+
babelrc: false,
42+
exclude: './node_modules/**',
43+
presets: ['react', 'es2015-rollup']
44+
})
45+
];
46+
}
47+
},
48+
files: {
49+
'lib/browser.js': 'src/main.js'
5250
}
51+
}
5352
};

package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"@kadira/react-storybook-addon-info": "3.3.0",
4242
"@kadira/storybook": "2.35.3",
4343
"@travi/any": "1.0.2",
44-
"@travi/eslint-config-travi": "0.3.0",
44+
"@travi/eslint-config-travi": "1.0.0-beta.4",
4545
"babel-cli": "6.22.2",
4646
"babel-core": "6.22.1",
4747
"babel-loader": "6.2.10",
@@ -50,6 +50,7 @@
5050
"babel-preset-es2015-rollup": "3.0.0",
5151
"babel-preset-react": "6.22.0",
5252
"babel-preset-stage-2": "6.22.0",
53+
"babel-register": "6.22.0",
5354
"chai": "3.5.0",
5455
"cheerio": "0.22.0",
5556
"coveralls": "2.11.15",
@@ -58,6 +59,7 @@
5859
"enzyme": "2.7.1",
5960
"file-loader": "0.9.0",
6061
"gh-pages": "0.12.0",
62+
"glob": "7.1.1",
6163
"globstar": "1.0.0",
6264
"greenkeeper-postpublish": "1.0.1",
6365
"grunt": "1.0.1",

src/atoms/loading-indicators/page.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React from 'react';
22
import CircularProgress from 'material-ui/CircularProgress';
33

44
export default function PageLoading() {
5-
return <CircularProgress color={'#c80000'} style={{margin: '10px auto', display: 'block'}} />;
5+
return <CircularProgress color={'#c80000'} style={{margin: '10px auto', display: 'block'}} />;
66
}
77

88
PageLoading.displayName = 'PageLoading';

src/errors/not-found.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ import React from 'react';
22
import Helmet from 'react-helmet';
33

44
export default function NotFound() {
5-
return (
6-
<div className="jumbotron">
7-
<Helmet title="Page Not Found"/>
8-
<h2>404</h2>
9-
<p>Page Not Found</p>
10-
</div>
11-
);
5+
return (
6+
<div className="jumbotron">
7+
<Helmet title="Page Not Found" />
8+
<h2>404</h2>
9+
<p>Page Not Found</p>
10+
</div>
11+
);
1212
}
1313

1414
NotFound.displayName = 'NotFound';

src/errors/server-error.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ import React from 'react';
22
import Helmet from 'react-helmet';
33

44
export default function ServerError() {
5-
return (
6-
<div className="jumbotron">
7-
<Helmet title="Server Error"/>
8-
<h2>500</h2>
9-
<p>Server Error</p>
10-
</div>
11-
);
5+
return (
6+
<div className="jumbotron">
7+
<Helmet title="Server Error" />
8+
<h2>500</h2>
9+
<p>Server Error</p>
10+
</div>
11+
);
1212
}
1313

1414
ServerError.displayName = 'ServerError';

src/index.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ import React from 'react';
22
import Helmet from 'react-helmet';
33

44
export default function Index() {
5-
return (
6-
<div className="jumbotron">
7-
<Helmet title="Home"/>
8-
<h2>Reference API Client</h2>
9-
<p>Administration for Travi.org</p>
10-
</div>
11-
);
5+
return (
6+
<div className="jumbotron">
7+
<Helmet title="Home" />
8+
<h2>Reference API Client</h2>
9+
<p>Administration for Travi.org</p>
10+
</div>
11+
);
1212
}
1313

1414
Index.displayName = 'Index';

src/resources/individual/persons/person.js

+42-31
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,50 @@ import PageLoading from '../../../../src/atoms/loading-indicators/page';
55
import styles from './_h-card.scss';
66

77
export default function Person({person, loading}) {
8-
const avatar = person.avatar;
8+
return (
9+
<div>
10+
<Helmet title={person ? person.displayName : 'Loading person...'} />
911

10-
return (
11-
<div>
12-
<Helmet title={person.displayName || 'Loading person...'}/>
13-
14-
{loading && <PageLoading />}
15-
{loading ||
16-
<div className={`resource h-card panel panel-default ${styles['h-card']}`}>
17-
<h3 className="p-name panel-heading">{person.displayName}</h3>
18-
<div className="container-fluid panel-body">
19-
<dl className="col-sm-6">
20-
<dt>First Name</dt>
21-
<dd className="p-given-name">{person.name.first}</dd>
22-
<dt>Last Name</dt>
23-
<dd className="p-family-name">{person.name.last}</dd>
24-
<dt>Username</dt>
25-
<dd className="p-nickname">{person.id}</dd>
26-
</dl>
27-
<figure className="col-sm-6">
28-
<img
29-
src={avatar.src}
30-
height={avatar.size}
31-
width={avatar.size}
32-
alt={person.displayName}
33-
className="img-rounded u-photo"
34-
/>
35-
</figure>
36-
</div>
37-
</div>
38-
}
12+
{loading && <PageLoading />}
13+
{loading ||
14+
<div className={`resource h-card panel panel-default ${styles['h-card']}`}>
15+
<h3 className="p-name panel-heading">{person.displayName}</h3>
16+
<div className="container-fluid panel-body">
17+
<dl className="col-sm-6">
18+
<dt>First Name</dt>
19+
<dd className="p-given-name">{person.name.first}</dd>
20+
<dt>Last Name</dt>
21+
<dd className="p-family-name">{person.name.last}</dd>
22+
<dt>Username</dt>
23+
<dd className="p-nickname">{person.id}</dd>
24+
</dl>
25+
<figure className="col-sm-6">
26+
<img
27+
src={person.avatar.src}
28+
height={person.avatar.size}
29+
width={person.avatar.size}
30+
alt={person.displayName}
31+
className="img-rounded u-photo"
32+
/>
33+
</figure>
3934
</div>
40-
);
35+
</div>
36+
}
37+
</div>
38+
);
4139
}
4240

4341
Person.displayName = 'Person';
42+
43+
Person.propTypes = {
44+
loading: React.PropTypes.bool,
45+
person: React.PropTypes.shape({
46+
id: React.PropTypes.string,
47+
displayName: React.PropTypes.string,
48+
name: React.PropTypes.shape({
49+
first: React.PropTypes.string,
50+
last: React.PropTypes.string
51+
}).isRequired
52+
})
53+
};
54+

src/resources/individual/resource.js

+12-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
import React from 'react';
22
import Helmet from 'react-helmet';
33
import PageLoading from '../../atoms/loading-indicators/page';
4+
import {resourceShape} from '../resource-shapes';
45

56
export default function Resource({resource, loading}) {
6-
return (
7-
<div>
8-
<Helmet title={resource.displayName || 'Loading Resource...'}/>
9-
{loading ? <PageLoading /> : <h3>{resource.displayName}</h3>}
10-
</div>
11-
);
7+
return (
8+
<div>
9+
<Helmet title={resource.displayName || 'Loading Resource...'} />
10+
{loading ? <PageLoading /> : <h3>{resource.displayName}</h3>}
11+
</div>
12+
);
1213
}
1314

1415
Resource.displayName = 'Resource';
16+
17+
Resource.propTypes = {
18+
loading: React.PropTypes.bool.isRequired,
19+
resource: resourceShape
20+
};

0 commit comments

Comments
 (0)