lib: turn on strict mode
authorBen Noordhuis <info@bnoordhuis.nl>
Sat, 22 Nov 2014 15:59:48 +0000 (16:59 +0100)
committerBen Noordhuis <info@bnoordhuis.nl>
Sat, 22 Nov 2014 16:23:30 +0000 (17:23 +0100)
Turn on strict mode for the files in the lib/ directory.  It helps
catch bugs and can have a positive effect on performance.

PR-URL: https://github.com/node-forward/node/pull/64
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
52 files changed:
lib/_debug_agent.js
lib/_debugger.js
lib/_http_agent.js
lib/_http_client.js
lib/_http_common.js
lib/_http_incoming.js
lib/_http_outgoing.js
lib/_http_server.js
lib/_linklist.js
lib/_stream_duplex.js
lib/_stream_passthrough.js
lib/_stream_readable.js
lib/_stream_transform.js
lib/_stream_writable.js
lib/_tls_common.js
lib/_tls_legacy.js
lib/_tls_wrap.js
lib/assert.js
lib/buffer.js
lib/child_process.js
lib/cluster.js
lib/console.js
lib/constants.js
lib/crypto.js
lib/dgram.js
lib/dns.js
lib/domain.js
lib/events.js
lib/freelist.js
lib/fs.js
lib/http.js
lib/https.js
lib/module.js
lib/net.js
lib/os.js
lib/path.js
lib/querystring.js
lib/readline.js
lib/repl.js
lib/smalloc.js
lib/stream.js
lib/string_decoder.js
lib/sys.js
lib/timers.js
lib/tls.js
lib/tracing.js
lib/tty.js
lib/url.js
lib/util.js
lib/vm.js
lib/zlib.js
src/node.js

index 680c5e9..d0e6dff 100644 (file)
@@ -1,3 +1,5 @@
+'use strict';
+
 var assert = require('assert');
 var net = require('net');
 var util = require('util');
index 41d3fc4..cd8d688 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var util = require('util'),
     path = require('path'),
     net = require('net'),
index 6fbff37..96797b2 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var net = require('net');
 var util = require('util');
 var EventEmitter = require('events').EventEmitter;
index 929be3f..52582de 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var util = require('util');
 var net = require('net');
 var url = require('url');
index 7994cdd..8edc671 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var FreeList = require('freelist').FreeList;
 var HTTPParser = process.binding('http_parser').HTTPParser;
 
index 69d3d86..a252c11 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var util = require('util');
 var Stream = require('stream');
 
index 20aa365..cef135c 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var assert = require('assert').ok;
 var Stream = require('stream');
 var timers = require('timers');
index 787fc27..5927ed2 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var util = require('util');
 var net = require('net');
 var EventEmitter = require('events').EventEmitter;
index b73bbed..048e933 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 function init(list) {
   list._idleNext = list;
   list._idlePrev = list;
index 75cf30d..9ed2950 100644 (file)
@@ -24,6 +24,8 @@
 // prototypally inherits from Readable, and then parasitically from
 // Writable.
 
+'use strict';
+
 module.exports = Duplex;
 var util = require('util');
 var Readable = require('_stream_readable');
index a5e9864..ae83d5d 100644 (file)
@@ -23,6 +23,8 @@
 // basically just the most minimal sort of Transform stream.
 // Every written chunk gets output as-is.
 
+'use strict';
+
 module.exports = PassThrough;
 
 var Transform = require('_stream_transform');
index c691137..67d6969 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 module.exports = Readable;
 Readable.ReadableState = ReadableState;
 
index 1843f51..8706816 100644 (file)
@@ -62,6 +62,8 @@
 // would be consumed, and then the rest would wait (un-transformed) until
 // the results of the previous transformed chunk were consumed.
 
+'use strict';
+
 module.exports = Transform;
 
 var Duplex = require('_stream_duplex');
index 92984eb..e9e2968 100644 (file)
@@ -23,6 +23,8 @@
 // Implement an async ._write(chunk, cb), and it'll handle all
 // the drain event emission and buffering.
 
+'use strict';
+
 module.exports = Writable;
 Writable.WritableState = WritableState;
 
index 01efceb..e66ae66 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var util = require('util');
 var constants = require('constants');
 var tls = require('tls');
index 3f6d207..70082a4 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var assert = require('assert');
 var events = require('events');
 var stream = require('stream');
@@ -444,9 +446,9 @@ CryptoStream.prototype.destroySoon = function(err) {
     // was written on this side was read from the other side.
     var self = this;
     var waiting = 1;
-    function finish() {
+    var finish = function() {
       if (--waiting === 0) self.destroy();
-    }
+    };
     this._opposite.once('end', finish);
     if (!this._finished) {
       this.once('finish', finish);
index 703f125..671a5e8 100644 (file)
@@ -22,6 +22,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var assert = require('assert');
 var crypto = require('crypto');
 var net = require('net');
index c83f977..a05a487 100644 (file)
@@ -22,6 +22,8 @@
 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 // UTILITY
 var util = require('util');
 var pSlice = Array.prototype.slice;
index 2e29ae4..f14783d 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var buffer = process.binding('buffer');
 var smalloc = process.binding('smalloc');
 var util = require('util');
index 4840c9e..68eae61 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var StringDecoder = require('string_decoder').StringDecoder;
 var EventEmitter = require('events').EventEmitter;
 var net = require('net');
index 6f355d0..62cd698 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var EventEmitter = require('events').EventEmitter;
 var assert = require('assert');
 var dgram = require('dgram');
@@ -680,8 +682,6 @@ function sendHelper(proc, message, handle, cb) {
 // to the callback but intercepts and redirects ACK messages.
 function internal(worker, cb) {
   return function(message, handle) {
-    'use strict';
-
     if (message.cmd !== 'NODE_CLUSTER') return;
     var fn = cb;
     if (!util.isUndefined(message.ack)) {
index 2a09329..ff7fd4d 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var util = require('util');
 
 function Console(stdout, stderr) {
@@ -89,13 +91,13 @@ Console.prototype.timeEnd = function(label) {
 };
 
 
-Console.prototype.trace = function() {
+Console.prototype.trace = function trace() {
   // TODO probably can to do this better with V8's debug object once that is
   // exposed.
   var err = new Error;
   err.name = 'Trace';
   err.message = util.format.apply(this, arguments);
-  Error.captureStackTrace(err, arguments.callee);
+  Error.captureStackTrace(err, trace);
   this.error(err.stack);
 };
 
index 1b87b2b..816dc85 100644 (file)
@@ -19,4 +19,6 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 module.exports = process.binding('constants');
index 2f0a00b..91106b3 100644 (file)
@@ -22,6 +22,8 @@
 // Note: In 0.8 and before, crypto functions all defaulted to using
 // binary-encoded strings rather than buffers.
 
+'use strict';
+
 exports.DEFAULT_ENCODING = 'buffer';
 
 try {
@@ -600,11 +602,11 @@ function pbkdf2(password, salt, iterations, keylen, digest, callback) {
   // at this point, we need to handle encodings.
   var encoding = exports.DEFAULT_ENCODING;
   if (callback) {
-    function next(er, ret) {
+    var next = function(er, ret) {
       if (ret)
         ret = ret.toString(encoding);
       callback(er, ret);
-    }
+    };
     binding.PBKDF2(password, salt, iterations, keylen, digest, next);
   } else {
     var ret = binding.PBKDF2(password, salt, iterations, keylen, digest);
index aae2f51..4d6228e 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var assert = require('assert');
 var util = require('util');
 var events = require('events');
index 4eb34d6..f758e34 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var net = require('net');
 var util = require('util');
 
index 5924b44..4121ede 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var util = require('util');
 var EventEmitter = require('events');
 var inherits = util.inherits;
index 0cd841b..f8c651f 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var domain;
 var util = require('util');
 
index 588facd..561ca53 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 // This is a free list to avoid creating so many of the same object.
 exports.FreeList = function(name, max, constructor) {
   this.name = name;
index 3301a6a..85bfe2b 100644 (file)
--- a/lib/fs.js
+++ b/lib/fs.js
@@ -25,6 +25,8 @@
 //
 //   var mode = 438; /* mode=0666 */
 
+'use strict';
+
 var util = require('util');
 var pathModule = require('path');
 
index d12f12d..c0b2b0a 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var util = require('util');
 var EventEmitter = require('events').EventEmitter;
 
index f901164..4c2731a 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var tls = require('tls');
 var url = require('url');
 var http = require('http');
index 564f6c4..07741bd 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var NativeModule = require('native_module');
 var util = NativeModule.require('util');
 var runInThisContext = require('vm').runInThisContext;
index 34de98b..0882c4f 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var events = require('events');
 var stream = require('stream');
 var timers = require('timers');
@@ -612,7 +614,6 @@ Socket.prototype.__defineGetter__('localPort', function() {
 
 
 Socket.prototype.write = function(chunk, encoding, cb) {
-  'use strict';
   if (!util.isString(chunk) && !util.isBuffer(chunk))
     throw new TypeError('invalid data');
   return stream.Duplex.prototype.write.apply(this, arguments);
index 9fc4673..cace461 100644 (file)
--- a/lib/os.js
+++ b/lib/os.js
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var binding = process.binding('os');
 var util = require('util');
 var isWindows = process.platform === 'win32';
index 6af430e..a7f76f1 100644 (file)
@@ -19,6 +19,7 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
 
 var isWindows = process.platform === 'win32';
 var util = require('util');
index 04c083d..07eb1d9 100644 (file)
@@ -21,6 +21,8 @@
 
 // Query String Utilities
 
+'use strict';
+
 var QueryString = exports;
 var util = require('util');
 
index bafef00..8c6b1a8 100644 (file)
@@ -25,6 +25,8 @@
 // * http://invisible-island.net/xterm/ctlseqs/ctlseqs.html
 // * http://www.3waylabs.com/nw/WWW/products/wizcon/vt220.html
 
+'use strict';
+
 var kHistorySize = 30;
 
 var util = require('util');
index 578f99e..50d6cc2 100644 (file)
@@ -40,6 +40,8 @@
  *   repl.start("node > ").context.foo = "stdin is fun";
  */
 
+'use strict';
+
 var util = require('util');
 var inherits = require('util').inherits;
 var Stream = require('stream');
index ba042c6..9e4fdc8 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var smalloc = process.binding('smalloc');
 var kMaxLength = smalloc.kMaxLength;
 var util = require('util');
index 073c6ed..83815e8 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 module.exports = Stream;
 
 var EE = require('events').EventEmitter;
index fd11e51..84ac9a9 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 function assertEncoding(encoding) {
   if (encoding && !Buffer.isEncoding(encoding)) {
     throw new Error('Unknown encoding: ' + encoding);
index cf98a07..6dc415c 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 // the sys module was renamed to 'util'.
 // this shim remains to keep old programs working.
 module.exports = require('util');
index 3039b49..b5fd04e 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var Timer = process.binding('timer_wrap').Timer;
 var L = require('_linklist');
 var assert = require('assert').ok;
index eff5d31..4ba8af5 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var net = require('net');
 var url = require('url');
 var util = require('util');
index 5e35f43..52d7e27 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var EventEmitter = require('events');
 var v8binding, process;
 
index 74300fc..3d5c2a6 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var inherits = require('util').inherits;
 var net = require('net');
 var TTY = process.binding('tty_wrap').TTY;
index e01343a..6a6a19d 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var punycode = require('punycode');
 var util = require('util');
 
index e97820c..4fed831 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var formatRegExp = /%[sdj%]/g;
 exports.format = function(f) {
   if (!isString(f)) {
index 7c6c59c..653c27c 100644 (file)
--- a/lib/vm.js
+++ b/lib/vm.js
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var binding = process.binding('contextify');
 var Script = binding.ContextifyScript;
 var util = require('util');
index 2acde58..724f9a3 100644 (file)
@@ -19,6 +19,8 @@
 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+'use strict';
+
 var Transform = require('_stream_transform');
 
 var binding = process.binding('zlib');
index fe2edab..81bf90d 100644 (file)
@@ -24,6 +24,9 @@
 // This file is invoked by node::Load in src/node.cc, and responsible for
 // bootstrapping the node.js core. Special caution is given to the performance
 // of the startup process, so many dependencies are invoked lazily.
+
+'use strict';
+
 (function(process) {
   this.global = this;