不要怂,就是干,撸起袖子干!

Commit 73f1b5d1 by Sushant Committed by GitHub

build: update dependencies (#11099)

1 parent 920a5c88
...@@ -41,14 +41,14 @@ script: ...@@ -41,14 +41,14 @@ script:
jobs: jobs:
include: include:
- stage: lint - stage: lint
node_js: '6' node_js: '8'
script: script:
- npm run lint - npm run lint
- npm run lint-docs - npm run lint-docs
- npm run test-typings - npm run test-typings
- stage: test - stage: test
node_js: '6' node_js: '6'
env: DIALECT=sqlite TSC=true env: DIALECT=sqlite
- stage: test - stage: test
node_js: '6' node_js: '6'
sudo: required sudo: required
......
...@@ -416,7 +416,7 @@ class BelongsToMany extends Association { ...@@ -416,7 +416,7 @@ class BelongsToMany extends Association {
} }
let model = this.target; let model = this.target;
if (options.hasOwnProperty('scope')) { if (Object.prototype.hasOwnProperty.call(options, 'scope')) {
if (!options.scope) { if (!options.scope) {
model = model.unscoped(); model = model.unscoped();
} else { } else {
...@@ -424,7 +424,7 @@ class BelongsToMany extends Association { ...@@ -424,7 +424,7 @@ class BelongsToMany extends Association {
} }
} }
if (options.hasOwnProperty('schema')) { if (Object.prototype.hasOwnProperty.call(options, 'schema')) {
model = model.schema(options.schema, options.schemaDelimiter); model = model.schema(options.schema, options.schemaDelimiter);
} }
......
...@@ -130,7 +130,7 @@ class BelongsTo extends Association { ...@@ -130,7 +130,7 @@ class BelongsTo extends Association {
options = Utils.cloneDeep(options); options = Utils.cloneDeep(options);
if (options.hasOwnProperty('scope')) { if (Object.prototype.hasOwnProperty.call(options, 'scope')) {
if (!options.scope) { if (!options.scope) {
Target = Target.unscoped(); Target = Target.unscoped();
} else { } else {
...@@ -138,7 +138,7 @@ class BelongsTo extends Association { ...@@ -138,7 +138,7 @@ class BelongsTo extends Association {
} }
} }
if (options.hasOwnProperty('schema')) { if (Object.prototype.hasOwnProperty.call(options, 'schema')) {
Target = Target.schema(options.schema, options.schemaDelimiter); Target = Target.schema(options.schema, options.schemaDelimiter);
} }
......
...@@ -211,7 +211,7 @@ class HasMany extends Association { ...@@ -211,7 +211,7 @@ class HasMany extends Association {
{ [Op.and]: [where, options.where] } : { [Op.and]: [where, options.where] } :
where; where;
if (options.hasOwnProperty('scope')) { if (Object.prototype.hasOwnProperty.call(options, 'scope')) {
if (!options.scope) { if (!options.scope) {
Model = Model.unscoped(); Model = Model.unscoped();
} else { } else {
...@@ -219,7 +219,7 @@ class HasMany extends Association { ...@@ -219,7 +219,7 @@ class HasMany extends Association {
} }
} }
if (options.hasOwnProperty('schema')) { if (Object.prototype.hasOwnProperty.call(options, 'schema')) {
Model = Model.schema(options.schema, options.schemaDelimiter); Model = Model.schema(options.schema, options.schemaDelimiter);
} }
......
...@@ -130,7 +130,7 @@ class HasOne extends Association { ...@@ -130,7 +130,7 @@ class HasOne extends Association {
options = Utils.cloneDeep(options); options = Utils.cloneDeep(options);
if (options.hasOwnProperty('scope')) { if (Object.prototype.hasOwnProperty.call(options, 'scope')) {
if (!options.scope) { if (!options.scope) {
Target = Target.unscoped(); Target = Target.unscoped();
} else { } else {
...@@ -138,7 +138,7 @@ class HasOne extends Association { ...@@ -138,7 +138,7 @@ class HasOne extends Association {
} }
} }
if (options.hasOwnProperty('schema')) { if (Object.prototype.hasOwnProperty.call(options, 'schema')) {
Target = Target.schema(options.schema, options.schemaDelimiter); Target = Target.schema(options.schema, options.schemaDelimiter);
} }
......
'use strict'; 'use strict';
function checkNamingCollision(association) { function checkNamingCollision(association) {
if (association.source.rawAttributes.hasOwnProperty(association.as)) { if (Object.prototype.hasOwnProperty.call(association.source.rawAttributes, association.as)) {
throw new Error( throw new Error(
`Naming collision between attribute '${association.as}'` + `Naming collision between attribute '${association.as}'` +
` and association '${association.as}' on model ${association.source.name}` + ` and association '${association.as}' on model ${association.source.name}` +
...@@ -57,7 +57,7 @@ function mixinMethods(association, obj, methods, aliases) { ...@@ -57,7 +57,7 @@ function mixinMethods(association, obj, methods, aliases) {
for (const method of methods) { for (const method of methods) {
// don't override custom methods // don't override custom methods
if (!obj.hasOwnProperty(association.accessors[method])) { if (!Object.prototype.hasOwnProperty.call(obj, association.accessors[method])) {
const realMethod = aliases[method] || method; const realMethod = aliases[method] || method;
obj[association.accessors[method]] = function() { obj[association.accessors[method]] = function() {
......
...@@ -1021,7 +1021,7 @@ const DataTypes = module.exports = { ...@@ -1021,7 +1021,7 @@ const DataTypes = module.exports = {
_.each(DataTypes, (dataType, name) => { _.each(DataTypes, (dataType, name) => {
// guard for aliases // guard for aliases
if (!dataType.hasOwnProperty('key')) { if (!Object.prototype.hasOwnProperty.call(dataType, 'key')) {
dataType.types = {}; dataType.types = {};
dataType.key = dataType.prototype.key = name; dataType.key = dataType.prototype.key = name;
} }
......
...@@ -44,7 +44,7 @@ class ConnectionManager { ...@@ -44,7 +44,7 @@ class ConnectionManager {
refreshTypeParser(dataTypes) { refreshTypeParser(dataTypes) {
_.each(dataTypes, dataType => { _.each(dataTypes, dataType => {
if (dataType.hasOwnProperty('parse')) { if (Object.prototype.hasOwnProperty.call(dataType, 'parse')) {
if (dataType.types[this.dialectName]) { if (dataType.types[this.dialectName]) {
this._refreshTypeParser(dataType); this._refreshTypeParser(dataType);
} else { } else {
......
...@@ -199,7 +199,7 @@ class QueryGenerator { ...@@ -199,7 +199,7 @@ class QueryGenerator {
valueHash = Utils.removeNullValuesFromHash(valueHash, this.options.omitNull); valueHash = Utils.removeNullValuesFromHash(valueHash, this.options.omitNull);
for (const key in valueHash) { for (const key in valueHash) {
if (valueHash.hasOwnProperty(key)) { if (Object.prototype.hasOwnProperty.call(valueHash, key)) {
const value = valueHash[key]; const value = valueHash[key];
fields.push(this.quoteIdentifier(key)); fields.push(this.quoteIdentifier(key));
...@@ -1277,7 +1277,7 @@ class QueryGenerator { ...@@ -1277,7 +1277,7 @@ class QueryGenerator {
} }
// Add WHERE to sub or main query // Add WHERE to sub or main query
if (options.hasOwnProperty('where') && !options.groupedLimit) { if (Object.prototype.hasOwnProperty.call(options, 'where') && !options.groupedLimit) {
options.where = this.getWhereConditions(options.where, mainTable.as || tableName, model, options); options.where = this.getWhereConditions(options.where, mainTable.as || tableName, model, options);
if (options.where) { if (options.where) {
if (subQuery) { if (subQuery) {
...@@ -1305,7 +1305,7 @@ class QueryGenerator { ...@@ -1305,7 +1305,7 @@ class QueryGenerator {
} }
// Add HAVING to sub or main query // Add HAVING to sub or main query
if (options.hasOwnProperty('having')) { if (Object.prototype.hasOwnProperty.call(options, 'having')) {
options.having = this.getWhereConditions(options.having, tableName, model, options, false); options.having = this.getWhereConditions(options.having, tableName, model, options, false);
if (options.having) { if (options.having) {
if (subQuery) { if (subQuery) {
...@@ -1948,7 +1948,7 @@ class QueryGenerator { ...@@ -1948,7 +1948,7 @@ class QueryGenerator {
handleSequelizeMethod(smth, tableName, factory, options, prepend) { handleSequelizeMethod(smth, tableName, factory, options, prepend) {
let result; let result;
if (this.OperatorMap.hasOwnProperty(smth.comparator)) { if (Object.prototype.hasOwnProperty.call(this.OperatorMap, smth.comparator)) {
smth.comparator = this.OperatorMap[smth.comparator]; smth.comparator = this.OperatorMap[smth.comparator];
} }
......
...@@ -180,10 +180,10 @@ class AbstractQuery { ...@@ -180,10 +180,10 @@ class AbstractQuery {
result = result && this.sql.toLowerCase().startsWith('insert into'); result = result && this.sql.toLowerCase().startsWith('insert into');
// is insert query if no results are passed or if the result has the inserted id // is insert query if no results are passed or if the result has the inserted id
result = result && (!results || results.hasOwnProperty(this.getInsertIdField())); result = result && (!results || Object.prototype.hasOwnProperty.call(results, this.getInsertIdField()));
// is insert query if no metadata are passed or if the metadata has the inserted id // is insert query if no metadata are passed or if the metadata has the inserted id
result = result && (!metaData || metaData.hasOwnProperty(this.getInsertIdField())); result = result && (!metaData || Object.prototype.hasOwnProperty.call(metaData, this.getInsertIdField()));
return result; return result;
} }
...@@ -262,7 +262,7 @@ class AbstractQuery { ...@@ -262,7 +262,7 @@ class AbstractQuery {
let o = {}; let o = {};
for (const key in result) { for (const key in result) {
if (result.hasOwnProperty(key)) { if (Object.prototype.hasOwnProperty.call(result, key)) {
o[key] = result[key]; o[key] = result[key];
} }
} }
...@@ -442,7 +442,7 @@ class AbstractQuery { ...@@ -442,7 +442,7 @@ class AbstractQuery {
// Map each key to an include option // Map each key to an include option
let previousPiece; let previousPiece;
const buildIncludeMap = piece => { const buildIncludeMap = piece => {
if ($current.includeMap.hasOwnProperty(piece)) { if (Object.prototype.hasOwnProperty.call($current.includeMap, piece)) {
includeMap[key] = $current = $current.includeMap[piece]; includeMap[key] = $current = $current.includeMap[piece];
if (previousPiece) { if (previousPiece) {
previousPiece = `${previousPiece}.${piece}`; previousPiece = `${previousPiece}.${piece}`;
...@@ -455,7 +455,7 @@ class AbstractQuery { ...@@ -455,7 +455,7 @@ class AbstractQuery {
// Calculate the string prefix of a key ('User.Results' for 'User.Results.id') // Calculate the string prefix of a key ('User.Results' for 'User.Results.id')
const keyPrefixStringMemo = {}; const keyPrefixStringMemo = {};
const keyPrefixString = (key, memo) => { const keyPrefixString = (key, memo) => {
if (!memo.hasOwnProperty(key)) { if (!Object.prototype.hasOwnProperty.call(memo, key)) {
memo[key] = key.substr(0, key.lastIndexOf('.')); memo[key] = key.substr(0, key.lastIndexOf('.'));
} }
return memo[key]; return memo[key];
...@@ -463,7 +463,7 @@ class AbstractQuery { ...@@ -463,7 +463,7 @@ class AbstractQuery {
// Removes the prefix from a key ('id' for 'User.Results.id') // Removes the prefix from a key ('id' for 'User.Results.id')
const removeKeyPrefixMemo = {}; const removeKeyPrefixMemo = {};
const removeKeyPrefix = key => { const removeKeyPrefix = key => {
if (!removeKeyPrefixMemo.hasOwnProperty(key)) { if (!Object.prototype.hasOwnProperty.call(removeKeyPrefixMemo, key)) {
const index = key.lastIndexOf('.'); const index = key.lastIndexOf('.');
removeKeyPrefixMemo[key] = key.substr(index === -1 ? 0 : index + 1); removeKeyPrefixMemo[key] = key.substr(index === -1 ? 0 : index + 1);
} }
...@@ -473,9 +473,9 @@ class AbstractQuery { ...@@ -473,9 +473,9 @@ class AbstractQuery {
const keyPrefixMemo = {}; const keyPrefixMemo = {};
const keyPrefix = key => { const keyPrefix = key => {
// We use a double memo and keyPrefixString so that different keys with the same prefix will receive the same array instead of differnet arrays with equal values // We use a double memo and keyPrefixString so that different keys with the same prefix will receive the same array instead of differnet arrays with equal values
if (!keyPrefixMemo.hasOwnProperty(key)) { if (!Object.prototype.hasOwnProperty.call(keyPrefixMemo, key)) {
const prefixString = keyPrefixString(key, keyPrefixStringMemo); const prefixString = keyPrefixString(key, keyPrefixStringMemo);
if (!keyPrefixMemo.hasOwnProperty(prefixString)) { if (!Object.prototype.hasOwnProperty.call(keyPrefixMemo, prefixString)) {
keyPrefixMemo[prefixString] = prefixString ? prefixString.split('.') : []; keyPrefixMemo[prefixString] = prefixString ? prefixString.split('.') : [];
} }
keyPrefixMemo[key] = keyPrefixMemo[prefixString]; keyPrefixMemo[key] = keyPrefixMemo[prefixString];
...@@ -485,7 +485,7 @@ class AbstractQuery { ...@@ -485,7 +485,7 @@ class AbstractQuery {
// Calcuate the last item in the array prefix ('Results' for 'User.Results.id') // Calcuate the last item in the array prefix ('Results' for 'User.Results.id')
const lastKeyPrefixMemo = {}; const lastKeyPrefixMemo = {};
const lastKeyPrefix = key => { const lastKeyPrefix = key => {
if (!lastKeyPrefixMemo.hasOwnProperty(key)) { if (!Object.prototype.hasOwnProperty.call(lastKeyPrefixMemo, key)) {
const prefix = keyPrefix(key); const prefix = keyPrefix(key);
const length = prefix.length; const length = prefix.length;
...@@ -550,7 +550,7 @@ class AbstractQuery { ...@@ -550,7 +550,7 @@ class AbstractQuery {
$keyPrefix = keyPrefix(key); $keyPrefix = keyPrefix(key);
// On the first row we compute the includeMap // On the first row we compute the includeMap
if (rowsI === 0 && !includeMap.hasOwnProperty(key)) { if (rowsI === 0 && !Object.prototype.hasOwnProperty.call(includeMap, key)) {
if (!$keyPrefix.length) { if (!$keyPrefix.length) {
includeMap[key] = includeMap[''] = includeOptions; includeMap[key] = includeMap[''] = includeOptions;
} else { } else {
......
...@@ -155,7 +155,7 @@ class Query extends AbstractQuery { ...@@ -155,7 +155,7 @@ class Query extends AbstractQuery {
allowNull: _result.Null === 'YES', allowNull: _result.Null === 'YES',
defaultValue: _result.Default, defaultValue: _result.Default,
primaryKey: _result.Key === 'PRI', primaryKey: _result.Key === 'PRI',
autoIncrement: _result.hasOwnProperty('Extra') autoIncrement: Object.prototype.hasOwnProperty.call(_result, 'Extra')
&& _result.Extra.toLowerCase() === 'auto_increment', && _result.Extra.toLowerCase() === 'auto_increment',
comment: _result.Comment ? _result.Comment : null comment: _result.Comment ? _result.Comment : null
}; };
...@@ -201,7 +201,7 @@ class Query extends AbstractQuery { ...@@ -201,7 +201,7 @@ class Query extends AbstractQuery {
continue; continue;
} }
for (const _warningResult of _warningRow) { for (const _warningResult of _warningRow) {
if (_warningResult.hasOwnProperty('Message')) { if (Object.prototype.hasOwnProperty.call(_warningResult, 'Message')) {
messages.push(_warningResult.Message); messages.push(_warningResult.Message);
} else { } else {
for (const _objectKey of _warningResult.keys()) { for (const _objectKey of _warningResult.keys()) {
......
...@@ -115,7 +115,7 @@ class MSSQLQueryGenerator extends AbstractQueryGenerator { ...@@ -115,7 +115,7 @@ class MSSQLQueryGenerator extends AbstractQueryGenerator {
let commentStr = ''; let commentStr = '';
for (const attr in attributes) { for (const attr in attributes) {
if (attributes.hasOwnProperty(attr)) { if (Object.prototype.hasOwnProperty.call(attributes, attr)) {
let dataType = attributes[attr]; let dataType = attributes[attr];
let match; let match;
...@@ -169,7 +169,7 @@ class MSSQLQueryGenerator extends AbstractQueryGenerator { ...@@ -169,7 +169,7 @@ class MSSQLQueryGenerator extends AbstractQueryGenerator {
} }
for (const fkey in foreignKeys) { for (const fkey in foreignKeys) {
if (foreignKeys.hasOwnProperty(fkey)) { if (Object.prototype.hasOwnProperty.call(foreignKeys, fkey)) {
attributesClause += `, FOREIGN KEY (${this.quoteIdentifier(fkey)}) ${foreignKeys[fkey]}`; attributesClause += `, FOREIGN KEY (${this.quoteIdentifier(fkey)}) ${foreignKeys[fkey]}`;
} }
} }
......
...@@ -365,7 +365,7 @@ class Query extends AbstractQuery { ...@@ -365,7 +365,7 @@ class Query extends AbstractQuery {
let id = null; let id = null;
let autoIncrementAttributeAlias = null; let autoIncrementAttributeAlias = null;
if (this.model.rawAttributes.hasOwnProperty(autoIncrementAttribute) && if (Object.prototype.hasOwnProperty.call(this.model.rawAttributes, autoIncrementAttribute) &&
this.model.rawAttributes[autoIncrementAttribute].field !== undefined) this.model.rawAttributes[autoIncrementAttribute].field !== undefined)
autoIncrementAttributeAlias = this.model.rawAttributes[autoIncrementAttribute].field; autoIncrementAttributeAlias = this.model.rawAttributes[autoIncrementAttribute].field;
......
...@@ -76,7 +76,7 @@ class MySQLQueryGenerator extends AbstractQueryGenerator { ...@@ -76,7 +76,7 @@ class MySQLQueryGenerator extends AbstractQueryGenerator {
const attrStr = []; const attrStr = [];
for (const attr in attributes) { for (const attr in attributes) {
if (!attributes.hasOwnProperty(attr)) continue; if (!Object.prototype.hasOwnProperty.call(attributes, attr)) continue;
const dataType = attributes[attr]; const dataType = attributes[attr];
let match; let match;
...@@ -127,7 +127,7 @@ class MySQLQueryGenerator extends AbstractQueryGenerator { ...@@ -127,7 +127,7 @@ class MySQLQueryGenerator extends AbstractQueryGenerator {
} }
for (const fkey in foreignKeys) { for (const fkey in foreignKeys) {
if (foreignKeys.hasOwnProperty(fkey)) { if (Object.prototype.hasOwnProperty.call(foreignKeys, fkey)) {
attributesClause += `, FOREIGN KEY (${this.quoteIdentifier(fkey)}) ${foreignKeys[fkey]}`; attributesClause += `, FOREIGN KEY (${this.quoteIdentifier(fkey)}) ${foreignKeys[fkey]}`;
} }
} }
......
...@@ -125,7 +125,7 @@ class Query extends AbstractQuery { ...@@ -125,7 +125,7 @@ class Query extends AbstractQuery {
allowNull: _result.Null === 'YES', allowNull: _result.Null === 'YES',
defaultValue: _result.Default, defaultValue: _result.Default,
primaryKey: _result.Key === 'PRI', primaryKey: _result.Key === 'PRI',
autoIncrement: _result.hasOwnProperty('Extra') && _result.Extra.toLowerCase() === 'auto_increment', autoIncrement: Object.prototype.hasOwnProperty.call(_result, 'Extra') && _result.Extra.toLowerCase() === 'auto_increment',
comment: _result.Comment ? _result.Comment : null comment: _result.Comment ? _result.Comment : null
}; };
} }
...@@ -167,7 +167,7 @@ class Query extends AbstractQuery { ...@@ -167,7 +167,7 @@ class Query extends AbstractQuery {
for (const _warningRow of warningResults) { for (const _warningRow of warningResults) {
if (_warningRow === undefined || typeof _warningRow[Symbol.iterator] !== 'function') continue; if (_warningRow === undefined || typeof _warningRow[Symbol.iterator] !== 'function') continue;
for (const _warningResult of _warningRow) { for (const _warningResult of _warningRow) {
if (_warningResult.hasOwnProperty('Message')) { if (Object.prototype.hasOwnProperty.call(_warningResult, 'Message')) {
messages.push(_warningResult.Message); messages.push(_warningResult.Message);
} else { } else {
for (const _objectKey of _warningResult.keys()) { for (const _objectKey of _warningResult.keys()) {
......
...@@ -388,8 +388,8 @@ module.exports = BaseTypes => { ...@@ -388,8 +388,8 @@ module.exports = BaseTypes => {
} }
const valueInclusivity = [true, false]; const valueInclusivity = [true, false];
const valuesStringified = values.map((value, index) => { const valuesStringified = values.map((value, index) => {
if (_.isObject(value) && value.hasOwnProperty('value')) { if (_.isObject(value) && Object.prototype.hasOwnProperty.call(value, 'value')) {
if (value.hasOwnProperty('inclusive')) { if (Object.prototype.hasOwnProperty.call(value, 'inclusive')) {
valueInclusivity[index] = value.inclusive; valueInclusivity[index] = value.inclusive;
} }
value = value.value; value = value.value;
......
...@@ -489,7 +489,7 @@ class PostgresQueryGenerator extends AbstractQueryGenerator { ...@@ -489,7 +489,7 @@ class PostgresQueryGenerator extends AbstractQueryGenerator {
let sql = type.toString(); let sql = type.toString();
if (attribute.hasOwnProperty('allowNull') && !attribute.allowNull) { if (Object.prototype.hasOwnProperty.call(attribute, 'allowNull') && !attribute.allowNull) {
sql += ' NOT NULL'; sql += ' NOT NULL';
} }
......
...@@ -239,7 +239,7 @@ class Query extends AbstractQuery { ...@@ -239,7 +239,7 @@ class Query extends AbstractQuery {
if (this.isInsertQuery() || this.isUpdateQuery()) { if (this.isInsertQuery() || this.isUpdateQuery()) {
if (this.instance && this.instance.dataValues) { if (this.instance && this.instance.dataValues) {
for (const key in rows[0]) { for (const key in rows[0]) {
if (rows[0].hasOwnProperty(key)) { if (Object.prototype.hasOwnProperty.call(rows[0], key)) {
const record = rows[0][key]; const record = rows[0][key];
const attr = _.find(this.model.rawAttributes, attribute => attribute.fieldName === key || attribute.field === key); const attr = _.find(this.model.rawAttributes, attribute => attribute.fieldName === key || attribute.field === key);
......
...@@ -33,7 +33,7 @@ function stringify(data) { ...@@ -33,7 +33,7 @@ function stringify(data) {
if (!data.length) return 'empty'; if (!data.length) return 'empty';
if (data.length !== 2) throw new Error('range array length must be 0 (empty) or 2 (lower and upper bounds)'); if (data.length !== 2) throw new Error('range array length must be 0 (empty) or 2 (lower and upper bounds)');
if (data.hasOwnProperty('inclusive')) { if (Object.prototype.hasOwnProperty.call(data, 'inclusive')) {
if (data.inclusive === false) data.inclusive = [false, false]; if (data.inclusive === false) data.inclusive = [false, false];
else if (!data.inclusive) data.inclusive = [true, false]; else if (!data.inclusive) data.inclusive = [true, false];
else if (data.inclusive === true) data.inclusive = [true, true]; else if (data.inclusive === true) data.inclusive = [true, true];
...@@ -43,8 +43,8 @@ function stringify(data) { ...@@ -43,8 +43,8 @@ function stringify(data) {
_.each(data, (value, index) => { _.each(data, (value, index) => {
if (_.isObject(value)) { if (_.isObject(value)) {
if (value.hasOwnProperty('inclusive')) data.inclusive[index] = !!value.inclusive; if (Object.prototype.hasOwnProperty.call(value, 'inclusive')) data.inclusive[index] = !!value.inclusive;
if (value.hasOwnProperty('value')) data[index] = value.value; if (Object.prototype.hasOwnProperty.call(value, 'value')) data[index] = value.value;
} }
}); });
......
...@@ -28,7 +28,7 @@ class SQLiteQueryGenerator extends MySqlQueryGenerator { ...@@ -28,7 +28,7 @@ class SQLiteQueryGenerator extends MySqlQueryGenerator {
const attrArray = []; const attrArray = [];
for (const attr in attributes) { for (const attr in attributes) {
if (attributes.hasOwnProperty(attr)) { if (Object.prototype.hasOwnProperty.call(attributes, attr)) {
const dataType = attributes[attr]; const dataType = attributes[attr];
const containsAutoIncrement = dataType.includes('AUTOINCREMENT'); const containsAutoIncrement = dataType.includes('AUTOINCREMENT');
...@@ -290,7 +290,7 @@ class SQLiteQueryGenerator extends MySqlQueryGenerator { ...@@ -290,7 +290,7 @@ class SQLiteQueryGenerator extends MySqlQueryGenerator {
if (_.isObject(dataType)) { if (_.isObject(dataType)) {
let sql = dataType.type.toString(); let sql = dataType.type.toString();
if (dataType.hasOwnProperty('allowNull') && !dataType.allowNull) { if (Object.prototype.hasOwnProperty.call(dataType, 'allowNull') && !dataType.allowNull) {
sql += ' NOT NULL'; sql += ' NOT NULL';
} }
......
...@@ -140,7 +140,7 @@ class Query extends AbstractQuery { ...@@ -140,7 +140,7 @@ class Query extends AbstractQuery {
}); });
} }
return tableTypes.hasOwnProperty(name) return Object.prototype.hasOwnProperty.call(tableTypes, name)
? this.applyParsers(tableTypes[name], value) ? this.applyParsers(tableTypes[name], value)
: value; : value;
}); });
......
...@@ -138,7 +138,7 @@ class InstanceValidator { ...@@ -138,7 +138,7 @@ class InstanceValidator {
this._validateSchema(rawAttribute, field, value); this._validateSchema(rawAttribute, field, value);
} }
if (this.modelInstance.validators.hasOwnProperty(field)) { if (Object.prototype.hasOwnProperty.call(this.modelInstance.validators, field)) {
validators.push(this._singleAttrValidate(value, field, rawAttribute.allowNull).reflect()); validators.push(this._singleAttrValidate(value, field, rawAttribute.allowNull).reflect());
} }
}); });
......
...@@ -63,7 +63,7 @@ class ModelManager { ...@@ -63,7 +63,7 @@ class ModelManager {
models[tableName] = model; models[tableName] = model;
for (const attrName in model.rawAttributes) { for (const attrName in model.rawAttributes) {
if (model.rawAttributes.hasOwnProperty(attrName)) { if (Object.prototype.hasOwnProperty.call(model.rawAttributes, attrName)) {
const attribute = model.rawAttributes[attrName]; const attribute = model.rawAttributes[attrName];
if (attribute.references) { if (attribute.references) {
......
...@@ -139,7 +139,7 @@ class Model { ...@@ -139,7 +139,7 @@ class Model {
// do after default values since it might have UUID as a default value // do after default values since it might have UUID as a default value
if (this.constructor.primaryKeyAttributes.length) { if (this.constructor.primaryKeyAttributes.length) {
this.constructor.primaryKeyAttributes.forEach(primaryKeyAttribute => { this.constructor.primaryKeyAttributes.forEach(primaryKeyAttribute => {
if (!defaults.hasOwnProperty(primaryKeyAttribute)) { if (!Object.prototype.hasOwnProperty.call(defaults, primaryKeyAttribute)) {
defaults[primaryKeyAttribute] = null; defaults[primaryKeyAttribute] = null;
} }
}); });
...@@ -201,7 +201,7 @@ class Model { ...@@ -201,7 +201,7 @@ class Model {
const deletedAtAttribute = model.rawAttributes[deletedAtCol]; const deletedAtAttribute = model.rawAttributes[deletedAtCol];
const deletedAtObject = {}; const deletedAtObject = {};
let deletedAtDefaultValue = deletedAtAttribute.hasOwnProperty('defaultValue') ? deletedAtAttribute.defaultValue : null; let deletedAtDefaultValue = Object.prototype.hasOwnProperty.call(deletedAtAttribute, 'defaultValue') ? deletedAtAttribute.defaultValue : null;
deletedAtDefaultValue = deletedAtDefaultValue || { deletedAtDefaultValue = deletedAtDefaultValue || {
[Op.eq]: null [Op.eq]: null
...@@ -299,7 +299,7 @@ class Model { ...@@ -299,7 +299,7 @@ class Model {
this.autoIncrementAttribute = null; this.autoIncrementAttribute = null;
for (const name in this.rawAttributes) { for (const name in this.rawAttributes) {
if (this.rawAttributes.hasOwnProperty(name)) { if (Object.prototype.hasOwnProperty.call(this.rawAttributes, name)) {
const definition = this.rawAttributes[name]; const definition = this.rawAttributes[name];
if (definition && definition.autoIncrement) { if (definition && definition.autoIncrement) {
if (this.autoIncrementAttribute) { if (this.autoIncrementAttribute) {
...@@ -328,7 +328,7 @@ class Model { ...@@ -328,7 +328,7 @@ class Model {
static _transformStringAssociation(include, self) { static _transformStringAssociation(include, self) {
if (self && typeof include === 'string') { if (self && typeof include === 'string') {
if (!self.associations.hasOwnProperty(include)) { if (!Object.prototype.hasOwnProperty.call(self.associations, include)) {
throw new Error(`Association with alias "${include}" does not exist`); throw new Error(`Association with alias "${include}" does not exist`);
} }
return self.associations[include]; return self.associations[include];
...@@ -701,7 +701,7 @@ class Model { ...@@ -701,7 +701,7 @@ class Model {
} }
// Validate child includes // Validate child includes
if (include.hasOwnProperty('include')) { if (Object.prototype.hasOwnProperty.call(include, 'include')) {
this._validateIncludedElements.call(include.model, include, tableNames); this._validateIncludedElements.call(include.model, include, tableNames);
} }
...@@ -982,7 +982,7 @@ class Model { ...@@ -982,7 +982,7 @@ class Model {
// error check options // error check options
_.each(options.validate, (validator, validatorType) => { _.each(options.validate, (validator, validatorType) => {
if (attributes.hasOwnProperty(validatorType)) { if (Object.prototype.hasOwnProperty.call(attributes, validatorType)) {
throw new Error(`A model validator function must not have the same name as a field. Model: ${this.name}, field/validation name: ${validatorType}`); throw new Error(`A model validator function must not have the same name as a field. Model: ${this.name}, field/validation name: ${validatorType}`);
} }
...@@ -1082,7 +1082,7 @@ class Model { ...@@ -1082,7 +1082,7 @@ class Model {
}); });
_.each(this.rawAttributes, (options, attribute) => { _.each(this.rawAttributes, (options, attribute) => {
if (options.hasOwnProperty(type)) { if (Object.prototype.hasOwnProperty.call(options, type)) {
_custom[attribute] = options[type]; _custom[attribute] = options[type];
} }
...@@ -1158,15 +1158,15 @@ class Model { ...@@ -1158,15 +1158,15 @@ class Model {
this._virtualAttributes.add(name); this._virtualAttributes.add(name);
} }
if (definition.hasOwnProperty('defaultValue')) { if (Object.prototype.hasOwnProperty.call(definition, 'defaultValue')) {
this._defaultValues[name] = () => Utils.toDefaultValue(definition.defaultValue, this.sequelize.options.dialect); this._defaultValues[name] = () => Utils.toDefaultValue(definition.defaultValue, this.sequelize.options.dialect);
} }
if (definition.hasOwnProperty('unique') && definition.unique) { if (Object.prototype.hasOwnProperty.call(definition, 'unique') && definition.unique) {
let idxName; let idxName;
if ( if (
typeof definition.unique === 'object' && typeof definition.unique === 'object' &&
definition.unique.hasOwnProperty('name') Object.prototype.hasOwnProperty.call(definition.unique, 'name')
) { ) {
idxName = definition.unique.name; idxName = definition.unique.name;
} else if (typeof definition.unique === 'string') { } else if (typeof definition.unique === 'string') {
...@@ -1186,7 +1186,7 @@ class Model { ...@@ -1186,7 +1186,7 @@ class Model {
this.uniqueKeys[idxName] = idx; this.uniqueKeys[idxName] = idx;
} }
if (definition.hasOwnProperty('validate')) { if (Object.prototype.hasOwnProperty.call(definition, 'validate')) {
this.prototype.validators[name] = definition.validate; this.prototype.validators[name] = definition.validate;
} }
...@@ -1225,7 +1225,7 @@ class Model { ...@@ -1225,7 +1225,7 @@ class Model {
this.prototype._hasCustomSetters = Object.keys(this.prototype._customSetters).length; this.prototype._hasCustomSetters = Object.keys(this.prototype._customSetters).length;
for (const key of Object.keys(attributeManipulation)) { for (const key of Object.keys(attributeManipulation)) {
if (Model.prototype.hasOwnProperty(key)) { if (Object.prototype.hasOwnProperty.call(Model.prototype, key)) {
this.sequelize.log(`Not overriding built-in method from model attribute: ${key}`); this.sequelize.log(`Not overriding built-in method from model attribute: ${key}`);
continue; continue;
} }
...@@ -1233,7 +1233,7 @@ class Model { ...@@ -1233,7 +1233,7 @@ class Model {
} }
this.prototype.rawAttributes = this.rawAttributes; this.prototype.rawAttributes = this.rawAttributes;
this.prototype._isAttribute = key => this.prototype.rawAttributes.hasOwnProperty(key); this.prototype._isAttribute = key => Object.prototype.hasOwnProperty.call(this.prototype.rawAttributes, key);
// Primary key convenience constiables // Primary key convenience constiables
this.primaryKeyAttributes = Object.keys(this.primaryKeys); this.primaryKeyAttributes = Object.keys(this.primaryKeys);
...@@ -1690,7 +1690,7 @@ class Model { ...@@ -1690,7 +1690,7 @@ class Model {
_.defaults(options, { hooks: true }); _.defaults(options, { hooks: true });
// set rejectOnEmpty option, defaults to model options // set rejectOnEmpty option, defaults to model options
options.rejectOnEmpty = options.hasOwnProperty('rejectOnEmpty') options.rejectOnEmpty = Object.prototype.hasOwnProperty.call(options, 'rejectOnEmpty')
? options.rejectOnEmpty ? options.rejectOnEmpty
: this.options.rejectOnEmpty; : this.options.rejectOnEmpty;
...@@ -2766,7 +2766,7 @@ class Model { ...@@ -2766,7 +2766,7 @@ class Model {
const deletedAtAttribute = this.rawAttributes[this._timestampAttributes.deletedAt]; const deletedAtAttribute = this.rawAttributes[this._timestampAttributes.deletedAt];
const field = this.rawAttributes[this._timestampAttributes.deletedAt].field; const field = this.rawAttributes[this._timestampAttributes.deletedAt].field;
const where = { const where = {
[field]: deletedAtAttribute.hasOwnProperty('defaultValue') ? deletedAtAttribute.defaultValue : null [field]: Object.prototype.hasOwnProperty.call(deletedAtAttribute, 'defaultValue') ? deletedAtAttribute.defaultValue : null
}; };
...@@ -2835,7 +2835,7 @@ class Model { ...@@ -2835,7 +2835,7 @@ class Model {
const attrValueHash = {}; const attrValueHash = {};
const deletedAtCol = this._timestampAttributes.deletedAt; const deletedAtCol = this._timestampAttributes.deletedAt;
const deletedAtAttribute = this.rawAttributes[deletedAtCol]; const deletedAtAttribute = this.rawAttributes[deletedAtCol];
const deletedAtDefaultValue = deletedAtAttribute.hasOwnProperty('defaultValue') ? deletedAtAttribute.defaultValue : null; const deletedAtDefaultValue = Object.prototype.hasOwnProperty.call(deletedAtAttribute, 'defaultValue') ? deletedAtAttribute.defaultValue : null;
attrValueHash[deletedAtAttribute.field || deletedAtCol] = deletedAtDefaultValue; attrValueHash[deletedAtAttribute.field || deletedAtCol] = deletedAtDefaultValue;
options.omitNull = false; options.omitNull = false;
...@@ -3127,7 +3127,7 @@ class Model { ...@@ -3127,7 +3127,7 @@ class Model {
} }
static hasAlias(alias) { static hasAlias(alias) {
return this.associations.hasOwnProperty(alias); return Object.prototype.hasOwnProperty.call(this.associations, alias);
} }
/** /**
...@@ -3335,7 +3335,7 @@ class Model { ...@@ -3335,7 +3335,7 @@ class Model {
options = options || {}; options = options || {};
if (key) { if (key) {
if (this._customGetters.hasOwnProperty(key) && !options.raw) { if (Object.prototype.hasOwnProperty.call(this._customGetters, key) && !options.raw) {
return this._customGetters[key].call(this, key, options); return this._customGetters[key].call(this, key, options);
} }
...@@ -3369,14 +3369,17 @@ class Model { ...@@ -3369,14 +3369,17 @@ class Model {
continue; continue;
} }
if (this._customGetters.hasOwnProperty(_key)) { if (Object.prototype.hasOwnProperty.call(this._customGetters, _key)) {
values[_key] = this.get(_key, options); values[_key] = this.get(_key, options);
} }
} }
} }
for (_key in this.dataValues) { for (_key in this.dataValues) {
if (!values.hasOwnProperty(_key) && this.dataValues.hasOwnProperty(_key)) { if (
!Object.prototype.hasOwnProperty.call(values, _key)
&& Object.prototype.hasOwnProperty.call(this.dataValues, _key)
) {
values[_key] = this.get(_key, options); values[_key] = this.get(_key, options);
} }
} }
...@@ -3518,7 +3521,10 @@ class Model { ...@@ -3518,7 +3521,10 @@ class Model {
} }
// If there's a data type sanitizer // If there's a data type sanitizer
if (!(value instanceof Utils.SequelizeMethod) && this.constructor._dataTypeSanitizers.hasOwnProperty(key)) { if (
!(value instanceof Utils.SequelizeMethod)
&& Object.prototype.hasOwnProperty.call(this.constructor._dataTypeSanitizers, key)
) {
value = this.constructor._dataTypeSanitizers[key].call(this, value, options); value = this.constructor._dataTypeSanitizers[key].call(this, value, options);
} }
...@@ -4034,7 +4040,9 @@ class Model { ...@@ -4034,7 +4040,9 @@ class Model {
const values = Utils.mapValueFieldNames(this.dataValues, this.changed() || [], this.constructor); const values = Utils.mapValueFieldNames(this.dataValues, this.changed() || [], this.constructor);
values[field] = new Date(); values[field] = new Date();
where[field] = attribute.hasOwnProperty('defaultValue') ? attribute.defaultValue : null; where[field] = Object.prototype.hasOwnProperty.call(attribute, 'defaultValue')
? attribute.defaultValue
: null;
this.setDataValue(field, values[field]); this.setDataValue(field, values[field]);
...@@ -4073,7 +4081,7 @@ class Model { ...@@ -4073,7 +4081,7 @@ class Model {
} }
const deletedAtAttribute = this.constructor.rawAttributes[this.constructor._timestampAttributes.deletedAt]; const deletedAtAttribute = this.constructor.rawAttributes[this.constructor._timestampAttributes.deletedAt];
const defaultValue = deletedAtAttribute.hasOwnProperty('defaultValue') ? deletedAtAttribute.defaultValue : null; const defaultValue = Object.prototype.hasOwnProperty.call(deletedAtAttribute, 'defaultValue') ? deletedAtAttribute.defaultValue : null;
const deletedAt = this.get(this.constructor._timestampAttributes.deletedAt) || null; const deletedAt = this.get(this.constructor._timestampAttributes.deletedAt) || null;
const isSet = deletedAt !== defaultValue; const isSet = deletedAt !== defaultValue;
...@@ -4105,7 +4113,7 @@ class Model { ...@@ -4105,7 +4113,7 @@ class Model {
}).then(() => { }).then(() => {
const deletedAtCol = this.constructor._timestampAttributes.deletedAt; const deletedAtCol = this.constructor._timestampAttributes.deletedAt;
const deletedAtAttribute = this.constructor.rawAttributes[deletedAtCol]; const deletedAtAttribute = this.constructor.rawAttributes[deletedAtCol];
const deletedAtDefaultValue = deletedAtAttribute.hasOwnProperty('defaultValue') ? deletedAtAttribute.defaultValue : null; const deletedAtDefaultValue = Object.prototype.hasOwnProperty.call(deletedAtAttribute, 'defaultValue') ? deletedAtAttribute.defaultValue : null;
this.setDataValue(deletedAtCol, deletedAtDefaultValue); this.setDataValue(deletedAtCol, deletedAtDefaultValue);
return this.save(Object.assign({}, options, { hooks: false, omitNull: false })); return this.save(Object.assign({}, options, { hooks: false, omitNull: false }));
......
...@@ -53,23 +53,23 @@ class Sequelize { ...@@ -53,23 +53,23 @@ class Sequelize {
* // the sql dialect of the database * // the sql dialect of the database
* // currently supported: 'mysql', 'sqlite', 'postgres', 'mssql' * // currently supported: 'mysql', 'sqlite', 'postgres', 'mssql'
* dialect: 'mysql', * dialect: 'mysql',
* *
* // custom host; default: localhost * // custom host; default: localhost
* host: 'my.server.tld', * host: 'my.server.tld',
* // for postgres, you can also specify an absolute path to a directory * // for postgres, you can also specify an absolute path to a directory
* // containing a UNIX socket to connect over * // containing a UNIX socket to connect over
* // host: '/sockets/psql_sockets'. * // host: '/sockets/psql_sockets'.
* *
* // custom port; default: dialect default * // custom port; default: dialect default
* port: 12345, * port: 12345,
* *
* // custom protocol; default: 'tcp' * // custom protocol; default: 'tcp'
* // postgres only, useful for Heroku * // postgres only, useful for Heroku
* protocol: null, * protocol: null,
* *
* // disable logging or provide a custom logging function; default: console.log * // disable logging or provide a custom logging function; default: console.log
* logging: false, * logging: false,
* *
* // you can also pass any dialect options to the underlying dialect library * // you can also pass any dialect options to the underlying dialect library
* // - default is empty * // - default is empty
* // - currently supported: 'mysql', 'postgres', 'mssql' * // - currently supported: 'mysql', 'postgres', 'mssql'
...@@ -78,20 +78,20 @@ class Sequelize { ...@@ -78,20 +78,20 @@ class Sequelize {
* supportBigNumbers: true, * supportBigNumbers: true,
* bigNumberStrings: true * bigNumberStrings: true
* }, * },
* *
* // the storage engine for sqlite * // the storage engine for sqlite
* // - default ':memory:' * // - default ':memory:'
* storage: 'path/to/database.sqlite', * storage: 'path/to/database.sqlite',
* *
* // disable inserting undefined values as NULL * // disable inserting undefined values as NULL
* // - default: false * // - default: false
* omitNull: true, * omitNull: true,
* *
* // a flag for using a native library or not. * // a flag for using a native library or not.
* // in the case of 'pg' -- set this to true will allow SSL support * // in the case of 'pg' -- set this to true will allow SSL support
* // - default: false * // - default: false
* native: true, * native: true,
* *
* // Specify options, which are used when sequelize.define is called. * // Specify options, which are used when sequelize.define is called.
* // The following example: * // The following example:
* // define: { timestamps: false } * // define: { timestamps: false }
...@@ -108,22 +108,22 @@ class Sequelize { ...@@ -108,22 +108,22 @@ class Sequelize {
* }, * },
* timestamps: true * timestamps: true
* }, * },
* *
* // similar for sync: you can define this to always force sync for models * // similar for sync: you can define this to always force sync for models
* sync: { force: true }, * sync: { force: true },
* *
* // pool configuration used to pool database connections * // pool configuration used to pool database connections
* pool: { * pool: {
* max: 5, * max: 5,
* idle: 30000, * idle: 30000,
* acquire: 60000, * acquire: 60000,
* }, * },
* *
* // isolation level of each transaction * // isolation level of each transaction
* // defaults to dialect default * // defaults to dialect default
* isolationLevel: Transaction.ISOLATION_LEVELS.REPEATABLE_READ * isolationLevel: Transaction.ISOLATION_LEVELS.REPEATABLE_READ
* }) * })
* *
* @param {string} [database] The name of the database * @param {string} [database] The name of the database
* @param {string} [username=null] The username which is used to authenticate against the database. * @param {string} [username=null] The username which is used to authenticate against the database.
* @param {string} [password=null] The password which is used to authenticate against the database. Supports SQLCipher encryption for SQLite. * @param {string} [password=null] The password which is used to authenticate against the database. Supports SQLCipher encryption for SQLite.
...@@ -546,8 +546,8 @@ class Sequelize { ...@@ -546,8 +546,8 @@ class Sequelize {
options = _.defaults(options, { options = _.defaults(options, {
// eslint-disable-next-line no-console // eslint-disable-next-line no-console
logging: this.options.hasOwnProperty('logging') ? this.options.logging : console.log, logging: Object.prototype.hasOwnProperty.call(this.options, 'logging') ? this.options.logging : console.log,
searchPath: this.options.hasOwnProperty('searchPath') ? this.options.searchPath : 'DEFAULT' searchPath: Object.prototype.hasOwnProperty.call(this.options, 'searchPath') ? this.options.searchPath : 'DEFAULT'
}); });
if (!options.type) { if (!options.type) {
...@@ -1148,7 +1148,7 @@ class Sequelize { ...@@ -1148,7 +1148,7 @@ class Sequelize {
const last = _.last(args); const last = _.last(args);
if (last && _.isPlainObject(last) && last.hasOwnProperty('logging')) { if (last && _.isPlainObject(last) && Object.prototype.hasOwnProperty.call(last, 'logging')) {
options = last; options = last;
// remove options from set of logged arguments if options.logging is equal to console.log // remove options from set of logged arguments if options.logging is equal to console.log
...@@ -1218,7 +1218,7 @@ class Sequelize { ...@@ -1218,7 +1218,7 @@ class Sequelize {
attribute.type = this.normalizeDataType(attribute.type); attribute.type = this.normalizeDataType(attribute.type);
if (attribute.hasOwnProperty('defaultValue')) { if (Object.prototype.hasOwnProperty.call(attribute, 'defaultValue')) {
if (typeof attribute.defaultValue === 'function' && ( if (typeof attribute.defaultValue === 'function' && (
attribute.defaultValue === DataTypes.NOW || attribute.defaultValue === DataTypes.NOW ||
attribute.defaultValue === DataTypes.UUIDV1 || attribute.defaultValue === DataTypes.UUIDV1 ||
......
...@@ -612,7 +612,7 @@ exports.defaults = defaults; ...@@ -612,7 +612,7 @@ exports.defaults = defaults;
function nameIndex(index, tableName) { function nameIndex(index, tableName) {
if (tableName.tableName) tableName = tableName.tableName; if (tableName.tableName) tableName = tableName.tableName;
if (!index.hasOwnProperty('name')) { if (!Object.prototype.hasOwnProperty.call(index, 'name')) {
const fields = index.fields.map( const fields = index.fields.map(
field => typeof field === 'string' ? field : field.name || field.attribute field => typeof field === 'string' ? field : field.name || field.attribute
); );
......
...@@ -47,8 +47,8 @@ ...@@ -47,8 +47,8 @@
"wkx": "^0.4.6" "wkx": "^0.4.6"
}, },
"devDependencies": { "devDependencies": {
"@commitlint/cli": "^7.3.2", "@commitlint/cli": "^8.0.0",
"@commitlint/config-angular": "^7.3.1", "@commitlint/config-angular": "^8.0.0",
"@types/bluebird": "^3.5.26", "@types/bluebird": "^3.5.26",
"@types/node": "^10.12.27", "@types/node": "^10.12.27",
"@types/validator": "^10.11.0", "@types/validator": "^10.11.0",
...@@ -59,11 +59,11 @@ ...@@ -59,11 +59,11 @@
"chai-spies": "^1.x", "chai-spies": "^1.x",
"continuation-local-storage": "^3.x", "continuation-local-storage": "^3.x",
"cross-env": "^5.2.0", "cross-env": "^5.2.0",
"env-cmd": "^8.0.0", "env-cmd": "^9.0.3",
"esdoc": "^1.1.0", "esdoc": "^1.1.0",
"esdoc-inject-style-plugin": "^1.0.0", "esdoc-inject-style-plugin": "^1.0.0",
"esdoc-standard-plugin": "^1.0.0", "esdoc-standard-plugin": "^1.0.0",
"eslint": "^5.15.0", "eslint": "^6.0.0",
"eslint-plugin-jsdoc": "^4.1.1", "eslint-plugin-jsdoc": "^4.1.1",
"eslint-plugin-mocha": "^5.2.1", "eslint-plugin-mocha": "^5.2.1",
"husky": "^1.3.1", "husky": "^1.3.1",
...@@ -71,19 +71,19 @@ ...@@ -71,19 +71,19 @@
"lcov-result-merger": "^3.0.0", "lcov-result-merger": "^3.0.0",
"lint-staged": "^8.1.5", "lint-staged": "^8.1.5",
"mariadb": "^2.0.3", "mariadb": "^2.0.3",
"markdownlint-cli": "^0.14.1", "markdownlint-cli": "^0.17.0",
"mocha": "6.0.2", "mocha": "^6.1.4",
"mysql2": "^1.6.5", "mysql2": "^1.6.5",
"nyc": "^13.3.0", "nyc": "^14.1.1",
"pg": "^7.8.1", "pg": "^7.8.1",
"pg-hstore": "^2.x", "pg-hstore": "^2.x",
"pg-types": "^2.0.0", "pg-types": "^2.0.0",
"rimraf": "^2.6.3", "rimraf": "^2.6.3",
"semantic-release": "^15.13.3", "semantic-release": "^15.13.16",
"sinon": "7.2.6", "sinon": "^7.3.2",
"sinon-chai": "3.2.0", "sinon-chai": "^3.3.0",
"sqlite3": "^4.0.6", "sqlite3": "^4.0.6",
"tedious": "^6.0.0", "tedious": "6.0.0",
"typescript": "^3.3.3333" "typescript": "^3.3.3333"
}, },
"keywords": [ "keywords": [
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
"no-invalid-this": 0, "no-invalid-this": 0,
"no-unused-expressions": 0, "no-unused-expressions": 0,
"camelcase": 0, "camelcase": 0,
"no-console": 0 "no-console": 0,
"no-prototype-builtins": 0
} }
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!