diff -Nru node-debug-4.2.0+~cs4.1.5/debian/changelog node-debug-4.3.1+~cs4.1.5/debian/changelog --- node-debug-4.2.0+~cs4.1.5/debian/changelog 2020-10-05 20:37:01.000000000 +0000 +++ node-debug-4.3.1+~cs4.1.5/debian/changelog 2020-11-27 07:27:40.000000000 +0000 @@ -1,3 +1,11 @@ +node-debug (4.3.1+~cs4.1.5-1) unstable; urgency=medium + + * Team upload + * Declare compliance with policy 4.5.1 + * New upstream version 4.3.1+~cs4.1.5 + + -- Xavier Guimard Fri, 27 Nov 2020 08:27:40 +0100 + node-debug (4.2.0+~cs4.1.5-1) unstable; urgency=medium * Team upload diff -Nru node-debug-4.2.0+~cs4.1.5/debian/control node-debug-4.3.1+~cs4.1.5/debian/control --- node-debug-4.2.0+~cs4.1.5/debian/control 2020-10-05 20:37:01.000000000 +0000 +++ node-debug-4.3.1+~cs4.1.5/debian/control 2020-11-27 07:25:25.000000000 +0000 @@ -12,7 +12,7 @@ , mocha (>= 4) , node-ms , nodejs (>= 6) -Standards-Version: 4.5.0 +Standards-Version: 4.5.1 Homepage: https://github.com/visionmedia/debug Vcs-Git: https://salsa.debian.org/js-team/node-debug.git Vcs-Browser: https://salsa.debian.org/js-team/node-debug diff -Nru node-debug-4.2.0+~cs4.1.5/package.json node-debug-4.3.1+~cs4.1.5/package.json --- node-debug-4.2.0+~cs4.1.5/package.json 2020-05-19 09:36:58.000000000 +0000 +++ node-debug-4.3.1+~cs4.1.5/package.json 2020-11-19 12:15:13.000000000 +0000 @@ -1,6 +1,6 @@ { "name": "debug", - "version": "4.2.0", + "version": "4.3.1", "repository": { "type": "git", "url": "git://github.com/visionmedia/debug.git" diff -Nru node-debug-4.2.0+~cs4.1.5/src/browser.js node-debug-4.3.1+~cs4.1.5/src/browser.js --- node-debug-4.2.0+~cs4.1.5/src/browser.js 2020-05-19 09:36:58.000000000 +0000 +++ node-debug-4.3.1+~cs4.1.5/src/browser.js 2020-11-19 12:15:13.000000000 +0000 @@ -9,6 +9,16 @@ exports.load = load; exports.useColors = useColors; exports.storage = localstorage(); +exports.destroy = (() => { + let warned = false; + + return () => { + if (!warned) { + warned = true; + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + }; +})(); /** * Colors. diff -Nru node-debug-4.2.0+~cs4.1.5/src/common.js node-debug-4.3.1+~cs4.1.5/src/common.js --- node-debug-4.2.0+~cs4.1.5/src/common.js 2020-05-19 09:36:58.000000000 +0000 +++ node-debug-4.3.1+~cs4.1.5/src/common.js 2020-11-19 12:15:13.000000000 +0000 @@ -12,17 +12,13 @@ createDebug.enable = enable; createDebug.enabled = enabled; createDebug.humanize = require('ms'); + createDebug.destroy = destroy; Object.keys(env).forEach(key => { createDebug[key] = env[key]; }); /** - * Active `debug` instances. - */ - createDebug.instances = []; - - /** * The currently active debug mode names, and names to skip. */ @@ -63,6 +59,7 @@ */ function createDebug(namespace) { let prevTime; + let enableOverride = null; function debug(...args) { // Disabled? @@ -92,7 +89,7 @@ args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { // If we encounter an escaped % then don't increase the array index if (match === '%%') { - return match; + return '%'; } index++; const formatter = createDebug.formatters[format]; @@ -115,31 +112,28 @@ } debug.namespace = namespace; - debug.enabled = createDebug.enabled(namespace); debug.useColors = createDebug.useColors(); debug.color = createDebug.selectColor(namespace); - debug.destroy = destroy; debug.extend = extend; + debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release. + + Object.defineProperty(debug, 'enabled', { + enumerable: true, + configurable: false, + get: () => enableOverride === null ? createDebug.enabled(namespace) : enableOverride, + set: v => { + enableOverride = v; + } + }); // Env-specific initialization logic for debug instances if (typeof createDebug.init === 'function') { createDebug.init(debug); } - createDebug.instances.push(debug); - return debug; } - function destroy() { - const index = createDebug.instances.indexOf(this); - if (index !== -1) { - createDebug.instances.splice(index, 1); - return true; - } - return false; - } - function extend(namespace, delimiter) { const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); newDebug.log = this.log; @@ -177,11 +171,6 @@ createDebug.names.push(new RegExp('^' + namespaces + '$')); } } - - for (i = 0; i < createDebug.instances.length; i++) { - const instance = createDebug.instances[i]; - instance.enabled = createDebug.enabled(instance.namespace); - } } /** @@ -256,6 +245,14 @@ return val; } + /** + * XXX DO NOT USE. This is a temporary stub function. + * XXX It WILL be removed in the next major release. + */ + function destroy() { + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + createDebug.enable(createDebug.load()); return createDebug; diff -Nru node-debug-4.2.0+~cs4.1.5/src/node.js node-debug-4.3.1+~cs4.1.5/src/node.js --- node-debug-4.2.0+~cs4.1.5/src/node.js 2020-05-19 09:36:58.000000000 +0000 +++ node-debug-4.3.1+~cs4.1.5/src/node.js 2020-11-19 12:15:13.000000000 +0000 @@ -15,6 +15,10 @@ exports.save = save; exports.load = load; exports.useColors = useColors; +exports.destroy = util.deprecate( + () => {}, + 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.' +); /** * Colors. @@ -244,7 +248,9 @@ formatters.o = function (v) { this.inspectOpts.colors = this.useColors; return util.inspect(v, this.inspectOpts) - .replace(/\s*\n\s*/g, ' '); + .split('\n') + .map(str => str.trim()) + .join(' '); }; /** diff -Nru node-debug-4.2.0+~cs4.1.5/test.js node-debug-4.3.1+~cs4.1.5/test.js --- node-debug-4.2.0+~cs4.1.5/test.js 2020-05-19 09:36:58.000000000 +0000 +++ node-debug-4.3.1+~cs4.1.5/test.js 2020-11-19 12:15:13.000000000 +0000 @@ -117,5 +117,24 @@ assert.deepStrictEqual(oldNames.map(String), debug.names.map(String)); assert.deepStrictEqual(oldSkips.map(String), debug.skips.map(String)); }); + + it('handles re-enabling existing instances', () => { + debug.disable('*'); + const inst = debug('foo'); + const messages = []; + inst.log = msg => messages.push(msg.replace(/^[^@]*@([^@]+)@.*$/, '$1')); + + inst('@test@'); + assert.deepStrictEqual(messages, []); + debug.enable('foo'); + assert.deepStrictEqual(messages, []); + inst('@test2@'); + assert.deepStrictEqual(messages, ['test2']); + inst('@test3@'); + assert.deepStrictEqual(messages, ['test2', 'test3']); + debug.disable('*'); + inst('@test4@'); + assert.deepStrictEqual(messages, ['test2', 'test3']); + }); }); });