Skip to content

Commit 9c731f1

Browse files
committed
deprecate things with depd module
1 parent 5a4e912 commit 9c731f1

File tree

8 files changed

+18
-71
lines changed

8 files changed

+18
-71
lines changed

History.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
unreleased
22
==========
33

4+
* deprecate things with `depd` module
45
56
67
- deprecate `verify` option to `json` -- use `body-parser` module directly

lib/application.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ var connect = require('connect')
1212
, compileTrust = require('./utils').compileTrust
1313
, View = require('./view')
1414
, utils = connect.utils
15-
, deprecate = require('./utils').deprecate
1615
, http = require('http');
16+
var deprecate = require('depd')('express');
1717

1818
/**
1919
* Application prototype.
@@ -448,7 +448,7 @@ app.all = function(path){
448448

449449
// del -> delete alias
450450

451-
app.del = deprecate(app.delete, 'app.del: Use app.delete instead');
451+
app.del = deprecate.function(app.delete, 'app.del: Use app.delete instead');
452452

453453
/**
454454
* Render the given view `name` name with `options`

lib/express.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
* Module dependencies.
33
*/
44

5+
var deprecate = require('depd')('express');
56
var merge = require('merge-descriptors');
67
var connect = require('connect')
78
, proto = require('./application')
89
, Route = require('./router/route')
910
, Router = require('./router')
1011
, req = require('./request')
1112
, res = require('./response')
12-
, deprecate = require('./utils').deprecate
1313
, utils = connect.utils;
1414

1515
/**
@@ -51,7 +51,7 @@ merge(exports, connect.middleware);
5151
* Deprecated createServer().
5252
*/
5353

54-
exports.createServer = deprecate(createApplication,
54+
exports.createServer = deprecate.function(createApplication,
5555
'createServer() is deprecated\n' +
5656
'express applications no longer inherit from http.Server\n' +
5757
'please use:\n' +

lib/response.js

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
* Module dependencies.
33
*/
44

5+
var deprecate = require('depd')('express');
56
var escapeHtml = require('escape-html');
67
var vary = require('vary');
78
var http = require('http')
@@ -12,7 +13,6 @@ var http = require('http')
1213
, normalizeType = require('./utils').normalizeType
1314
, normalizeTypes = require('./utils').normalizeTypes
1415
, setCharset = require('./utils').setCharset
15-
, deprecate = require('./utils').deprecate
1616
, statusCodes = http.STATUS_CODES
1717
, cookie = require('cookie')
1818
, send = require('send')
@@ -196,9 +196,11 @@ res.json = function(obj){
196196
// res.json(body, status) backwards compat
197197
if ('number' == typeof arguments[1]) {
198198
this.statusCode = arguments[1];
199-
return 'number' === typeof obj
200-
? jsonNumDeprecated.call(this, obj)
201-
: jsonDeprecated.call(this, obj);
199+
if (typeof obj === 'number') {
200+
deprecate('res.json(obj, status): Use res.json(status, obj) instead');
201+
} else {
202+
deprecate('res.json(num, status): Use res.status(status).json(num) instead');
203+
}
202204
} else {
203205
this.statusCode = obj;
204206
obj = arguments[1];
@@ -218,12 +220,6 @@ res.json = function(obj){
218220
return this.send(body);
219221
};
220222

221-
var jsonDeprecated = deprecate(res.json,
222-
'res.json(obj, status): Use res.json(status, obj) instead');
223-
224-
var jsonNumDeprecated = deprecate(res.json,
225-
'res.json(num, status): Use res.status(status).json(num) instead');
226-
227223
/**
228224
* Send JSON response with JSONP callback support.
229225
*
@@ -246,9 +242,11 @@ res.jsonp = function(obj){
246242
// res.json(body, status) backwards compat
247243
if ('number' == typeof arguments[1]) {
248244
this.statusCode = arguments[1];
249-
return 'number' === typeof obj
250-
? jsonpNumDeprecated.call(this, obj)
251-
: jsonpDeprecated.call(this, obj);
245+
if (typeof obj === 'number') {
246+
deprecate('res.jsonp(obj, status): Use res.jsonp(status, obj) instead');
247+
} else {
248+
deprecate('res.jsonp(num, status): Use res.status(status).jsonp(num) instead');
249+
}
252250
} else {
253251
this.statusCode = obj;
254252
obj = arguments[1];
@@ -283,12 +281,6 @@ res.jsonp = function(obj){
283281
return this.send(body);
284282
};
285283

286-
var jsonpDeprecated = deprecate(res.json,
287-
'res.jsonp(obj, status): Use res.jsonp(status, obj) instead');
288-
289-
var jsonpNumDeprecated = deprecate(res.json,
290-
'res.jsonp(num, status): Use res.status(status).jsonp(num) instead');
291-
292284
/**
293285
* Transfer the file at the given `path`.
294286
*

lib/utils.js

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*/
55

66
var mime = require('connect').mime
7-
, deprecate = require('util').deprecate
87
, proxyaddr = require('proxy-addr')
98
, crc32 = require('buffer-crc32')
109
, crypto = require('crypto');
@@ -20,30 +19,6 @@ var toString = {}.toString;
2019
*/
2120
var charsetRegExp = /;\s*charset\s*=/;
2221

23-
/**
24-
* Deprecate function, like core `util.deprecate`,
25-
* but with NODE_ENV and color support.
26-
*
27-
* @param {Function} fn
28-
* @param {String} msg
29-
* @return {Function}
30-
* @api private
31-
*/
32-
33-
exports.deprecate = function(fn, msg){
34-
if (process.env.NODE_ENV === 'test') return fn;
35-
36-
// prepend module name
37-
msg = 'express: ' + msg;
38-
39-
if (process.stderr.isTTY) {
40-
// colorize
41-
msg = '\x1b[31;1m' + msg + '\x1b[0m';
42-
}
43-
44-
return deprecate(fn, msg);
45-
};
46-
4722
/**
4823
* Return strong ETag for `body`.
4924
*

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
"connect": "2.20.2",
3030
"commander": "1.3.2",
3131
"debug": "1.0.2",
32+
"depd": "0.3.0",
3233
"escape-html": "1.0.1",
3334
"methods": "1.0.1",
3435
"mkdirp": "0.5.0",

test/support/env.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11

22
process.env.NODE_ENV = 'test';
3-
process.env.NO_DEPRECATION = 'connect';
3+
process.env.NO_DEPRECATION = 'connect,express';

test/utils.js

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,6 @@
22
var utils = require('../lib/utils')
33
, assert = require('assert');
44

5-
describe('utils.deprecate(fn, msg)', function(){
6-
var env
7-
before(function(){
8-
env = process.env.NODE_ENV
9-
})
10-
after(function(){
11-
process.env.NODE_ENV = env
12-
})
13-
14-
it('should pass-through fn in test environment', function(){
15-
var fn = function(){}
16-
process.env.NODE_ENV = 'test'
17-
utils.deprecate(fn).should.equal(fn)
18-
})
19-
20-
it('should return new fn in other environment', function(){
21-
var fn = function(){}
22-
process.env.NODE_ENV = ''
23-
utils.deprecate(fn).should.not.equal(fn)
24-
})
25-
})
26-
275
describe('utils.etag(body, encoding)', function(){
286
it('should support strings', function(){
297
utils.etag('express!')

0 commit comments

Comments
 (0)