Skip to content

Commit da6c3ff

Browse files
committed
refactor: Fix lint error and clean up the code
1 parent adb61a2 commit da6c3ff

File tree

14 files changed

+88
-135
lines changed

14 files changed

+88
-135
lines changed

.eslintignore

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11
**/node_modules/**
2-
dist/**
3-
eslint/**
4-
src/lib/**
2+
**/public/**

ecosystem.config.js

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
module.exports = {
2-
"apps" : [
3-
{
4-
"name" : "validatejavascript.com",
5-
"script" : "packages/backend/index.js",
6-
"error_file": "/var/web/eslint.io/logs/err.log",
7-
"out_file": "/var/web/eslint.io/logs/out.log",
8-
"env": {
9-
"NODE_ENV": "production",
10-
"PORT": "5004"
11-
},
12-
"env_production" : {
2+
apps: [
3+
{
4+
name: 'validatejavascript.com',
5+
script: 'packages/backend/index.js',
6+
error_file: '/var/web/eslint.io/logs/err.log',
7+
out_file: '/var/web/eslint.io/logs/out.log',
8+
env: {
9+
NODE_ENV: 'production',
10+
PORT: '5004'
11+
},
12+
env_production: {
1313

14+
}
1415
}
15-
}
1616
],
17-
"deploy" : {
18-
"production" : {
19-
"user" : "deployer",
20-
"host" : "192.241.157.86",
21-
"ref" : "origin/master",
22-
"repo" : "git@github.com:circlecell/eslint.io.git",
23-
"path" : "/var/web/eslint.io",
24-
"ssh_options": ["StrictHostKeyChecking=no", "PasswordAuthentication=no"],
25-
"post-deploy" : "npm run install-all && npm run build && npm start"
17+
deploy: {
18+
production: {
19+
user: 'deployer',
20+
host: '192.241.157.86',
21+
ref: 'origin/master',
22+
repo: 'git@github.com:circlecell/eslint.io.git',
23+
path: '/var/web/eslint.io',
24+
ssh_options: ['StrictHostKeyChecking=no', 'PasswordAuthentication=no'],
25+
'post-deploy': 'npm run install-all && npm run build && npm start'
26+
}
2627
}
27-
}
28-
}
28+
};

packages/backend/api/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ const init = require('./init');
44

55
module.exports = new Router()
66
.post('/lint', lint)
7-
.get('/init', init)
7+
.get('/init', init);

packages/backend/api/init.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,18 @@ const jsxA11yPlugin = require('eslint-plugin-jsx-a11y');
55
const airbnb = require('eslint-config-airbnb');
66
const google = require('eslint-config-google');
77
const standard = require('eslint-config-standard');
8-
const eslint = require("eslint/conf/eslint-recommended");
8+
const eslint = require('eslint/conf/eslint-recommended');
99

1010
function getRules(config) {
1111
const rules = {};
12-
if(config.rules) {
12+
if (config.rules) {
1313
Object.assign(rules, config.rules);
1414
}
1515

16-
if(config.extends) {
17-
for(const configPath of config.extends) {
18-
Object.assign(rules, getRules(require(configPath)))
16+
if (config.extends) {
17+
for (const configPath of config.extends) {
18+
// eslint-disable-next-line import/no-dynamic-require
19+
Object.assign(rules, getRules(require(configPath)));
1920
}
2021
}
2122

@@ -33,8 +34,8 @@ const rulesList = {
3334
eslint: Object.keys(loadRules()),
3435
react: Object.keys(reactPlugin.rules),
3536
'jsx-a11y': Object.keys(jsxA11yPlugin.rules)
36-
}
37+
};
3738

3839
module.exports = (req, res) => {
39-
res.json({ payload: { rulesList, configs } })
40-
}
40+
res.json({ payload: { rulesList, configs } });
41+
};

packages/backend/api/lint.js

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,30 @@
1-
var CLIEngine = require("eslint").CLIEngine;
2-
const stripAnsi = require('strip-ansi')
1+
const CLIEngine = require('eslint').CLIEngine;
2+
const stripAnsi = require('strip-ansi');
33

44
const lint = (code, {
55
envs,
6-
fix =true,
7-
rules,
6+
fix = true,
7+
rules
88
}) => new CLIEngine({
9-
envs,
10-
fix,
11-
rules,
12-
plugins: ['jsx-a11y', 'import', 'react'],
13-
useEslintrc: false,
14-
parser: "babel-eslint",
15-
})
9+
envs,
10+
fix,
11+
rules,
12+
plugins: ['jsx-a11y', 'import', 'react'],
13+
useEslintrc: false,
14+
parser: 'babel-eslint'
15+
})
1616
.executeOnText(code).results[0];
1717

1818
module.exports = (req, res) => {
1919
const { code, rules, envs } = req.body;
2020
const result = lint(code, { rules, envs });
2121

22-
result.messages.forEach(message => {
22+
result.messages.forEach((message) => {
23+
// eslint-disable-next-line no-param-reassign
2324
message.message = stripAnsi(message.message);
24-
})
25+
});
2526

2627
res.json({
2728
payload: result
28-
})
29-
}
29+
});
30+
};

packages/backend/index.js

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,21 @@
11
const express = require('express');
2-
const api = require('./api')
3-
const bodyParser = require('body-parser')
4-
5-
//console.log(lint('var x = <Foobar />; console.log("nopp")', { fix: true }).results[0])
2+
const api = require('./api');
3+
const bodyParser = require('body-parser');
64

75
const app = express();
86

97
const { PORT, NODE_ENV } = process.env;
108
const port = PORT;
119

12-
/*app.use(bodyParser.urlencoded({
13-
extended: true
14-
}));*/
15-
1610
app.use(bodyParser.json());
1711

18-
if(NODE_ENV === 'production') {
19-
app.use(function(req, res, next) {
20-
if (/.*\.js/.test(req.path)) {
21-
res.charset = "utf-8";
22-
}
23-
next();
24-
});
12+
if (NODE_ENV === 'production') {
2513
app.use(express.static(`${__dirname}/public`));
2614
}
2715

2816
app.use('/api', api);
2917

30-
app.listen(port, function () {
18+
app.listen(port, () => {
19+
// eslint-disable-next-line no-console
3120
console.log(`Example app listening on port ${port}!`);
3221
});

packages/backend/lint.js

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

packages/frontend/Messages.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import bindNode from 'matreshka/bindnode';
44
import display from 'matreshka/binders/display';
55

66
export default class Messages extends MatreshkaArray {
7-
itemRenderer = `<pre class="result-item">{{ line }}:{{ column }} {{ type }} {{ message }}</pre>`;
7+
itemRenderer = '<pre class="result-item">{{ line }}:{{ column }} {{ type }} {{ message }}</pre>';
88
constructor(data, parent) {
99
super()
1010
.bindNode({
@@ -16,7 +16,7 @@ export default class Messages extends MatreshkaArray {
1616
}
1717
})
1818
.on('*@render', ({ self }) => {
19-
calc(self, 'type', 'severity', severity => severity === 1 ? 'warning' : 'error');
19+
calc(self, 'type', 'severity', severity => (severity === 1 ? 'warning' : 'error'));
2020
bindNode(self, 'type', ':sandbox', {
2121
setValue(type, { node }) {
2222
node.classList.add(`result-${type}`);

packages/frontend/Rules/RulesGroup.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ export default class RulesGroup extends MatreshkaArray {
1414
.set(plugin)
1515
.recreate(plugin.rules)
1616
.rerender();
17-
1817
}
1918

2019
onRender() {
@@ -24,10 +23,10 @@ export default class RulesGroup extends MatreshkaArray {
2423
}
2524

2625
getFullRuleName(ruleName) {
27-
if(this.pluginName === 'eslint') {
26+
if (this.pluginName === 'eslint') {
2827
return ruleName;
2928
}
3029

31-
return `${this.pluginName}/${ruleName}`
30+
return `${this.pluginName}/${ruleName}`;
3231
}
3332
}

packages/frontend/Rules/index.js

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import MatreshkaArray from 'matreshka/array';
22
import RulesGroup from './RulesGroup';
3-
//import plugins from '../lint/plugins';
3+
// import plugins from '../lint/plugins';
44

55
export default class Rules extends MatreshkaArray {
66
Model = RulesGroup;
@@ -13,13 +13,13 @@ export default class Rules extends MatreshkaArray {
1313
'*.*@rulechange': () => {
1414
this.trigger('rulechange');
1515
}
16-
})
17-
//.render()
18-
//.recreate(plugins)
19-
//.update(data);
16+
});
17+
// .render()
18+
// .recreate(plugins)
19+
// .update(data);
2020
}
2121

22-
/*async render() {
22+
/* async render() {
2323
const { payload } = await ( await fetch('/api/init') ).json();
2424
2525
this.recreate(Object.entries(payload).map(([pluginName, value]) => ({
@@ -29,8 +29,6 @@ export default class Rules extends MatreshkaArray {
2929
}*/
3030

3131
update(config) {
32-
33-
3432
/* const groups = {};
3533
for(const [fullRuleName, value] of Object.entries(config)) {
3634
let [groupName, ruleName] = fullRuleName.split('/');
@@ -55,8 +53,8 @@ export default class Rules extends MatreshkaArray {
5553

5654
return this;
5755

58-
//console.log(groups)
59-
/*if (!rules) return this;
56+
// console.log(groups)
57+
/* if (!rules) return this;
6058
6159
for (const group of this) {
6260
for (const rule of group) {
@@ -76,7 +74,7 @@ export default class Rules extends MatreshkaArray {
7674
const result = {};
7775
for (const group of this) {
7876
for (const { name, value, isOn } of group) {
79-
if(isOn) {
77+
if (isOn) {
8078
result[group.getFullRuleName(name)] = value;
8179
}
8280
}

0 commit comments

Comments
 (0)