replaced eslint:recommended with prettier

This commit is contained in:
Wyatt Johnson
2018-01-11 20:00:34 -07:00
parent d56c19016a
commit 0abc2ca243
649 changed files with 16235 additions and 13008 deletions
@@ -1,7 +1,9 @@
const ms = require('ms');
const config = {
API_ENDPOINT: process.env.TALK_PERSPECTIVE_API_ENDPOINT || 'https://commentanalyzer.googleapis.com/v1alpha1',
API_ENDPOINT:
process.env.TALK_PERSPECTIVE_API_ENDPOINT ||
'https://commentanalyzer.googleapis.com/v1alpha1',
API_KEY: process.env.TALK_PERSPECTIVE_API_KEY,
THRESHOLD: process.env.TALK_TOXICITY_THRESHOLD || 0.8,
API_TIMEOUT: ms(process.env.TALK_PERSPECTIVE_TIMEOUT || '300ms'),
@@ -9,7 +11,9 @@ const config = {
};
if (process.env.NODE_ENV !== 'test' && !config.API_KEY) {
throw new Error('Please set the TALK_PERSPECTIVE_API_KEY environment variable to use the toxic-comments plugin. Visit https://www.perspectiveapi.com/ to request API access.');
throw new Error(
'Please set the TALK_PERSPECTIVE_API_KEY environment variable to use the toxic-comments plugin. Visit https://www.perspectiveapi.com/ to request API access.'
);
}
module.exports = config;
@@ -1,4 +1,4 @@
const {APIError} = require('errors');
const { APIError } = require('errors');
// ErrToxic is sent during a `CreateComment` mutation where
// `input.checkToxicity` is set to true and the comment contains
@@ -1,5 +1,5 @@
const {getScores, isToxic} = require('./perspective');
const {ErrToxic} = require('./errors');
const { getScores, isToxic } = require('./perspective');
const { ErrToxic } = require('./errors');
// We don't add the hooks during _test_ as the perspective API is not available.
if (process.env.NODE_ENV === 'test') {
@@ -9,14 +9,12 @@ if (process.env.NODE_ENV === 'test') {
module.exports = {
RootMutation: {
createComment: {
async pre(_, {input}, _context, _info) {
async pre(_, { input }, _context, _info) {
// Try getting scores.
let scores;
try {
scores = await getScores(input.body);
} catch(err) {
} catch (err) {
// Warn and let mutation pass.
console.trace(err);
return;
@@ -33,12 +31,13 @@ module.exports = {
}
input.status = 'SYSTEM_WITHHELD';
input.actions = input.actions && input.actions.length >= 0 ? input.actions : [];
input.actions =
input.actions && input.actions.length >= 0 ? input.actions : [];
input.actions.push({
action_type: 'FLAG',
user_id: null,
group_id: 'TOXIC_COMMENT',
metadata: {}
metadata: {},
});
}
},
@@ -1,5 +1,11 @@
const fetch = require('node-fetch');
const {API_ENDPOINT, API_KEY, THRESHOLD, API_TIMEOUT, DO_NOT_STORE} = require('./config');
const {
API_ENDPOINT,
API_KEY,
THRESHOLD,
API_TIMEOUT,
DO_NOT_STORE,
} = require('./config');
/**
* Get scores from the perspective api
@@ -7,33 +13,36 @@ const {API_ENDPOINT, API_KEY, THRESHOLD, API_TIMEOUT, DO_NOT_STORE} = require('.
* @return {object} object containing toxicity scores
*/
async function getScores(text) {
const response = await fetch(`${API_ENDPOINT}/comments:analyze?key=${API_KEY}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
timeout: API_TIMEOUT,
body: JSON.stringify({
comment: {
text,
const response = await fetch(
`${API_ENDPOINT}/comments:analyze?key=${API_KEY}`,
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
timeout: API_TIMEOUT,
body: JSON.stringify({
comment: {
text,
},
// TODO: support other languages.
languages: ['en'],
doNotStore: DO_NOT_STORE,
requestedAttributes: {
TOXICITY: {},
SEVERE_TOXICITY: {},
}
}),
});
// TODO: support other languages.
languages: ['en'],
doNotStore: DO_NOT_STORE,
requestedAttributes: {
TOXICITY: {},
SEVERE_TOXICITY: {},
},
}),
}
);
const data = await response.json();
return {
TOXICITY: {
summaryScore: data.attributeScores.TOXICITY.summaryScore.value
summaryScore: data.attributeScores.TOXICITY.summaryScore.value,
},
SEVERE_TOXICITY: {
summaryScore: data.attributeScores.SEVERE_TOXICITY.summaryScore.value
summaryScore: data.attributeScores.SEVERE_TOXICITY.summaryScore.value,
},
};
}
@@ -53,9 +62,10 @@ function getProbability(scores) {
* @return {boolean}
*/
function isToxic(scoresOrProbability) {
const probability = typeof scoresOrProbability === 'object'
? getProbability(scoresOrProbability)
: scoresOrProbability;
const probability =
typeof scoresOrProbability === 'object'
? getProbability(scoresOrProbability)
: scoresOrProbability;
return probability > THRESHOLD;
}
@@ -69,8 +79,7 @@ function maskKeyInError(fn) {
return async (...args) => {
try {
return await fn(...args);
}
catch(err) {
} catch (err) {
if (err.message) {
err.message = err.message.replace(API_KEY, '***');
}
@@ -2,6 +2,7 @@ const get = require('lodash/get');
module.exports = {
Comment: {
toxicity: (comment) => get(comment, 'metadata.perspective.SEVERE_TOXICITY.summaryScore'),
}
toxicity: comment =>
get(comment, 'metadata.perspective.SEVERE_TOXICITY.summaryScore'),
},
};