Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

util: end of life console lookalike runtime deprecations #25377

Merged
merged 4 commits into from
Jan 10, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 20 additions & 15 deletions doc/api/deprecations.md
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,9 @@ The `sys` module is deprecated. Please use the [`util`][] module instead.
### DEP0026: util.print()
<!-- YAML
changes:
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/xxxxx
description: End-of-Life.
- version:
- v4.8.6
- v6.12.0
Expand All @@ -579,15 +582,17 @@ changes:
description: Runtime deprecation.
-->

Type: Runtime
Type: End-of-Life

The [`util.print()`][] API is deprecated. Please use [`console.log()`][]
instead.
`util.print()` has been removed. Please use [`console.log()`][] instead.

<a id="DEP0027"></a>
### DEP0027: util.puts()
<!-- YAML
changes:
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/xxxxx
description: End-of-Life.
- version:
- v4.8.6
- v6.12.0
Expand All @@ -598,14 +603,17 @@ changes:
description: Runtime deprecation.
-->

Type: Runtime
Type: End-of-Life

The [`util.puts()`][] API is deprecated. Please use [`console.log()`][] instead.
`util.puts()` has been removed. Please use [`console.log()`][] instead.

<a id="DEP0028"></a>
### DEP0028: util.debug()
<!-- YAML
changes:
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/xxxxx
description: End-of-Life.
- version:
- v4.8.6
- v6.12.0
Expand All @@ -616,15 +624,17 @@ changes:
description: Runtime deprecation.
-->

Type: Runtime
Type: End-of-Life

The [`util.debug()`][] API is deprecated. Please use [`console.error()`][]
instead.
`util.debug()` has been removed. Please use [`console.error()`][] instead.

<a id="DEP0029"></a>
### DEP0029: util.error()
<!-- YAML
changes:
- version: REPLACEME
pr-url: https://github.com/nodejs/node/pull/xxxxx
description: End-of-Life.
- version:
- v4.8.6
- v6.12.0
Expand All @@ -635,10 +645,9 @@ changes:
description: Runtime deprecation.
-->

Type: Runtime
Type: End-of-Life

The [`util.error()`][] API is deprecated. Please use [`console.error()`][]
instead.
`util.error()` has been removed. Please use [`console.error()`][] instead.

<a id="DEP0030"></a>
### DEP0030: SlowBuffer
Expand Down Expand Up @@ -2390,8 +2399,6 @@ Setting the TLS ServerName to an IP address is not permitted by
[`url.parse()`]: url.html#url_url_parse_urlstring_parsequerystring_slashesdenotehost
[`url.resolve()`]: url.html#url_url_resolve_from_to
[`util._extend()`]: util.html#util_util_extend_target_source
[`util.debug()`]: util.html#util_util_debug_string
[`util.error()`]: util.html#util_util_error_strings
[`util.getSystemErrorName()`]: util.html#util_util_getsystemerrorname_err
[`util.inspect()`]: util.html#util_util_inspect_object_options
[`util.inspect.custom`]: util.html#util_util_inspect_custom
Expand All @@ -2411,8 +2418,6 @@ Setting the TLS ServerName to an IP address is not permitted by
[`util.isSymbol()`]: util.html#util_util_issymbol_object
[`util.isUndefined()`]: util.html#util_util_isundefined_object
[`util.log()`]: util.html#util_util_log_string
[`util.print()`]: util.html#util_util_print_strings
[`util.puts()`]: util.html#util_util_puts_strings
[`util.types`]: util.html#util_util_types
[`util`]: util.html
[`worker.exitedAfterDisconnect`]: cluster.html#cluster_worker_exitedafterdisconnect
Expand Down
45 changes: 0 additions & 45 deletions doc/api/util.md
Original file line number Diff line number Diff line change
Expand Up @@ -1714,30 +1714,6 @@ Node.js modules. The community found and used it anyway.
It is deprecated and should not be used in new code. JavaScript comes with very
similar built-in functionality through [`Object.assign()`].

### util.debug(string)
<!-- YAML
added: v0.3.0
deprecated: v0.11.3
-->

> Stability: 0 - Deprecated: Use [`console.error()`][] instead.

* `string` {string} The message to print to `stderr`

Deprecated predecessor of `console.error`.

### util.error([...strings])
<!-- YAML
added: v0.3.0
deprecated: v0.11.3
-->

> Stability: 0 - Deprecated: Use [`console.error()`][] instead.

* `...strings` {string} The message to print to `stderr`

Deprecated predecessor of `console.error`.

### util.isArray(object)
<!-- YAML
added: v0.6.0
Expand Down Expand Up @@ -2167,26 +2143,6 @@ const util = require('util');
util.log('Timestamped message.');
```

### util.print([...strings])
<!-- YAML
added: v0.3.0
deprecated: v0.11.3
-->

> Stability: 0 - Deprecated: Use [`console.log()`][] instead.

Deprecated predecessor of `console.log`.

### util.puts([...strings])
<!-- YAML
added: v0.3.0
deprecated: v0.11.3
-->

> Stability: 0 - Deprecated: Use [`console.log()`][] instead.

Deprecated predecessor of `console.log`.

[`'uncaughtException'`]: process.html#process_event_uncaughtexception
[`'warning'`]: process.html#process_event_warning
[`Array.isArray()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
Expand Down Expand Up @@ -2217,7 +2173,6 @@ Deprecated predecessor of `console.log`.
[`WebAssembly.Module`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module
[`assert.deepStrictEqual()`]: assert.html#assert_assert_deepstrictequal_actual_expected_message
[`console.error()`]: console.html#console_console_error_data_args
[`console.log()`]: console.html#console_console_log_data_args
[`target` and `handler`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy#Terminology
[`util.format()`]: #util_util_format_format_args
[`util.inspect()`]: #util_util_inspect_object_options
Expand Down
40 changes: 1 addition & 39 deletions lib/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -324,30 +324,6 @@ function _extend(target, source) {
return target;
}

// Deprecated old stuff.

function print(...args) {
for (var i = 0, len = args.length; i < len; ++i) {
process.stdout.write(String(args[i]));
}
}

function puts(...args) {
for (var i = 0, len = args.length; i < len; ++i) {
process.stdout.write(`${args[i]}\n`);
}
}

function debug(x) {
process.stderr.write(`DEBUG: ${x}\n`);
}

function error(...args) {
for (var i = 0, len = args.length; i < len; ++i) {
process.stderr.write(`${args[i]}\n`);
}
}

function callbackifyOnRejected(reason, cb) {
// `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).
// Because `null` is a special error value in callbacks which means "no error
Expand Down Expand Up @@ -438,19 +414,5 @@ module.exports = exports = {
promisify,
TextDecoder,
TextEncoder,
types,

// Deprecated Old Stuff
debug: deprecate(debug,
'util.debug is deprecated. Use console.error instead.',
'DEP0028'),
error: deprecate(error,
'util.error is deprecated. Use console.error instead.',
'DEP0029'),
print: deprecate(print,
'util.print is deprecated. Use console.log instead.',
'DEP0026'),
puts: deprecate(puts,
'util.puts is deprecated. Use console.log instead.',
'DEP0027')
types
};
8 changes: 7 additions & 1 deletion test/fixtures/deprecated.js
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
require('util').debug('This is deprecated');
'use strict';
const util = require('util');
const deprecated = util.deprecate(() => {
console.error('This is deprecated');
}, 'this function is deprecated');

deprecated();
2 changes: 1 addition & 1 deletion test/fixtures/test-init-index/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@
// USE OR OTHER DEALINGS IN THE SOFTWARE.

(function() {
require('util').print('Loaded successfully!');
process.stdout.write('Loaded successfully!');
})();

2 changes: 1 addition & 1 deletion test/fixtures/test-init-native/fs.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
(function() {
const fs = require('fs');
if (fs.readFile) {
require('util').print('fs loaded successfully');
process.stdout.write('fs loaded successfully');
}
})();

14 changes: 1 addition & 13 deletions test/parallel/test-util.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

'use strict';
// Flags: --expose-internals
const common = require('../common');
require('../common');
const assert = require('assert');
const util = require('util');
const errors = require('internal/errors');
Expand Down Expand Up @@ -144,18 +144,6 @@ assert.strictEqual(util.isFunction(function() {}), true);
assert.strictEqual(util.isFunction(), false);
assert.strictEqual(util.isFunction('string'), false);

common.expectWarning('DeprecationWarning', [
['util.print is deprecated. Use console.log instead.', 'DEP0026'],
['util.puts is deprecated. Use console.log instead.', 'DEP0027'],
['util.debug is deprecated. Use console.error instead.', 'DEP0028'],
['util.error is deprecated. Use console.error instead.', 'DEP0029']
]);

util.print('test');
util.puts('test');
util.debug('test');
util.error('test');

{
assert.strictEqual(util.types.isNativeError(new Error()), true);
assert.strictEqual(util.types.isNativeError(new TypeError()), true);
Expand Down
10 changes: 4 additions & 6 deletions test/sequential/test-deprecation-flags.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,15 @@ execFile(node, normal, function(er, stdout, stderr) {
console.error('normal: show deprecation warning');
assert.strictEqual(er, null);
assert.strictEqual(stdout, '');
assert(/util\.debug is deprecated/.test(stderr));
assert(/this function is deprecated/.test(stderr));
console.log('normal ok');
});

execFile(node, noDep, function(er, stdout, stderr) {
console.error('--no-deprecation: silence deprecations');
assert.strictEqual(er, null);
assert.strictEqual(stdout, '');
assert.strictEqual(stderr, 'DEBUG: This is deprecated\n');
assert.strictEqual(stderr.trim(), 'This is deprecated');
console.log('silent ok');
});

Expand All @@ -62,10 +62,8 @@ execFile(node, traceDep, function(er, stdout, stderr) {
assert.strictEqual(stdout, '');
const stack = stderr.trim().split('\n');
// just check the top and bottom.
assert(
/util\.debug is deprecated\. Use console\.error instead\./.test(stack[1])
);
assert(/DEBUG: This is deprecated/.test(stack[0]));
assert(/this function is deprecated/.test(stack[1]));
assert(/This is deprecated/.test(stack[0]));
console.log('trace ok');
});

Expand Down