mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-22 19:07:54 +01:00
manual fix lint errors
This commit is contained in:
parent
065be3d37d
commit
1cdc41a5d9
@ -11,7 +11,7 @@ const path = require('path');
|
||||
|
||||
module.exports = function(config) {
|
||||
const app = express();
|
||||
const router = express.Router();
|
||||
const router = express.Router(); // eslint-disable-line new-cap
|
||||
const baseUriPath = config.baseUriPath || '';
|
||||
const publicFolder = config.publicFolder;
|
||||
|
||||
|
@ -22,7 +22,7 @@ module.exports = function(db) {
|
||||
return db
|
||||
.select(EVENT_COLUMNS)
|
||||
.from('events')
|
||||
.whereRaw('data ->> \'name\' = ?', [name])
|
||||
.whereRaw('data ->> "name" = ?', [name])
|
||||
.orderBy('created_at', 'desc')
|
||||
.map(rowToEvent);
|
||||
}
|
||||
|
@ -19,9 +19,8 @@ function baseTypeFor(event) {
|
||||
return 'features';
|
||||
} else if (strategyTypes.indexOf(event.type) !== -1) {
|
||||
return 'strategies';
|
||||
} else {
|
||||
throw new Error(`unknown event type: ${JSON.stringify(event)}`);
|
||||
}
|
||||
throw new Error(`unknown event type: ${JSON.stringify(event)}`);
|
||||
}
|
||||
|
||||
function groupByBaseTypeAndName(events) {
|
||||
@ -46,14 +45,14 @@ function eachConsecutiveEvent(events, callback) {
|
||||
const group = groups[baseType];
|
||||
|
||||
Object.keys(group).forEach(name => {
|
||||
const events = group[name];
|
||||
const currentEvents = group[name];
|
||||
let left;
|
||||
let right;
|
||||
let i;
|
||||
let l;
|
||||
for (i = 0, l = events.length; i < l; i++) {
|
||||
left = events[i];
|
||||
right = events[i + 1];
|
||||
for (i = 0, l = currentEvents.length; i < l; i++) {
|
||||
left = currentEvents[i];
|
||||
right = currentEvents[i + 1];
|
||||
|
||||
callback(left, right);
|
||||
}
|
||||
|
@ -9,9 +9,8 @@ function EventStore(eventDb) {
|
||||
util.inherits(EventStore, EventEmitter);
|
||||
|
||||
EventStore.prototype.create = function (event) {
|
||||
const that = this;
|
||||
return this.eventDb.store(event).then(() => {
|
||||
that.emit(event.type, event);
|
||||
this.emit(event.type, event);
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -3,8 +3,8 @@ const fs = require('fs');
|
||||
const util = require('util');
|
||||
const path = require('path');
|
||||
|
||||
const runMigration = function(path, db, callback) {
|
||||
db.runSql(fs.readFileSync(path, { encoding: 'utf8' }), callback);
|
||||
const runMigration = function(migrationPath, db, callback) {
|
||||
db.runSql(fs.readFileSync(migrationPath, { encoding: 'utf8' }), callback);
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
|
@ -8,10 +8,9 @@ const FeatureList = require('../../../components/feature/FeatureList');
|
||||
|
||||
describe('FeatureList', () => {
|
||||
let Component;
|
||||
let features;
|
||||
|
||||
beforeEach(() => {
|
||||
features = [
|
||||
const features = [
|
||||
{ name: 'featureX', strategy: 'other' },
|
||||
{ name: 'group.featureY', strategy: 'default' },
|
||||
];
|
||||
@ -26,25 +25,25 @@ describe('FeatureList', () => {
|
||||
});
|
||||
|
||||
it('should render all features', () => {
|
||||
const features = Component.getDOMNode().querySelectorAll('.feature');
|
||||
expect(features.length).toEqual(2);
|
||||
const featuresElement = Component.getDOMNode().querySelectorAll('.feature');
|
||||
expect(featuresElement.length).toEqual(2);
|
||||
});
|
||||
|
||||
it('should filter list of features', () => {
|
||||
const filterNode = Component.refs.filter.getDOMNode();
|
||||
TestUtils.Simulate.change(filterNode, { target: { value: 'group' } });
|
||||
|
||||
const features = Component.getDOMNode().querySelectorAll('.feature');
|
||||
expect(features.length).toEqual(1);
|
||||
const featuresElement = Component.getDOMNode().querySelectorAll('.feature');
|
||||
expect(featuresElement.length).toEqual(1);
|
||||
});
|
||||
|
||||
it('should filter list of features ignoring case', () => {
|
||||
const filterNode = Component.refs.filter.getDOMNode();
|
||||
TestUtils.Simulate.change(filterNode, { target: { value: 'GROUP' } });
|
||||
|
||||
const features = Component.getDOMNode().querySelectorAll('.feature');
|
||||
expect(features.length).toEqual(1);
|
||||
expect(features[0].textContent).toMatch('group');
|
||||
const featuresElement = Component.getDOMNode().querySelectorAll('.feature');
|
||||
expect(featuresElement.length).toEqual(1);
|
||||
expect(featuresElement[0].textContent).toMatch('group');
|
||||
});
|
||||
|
||||
it('should filter list of features by strategy name', () => {
|
||||
@ -52,8 +51,8 @@ describe('FeatureList', () => {
|
||||
const filterNode = Component.refs.filter.getDOMNode();
|
||||
TestUtils.Simulate.change(filterNode, { target: { value: searchString } });
|
||||
|
||||
const features = Component.getDOMNode().querySelectorAll('.feature');
|
||||
expect(features.length).toEqual(1);
|
||||
expect(features[0].textContent).toMatch(searchString);
|
||||
const featuresElement = Component.getDOMNode().querySelectorAll('.feature');
|
||||
expect(featuresElement.length).toEqual(1);
|
||||
expect(featuresElement[0].textContent).toMatch(searchString);
|
||||
});
|
||||
});
|
||||
|
@ -31,7 +31,7 @@ const ErrorMessages = React.createClass({
|
||||
|
||||
render() {
|
||||
return (
|
||||
<Ui errors={this.state.errors} onClearErrors={this.onClearErrors}></Ui>
|
||||
<Ui errors={this.state.errors} onClearErrors={this.onClearErrors} />
|
||||
);
|
||||
},
|
||||
});
|
||||
|
@ -3,59 +3,60 @@ const React = require('react');
|
||||
const User = require('./User');
|
||||
|
||||
const Menu = React.createClass({
|
||||
render() { return (
|
||||
<div className="topbar mbl">
|
||||
<div className="container">
|
||||
<div className="page">
|
||||
<div className="fright-ht768">
|
||||
<User />
|
||||
</div>
|
||||
<div className="nav-level1 h4">
|
||||
<a href="#" className="homelink pln">
|
||||
<span className="topbar-nav-svg-home">
|
||||
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53M
|
||||
y5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MjcuNDExIiBoZWlnaHQ9IjE2OS4z
|
||||
OTgiIHZpZXdCb3g9IjAgMCA1MjcuNDExIDE2OS4zOTgiPjxwYXRoIGZpbGw
|
||||
9IiNmZmYiIGQ9Ik00NjguNTA3IDBoLTI1Ni4xODdjLTIxLjcwNyAwLTQwLj
|
||||
Y5NSAxMS44MTItNTAuOTEyIDI5LjMzNy0xMC4yMTYtMTcuNTI1LTI5LjIwN
|
||||
C0yOS4zMzctNTAuOTExLTI5LjMzN2gtNTEuNTk1Yy0zMi40NzkgMC01OC45
|
||||
MDIgMjYuNDI1LTU4LjkwMiA1OC45MDV2NTEuNTg3YzAgMzIuNDgxIDI2LjQ
|
||||
yMyA1OC45MDYgNTguOTAyIDU4LjkwNmg0MDkuNjA1YzMyLjQ3OSAwIDU4Lj
|
||||
kwMy0yNi40MjUgNTguOTAzLTU4LjkwNnYtNTEuNTg3Yy4wMDEtMzIuNDgtM
|
||||
jYuNDIzLTU4LjkwNS01OC45MDMtNTguOTA1eiIvPjxwYXRoIGZpbGw9IiMw
|
||||
OWYiIGQ9Ik00NjguNTA3IDE1My4zODNjMjMuNjg3IDAgNDIuODg4LTE5LjE
|
||||
5OSA0Mi44ODgtNDIuODl2LTUxLjU4OGMwLTIzLjY5MS0xOS4yMDEtNDIuOD
|
||||
ktNDIuODg4LTQyLjg5aC0yNTYuMTg3Yy0yMy42ODYgMC00Mi44ODcgMTkuM
|
||||
Tk4LTQyLjg4NyA0Mi44OXY5NC40NzhoMjk5LjA3NHoiLz48cGF0aCBmaWxs
|
||||
PSIjMDA2IiBkPSJNMTUzLjM4NCAxNTMuMzgzdi05NC40NzhjMC0yMy42OTE
|
||||
tMTkuMjAxLTQyLjg5LTQyLjg4Ny00Mi44OWgtNTEuNTk1Yy0yMy42ODYgMC
|
||||
00Mi44ODcgMTkuMTk4LTQyLjg4NyA0Mi44OXY1MS41ODdjMCAyMy42OTEgM
|
||||
TkuMjAxIDQyLjg5IDQyLjg4NyA0Mi44OWg5NC40ODJ6Ii8%2BPHJlY3QgeD
|
||||
0iMzIwLjE1NiIgeT0iNzUuMjc1IiBmaWxsPSIjZmZmIiB3aWR0aD0iMTkuN
|
||||
jIxIiBoZWlnaHQ9IjUzLjIxMSIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0y
|
||||
NjIuOTEyIDg2LjI4MWMwLTUuNTI5IDMuODEzLTExLjAwNiAxMy4wNjktMTE
|
||||
uMDA2aDI4LjQyMXYxNS42MTNoLTE4LjYxMmMtMi40OTggMC0zLjI1NS45OT
|
||||
ItMy4yNTUgMi42NjR2Ny40NzJoMjEuODY3djE1LjYxaC0yMS44Njd2MTEuO
|
||||
DUyaC0xOS42MjN2LTQyLjIwNXpNMzc1LjE2NSA5MS4wOTloMTAuMzk5YzIu
|
||||
NDA5IDAgMy4yNDYuODMyIDMuMjQ2IDMuMjM1bC0uMDA4IDM0LjE1MmgxOS4
|
||||
2MzJ2LTQxLjk5NmMwLTUuNTI3LTMuODE1LTExLjAwNC0xMy4wNjktMTEuMD
|
||||
A0aC0zOS44MjRsLS4wMSA1M2gxOS42MzR2LTM3LjM4N3pNNDQyLjcxOSA5M
|
||||
S4wOTloMTAuNGMyLjQwOCAwIDMuMjQ1LjgzMiAzLjI0NSAzLjIzNWwtLjAw
|
||||
OSAzNC4xNTJoMTkuNjM0di00MS45OTZjMC01LjUyNy0zLjgxNS0xMS4wMDQ
|
||||
tMTMuMDctMTEuMDA0aC0zOS44MjNsLS4wMSA1M2gxOS42MzN2LTM3LjM4N3
|
||||
oiLz48L3N2Zz4%3D" width="106" height="34" />
|
||||
</span>
|
||||
render() {
|
||||
return (
|
||||
<div className="topbar mbl">
|
||||
<div className="container">
|
||||
<div className="page">
|
||||
<div className="fright-ht768">
|
||||
<User />
|
||||
</div>
|
||||
<div className="nav-level1 h4">
|
||||
<a href="#" className="homelink pln">
|
||||
<span className="topbar-nav-svg-home">
|
||||
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53M
|
||||
y5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MjcuNDExIiBoZWlnaHQ9IjE2OS4z
|
||||
OTgiIHZpZXdCb3g9IjAgMCA1MjcuNDExIDE2OS4zOTgiPjxwYXRoIGZpbGw
|
||||
9IiNmZmYiIGQ9Ik00NjguNTA3IDBoLTI1Ni4xODdjLTIxLjcwNyAwLTQwLj
|
||||
Y5NSAxMS44MTItNTAuOTEyIDI5LjMzNy0xMC4yMTYtMTcuNTI1LTI5LjIwN
|
||||
C0yOS4zMzctNTAuOTExLTI5LjMzN2gtNTEuNTk1Yy0zMi40NzkgMC01OC45
|
||||
MDIgMjYuNDI1LTU4LjkwMiA1OC45MDV2NTEuNTg3YzAgMzIuNDgxIDI2LjQ
|
||||
yMyA1OC45MDYgNTguOTAyIDU4LjkwNmg0MDkuNjA1YzMyLjQ3OSAwIDU4Lj
|
||||
kwMy0yNi40MjUgNTguOTAzLTU4LjkwNnYtNTEuNTg3Yy4wMDEtMzIuNDgtM
|
||||
jYuNDIzLTU4LjkwNS01OC45MDMtNTguOTA1eiIvPjxwYXRoIGZpbGw9IiMw
|
||||
OWYiIGQ9Ik00NjguNTA3IDE1My4zODNjMjMuNjg3IDAgNDIuODg4LTE5LjE
|
||||
5OSA0Mi44ODgtNDIuODl2LTUxLjU4OGMwLTIzLjY5MS0xOS4yMDEtNDIuOD
|
||||
ktNDIuODg4LTQyLjg5aC0yNTYuMTg3Yy0yMy42ODYgMC00Mi44ODcgMTkuM
|
||||
Tk4LTQyLjg4NyA0Mi44OXY5NC40NzhoMjk5LjA3NHoiLz48cGF0aCBmaWxs
|
||||
PSIjMDA2IiBkPSJNMTUzLjM4NCAxNTMuMzgzdi05NC40NzhjMC0yMy42OTE
|
||||
tMTkuMjAxLTQyLjg5LTQyLjg4Ny00Mi44OWgtNTEuNTk1Yy0yMy42ODYgMC
|
||||
00Mi44ODcgMTkuMTk4LTQyLjg4NyA0Mi44OXY1MS41ODdjMCAyMy42OTEgM
|
||||
TkuMjAxIDQyLjg5IDQyLjg4NyA0Mi44OWg5NC40ODJ6Ii8%2BPHJlY3QgeD
|
||||
0iMzIwLjE1NiIgeT0iNzUuMjc1IiBmaWxsPSIjZmZmIiB3aWR0aD0iMTkuN
|
||||
jIxIiBoZWlnaHQ9IjUzLjIxMSIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0y
|
||||
NjIuOTEyIDg2LjI4MWMwLTUuNTI5IDMuODEzLTExLjAwNiAxMy4wNjktMTE
|
||||
uMDA2aDI4LjQyMXYxNS42MTNoLTE4LjYxMmMtMi40OTggMC0zLjI1NS45OT
|
||||
ItMy4yNTUgMi42NjR2Ny40NzJoMjEuODY3djE1LjYxaC0yMS44Njd2MTEuO
|
||||
DUyaC0xOS42MjN2LTQyLjIwNXpNMzc1LjE2NSA5MS4wOTloMTAuMzk5YzIu
|
||||
NDA5IDAgMy4yNDYuODMyIDMuMjQ2IDMuMjM1bC0uMDA4IDM0LjE1MmgxOS4
|
||||
2MzJ2LTQxLjk5NmMwLTUuNTI3LTMuODE1LTExLjAwNC0xMy4wNjktMTEuMD
|
||||
A0aC0zOS44MjRsLS4wMSA1M2gxOS42MzR2LTM3LjM4N3pNNDQyLjcxOSA5M
|
||||
S4wOTloMTAuNGMyLjQwOCAwIDMuMjQ1LjgzMiAzLjI0NSAzLjIzNWwtLjAw
|
||||
OSAzNC4xNTJoMTkuNjM0di00MS45OTZjMC01LjUyNy0zLjgxNS0xMS4wMDQ
|
||||
tMTMuMDctMTEuMDA0aC0zOS44MjNsLS4wMSA1M2gxOS42MzN2LTM3LjM4N3
|
||||
oiLz48L3N2Zz4%3D" width="106" height="34" />
|
||||
</span>
|
||||
|
||||
<span
|
||||
className="topbar-nav-svg-caption caption showbydefault hide-lt900">
|
||||
unleash admin
|
||||
</span>
|
||||
</a>
|
||||
{this.props.children}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span
|
||||
className="topbar-nav-svg-caption caption showbydefault hide-lt900">
|
||||
unleash admin
|
||||
</span>
|
||||
</a>
|
||||
{this.props.children}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
},
|
||||
});
|
||||
|
@ -33,7 +33,7 @@ const Feature = React.createClass({
|
||||
},
|
||||
|
||||
archiveFeature() {
|
||||
if (window.confirm(`Are you sure you want to delete ${this.props.feature.name}?`)) {
|
||||
if (window.confirm(`Are you sure you want to delete ${this.props.feature.name}?`)) { // eslint-disable-line no-alert
|
||||
this.props.onArchive(this.props.feature);
|
||||
}
|
||||
},
|
||||
|
@ -25,9 +25,8 @@ const FeatureForm = React.createClass({
|
||||
getParameterValue(name) {
|
||||
if (this.props.feature && this.props.feature.parameters) {
|
||||
return this.props.feature.parameters[name];
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
|
||||
setSelectedStrategy(name) {
|
||||
@ -47,7 +46,9 @@ const FeatureForm = React.createClass({
|
||||
const requiredParams = [];
|
||||
let key;
|
||||
for (key in strategy.parametersTemplate) {
|
||||
requiredParams.push({ name: key, value: this.getParameterValue(key) });
|
||||
if (Object.hasOwnProperty.call(strategy.parametersTemplate, key)) {
|
||||
requiredParams.push({ name: key, value: this.getParameterValue(key) });
|
||||
}
|
||||
}
|
||||
this.setState({ requiredParams });
|
||||
},
|
||||
|
@ -33,9 +33,8 @@ const FeatureList = React.createClass({
|
||||
const regex = new RegExp(this.state.filter, 'i');
|
||||
|
||||
return this.props.features.filter(item => regex.test(item.name) || regex.test(item.strategy));
|
||||
} else {
|
||||
return this.props.features;
|
||||
}
|
||||
return this.props.features;
|
||||
},
|
||||
|
||||
render() {
|
||||
|
@ -57,9 +57,8 @@ const LogEntry = React.createClass({
|
||||
return (
|
||||
<code className="smalltext man">{changes.length === 0 ? '(no changes)' : changes}</code>
|
||||
);
|
||||
} else {
|
||||
return this.renderFullEventData();
|
||||
}
|
||||
return this.renderFullEventData();
|
||||
},
|
||||
|
||||
buildDiff(diff, idx) {
|
||||
|
@ -8,7 +8,7 @@ const Strategy = React.createClass({
|
||||
|
||||
onRemove(event) {
|
||||
event.preventDefault();
|
||||
if (window.confirm(`Are you sure you want to delete strategy '${this.props.strategy.name}'?`)) {
|
||||
if (window.confirm(`Are you sure you want to delete strategy '${this.props.strategy.name}'?`)) { // eslint-disable-line no-alert
|
||||
this.props.onRemove(this.props.strategy);
|
||||
}
|
||||
},
|
||||
|
@ -24,10 +24,8 @@ const StrategyForm = React.createClass({
|
||||
strategy.description = this.refs.description.getValue();
|
||||
strategy.parametersTemplate = {};
|
||||
|
||||
const that = this;
|
||||
|
||||
this.state.parameters.forEach(parameter => {
|
||||
const name = that.refs[parameter.name].getDOMNode().value.trim();
|
||||
const name = this.refs[parameter.name].getDOMNode().value.trim();
|
||||
if (name) {
|
||||
strategy.parametersTemplate[name] = 'string';
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ const FeatureStore = Reflux.createStore({
|
||||
} catch (e) {
|
||||
if (e instanceof SyntaxError) {
|
||||
// fall through;
|
||||
console.log('Syntax error!');
|
||||
console.log('Syntax error!'); // eslint-disable-line no-console
|
||||
} else {
|
||||
throw e;
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ function readCookie(name) {
|
||||
const ca = document.cookie.split(';');
|
||||
for (let i=0;i < ca.length;i++) {
|
||||
let c = ca[i];
|
||||
while (c.charAt(0)==' ') {
|
||||
while (c.charAt(0)==' ') { // eslint-disable-line eqeqeq
|
||||
c = c.substring(1, c.length);
|
||||
}
|
||||
if (c.indexOf(nameEQ) === 0) {
|
||||
|
@ -7,19 +7,19 @@ const Timer = function(cb, interval) {
|
||||
|
||||
Timer.prototype.start = function() {
|
||||
if (this.timerId != null) {
|
||||
console.warn('timer already started');
|
||||
console.warn('timer already started'); // eslint-disable-line no-console
|
||||
}
|
||||
|
||||
console.log('starting timer');
|
||||
console.log('starting timer'); // eslint-disable-line no-console
|
||||
this.timerId = setInterval(this.cb, this.interval);
|
||||
this.cb();
|
||||
};
|
||||
|
||||
Timer.prototype.stop = function() {
|
||||
if (this.timerId == null) {
|
||||
console.warn('no timer running');
|
||||
console.warn('no timer running'); // eslint-disable-line no-console
|
||||
} else {
|
||||
console.log('stopping timer');
|
||||
console.log('stopping timer'); // eslint-disable-line no-console
|
||||
clearInterval(this.timerId);
|
||||
this.timerId = null;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user