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

Commit 83f696ad by Simon Schick Committed by Sushant

chore: use native deprecations (#10609)

1 parent 674db195
...@@ -6,7 +6,7 @@ const uuidv4 = require('uuid/v4'); ...@@ -6,7 +6,7 @@ const uuidv4 = require('uuid/v4');
const semver = require('semver'); const semver = require('semver');
const Utils = require('../../utils'); const Utils = require('../../utils');
const logger = require('../../utils/logger'); const deprecations = require('../../utils/deprecations');
const SqlString = require('../../sql-string'); const SqlString = require('../../sql-string');
const DataTypes = require('../../data-types'); const DataTypes = require('../../data-types');
const Model = require('../../model'); const Model = require('../../model');
...@@ -1384,7 +1384,7 @@ class QueryGenerator { ...@@ -1384,7 +1384,7 @@ class QueryGenerator {
} else if (!attr[0].includes('(') && !attr[0].includes(')')) { } else if (!attr[0].includes('(') && !attr[0].includes(')')) {
attr[0] = this.quoteIdentifier(attr[0]); attr[0] = this.quoteIdentifier(attr[0]);
} else { } else {
logger.deprecate('Use sequelize.fn / sequelize.literal to construct attributes'); deprecations.noRawAttributes();
} }
attr = [attr[0], this.quoteIdentifier(attr[1])].join(' AS '); attr = [attr[0], this.quoteIdentifier(attr[1])].join(' AS ');
} else { } else {
......
'use strict'; 'use strict';
const _ = require('lodash'); const _ = require('lodash');
const logger = require('../../utils/logger');
const SqlString = require('../../sql-string'); const SqlString = require('../../sql-string');
const QueryTypes = require('../../query-types'); const QueryTypes = require('../../query-types');
const Dot = require('dottie'); const Dot = require('dottie');
const deprecations = require('../../utils/deprecations');
class AbstractQuery { class AbstractQuery {
...@@ -125,7 +125,7 @@ class AbstractQuery { ...@@ -125,7 +125,7 @@ class AbstractQuery {
*/ */
checkLoggingOption() { checkLoggingOption() {
if (this.options.logging === true) { if (this.options.logging === true) {
logger.deprecate('The logging-option should be either a function or false. Default: console.log'); deprecations.noTrueLogging();
// eslint-disable-next-line no-console // eslint-disable-next-line no-console
this.options.logging = console.log; this.options.logging = console.log;
} }
......
...@@ -7,7 +7,6 @@ const clsBluebird = require('cls-bluebird'); ...@@ -7,7 +7,6 @@ const clsBluebird = require('cls-bluebird');
const _ = require('lodash'); const _ = require('lodash');
const Utils = require('./utils'); const Utils = require('./utils');
const logger = require('./utils/logger');
const Model = require('./model'); const Model = require('./model');
const DataTypes = require('./data-types'); const DataTypes = require('./data-types');
const Deferrable = require('./deferrable'); const Deferrable = require('./deferrable');
...@@ -22,6 +21,7 @@ const Hooks = require('./hooks'); ...@@ -22,6 +21,7 @@ const Hooks = require('./hooks');
const Association = require('./associations/index'); const Association = require('./associations/index');
const Validator = require('./utils/validator-extras').validator; const Validator = require('./utils/validator-extras').validator;
const Op = require('./operators'); const Op = require('./operators');
const deprecations = require('./utils/deprecations');
/** /**
* This is the main class, the entry point to sequelize. * This is the main class, the entry point to sequelize.
...@@ -191,7 +191,7 @@ class Sequelize { ...@@ -191,7 +191,7 @@ class Sequelize {
} }
if (this.options.logging === true) { if (this.options.logging === true) {
logger.deprecate('The logging-option should be either a function or false. Default: console.log'); deprecations.noTrueLogging();
// eslint-disable-next-line no-console // eslint-disable-next-line no-console
this.options.logging = console.log; this.options.logging = console.log;
} }
...@@ -242,10 +242,10 @@ class Sequelize { ...@@ -242,10 +242,10 @@ class Sequelize {
this.dialect.QueryGenerator.typeValidation = options.typeValidation; this.dialect.QueryGenerator.typeValidation = options.typeValidation;
if (_.isPlainObject(this.options.operatorsAliases)) { if (_.isPlainObject(this.options.operatorsAliases)) {
logger.deprecate('String based operators are deprecated. Please use Symbol based operators for better security, read more at http://docs.sequelizejs.com/manual/querying.html#operators'); deprecations.noStringOperators();
this.dialect.QueryGenerator.setOperatorsAliases(this.options.operatorsAliases); this.dialect.QueryGenerator.setOperatorsAliases(this.options.operatorsAliases);
} else if (typeof this.options.operatorsAliases === 'boolean') { } else if (typeof this.options.operatorsAliases === 'boolean') {
logger.warn('A boolean value was passed to options.operatorsAliases. This is a no-op with v5 and should be removed.'); deprecations.noBoolOperatorAliases();
} }
this.queryInterface = new QueryInterface(this); this.queryInterface = new QueryInterface(this);
...@@ -1104,7 +1104,7 @@ class Sequelize { ...@@ -1104,7 +1104,7 @@ class Sequelize {
if (options.logging) { if (options.logging) {
if (options.logging === true) { if (options.logging === true) {
logger.deprecate('The logging-option should be either a function or false. Default: console.log'); deprecations.noTrueLogging();
// eslint-disable-next-line no-console // eslint-disable-next-line no-console
options.logging = console.log; options.logging = console.log;
} }
......
'use strict';
const { deprecate } = require('util');
const noop = () => {};
exports.noRawAttributes = deprecate(noop, 'Use sequelize.fn / sequelize.literal to construct attributes', 'SEQUELIZE0001');
exports.noTrueLogging = deprecate(noop, 'The logging-option should be either a function or false. Default: console.log', 'SEQUELIZE0002');
exports.noStringOperators = deprecate(noop, 'String based operators are deprecated. Please use Symbol based operators for better security, read more at http://docs.sequelizejs.com/manual/querying.html#operators', 'SEQUELIZE0003');
exports.noBoolOperatorAliases = deprecate(noop, 'A boolean value was passed to options.operatorsAliases. This is a no-op with v5 and should be removed.', 'SEQUELIZE0004');
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
* @private * @private
*/ */
const depd = require('depd');
const debug = require('debug'); const debug = require('debug');
class Logger { class Logger {
...@@ -19,14 +18,9 @@ class Logger { ...@@ -19,14 +18,9 @@ class Logger {
debug: true debug: true
}, config); }, config);
this.depd = depd(this.config.context);
this.debug = debug(this.config.context); this.debug = debug(this.config.context);
} }
deprecate(message) {
this.depd(message);
}
debug(message) { debug(message) {
if (this.config.debug) { if (this.config.debug) {
this.debug(message); this.debug(message);
...@@ -50,6 +44,5 @@ exports.Logger = Logger; ...@@ -50,6 +44,5 @@ exports.Logger = Logger;
const logger = new Logger(); const logger = new Logger();
exports.deprecate = logger.deprecate.bind(logger);
exports.warn = logger.warn.bind(logger); exports.warn = logger.warn.bind(logger);
exports.getLogger = () => logger ; exports.getLogger = () => logger ;
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
"bluebird": "^3.5.0", "bluebird": "^3.5.0",
"cls-bluebird": "^2.1.0", "cls-bluebird": "^2.1.0",
"debug": "^4.1.1", "debug": "^4.1.1",
"depd": "^2.0.0",
"dottie": "^2.0.0", "dottie": "^2.0.0",
"inflection": "1.12.0", "inflection": "1.12.0",
"lodash": "^4.17.11", "lodash": "^4.17.11",
......
'use strict'; 'use strict';
const chai = require('chai'), const { expect, assert } = require('chai');
expect = chai.expect, const Support = require('./support');
assert = chai.assert, const DataTypes = require('../../lib/data-types');
Support = require('./support'), const dialect = Support.getTestDialect();
DataTypes = require('../../lib/data-types'), const _ = require('lodash');
dialect = Support.getTestDialect(), const Sequelize = require('../../index');
_ = require('lodash'), const config = require('../config/config');
Sequelize = require('../../index'), const moment = require('moment');
config = require('../config/config'), const Transaction = require('../../lib/transaction');
moment = require('moment'), const sinon = require('sinon');
Transaction = require('../../lib/transaction'), const current = Support.sequelize;
logger = require('../../lib/utils/logger'),
sinon = require('sinon'),
current = Support.sequelize;
const qq = str => { const qq = str => {
if (dialect === 'postgres' || dialect === 'mssql') { if (dialect === 'postgres' || dialect === 'mssql') {
...@@ -27,10 +24,6 @@ const qq = str => { ...@@ -27,10 +24,6 @@ const qq = str => {
describe(Support.getTestDialectTeaser('Sequelize'), () => { describe(Support.getTestDialectTeaser('Sequelize'), () => {
describe('constructor', () => { describe('constructor', () => {
afterEach(() => {
logger.deprecate.restore && logger.deprecate.restore();
});
it('should pass the global options correctly', () => { it('should pass the global options correctly', () => {
const sequelize = Support.createSequelizeInstance({ logging: false, define: { underscored: true } }), const sequelize = Support.createSequelizeInstance({ logging: false, define: { underscored: true } }),
DAO = sequelize.define('dao', { name: DataTypes.STRING }); DAO = sequelize.define('dao', { name: DataTypes.STRING });
......
...@@ -270,11 +270,6 @@ describe(Support.getTestDialectTeaser('Utils'), () => { ...@@ -270,11 +270,6 @@ describe(Support.getTestDialectTeaser('Utils'), () => {
}); });
describe('Logger', () => { describe('Logger', () => {
it('deprecate', () => {
expect(logger.deprecate).to.be.a('function');
logger.deprecate('test deprecation');
});
it('debug', () => { it('debug', () => {
expect(logger.debug).to.be.a('function'); expect(logger.debug).to.be.a('function');
logger.debug('test debug'); logger.debug('test debug');
......
...@@ -11,12 +11,10 @@ export interface LoggerConfig { ...@@ -11,12 +11,10 @@ export interface LoggerConfig {
export class Logger { export class Logger {
constructor(config: LoggerConfig) constructor(config: LoggerConfig)
public deprecate(message: string): void;
public debug(message: string): void; public debug(message: string): void;
public warn(message: string): void; public warn(message: string): void;
public debugContext(message: string): (message: string) => void; public debugContext(message: string): (message: string) => void;
} }
export function deprecate(message: string): void;
export function warn(message: string): void; export function warn(message: string): void;
export function getLogger(): Logger; export function getLogger(): Logger;
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!