Le 08/01/2019 à 23:23, Jérémy Lal a écrit : > Hi, > > is there a reason to keep both > node-duplexer2 > node-duplexer3 > packages ? > It seems it's feasible to keep only one, unless we miss a deeper issue ? > > Jérémy
Only 1 difference: node-duplexer2 uses `readable-stream` while node-duplexer3 uses `stream` but there is a debian patch in node-duplexer2 that replace `readable-stream` by `stream`, so Debian package are identical (and so have the same RC bug...). Full diff is attached. Reverse-dependencies: * node-duplexer2 : | +-> node-multipipe | | | +-> node-gulp-util | | | +-> gulp & Co | +-> node-static-module | | | +-> node-brfs | +-> node-stream-combiner2 | +-> node-module-deps * node-duplexer3 : | +-> node-got | +-> node-package-json | +-> node-latest-version | +-> npm
diff -aburN -x .git node-duplexer2/debian/changelog node-duplexer3/debian/changelog --- node-duplexer2/debian/changelog 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/debian/changelog 2019-01-08 23:06:23.373438036 +0100 @@ -1,5 +1,13 @@ -node-duplexer2 (0.1.4-1) unstable; urgency=low +node-duplexer3 (0.1.4-2) unstable; urgency=medium - * Initial release (Closes: #845727) + * Team upload + * Reupload to unstable + + -- Pirate Praveen <prav...@debian.org> Mon, 11 Dec 2017 19:03:15 +0530 + +node-duplexer3 (0.1.4-1) experimental; urgency=low + + * Initial release (Closes: #852778) + + -- Tushar Agey <agey.tush...@gmail.com> Fri, 27 Jan 2017 07:16:24 +0000 - -- Pirate Praveen <prav...@debian.org> Sat, 26 Nov 2016 15:41:03 +0530 diff -aburN -x .git node-duplexer2/debian/control node-duplexer3/debian/control --- node-duplexer2/debian/control 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/debian/control 2019-01-08 23:06:23.373438036 +0100 @@ -1,23 +1,28 @@ -Source: node-duplexer2 -Section: web +Source: node-duplexer3 +Section: javascript Priority: optional Maintainer: Debian Javascript Maintainers <pkg-javascript-de...@lists.alioth.debian.org> -Uploaders: Pirate Praveen <prav...@debian.org> +Uploaders: Tushar Agey <agey.tush...@gmail.com> Build-Depends: debhelper (>= 9) , dh-buildinfo , nodejs + , node-tap , mocha -Standards-Version: 3.9.8 -Homepage: https://github.com/deoxxa/duplexer2#readme -Vcs-Git: https://anonscm.debian.org/git/pkg-javascript/node-duplexer2.git -Vcs-Browser: https://anonscm.debian.org/cgit/pkg-javascript/node-duplexer2.git +Standards-Version: 4.1.2 +Homepage: https://github.com/floatdrop/duplexer3 +Vcs-Git: https://anonscm.debian.org/git/pkg-javascript/node-duplexer3.git +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-javascript/node-duplexer3.git -Package: node-duplexer2 +Package: node-duplexer3 Architecture: all Depends: ${misc:Depends} , nodejs Description: Like duplexer but using streams3 + This is a reimplementation of duplexer using the Streams3 API + which is standard in Node as of v4. Everything largely works the same + Duplexer takes a writable stream and a readable stream and makes them + appear as a readable writable stream. . Node.js is an event-based server-side JavaScript engine. diff -aburN -x .git node-duplexer2/debian/copyright node-duplexer3/debian/copyright --- node-duplexer2/debian/copyright 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/debian/copyright 2019-01-08 23:06:23.373438036 +0100 @@ -1,14 +1,14 @@ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: duplexer2 -Upstream-Contact: https://github.com/deoxxa/duplexer2/issues -Source: https://github.com/deoxxa/duplexer2#readme +Upstream-Name: duplexer3 +Upstream-Contact: https://github.com/floatdrop/duplexer3/issues +Source: https://github.com/floatdrop/duplexer3 Files: * -Copyright: 2016 Conrad Pankoff <deo...@fknsrs.biz> (http://www.fknsrs.biz/) +Copyright: 2017 Conrad Pankoff <deo...@fknsrs.biz> (http://www.fknsrs.biz/) License: BSD-3-Clause Files: debian/* -Copyright: 2016 Pirate Praveen <prav...@debian.org> +Copyright: 2017 Tushar Agey <agey.tush...@gmail.com> License: BSD-3-Clause License: BSD-3-clause diff -aburN -x .git node-duplexer2/debian/install node-duplexer3/debian/install --- node-duplexer2/debian/install 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/debian/install 2019-01-08 23:06:23.373438036 +0100 @@ -1,2 +1,2 @@ -index.js usr/lib/nodejs/duplexer2/ -package.json usr/lib/nodejs/duplexer2/ +package.json usr/lib/nodejs/duplexer3/ +index.js usr/lib/nodejs/duplexer3/ diff -aburN -x .git node-duplexer2/debian/patches/replace-readable-stream.patch node-duplexer3/debian/patches/replace-readable-stream.patch --- node-duplexer2/debian/patches/replace-readable-stream.patch 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/debian/patches/replace-readable-stream.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ ---- a/index.js -+++ b/index.js -@@ -1,6 +1,6 @@ - "use strict"; - --var stream = require("readable-stream"); -+var stream = require("stream"); - - function DuplexWrapper(options, writable, readable) { - if (typeof readable === "undefined") { ---- a/test/tests.js -+++ b/test/tests.js -@@ -1,7 +1,7 @@ - "use strict"; - - var assert = require("assert"); --var stream = require("readable-stream"); -+var stream = require("stream"); - - var duplexer2 = require("../"); - -@@ -161,7 +161,7 @@ - }); - - it("should work with streams1", function(done) { -- var readable1 = new stream; -+ var readable1 = new stream.Readable(); - readable1.readable = true; - readable1._read = function() {} - var duplex = duplexer2(writable, readable1); diff -aburN -x .git node-duplexer2/debian/patches/series node-duplexer3/debian/patches/series --- node-duplexer2/debian/patches/series 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -replace-readable-stream.patch diff -aburN -x .git node-duplexer2/debian/rules node-duplexer3/debian/rules --- node-duplexer2/debian/rules 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/debian/rules 2019-01-08 23:06:23.373438036 +0100 @@ -13,4 +13,3 @@ mocha -R tap - diff -aburN -x .git node-duplexer2/debian/tests/control node-duplexer3/debian/tests/control --- node-duplexer2/debian/tests/control 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/debian/tests/control 2019-01-08 23:06:23.373438036 +0100 @@ -1,5 +1,5 @@ Tests: require -Depends: node-duplexer2 +Depends: node-duplexer3 Test-Command: mocha -R tap -Depends: @, mocha +Depends: @, mocha, node-tap diff -aburN -x .git node-duplexer2/debian/tests/require node-duplexer3/debian/tests/require --- node-duplexer2/debian/tests/require 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/debian/tests/require 2019-01-08 23:06:23.373438036 +0100 @@ -1,3 +1,3 @@ #!/bin/sh set -e -nodejs -e "require('duplexer2');" +nodejs -e "require('duplexer3');" diff -aburN -x .git node-duplexer2/debian/watch node-duplexer3/debian/watch --- node-duplexer2/debian/watch 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/debian/watch 2019-01-08 23:06:23.373438036 +0100 @@ -1,5 +1,5 @@ version=3 opts=\ dversionmangle=s/\+(debian|dfsg|ds|deb)(\.\d+)?$//,\ -filenamemangle=s/.*\/v?([\d\.-]+)\.tar\.gz/node-duplexer2-$1.tar.gz/ \ - https://github.com/deoxxa/duplexer2/tags .*/archive/v?([\d\.]+).tar.gz +filenamemangle=s/.*\/v?([\d\.-]+)\.tar\.gz/node-duplexer3-$1.tar.gz/ \ + https://github.com/floatdrop/duplexer3/tags .*/archive/v?([\d\.]+).tar.gz diff -aburN -x .git node-duplexer2/example.js node-duplexer3/example.js --- node-duplexer2/example.js 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/example.js 2019-01-08 23:06:23.373438036 +0100 @@ -1,8 +1,8 @@ #!/usr/bin/env node -var stream = require("readable-stream"); +var stream = require("stream"); -var duplexer2 = require("./"); +var duplexer3 = require("./"); var writable = new stream.Writable({objectMode: true}), readable = new stream.Readable({objectMode: true}); @@ -26,7 +26,7 @@ }, 500); }); -var duplex = duplexer2(writable, readable); +var duplex = duplexer3(writable, readable); duplex.on("data", function(e) { console.log("got data", JSON.stringify(e)); diff -aburN -x .git node-duplexer2/index.js node-duplexer3/index.js --- node-duplexer2/index.js 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/index.js 2019-01-08 23:06:23.373438036 +0100 @@ -1,6 +1,6 @@ "use strict"; -var stream = require("readable-stream"); +var stream = require("stream"); function DuplexWrapper(options, writable, readable) { if (typeof readable === "undefined") { diff -aburN -x .git node-duplexer2/package.json node-duplexer3/package.json --- node-duplexer2/package.json 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/package.json 2019-01-08 23:06:23.373438036 +0100 @@ -1,14 +1,17 @@ { - "name": "duplexer2", + "name": "duplexer3", "version": "0.1.4", "description": "Like duplexer but using streams3", + "engine": { + "node": ">=4" + }, "files": [ "index.js" ], "scripts": { "test": "mocha -R tap" }, - "repository": "deoxxa/duplexer2", + "repository": "floatdrop/duplexer3", "keywords": [ "duplex", "duplexer", @@ -19,9 +22,6 @@ ], "author": "Conrad Pankoff <deo...@fknsrs.biz> (http://www.fknsrs.biz/)", "license": "BSD-3-Clause", - "dependencies": { - "readable-stream": "^2.0.2" - }, "devDependencies": { "mocha": "^2.2.5" } diff -aburN -x .git node-duplexer2/README.md node-duplexer3/README.md --- node-duplexer2/README.md 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/README.md 2019-01-08 23:06:23.373438036 +0100 @@ -1,11 +1,11 @@ -# duplexer2 [![Build Status](https://travis-ci.org/deoxxa/duplexer2.svg?branch=master)](https://travis-ci.org/deoxxa/duplexer2) [![Coverage Status](https://coveralls.io/repos/deoxxa/duplexer2/badge.svg?branch=master&service=github)](https://coveralls.io/github/deoxxa/duplexer2?branch=master) +# duplexer3 [![Build Status](https://travis-ci.org/floatdrop/duplexer3.svg?branch=master)](https://travis-ci.org/floatdrop/duplexer3) [![Coverage Status](https://coveralls.io/repos/floatdrop/duplexer3/badge.svg?branch=master&service=github)](https://coveralls.io/github/floatdrop/duplexer3?branch=master) -Like [duplexer](https://github.com/Raynos/duplexer) but using Streams3 +Like [duplexer2](https://github.com/deoxxa/duplexer2) but using Streams3 without readable-stream dependency ```javascript var stream = require("stream"); -var duplexer2 = require("duplexer2"); +var duplexer3 = require("duplexer3"); var writable = new stream.Writable({objectMode: true}), readable = new stream.Readable({objectMode: true}); @@ -29,7 +29,7 @@ }, 500); }); -var duplex = duplexer2(writable, readable); +var duplex = duplexer3(writable, readable); duplex.on("data", function(e) { console.log("got data", JSON.stringify(e)); @@ -73,22 +73,22 @@ [Available via `npm`](https://docs.npmjs.com/cli/install): ``` -$ npm i duplexer2 +$ npm i duplexer3 ``` ## API -### duplexer2 +### duplexer3 Creates a new `DuplexWrapper` object, which is the actual class that implements most of the fun stuff. All that fun stuff is hidden. DON'T LOOK. ```javascript -duplexer2([options], writable, readable) +duplexer3([options], writable, readable) ``` ```javascript -const duplex = duplexer2(new stream.Writable(), new stream.Readable()); +const duplex = duplexer3(new stream.Writable(), new stream.Readable()); ``` Arguments diff -aburN -x .git node-duplexer2/test/tests.js node-duplexer3/test/tests.js --- node-duplexer2/test/tests.js 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/test/tests.js 2019-01-08 23:06:23.373438036 +0100 @@ -1,11 +1,11 @@ "use strict"; var assert = require("assert"); -var stream = require("readable-stream"); +var stream = require("stream"); -var duplexer2 = require("../"); +var duplexer3 = require("../"); -describe("duplexer2", function() { +describe("duplexer3", function() { var writable, readable; beforeEach(function() { @@ -21,7 +21,7 @@ }); it("should interact with the writable stream properly for writing", function(done) { - var duplex = duplexer2(writable, readable); + var duplex = duplexer3(writable, readable); writable._write = function _write(input, encoding, _done) { assert.strictEqual(input.toString(), "well hello there"); @@ -33,7 +33,7 @@ }); it("should interact with the readable stream properly for reading", function(done) { - var duplex = duplexer2(writable, readable); + var duplex = duplexer3(writable, readable); duplex.on("data", function(e) { assert.strictEqual(e.toString(), "well hello there"); @@ -45,7 +45,7 @@ }); it("should end the writable stream, causing it to finish", function(done) { - var duplex = duplexer2(writable, readable); + var duplex = duplexer3(writable, readable); writable.once("finish", done); @@ -53,7 +53,7 @@ }); it("should finish when the writable stream finishes", function(done) { - var duplex = duplexer2(writable, readable); + var duplex = duplexer3(writable, readable); duplex.once("finish", done); @@ -61,7 +61,7 @@ }); it("should end when the readable stream ends", function(done) { - var duplex = duplexer2(writable, readable); + var duplex = duplexer3(writable, readable); // required to let "end" fire without reading duplex.resume(); @@ -71,7 +71,7 @@ }); it("should bubble errors from the writable stream when no behaviour is specified", function(done) { - var duplex = duplexer2(writable, readable); + var duplex = duplexer3(writable, readable); var originalErr = Error("testing"); @@ -85,7 +85,7 @@ }); it("should bubble errors from the readable stream when no behaviour is specified", function(done) { - var duplex = duplexer2(writable, readable); + var duplex = duplexer3(writable, readable); var originalErr = Error("testing"); @@ -99,7 +99,7 @@ }); it("should bubble errors from the writable stream when bubbleErrors is true", function(done) { - var duplex = duplexer2({bubbleErrors: true}, writable, readable); + var duplex = duplexer3({bubbleErrors: true}, writable, readable); var originalErr = Error("testing"); @@ -113,7 +113,7 @@ }); it("should bubble errors from the readable stream when bubbleErrors is true", function(done) { - var duplex = duplexer2({bubbleErrors: true}, writable, readable); + var duplex = duplexer3({bubbleErrors: true}, writable, readable); var originalErr = Error("testing"); @@ -127,7 +127,7 @@ }); it("should not bubble errors from the writable stream when bubbleErrors is false", function(done) { - var duplex = duplexer2({bubbleErrors: false}, writable, readable); + var duplex = duplexer3({bubbleErrors: false}, writable, readable); var timeout = setTimeout(done, 25); @@ -144,7 +144,7 @@ }); it("should not bubble errors from the readable stream when bubbleErrors is false", function(done) { - var duplex = duplexer2({bubbleErrors: false}, writable, readable); + var duplex = duplexer3({bubbleErrors: false}, writable, readable); var timeout = setTimeout(done, 25); @@ -160,27 +160,8 @@ readable.emit("error", Error("testing")); }); - it("should work with streams1", function(done) { - var readable1 = new stream; - readable1.readable = true; - readable1._read = function() {} - var duplex = duplexer2(writable, readable1); - - duplex.on("readable", function(e) { - e = duplex.read() - assert.strictEqual(e.toString(), "well hello there"); - - return done(); - }); - - // making sure we're on compat mode. - readable1.on('end', function() {}) - - readable1.push("well hello there"); - }); - it("should export the DuplexWrapper constructor", function() { - assert.equal(typeof duplexer2.DuplexWrapper, "function"); + assert.equal(typeof duplexer3.DuplexWrapper, "function"); }); it("should not force flowing-mode", function(done) { @@ -189,7 +170,7 @@ assert.equal(readable._readableState.flowing, null); - var duplexStream = duplexer2(writable, readable); + var duplexStream = duplexer3(writable, readable); duplexStream.end("aaa"); assert.equal(readable._readableState.flowing, null); diff -aburN -x .git node-duplexer2/.travis.yml node-duplexer3/.travis.yml --- node-duplexer2/.travis.yml 2019-01-08 23:06:17.285546692 +0100 +++ node-duplexer3/.travis.yml 2019-01-08 23:06:23.373438036 +0100 @@ -1,7 +1,5 @@ sudo: false language: node_js node_js: - - "0.10" - - "0.12" - "4" - "5"
-- Pkg-javascript-devel mailing list Pkg-javascript-devel@alioth-lists.debian.net https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-javascript-devel