From: Jérémy Lal Date: Sun, 26 Jan 2025 15:18:40 +0000 (+0100) Subject: node-undici (7.3.0+dfsg1+~cs24.12.11-1) unstable; urgency=medium X-Git-Tag: archive/raspbian/7.3.0+dfsg1+_cs24.12.11-1+rpi1^2~7 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=12afe603b5fe03e194c3a4f03d4f1ca36e238735;p=node-undici.git node-undici (7.3.0+dfsg1+~cs24.12.11-1) unstable; urgency=medium * New upstream version 7.3.0+dfsg1+~cs24.12.11 [dgit import unpatched node-undici 7.3.0+dfsg1+~cs24.12.11-1] --- 12afe603b5fe03e194c3a4f03d4f1ca36e238735 diff --cc binary-search/.gitignore index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..07e6e47 new file mode 100644 --- /dev/null +++ b/binary-search/.gitignore @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++/node_modules diff --cc binary-search/.travis.yml index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..795ac70 new file mode 100644 --- /dev/null +++ b/binary-search/.travis.yml @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,6 @@@@@@@@@ ++++++++language: node_js ++++++++node_js: ++++++++ - '6' ++++++++cache: ++++++++ directories: ++++++++ - node_modules diff --cc binary-search/README.md index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..e02805a new file mode 100644 --- /dev/null +++ b/binary-search/README.md @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,46 @@@@@@@@@ ++++++++binary-search ++++++++============= ++++++++ ++++++++This is a really tiny, stupid, simple binary search library for Node.JS. We ++++++++wrote it because existing solutions were bloated and incorrect. ++++++++ ++++++++This version is a straight port of the Java version mentioned by Joshua Bloch ++++++++in his article, [Nearly All Binary Searches and Merge Sorts are Broken](http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html). ++++++++ ++++++++Thanks to [Conrad Irwin](https://github.com/ConradIrwin) and [Michael ++++++++Marino](https://github.com/mgmarino) for, ironically, pointing out bugs. ++++++++ ++++++++Example ++++++++------- ++++++++ ++++++++```js ++++++++var bs = require("binary-search"); ++++++++ ++++++++bs([1, 2, 3, 4], 3, function(element, needle) { return element - needle; }); ++++++++// => 2 ++++++++ ++++++++bs([1, 2, 4, 5], 3, function(element, needle) { return element - needle; }); ++++++++// => -3 ++++++++``` ++++++++ ++++++++Be advised that passing in a comparator function is *required*. Since you're ++++++++probably using one for your sort function anyway, this isn't a big deal. ++++++++ ++++++++The comparator takes a 1st and 2nd argument of element and needle, respectively. ++++++++ ++++++++The comparator also takes a 3rd and 4th argument, the current index and array, ++++++++respectively. You shouldn't normally need the index or array to compare values, ++++++++but it's there if you do. ++++++++ ++++++++You may also, optionally, specify an input range as the final two parameters, ++++++++in case you want to limit the search to a particular range of inputs. However, ++++++++be advised that this is generally a bad idea (but sometimes bad ideas are ++++++++necessary). ++++++++ ++++++++License ++++++++------- ++++++++ ++++++++To the extent possible by law, The Dark Sky Company, LLC has [waived all ++++++++copyright and related or neighboring rights][cc0] to this library. ++++++++ ++++++++[cc0]: http://creativecommons.org/publicdomain/zero/1.0/ diff --cc binary-search/binary-search.d.ts index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..0395d93 new file mode 100644 --- /dev/null +++ b/binary-search/binary-search.d.ts @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,22 @@@@@@@@@ ++++++++//Typescript type definition for: ++++++++//https://github.com/darkskyapp/binary-search ++++++++declare module 'binary-search' { ++++++++ ++++++++function binarySearch( ++++++++ haystack: ArrayLike, ++++++++ needle: B, ++++++++ comparator: (a: A, b: B, index?: number, haystack?: A[]) => any, ++++++++ // Notes about comparator return value: ++++++++ // * when ab the comparator's returned value should be: ++++++++ // * positive number or a value such that `+value` is a positive number ++++++++ // * examples: `1` or the string `"1"` ++++++++ // * when a===b ++++++++ // * any value other than the return cases for ab ++++++++ // * examples: undefined, NaN, 'abc' ++++++++ low?: number, ++++++++ high?: number): number; //returns index of found result or number < 0 if not found ++++++++export = binarySearch; ++++++++} diff --cc binary-search/index.js index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..bc281ca new file mode 100644 --- /dev/null +++ b/binary-search/index.js @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,45 @@@@@@@@@ ++++++++module.exports = function(haystack, needle, comparator, low, high) { ++++++++ var mid, cmp; ++++++++ ++++++++ if(low === undefined) ++++++++ low = 0; ++++++++ ++++++++ else { ++++++++ low = low|0; ++++++++ if(low < 0 || low >= haystack.length) ++++++++ throw new RangeError("invalid lower bound"); ++++++++ } ++++++++ ++++++++ if(high === undefined) ++++++++ high = haystack.length - 1; ++++++++ ++++++++ else { ++++++++ high = high|0; ++++++++ if(high < low || high >= haystack.length) ++++++++ throw new RangeError("invalid upper bound"); ++++++++ } ++++++++ ++++++++ while(low <= high) { ++++++++ // The naive `low + high >>> 1` could fail for array lengths > 2**31 ++++++++ // because `>>>` converts its operands to int32. `low + (high - low >>> 1)` ++++++++ // works for array lengths <= 2**32-1 which is also Javascript's max array ++++++++ // length. ++++++++ mid = low + ((high - low) >>> 1); ++++++++ cmp = +comparator(haystack[mid], needle, mid, haystack); ++++++++ ++++++++ // Too low. ++++++++ if(cmp < 0.0) ++++++++ low = mid + 1; ++++++++ ++++++++ // Too high. ++++++++ else if(cmp > 0.0) ++++++++ high = mid - 1; ++++++++ ++++++++ // Key found. ++++++++ else ++++++++ return mid; ++++++++ } ++++++++ ++++++++ // Key not found. ++++++++ return ~low; ++++++++} diff --cc binary-search/package.json index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..9a91ed5 new file mode 100644 --- /dev/null +++ b/binary-search/package.json @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,28 @@@@@@@@@ ++++++++{ ++++++++ "name": "binary-search", ++++++++ "version": "1.3.6", ++++++++ "description": "tiny binary search function with comparators", ++++++++ "license": "CC0-1.0", ++++++++ "typings": "./binary-search.d.ts", ++++++++ "author": { ++++++++ "name": "The Dark Sky Company, LLC", ++++++++ "email": "support@darkskyapp.com" ++++++++ }, ++++++++ "contributors": [ ++++++++ { ++++++++ "name": "Darcy Parker", ++++++++ "web": "https://github.com/darcyparker" ++++++++ } ++++++++ ], ++++++++ "repository": { ++++++++ "type": "git", ++++++++ "url": "git://github.com/darkskyapp/binary-search.git" ++++++++ }, ++++++++ "devDependencies": { ++++++++ "chai": "^4.2.0", ++++++++ "mocha": "^5.2.0" ++++++++ }, ++++++++ "scripts": { ++++++++ "test": "mocha" ++++++++ } ++++++++} diff --cc binary-search/test.js index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..95a497f new file mode 100644 --- /dev/null +++ b/binary-search/test.js @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,46 @@@@@@@@@ ++++++++var expect = require("chai").expect; ++++++++ ++++++++describe("binarysearch", function() { ++++++++ var bs = require("./"), ++++++++ arr = [1, 2, 2, 2, 3, 5, 9], ++++++++ cmp = function(a, b) { return a - b; }; ++++++++ ++++++++ it("should bail if not passed an array", function() { ++++++++ expect(function() { bs(undefined, 3, cmp); }).to.throw(TypeError); ++++++++ }); ++++++++ ++++++++ it("should bail if not passed a comparator", function() { ++++++++ expect(function() { bs(arr, 3, undefined); }).to.throw(TypeError); ++++++++ }); ++++++++ ++++++++ it("should return the index of an item in a sorted array", function() { ++++++++ expect(bs(arr, 3, cmp)).to.equal(4); ++++++++ }); ++++++++ ++++++++ it("should return the index of where the item would go plus one, negated, if the item is not found", function() { ++++++++ expect(bs(arr, 4, cmp)).to.equal(-6); ++++++++ }); ++++++++ ++++++++ it("should return any valid index if an item exists multiple times in the array", function() { ++++++++ expect(bs(arr, 2, cmp)).to.equal(3); ++++++++ }); ++++++++ ++++++++ it("should work even on empty arrays", function() { ++++++++ expect(bs([], 42, cmp)).to.equal(-1); ++++++++ }); ++++++++ ++++++++ it("should work even on arrays of doubles", function() { ++++++++ expect(bs([0.0, 0.1, 0.2, 0.3, 0.4], 0.25, cmp)).to.equal(-4); ++++++++ }); ++++++++ ++++++++ it("should pass the index and array parameters to the comparator", function() { ++++++++ var indexes = [], ++++++++ indexCmp = function(a, b, i, array) { ++++++++ expect(array).to.equal(arr); ++++++++ indexes.push(i); ++++++++ return cmp(a, b); ++++++++ }; ++++++++ bs(arr, 3, indexCmp); ++++++++ expect(indexes).to.deep.equal([3, 5, 4]) ++++++++ }); ++++++++}); diff --cc debian/changelog index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..91aa447 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,296 @@@@@@@@@ ++++++++node-undici (7.3.0+dfsg1+~cs24.12.11-1) unstable; urgency=medium ++++++++ ++++++++ * New upstream version 7.3.0+dfsg1+~cs24.12.11 ++++++++ ++++++++ -- Jérémy Lal Sun, 26 Jan 2025 16:18:40 +0100 ++++++++ ++++++++node-undici (7.2.3+dfsg1+~cs24.12.11-2) experimental; urgency=medium ++++++++ ++++++++ * Breaks/Replaces libllhttp9.1. Closes: #1093828. ++++++++ ++++++++ -- Jérémy Lal Sat, 25 Jan 2025 12:59:34 +0100 ++++++++ ++++++++node-undici (7.2.3+dfsg1+~cs24.12.11-1) experimental; urgency=medium ++++++++ ++++++++ * New upstream version 7.2.3+dfsg1+~cs24.12.11 ++++++++ * CVE-2025-22150: Uses Insufficiently Random Values ++++++++ * Standards-Version 4.7.0 ++++++++ * Bump libllhttp soname to 9.2 ++++++++ * copyright: update paths ++++++++ * rules: remove extra LICENSE ++++++++ * lintian-overrides: fix paths ++++++++ * patches: remove unapplied ++++++++ * rules: clean ++++++++ ++++++++ -- Jérémy Lal Tue, 21 Jan 2025 19:53:51 +0100 ++++++++ ++++++++node-undici (7.1.0+dfsg1+~cs24.12.10-1) experimental; urgency=medium ++++++++ ++++++++ * New upstream version 7.1.0+dfsg1+~cs24.12.10 ++++++++ * watch: use llhttp tag ++++++++ * node-undici.docs: fix path ++++++++ * rules: set WASM_* env vars for Makefile ++++++++ * copyright: add cache-tests and dfsg-exclude parts of it ++++++++ * Add missing test module @matteo.collina/tspl ++++++++ * B-D libclang-rt-dev-wasm32 ++++++++ * Update fix-llhttp-version.patch ++++++++ * Build wasm with simd flag too ++++++++ * pkgjs tests: ++++++++ + use node --test, reenable many tests ++++++++ + bundle @matteo.collina/tspl ++++++++ + update selfsigned module, default to 2048 key ++++++++ + control: proxyquire becomes proxy-agent ++++++++ ++++++++ -- Jérémy Lal Tue, 10 Dec 2024 16:04:19 +0100 ++++++++ ++++++++node-undici (5.28.4+dfsg1+~cs23.12.11-2) unstable; urgency=medium ++++++++ ++++++++ * Team upload ++++++++ * Fix fix-wasm-build.patch ++++++++ * Clean obj-* directory ++++++++ * Build with upstream script. Closes: #1068842 ++++++++ * Drop fix_perms llhttp.wasm, not installed ++++++++ ++++++++ -- Jérémy Lal Fri, 12 Apr 2024 12:05:59 +0200 ++++++++ ++++++++node-undici (5.28.4+dfsg1+~cs23.12.11-1) unstable; urgency=medium ++++++++ ++++++++ * New upstream version (Closes: CVE-2024-30261) ++++++++ * Refresh patches ++++++++ ++++++++ -- Yadd Fri, 05 Apr 2024 15:26:06 +0400 ++++++++ ++++++++node-undici (5.28.2+dfsg1+~cs23.11.12.3-6) unstable; urgency=medium ++++++++ ++++++++ * Update homepages ++++++++ * Drop test/connect-timeout.js from network test (unstable test in debci env) ++++++++ * Clean build links ++++++++ ++++++++ -- Yadd Mon, 22 Jan 2024 14:45:20 +0400 ++++++++ ++++++++node-undici (5.28.2+dfsg1+~cs23.11.12.3-5) unstable; urgency=medium ++++++++ ++++++++ * Drop dependency to node-busboy ++++++++ ++++++++ -- Yadd Sun, 21 Jan 2024 06:57:54 +0400 ++++++++ ++++++++node-undici (5.28.2+dfsg1+~cs23.11.12.3-4) unstable; urgency=medium ++++++++ ++++++++ * Build libllhttp (Closes: #977716) ++++++++ + add patch to export SONAME ++++++++ + add libllhttp9 and libllthhp-dev ++++++++ + update lintian overrides ++++++++ + add build dependency to cmake ++++++++ * Fix permissions ++++++++ ++++++++ -- Yadd Sat, 20 Jan 2024 08:50:46 +0400 ++++++++ ++++++++node-undici (5.28.2+dfsg1+~cs23.11.12.3-3) unstable; urgency=medium ++++++++ ++++++++ * Source-only upload ++++++++ ++++++++ -- Yadd Sun, 03 Dec 2023 07:07:30 +0400 ++++++++ ++++++++node-undici (5.28.2+dfsg1+~cs23.11.12.3-2) unstable; urgency=medium ++++++++ ++++++++ * Build and publish undici-types, needed by new @types/node ++++++++ * Binary upload ++++++++ ++++++++ -- Yadd Sat, 02 Dec 2023 22:34:40 +0400 ++++++++ ++++++++node-undici (5.28.2+dfsg1+~cs23.11.12.3-1) unstable; urgency=medium ++++++++ ++++++++ * New upstream version 5.28.2+dfsg1+~cs23.11.12.3 ++++++++ * Refresh patches ++++++++ ++++++++ -- Yadd Sat, 02 Dec 2023 22:01:17 +0400 ++++++++ ++++++++node-undici (5.28.0+dfsg1+~cs23.11.12.3-2) unstable; urgency=medium ++++++++ ++++++++ * Update lintian overrides ++++++++ * Add patch to workaround nodejs bug ++++++++ (fixes nodejs build, thanks to Jérémy Lal) ++++++++ ++++++++ -- Yadd Mon, 27 Nov 2023 15:45:33 +0400 ++++++++ ++++++++node-undici (5.28.0+dfsg1+~cs23.11.12.3-1) unstable; urgency=medium ++++++++ ++++++++ * New upstream version 5.28.0+dfsg1+~cs23.11.12.3 ++++++++ * Drop workaround-node-bug.patch ++++++++ * Update build ++++++++ * Drop some failing test ++++++++ ++++++++ -- Yadd Sun, 26 Nov 2023 08:07:47 +0400 ++++++++ ++++++++node-undici (5.26.3+dfsg1+~cs23.10.12-3) unstable; urgency=medium ++++++++ ++++++++ * Add fix for node-proxy >= 2 ++++++++ ++++++++ -- Yadd Thu, 23 Nov 2023 11:38:43 +0400 ++++++++ ++++++++node-undici (5.26.3+dfsg1+~cs23.10.12-2) unstable; urgency=medium ++++++++ ++++++++ * Add wokaround to nodejs bug (unable to require node:*) ++++++++ ++++++++ -- Yadd Sat, 14 Oct 2023 14:49:40 +0400 ++++++++ ++++++++node-undici (5.26.3+dfsg1+~cs23.10.12-1) unstable; urgency=medium ++++++++ ++++++++ * Embed @fastify/busboy ++++++++ * New upstream version (Closes: #1053879, CVE-2023-45143) ++++++++ * Unfuzz patches ++++++++ * Fix for clang 16 (Closes: #1052723) ++++++++ * Update copyright ++++++++ * Update lintian overrides ++++++++ * Update test ++++++++ ++++++++ -- Yadd Fri, 13 Oct 2023 22:03:31 +0400 ++++++++ ++++++++node-undici (5.22.1+dfsg1+~cs20.10.10.2-1) unstable; urgency=medium ++++++++ ++++++++ [ Michael R. Crusoe ] ++++++++ * Drop unused libsimde-dev from build dependencies ++++++++ ++++++++ [ Yadd ] ++++++++ * Update wasm exclusion ++++++++ * New upstream version 5.22.1+dfsg1+~cs20.10.10.2 ++++++++ * Update test ++++++++ * Refresh patches ++++++++ * Update lintian overrides ++++++++ ++++++++ -- Yadd Sun, 09 Jul 2023 15:08:57 +0400 ++++++++ ++++++++node-undici (5.19.1+dfsg1+~cs20.10.9.5-2) unstable; urgency=medium ++++++++ ++++++++ * Disable network test on armel (Closes: #1032559) ++++++++ ++++++++ -- Yadd Wed, 22 Mar 2023 10:50:17 +0400 ++++++++ ++++++++node-undici (5.19.1+dfsg1+~cs20.10.9.5-1) unstable; urgency=medium ++++++++ ++++++++ * New upstream version (Closes: #1031418, CVE-2023-23936, CVE-2023-24807) ++++++++ * Refresh patches ++++++++ ++++++++ -- Yadd Fri, 17 Feb 2023 07:23:05 +0400 ++++++++ ++++++++node-undici (5.15.0+dfsg1+~cs20.10.9.3-1) unstable; urgency=medium ++++++++ ++++++++ * Update standards version to 4.6.2, no changes needed. ++++++++ * New upstream version 5.15.0+dfsg1+~cs20.10.9.3 ++++++++ ++++++++ -- Yadd Sun, 15 Jan 2023 10:04:29 +0400 ++++++++ ++++++++node-undici (5.14.0+dfsg1+~cs20.10.9-1) unstable; urgency=medium ++++++++ ++++++++ * New upstream version 5.14.0+dfsg1+~cs20.10.9 ++++++++ ++++++++ -- Yadd Sun, 11 Dec 2022 15:50:58 +0100 ++++++++ ++++++++node-undici (5.13.0+dfsg1+~cs20.10.9-1) unstable; urgency=medium ++++++++ ++++++++ * Update lintian override info format in d/source/lintian-overrides ++++++++ on line 2-3. ++++++++ * New upstream version 5.13.0+dfsg1+~cs20.10.9 ++++++++ ++++++++ -- Yadd Sat, 03 Dec 2022 18:14:54 +0100 ++++++++ ++++++++node-undici (5.12.0+dfsg1+~cs20.10.9-1) unstable; urgency=medium ++++++++ ++++++++ * New upstream version 5.12.0+dfsg1+~cs20.10.9 ++++++++ * Unfuzz patches ++++++++ ++++++++ -- Yadd Fri, 28 Oct 2022 22:39:53 +0200 ++++++++ ++++++++node-undici (5.11.0+dfsg1+~cs20.10.9-1) unstable; urgency=medium ++++++++ ++++++++ * New upstream version 5.11.0+dfsg1+~cs20.10.9 ++++++++ * Update llhttp build ++++++++ * Unfuzz patches ++++++++ * Add dependency to node-busboy ++++++++ ++++++++ -- Yadd Tue, 18 Oct 2022 06:25:29 +0200 ++++++++ ++++++++node-undici (5.10.0+dfsg1+~cs18.9.18.10-2) unstable; urgency=medium ++++++++ ++++++++ * Launch tap test without timeout (may fix armel autopkgtest) ++++++++ ++++++++ -- Yadd Wed, 14 Sep 2022 10:25:18 +0200 ++++++++ ++++++++node-undici (5.10.0+dfsg1+~cs18.9.18.10-1) unstable; urgency=medium ++++++++ ++++++++ * Enable __proto__ in test, needed here for pkg-js-autopkgtest 0.15 ++++++++ * New upstream version 5.10.0+dfsg1+~cs18.9.18.10 ++++++++ ++++++++ -- Yadd Mon, 12 Sep 2022 12:01:40 +0200 ++++++++ ++++++++node-undici (5.10.0+dfsg1+~cs18.9.18.7-1) unstable; urgency=medium ++++++++ ++++++++ * New upstream version 5.10.0+dfsg1+~cs18.9.18.7 ++++++++ ++++++++ -- Yadd Tue, 30 Aug 2022 06:32:25 +0200 ++++++++ ++++++++node-undici (5.9.1+dfsg1+~cs18.9.18.1-1) unstable; urgency=medium ++++++++ ++++++++ * New upstream version 5.9.1+dfsg1+~cs18.9.18.1 ++++++++ ++++++++ -- Yadd Mon, 22 Aug 2022 09:34:29 +0200 ++++++++ ++++++++node-undici (5.8.2+dfsg1+~cs18.9.18.1-1) unstable; urgency=medium ++++++++ ++++++++ * New upstream version 5.8.2+dfsg1+~cs18.9.18.1 ++++++++ ++++++++ -- Yadd Sat, 13 Aug 2022 07:06:18 +0200 ++++++++ ++++++++node-undici (5.8.1+dfsg1+~cs18.9.18.1-1) unstable; urgency=medium ++++++++ ++++++++ * New upstream version 5.8.1+dfsg1+~cs18.9.18.1 ++++++++ * Refresh patches ++++++++ * Update test modules ++++++++ ++++++++ -- Yadd Mon, 08 Aug 2022 21:01:44 +0200 ++++++++ ++++++++node-undici (5.8.0+dfsg1+~cs18.9.16-2) unstable; urgency=medium ++++++++ ++++++++ * Update typescript patch (Closes: #1016322) ++++++++ ++++++++ -- Yadd Sat, 30 Jul 2022 15:17:27 +0200 ++++++++ ++++++++node-undici (5.8.0+dfsg1+~cs18.9.16-1) unstable; urgency=medium ++++++++ ++++++++ * Apply multi-arch hints (foreign) ++++++++ * New upstream version 5.8.0+dfsg1+~cs18.9.16 ++++++++ ++++++++ -- Yadd Tue, 19 Jul 2022 15:55:13 +0200 ++++++++ ++++++++node-undici (5.7.0+dfsg1+~cs18.9.16-3) unstable; urgency=medium ++++++++ ++++++++ * Fix bad control field ++++++++ ++++++++ -- Yadd Thu, 14 Jul 2022 21:59:46 +0200 ++++++++ ++++++++node-undici (5.7.0+dfsg1+~cs18.9.16-2) unstable; urgency=medium ++++++++ ++++++++ * node-llhttp: add dependencies to node-debug and node-semver ++++++++ * Use custom autopkgtest since lld is not available on s390x arch ++++++++ ++++++++ -- Yadd Thu, 14 Jul 2022 10:46:45 +0200 ++++++++ ++++++++node-undici (5.7.0+dfsg1+~cs18.9.16-1) unstable; urgency=medium ++++++++ ++++++++ * New upstream version 5.7.0+dfsg1+~cs18.9.16 ++++++++ ++++++++ -- Yadd Thu, 14 Jul 2022 08:30:12 +0200 ++++++++ ++++++++node-undici (5.6.1+dfsg1+~cs18.9.16-1) unstable; urgency=medium ++++++++ ++++++++ * New undici version (Closes: CVE-2022-32210) ++++++++ * Add patch to drop SSL tests with too short key ++++++++ ++++++++ -- Yadd Sun, 10 Jul 2022 18:29:46 +0200 ++++++++ ++++++++node-undici (5.2.0+dfsg1+~cs18.9.15.10-1) unstable; urgency=medium ++++++++ ++++++++ [ Yadd, Jérémy Lal ] ++++++++ * Initial release (Closes: #1010470) ++++++++ ++++++++ -- Yadd Sat, 11 Jun 2022 18:54:32 +0200 diff --cc debian/clean index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..4deccb4 new file mode 100644 --- /dev/null +++ b/debian/clean @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,15 @@@@@@@@@ ++++++++deps/ ++++++++lib/llhttp/llhttp.wasm ++++++++lib/llhttp/llhttp-wasm* ++++++++llhttp/build/ ++++++++llhttp/lib/ ++++++++llhttp/release/ ++++++++llhttp/src/Makefile ++++++++llhttp/src/llhttp.Makefile ++++++++llhttp/src/llhttp.target.mk ++++++++llparse/lib/ ++++++++llparse-builder/lib/ ++++++++llparse-frontend/lib/ ++++++++undici-fetch.js ++++++++types/LICENSE ++++++++types/package.json diff --cc debian/control index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..2104942 new file mode 100644 --- /dev/null +++ b/debian/control @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,63 @@@@@@@@@ ++++++++Source: node-undici ++++++++Section: javascript ++++++++Priority: optional ++++++++Maintainer: Debian Javascript Maintainers ++++++++Uploaders: Yadd ++++++++Build-Depends: debhelper-compat (= 13) ++++++++ , dh-sequence-nodejs (>= 0.14.22~) ++++++++ , binaryen ++++++++ , clang (>= 1:16) ++++++++ , cmake ++++++++ , libclang-rt-dev-wasm32 ++++++++ , lld (>= 1:16) ++++++++ , node-debug ++++++++ , node-esbuild ++++++++ , node-semver ++++++++ , node-typescript ++++++++ , ts-node ++++++++ , wasi-libc ++++++++Standards-Version: 4.7.0 ++++++++Homepage: https://undici.nodejs.org ++++++++Vcs-Git: https://salsa.debian.org/js-team/node-undici.git ++++++++Vcs-Browser: https://salsa.debian.org/js-team/node-undici ++++++++Rules-Requires-Root: no ++++++++ ++++++++Package: node-undici ++++++++Architecture: all ++++++++Depends: ${misc:Depends} ++++++++Provides: ${nodeUndici:Provides} ++++++++Multi-Arch: foreign ++++++++Description: Node.js HTTP/1.1 client ++++++++ undici provides the Node.js core HTTP client, using WebAssembly to achieve ++++++++ performance and pluggability. It brings features like: ++++++++ - redirect support ++++++++ - native mocking layer using MockAgent ++++++++ - Client, Pool, Agent are unified by a Dispatcher API ++++++++ ++++++++Package: node-llhttp ++++++++Architecture: all ++++++++Depends: ${misc:Depends} ++++++++ , node-debug ++++++++ , node-semver ++++++++Provides: ${nodeLlhttp:Provides} ++++++++Multi-Arch: foreign ++++++++Description: HTTP client sources for Node.js ++++++++ llhttp provides sources needed to build Node.js. May not be used directly. ++++++++ ++++++++Package: libllhttp-dev ++++++++Section: libdevel ++++++++Architecture: any ++++++++Depends: ${misc:Depends} ++++++++ , libllhttp9.2 (= ${libllhttp:Version}) ++++++++Description: HTTP messages parser library dev files ++++++++ libllhttp development files ++++++++ ++++++++Package: libllhttp9.2 ++++++++Section: libs ++++++++Architecture: any ++++++++Depends: ${misc:Depends} ++++++++ , ${shlibs:Depends} ++++++++Breaks: libllhttp9.1 (<< 6) ++++++++Replaces: libllhttp9.1 ++++++++Description: HTTP messages parser library ++++++++ libllhttp provides the Node.js library used to parse HTTP messages. diff --cc debian/copyright index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..e74e6f3 new file mode 100644 --- /dev/null +++ b/debian/copyright @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,374 @@@@@@@@@ ++++++++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++++++++Upstream-Name: undici ++++++++Upstream-Contact: https://github.com/nodejs/undici/issues ++++++++Source: https://undici.nodejs.org ++++++++ https://github.com/nodejs/llhttp/tags ++++++++ https://github.com/nodejs/llparse/tags ++++++++ https://github.com/indutny/llparse-frontend/tags ++++++++ https://github.com/indutny/llparse-builder/tags ++++++++ https://github.com/darkskyapp/binary-search/tags ++++++++ https://github.com/fastify/busboy/tags ++++++++Files-Excluded: deps ++++++++ lib/llhttp/*.map ++++++++ lib/llhttp/*.wasm ++++++++ lib/llhttp/*wasm.js ++++++++ test/fixtures/cache-tests/asset/* ++++++++ test/fixtures/cache-tests/spec/* ++++++++ ++++++++Files: * ++++++++Copyright: Matteo Collina and Undici contributors ++++++++License: Expat ++++++++ ++++++++Files: binary-search/* ++++++++Copyright: Dark Sky Company ++++++++ LLC ++++++++License: CC0-1.0 ++++++++ ++++++++Files: debian/* ++++++++Copyright: 2022-2024 Yadd ++++++++License: Expat ++++++++ ++++++++Files: debian/tests/test_modules/@matteo.collina/tspl/* ++++++++Copyright: 2023 Matteo Collina ++++++++License: Expat ++++++++ ++++++++Files: debian/tests/test_modules/abort-controller/* ++++++++ debian/tests/test_modules/event-target-shim/* ++++++++Copyright: 2015-2017 Toru Nagashima ++++++++License: Expat ++++++++ ++++++++Files: debian/tests/test_modules/atomic-sleep/* ++++++++Copyright: 2020 David Mark Clements ++++++++License: Expat ++++++++ ++++++++Files: debian/tests/test_modules/chai-iterator/* ++++++++Copyright: 2016-2017 Akim McMath ++++++++ 2018 Harry Sarson ++++++++License: Expat ++++++++ ++++++++Files: debian/tests/test_modules/chai-string/* ++++++++Copyright: 2013 Oleg Nechiporenko ++++++++License: Expat ++++++++ ++++++++Files: debian/tests/test_modules/delay/* ++++++++Copyright: Sindre Sorhus ++++++++License: Expat ++++++++ ++++++++Files: debian/tests/test_modules/dicer/* ++++++++ fastify-busboy/* ++++++++Copyright: Brian White ++++++++License: Expat ++++++++ ++++++++Files: debian/tests/test_modules/https-pem/* ++++++++Copyright: 2016-2017 Thomas Watson Steen ++++++++License: Expat ++++++++ ++++++++Files: debian/tests/test_modules/node-forge/* ++++++++Copyright: 2010-2019 Digital Bazaar, Inc. ++++++++License: BSD-3-Clause-DB or GPL-2 ++++++++ ++++++++Files: debian/tests/test_modules/node-forge/lib/baseN.js ++++++++Copyright: 2016 base-x contributors ++++++++License: Expat ++++++++ ++++++++Files: debian/tests/test_modules/node-forge/lib/des.js ++++++++Copyright: 2012 Stefan Siegl ++++++++ 2012-2014 Digital Bazaar, Inc. ++++++++ 2001 Paul Tero ++++++++ 2001 Michael Hayworth ++++++++License: BSD-3-Clause-DB or GPL-2 ++++++++Comment: Optimised for performance with large blocks by ++++++++ Michael Hayworth under the following license: ++++++++ THIS SOFTWARE IS PROVIDED "AS IS" AND ++++++++ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++++++++ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++++++++ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++++++++ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++++++++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++++++++ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++++++++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++++++++ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++++++++ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++++++++ SUCH DAMAGE. ++++++++ ++++++++ ++++++++Files: debian/tests/test_modules/node-forge/lib/ed25519.js ++++++++Copyright: 2017-2019 Digital Bazaar, Inc. ++++++++License: BSD-3-Clause-DB or GPL-2 ++++++++Comment: This implementation is based on the most excellent TweetNaCl which is ++++++++ in the public domain. Many thanks to its contributors ++++++++ https://github.com/dchest/tweetnacl-js ++++++++ ++++++++Files: debian/tests/test_modules/node-forge/lib/jsbn.js ++++++++Copyright: 2005 Tom Wu ++++++++License: Expat-Jsbn ++++++++ ++++++++Files: debian/tests/test_modules/node-forge/lib/kem.js ++++++++Copyright: 2014 Lautaro Cozzani ++++++++ 2014 Digital Bazaar, Inc. ++++++++License: BSD-3-Clause-DB or GPL-2 ++++++++ ++++++++Files: debian/tests/test_modules/node-forge/lib/mgf.js ++++++++ debian/tests/test_modules/node-forge/lib/pss.js ++++++++ debian/tests/test_modules/node-forge/lib/rc2.js ++++++++Copyright: 2012 Stefan Siegl ++++++++License: BSD-3-Clause-DB or GPL-2 ++++++++ ++++++++Files: debian/tests/test_modules/node-forge/lib/mgf1.js ++++++++ debian/tests/test_modules/node-forge/lib/pbe.js ++++++++ debian/tests/test_modules/node-forge/lib/pkcs12.js ++++++++ debian/tests/test_modules/node-forge/lib/pkcs7.js ++++++++ debian/tests/test_modules/node-forge/lib/pkcs7asn1.js ++++++++Copyright: 2012 Stefan Siegl ++++++++ 2012-2015 Digital Bazaar, Inc. ++++++++License: BSD-3-Clause-DB or GPL-2 ++++++++ ++++++++Files: debian/tests/test_modules/node-forge/lib/pkcs1.js ++++++++Copyright: 2012 Kenji Urushima ++++++++ 2013-2014 Digital Bazaar, Inc. ++++++++License: BSD-3-Clause-DB or GPL-2 ++++++++Comment: Modified but based on the following MIT and BSD licensed code: ++++++++ https://github.com/kjur/jsjws/blob/master/rsa.js ++++++++ Copyright (c) 2012 Kenji Urushima ++++++++ ++++++++Files: debian/tests/test_modules/selfsigned/* ++++++++Copyright: 2013 José F. Romaniello ++++++++License: Expat ++++++++ ++++++++Files: fastify-busboy/bench/dicer/parted-multipart.js ++++++++Copyright: 2011 Christopher Jeffrey ++++++++License: Expat ++++++++ ++++++++Files: lib/web/fetch/* ++++++++Copyright: 2020 Ethan Arrowood ++++++++License: Expat ++++++++ ++++++++Files: lib/web/websocket/receiver.js ++++++++Copyright: 2011 Einar Otto Stangvik ++++++++ 2013 Arnout Kazemier and contributors ++++++++ 2016 Luigi Pinca and contributors ++++++++License: Expat ++++++++ ++++++++Files: llhttp/* ++++++++ llparse/* ++++++++ llparse-builder/* ++++++++ llparse-frontend/* ++++++++Copyright: 2018-2020 Fedor Indutny ++++++++License: Expat ++++++++ ++++++++Files: test/cookie/cookies.js ++++++++Copyright: 2018-2022 the Deno authors ++++++++License: Expat ++++++++ ++++++++Files: test/fixtures/cache-tests/* ++++++++Copyright: 2018, Mark Nottingham ++++++++License: BSD-3-Clause ++++++++ ++++++++Files: test/node-fetch/* ++++++++Copyright: 2016-2020 Node Fetch Team ++++++++License: Expat ++++++++ ++++++++Files: test/fixtures/wpt/* ++++++++Copyright: web-platform-tests contributors ++++++++License: BSD-3-Clause ++++++++ ++++++++Files: test/fixtures/wpt/resources/chromium/contacts_manager_mock.js ++++++++Copyright: 2018 The Chromium Authors ++++++++License: BSD-3-Clause ++++++++ ++++++++License: BSD-3-Clause ++++++++ Redistribution and use in source and binary forms, with or without ++++++++ modification, are permitted provided that the following conditions are met: ++++++++ . ++++++++ 1. Redistributions of source code must retain the above copyright notice, this ++++++++ list of conditions and the following disclaimer. ++++++++ 2. Redistributions in binary form must reproduce the above copyright notice, ++++++++ this list of conditions and the following disclaimer in the documentation ++++++++ and/or other materials provided with the distribution. ++++++++ 3. Neither the name of the copyright holder nor the names of its contributors ++++++++ may be used to endorse or promote products derived from this software ++++++++ without specific prior written permission. ++++++++ . ++++++++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ++++++++ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++++++++ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ++++++++ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE ++++++++ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++++++++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ++++++++ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++++++++ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ++++++++ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++++++++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++++++++ ++++++++License: BSD-3-Clause-DB ++++++++ Redistribution and use in source and binary forms, with or without ++++++++ modification, are permitted provided that the following conditions are met: ++++++++ * Redistributions of source code must retain the above copyright ++++++++ notice, this list of conditions and the following disclaimer. ++++++++ * Redistributions in binary form must reproduce the above copyright ++++++++ notice, this list of conditions and the following disclaimer in the ++++++++ documentation and/or other materials provided with the distribution. ++++++++ * Neither the name of Digital Bazaar, Inc. nor the ++++++++ names of its contributors may be used to endorse or promote products ++++++++ derived from this software without specific prior written permission. ++++++++ . ++++++++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ++++++++ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED ++++++++ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ++++++++ DISCLAIMED. IN NO EVENT SHALL DIGITAL BAZAAR BE LIABLE FOR ANY ++++++++ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ++++++++ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ++++++++ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ++++++++ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++++++++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ++++++++ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++++++++ ++++++++License: CC0-1.0 ++++++++ Any copyright is dedicated to the Public Domain. ++++++++ . ++++++++ 1. Copyright and Related Rights. ++++++++ . ++++++++ A Work made available under CC0 may be protected by copyright and related or ++++++++ neighboring rights ("Copyright and Related Rights"). Copyright and Related ++++++++ Rights include, but are not limited to, the following: ++++++++ . ++++++++ i. the right to reproduce, adapt, distribute, perform, display, communicate, ++++++++ and translate a Work; ++++++++ . ++++++++ ii. moral rights retained by the original author(s) and/or performer(s); ++++++++ . ++++++++ iii. publicity and privacy rights pertaining to a person's image or likeness ++++++++ depicted in a Work; ++++++++ . ++++++++ iv. rights protecting against unfair competition in regards to a Work, subject ++++++++ to the limitations in paragraph 4(a), below; ++++++++ . ++++++++ v. rights protecting the extraction, dissemination, use and reuse of data in ++++++++ a Work; ++++++++ . ++++++++ vi. database rights (such as those arising under Directive 96/9/EC of the ++++++++ European Parliament and of the Council of 11 March 1996 on the legal ++++++++ protection of databases, and under any national implementation thereof, ++++++++ including any amended or successor version of such directive); and ++++++++ . ++++++++ vii. other similar, equivalent or corresponding rights throughout the world ++++++++ based on applicable law or treaty, and any national implementations ++++++++ thereof. ++++++++ . ++++++++ 2. Waiver. ++++++++ . ++++++++ To the greatest extent permitted by, but not in contravention of, applicable ++++++++ law, Affirmer hereby overtly, fully, permanently, irrevocably and ++++++++ unconditionally waives, abandons, and surrenders all of Affirmer's Copyright ++++++++ and Related Rights and associated claims and causes of action, whether now ++++++++ known or unknown (including existing as well as future claims and causes of ++++++++ action), in the Work (i) in all territories worldwide, (ii) for the maximum ++++++++ duration provided by applicable law or treaty (including future time ++++++++ extensions), (iii) in any current or future medium and for any number of ++++++++ copies, and (iv) for any purpose whatsoever, including without limitation ++++++++ commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes ++++++++ the Waiver for the benefit of each member of the public at large and to the ++++++++ detriment of Affirmer's heirs and successors, fully intending that such Waiver ++++++++ shall not be subject to revocation, rescission, cancellation, termination, or ++++++++ any other legal or equitable action to disrupt the quiet enjoyment of the Work ++++++++ by the public as contemplated by Affirmer's express Statement of Purpose. ++++++++ . ++++++++ 3. Public License Fallback. ++++++++ . ++++++++ Should any part of the Waiver for any reason be judged legally invalid or ++++++++ ineffective under applicable law, then the Waiver shall be preserved to the ++++++++ maximum extent permitted taking into account Affirmer's express Statement of ++++++++ Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby ++++++++ grants to each affected person a royalty-free, non transferable, non ++++++++ sublicensable, non exclusive, irrevocable and unconditional license to exercise ++++++++ Affirmer's Copyright and Related Rights in the Work (i) in all territories ++++++++ worldwide, (ii) for the maximum duration provided by applicable law or treaty ++++++++ (including future time extensions), (iii) in any current or future medium and ++++++++ for any number of copies, and (iv) for any purpose whatsoever, including ++++++++ without limitation commercial, advertising or promotional purposes (the ++++++++ "License"). The License shall be deemed effective as of the date CC0 was ++++++++ applied by Affirmer to the Work. Should any part of the License for any reason ++++++++ be judged legally invalid or ineffective under applicable law, such partial ++++++++ invalidity or ineffectiveness shall not invalidate the remainder of the ++++++++ License, and in such case Affirmer hereby affirms that he or she will not ++++++++ (i) exercise any of his or her remaining Copyright and Related Rights in the ++++++++ Work or (ii) assert any associated claims and causes of action with respect to ++++++++ the Work, in either case contrary to Affirmer's express Statement of Purpose. ++++++++ . ++++++++ 4. Limitations and Disclaimers. ++++++++ . ++++++++ a. No trademark or patent rights held by Affirmer are waived, abandoned, ++++++++ surrendered, licensed or otherwise affected by this document. ++++++++ . ++++++++ b. Affirmer offers the Work as-is and makes no representations or warranties of ++++++++ any kind concerning the Work, express, implied, statutory or otherwise, ++++++++ including without limitation warranties of title, merchantability, fitness ++++++++ for a particular purpose, non infringement, or the absence of latent or ++++++++ other defects, accuracy, or the present or absence of errors, whether or not ++++++++ discoverable, all to the greatest extent permissible under applicable law. ++++++++ . ++++++++ c. Affirmer disclaims responsibility for clearing rights of other persons that ++++++++ may apply to the Work or any use thereof, including without limitation any ++++++++ person's Copyright and Related Rights in the Work. Further, Affirmer ++++++++ disclaims responsibility for obtaining any necessary consents, permissions ++++++++ or other rights required for any use of the Work. ++++++++ . ++++++++ d. Affirmer understands and acknowledges that Creative Commons is not a party ++++++++ to this document and has no duty or obligation with respect to this CC0 or ++++++++ use of the Work. ++++++++ ++++++++License: Expat ++++++++ Permission is hereby granted, free of charge, to any person ++++++++ obtaining a copy of this software and associated documentation files ++++++++ (the "Software"), to deal in the Software without restriction, ++++++++ including without limitation the rights to use, copy, modify, merge, ++++++++ publish, distribute, sublicense, and/or sell copies of the Software, ++++++++ and to permit persons to whom the Software is furnished to do so, ++++++++ subject to the following conditions: ++++++++ . ++++++++ The above copyright notice and this permission notice shall be ++++++++ included in all copies or substantial portions of the Software. ++++++++ . ++++++++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++++++++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++++++++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++++++++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ++++++++ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++++++++ 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. ++++++++ ++++++++License: Expat-Jsbn ++++++++ Permission is hereby granted, free of charge, to any person obtaining ++++++++ a copy of this software and associated documentation files (the ++++++++ "Software"), to deal in the Software without restriction, including ++++++++ without limitation the rights to use, copy, modify, merge, publish, ++++++++ distribute, sublicense, and/or sell copies of the Software, and to ++++++++ permit persons to whom the Software is furnished to do so, subject to ++++++++ the following conditions: ++++++++ . ++++++++ The above copyright notice and this permission notice shall be ++++++++ included in all copies or substantial portions of the Software. ++++++++ . ++++++++ THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, ++++++++ EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY ++++++++ WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. ++++++++ . ++++++++ IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, ++++++++ INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER ++++++++ RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF ++++++++ THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT ++++++++ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++++++++ . ++++++++ In addition, the following condition applies: ++++++++ . ++++++++ All redistributions must retain an intact copy of this copyright notice ++++++++ and disclaimer. ++++++++ ++++++++License: GPL-2 ++++++++ This program is free software; you can redistribute it and/or modify ++++++++ it under the terms of the GNU General Public License as published by ++++++++ the Free Software Foundation; version 2. ++++++++ . ++++++++ On Debian systems, the complete text of version 2 of the GNU General ++++++++ Public License can be found in `/usr/share/common-licenses/GPL-2' diff --cc debian/gbp.conf index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..8d16e73 new file mode 100644 --- /dev/null +++ b/debian/gbp.conf @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,4 @@@@@@@@@ ++++++++[DEFAULT] ++++++++pristine-tar=True ++++++++filter=[ '.gitignore', '.travis.yml', '.git*' ] ++++++++component=['llhttp', 'llparse', 'llparse-frontend', 'llparse-builder', 'binary-search', 'fastify-busboy'] diff --cc debian/libllhttp-dev.docs index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..567c628 new file mode 100644 --- /dev/null +++ b/debian/libllhttp-dev.docs @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++llhttp/README.md diff --cc debian/libllhttp-dev.install index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..f246135 new file mode 100644 --- /dev/null +++ b/debian/libllhttp-dev.install @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,7 @@@@@@@@@ ++++++++usr/include ++++++++usr/lib/*/*.a ++++++++usr/lib/*/*.so ++++++++#llhttp/release/include/* usr/share/include/llhttp/ ++++++++#llhttp/release/src/* usr/share/llhttp/ ++++++++usr/lib/*/cmake/ ++++++++usr/lib/*/pkgconfig/ diff --cc debian/libllhttp9.2.docs index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..8ed7625 new file mode 100644 --- /dev/null +++ b/debian/libllhttp9.2.docs @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,2 @@@@@@@@@ ++++++++llhttp/CODE_OF_CONDUCT.md ++++++++llhttp/README.md diff --cc debian/libllhttp9.2.install index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..3de3b10 new file mode 100644 --- /dev/null +++ b/debian/libllhttp9.2.install @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++usr/lib/*/*.so.* diff --cc debian/node-llhttp.docs index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..567c628 new file mode 100644 --- /dev/null +++ b/debian/node-llhttp.docs @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++llhttp/README.md diff --cc debian/node-llhttp.examples index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..3c5bd0f new file mode 100644 --- /dev/null +++ b/debian/node-llhttp.examples @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++llhttp/examples/* diff --cc debian/node-llhttp.install index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..382f5ef new file mode 100644 --- /dev/null +++ b/debian/node-llhttp.install @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++usr/share/nodejs/ll* diff --cc debian/node-undici.docs index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..a17fdf0 new file mode 100644 --- /dev/null +++ b/debian/node-undici.docs @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,2 @@@@@@@@@ ++++++++*.md ++++++++docs/docs/* diff --cc debian/node-undici.examples index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..684a743 new file mode 100644 --- /dev/null +++ b/debian/node-undici.examples @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++docs/examples/* diff --cc debian/node-undici.install index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..48e1208 new file mode 100644 --- /dev/null +++ b/debian/node-undici.install @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,5 @@@@@@@@@ ++++++++usr/share/nodejs/binary-search ++++++++usr/share/nodejs/@fastify/busboy ++++++++usr/share/nodejs/undici ++++++++usr/share/nodejs/undici-types ++++++++undici-fetch.js usr/share/nodejs/undici/ diff --cc debian/node-undici.maintscript index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..673abb7 new file mode 100644 --- /dev/null +++ b/debian/node-undici.maintscript @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,2 @@@@@@@@@ ++++++++# dir_to_symlink pathname new-target [prior-version [package]] ++++++++dir_to_symlink /usr/share/nodejs/undici/types /usr/share/nodejs/undici-types 5.28.2+dfsg1+~cs23.11.12.3-2~ node-undici diff --cc debian/nodejs/additional_components index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..64dba6c new file mode 100644 --- /dev/null +++ b/debian/nodejs/additional_components @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++types diff --cc debian/nodejs/build index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..0c83852 new file mode 100644 --- /dev/null +++ b/debian/nodejs/build @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,10 @@@@@@@@@ ++++++++node scripts/generate-undici-types-package-json.js ++++++++ ++++++++mkdir -p deps/llhttp/include deps/llhttp/src ++++++++cp llhttp/build/c/llhttp.c deps/llhttp/src/ ++++++++cp llhttp/src/native/*.c deps/llhttp/src/ ++++++++cp llhttp/build/llhttp.h deps/llhttp/include/ ++++++++WASM_OPT=/usr/bin/wasm-opt WASM_CC=/usr/bin/clang WASM_CFLAGS="--sysroot=/usr -target wasm32-unknown-wasi" node build/wasm.js ++++++++ ++++++++# Build bundle ++++++++esbuild index-fetch.js --bundle --platform=node --outfile=undici-fetch.js --define:esbuildDetection=1 --keep-names diff --cc debian/nodejs/component_links index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..c83b273 new file mode 100644 --- /dev/null +++ b/debian/nodejs/component_links @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,3 @@@@@@@@@ ++++++++llparse-builder llparse-frontend ++++++++llparse-frontend llparse ++++++++llparse llhttp diff --cc debian/nodejs/extlinks index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..41be869 new file mode 100644 --- /dev/null +++ b/debian/nodejs/extlinks @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,3 @@@@@@@@@ ++++++++@types/debug ++++++++@types/node ++++++++@types/semver diff --cc debian/nodejs/links index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..ef54dea new file mode 100644 --- /dev/null +++ b/debian/nodejs/links @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++undici-types undici/types diff --cc debian/nodejs/llhttp/build index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..d886f85 new file mode 100644 --- /dev/null +++ b/debian/nodejs/llhttp/build @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,10 @@@@@@@@@ ++++++++ts-node bin/generate.ts ++++++++tsc ++++++++export RELEASE=`pkgjs-pjson . version` ++++++++WASI_ROOT=/usr ts-node bin/build_wasm.ts ++++++++export CFLAGS="$CFLAGS -gdwarf-4" ++++++++export LDFLAGS="$LDFLAGS" ++++++++make release build/libllhttp.a build/libllhttp.so ++++++++(cd ..;dh_auto_configure --buildsystem=cmake -Dllhttp/release -- -DCMAKE_BUILD_TYPE=Release) ++++++++(cd ..;dh_auto_build --buildsystem=cmake) ++++++++find . -type f diff --cc debian/nodejs/llparse-builder/build index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..0a87593 new file mode 100644 --- /dev/null +++ b/debian/nodejs/llparse-builder/build @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++tsc diff --cc debian/nodejs/llparse-frontend/build index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..0a87593 new file mode 100644 --- /dev/null +++ b/debian/nodejs/llparse-frontend/build @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++tsc diff --cc debian/nodejs/llparse/build index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..0a87593 new file mode 100644 --- /dev/null +++ b/debian/nodejs/llparse/build @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++tsc diff --cc debian/nodejs/root_modules index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..72e8ffc new file mode 100644 --- /dev/null +++ b/debian/nodejs/root_modules @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++* diff --cc debian/patches/declare-soname.patch index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..1221d54 new file mode 100644 --- /dev/null +++ b/debian/patches/declare-soname.patch @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,34 @@@@@@@@@ ++++++++Description: declare SONAME ++++++++Author: Yadd ++++++++Forwarded: not-needed ++++++++Last-Update: 2024-01-18 ++++++++ ++++++++--- a/llhttp/Makefile +++++++++++ b/llhttp/Makefile ++++++++@@ -1,6 +1,7 @@ ++++++++ CLANG ?= clang ++++++++ CFLAGS ?= ++++++++ OS ?= +++++++++SONAME ?= ++++++++ ++++++++ CFLAGS += -Os -g3 -Wall -Wextra -Wno-unused-parameter ++++++++ ifneq ($(OS),Windows_NT) ++++++++@@ -23,7 +24,7 @@ ++++++++ ++++++++ build/libllhttp.so: build/c/llhttp.o build/native/api.o \ ++++++++ build/native/http.o ++++++++- $(CLANG) -shared $^ -o $@ +++++++++ $(CLANG) -shared $^ -Wl,-soname,$(SONAME) -o $@ ++++++++ ++++++++ build/libllhttp.a: build/c/llhttp.o build/native/api.o \ ++++++++ build/native/http.o ++++++++@@ -88,6 +89,8 @@ ++++++++ $(INSTALL) -d $(DESTDIR)$(LIBDIR) ++++++++ $(INSTALL) -C build/llhttp.h $(DESTDIR)$(INCLUDEDIR)/llhttp.h ++++++++ $(INSTALL) -C build/libllhttp.a $(DESTDIR)$(LIBDIR)/libllhttp.a ++++++++- $(INSTALL) build/libllhttp.so $(DESTDIR)$(LIBDIR)/libllhttp.so +++++++++ $(INSTALL) build/libllhttp.so $(DESTDIR)$(LIBDIR)/$(SONAME) +++++++++ ln -s $(SONAME) $(DESTDIR)$(LIBDIR)/$(SONAMEALIAS) +++++++++ ln -s $(SONAME) $(DESTDIR)$(LIBDIR)/libllhttp.so ++++++++ ++++++++ .PHONY: all generate clean release postversion github-release diff --cc debian/patches/dont-rebuild-on-install.patch index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..91e9487 new file mode 100644 --- /dev/null +++ b/debian/patches/dont-rebuild-on-install.patch @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,16 @@@@@@@@@ ++++++++Description: don't rebuild on install ++++++++Author: Yadd ++++++++Forwarded: not-needed ++++++++Last-Update: 2024-01-18 ++++++++ ++++++++--- a/llhttp/Makefile +++++++++++ b/llhttp/Makefile ++++++++@@ -83,7 +83,7 @@ ++++++++ generate: ++++++++ ts-node bin/generate.ts ++++++++ ++++++++-install: build/libllhttp.a build/libllhttp.so +++++++++install: ++++++++ $(INSTALL) -d $(DESTDIR)$(INCLUDEDIR) ++++++++ $(INSTALL) -d $(DESTDIR)$(LIBDIR) ++++++++ $(INSTALL) -C build/llhttp.h $(DESTDIR)$(INCLUDEDIR)/llhttp.h diff --cc debian/patches/fix-llhttp-version.patch index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..ed50eeb new file mode 100644 --- /dev/null +++ b/debian/patches/fix-llhttp-version.patch @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,16 @@@@@@@@@ ++++++++Description: fix llhttp version ++++++++Author: Yadd ++++++++Forwarded: not-needed ++++++++Last-Update: 2024-01-19 ++++++++ ++++++++--- a/llhttp/CMakeLists.txt +++++++++++ b/llhttp/CMakeLists.txt ++++++++@@ -1,7 +1,7 @@ ++++++++ cmake_minimum_required(VERSION 3.5.1) ++++++++ cmake_policy(SET CMP0069 NEW) ++++++++ ++++++++-project(llhttp VERSION _RELEASE_) +++++++++project(llhttp VERSION 9.2.1) ++++++++ include(GNUInstallDirs) ++++++++ ++++++++ set(CMAKE_C_STANDARD 99) diff --cc debian/patches/fix-typescript.patch index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..057f6e6 new file mode 100644 --- /dev/null +++ b/debian/patches/fix-typescript.patch @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,79 @@@@@@@@@ ++++++++Description: fix typescript ++++++++Author: Yadd ++++++++Forwarded: no ++++++++Last-Update: 2024-04-05 ++++++++ ++++++++--- a/llhttp/bin/build_wasm.ts +++++++++++ b/llhttp/bin/build_wasm.ts ++++++++@@ -40,6 +40,7 @@ ++++++++ // It will work flawessly if uid === gid === 1000 ++++++++ // there will be some warnings otherwise. ++++++++ if (process.platform === 'linux') { +++++++++// @ts-ignore ++++++++ cmd += ` --user ${process.getuid!()}:${process.getegid!()}`; ++++++++ } ++++++++ cmd += ` --mount type=bind,source=${WASM_SRC}/build,target=/home/node/llhttp/build llhttp_wasm_builder npm run wasm`; ++++++++--- a/llparse/src/implementation/c/code/base.ts +++++++++++ b/llparse/src/implementation/c/code/base.ts ++++++++@@ -3,7 +3,7 @@ ++++++++ import { Compilation } from '../compilation'; ++++++++ ++++++++ export abstract class Code { ++++++++- protected cachedDecl: string | undefined; +++++++++ public cachedDecl: string | undefined; ++++++++ ++++++++ constructor(public readonly ref: T) { ++++++++ } ++++++++--- a/llparse/src/implementation/c/node/base.ts +++++++++++ b/llparse/src/implementation/c/node/base.ts ++++++++@@ -13,8 +13,8 @@ ++++++++ } ++++++++ ++++++++ export abstract class Node { ++++++++- protected cachedDecl: string | undefined; ++++++++- protected privCompilation: Compilation | undefined; +++++++++ public cachedDecl: string | undefined; +++++++++ public privCompilation: Compilation | undefined; ++++++++ ++++++++ constructor(public readonly ref: T) { ++++++++ } ++++++++@@ -39,12 +39,12 @@ ++++++++ return res; ++++++++ } ++++++++ ++++++++- protected get compilation(): Compilation { +++++++++ public get compilation(): Compilation { ++++++++ assert(this.privCompilation !== undefined); ++++++++ return this.privCompilation!; ++++++++ } ++++++++ ++++++++- protected prologue(out: string[]): void { +++++++++ public prologue(out: string[]): void { ++++++++ const ctx = this.compilation; ++++++++ ++++++++ out.push(`if (${ctx.posArg()} == ${ctx.endPosArg()}) {`); ++++++++@@ -56,11 +56,11 @@ ++++++++ out.push('}'); ++++++++ } ++++++++ ++++++++- protected pause(out: string[]): void { +++++++++ public pause(out: string[]): void { ++++++++ out.push(`return ${this.cachedDecl};`); ++++++++ } ++++++++ ++++++++- protected tailTo(out: string[], edge: INodeEdge): void { +++++++++ public tailTo(out: string[], edge: INodeEdge): void { ++++++++ const ctx = this.compilation; ++++++++ const target = ctx.unwrapNode(edge.node).build(ctx); ++++++++ ++++++++--- a/llparse/src/implementation/c/node/error.ts +++++++++++ b/llparse/src/implementation/c/node/error.ts ++++++++@@ -5,7 +5,7 @@ ++++++++ import { Node } from './base'; ++++++++ ++++++++ class ErrorNode extends Node { ++++++++- protected storeError(out: string[]): void { +++++++++ public storeError(out: string[]): void { ++++++++ const ctx = this.compilation; ++++++++ ++++++++ let hexCode: string; diff --cc debian/patches/fix-wasm-build.patch index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..71feb94 new file mode 100644 --- /dev/null +++ b/debian/patches/fix-wasm-build.patch @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,51 @@@@@@@@@ ++++++++Description: fix wasm build ++++++++Author: Jérémy Lal ++++++++Forwarded: not-needed ++++++++Reviewed-By: Yadd ++++++++Last-Update: 2024-04-05 ++++++++ ++++++++--- a/llhttp/Makefile +++++++++++ b/llhttp/Makefile ++++++++@@ -81,7 +81,7 @@ ++++++++ git checkout main ++++++++ ++++++++ generate: ++++++++- npx ts-node bin/generate.ts +++++++++ ts-node bin/generate.ts ++++++++ ++++++++ install: build/libllhttp.a build/libllhttp.so ++++++++ $(INSTALL) -d $(DESTDIR)$(INCLUDEDIR) ++++++++--- a/llhttp/bin/build_wasm.ts +++++++++++ b/llhttp/bin/build_wasm.ts ++++++++@@ -25,6 +25,7 @@ ++++++++ mkdirSync(join(WASM_SRC, 'build')); ++++++++ process.exit(0); ++++++++ } catch (error: unknown) { +++++++++// @ts-ignore ++++++++ if (isErrorWithCode(error) && error.code !== 'EEXIST') { ++++++++ throw error; ++++++++ } ++++++++@@ -52,6 +53,7 @@ ++++++++ try { ++++++++ mkdirSync(WASM_OUT); ++++++++ } catch (error: unknown) { +++++++++// @ts-ignore ++++++++ if (isErrorWithCode(error) && error.code !== 'EEXIST') { ++++++++ throw error; ++++++++ } ++++++++@@ -63,12 +65,14 @@ ++++++++ // Build wasm binary ++++++++ execSync( ++++++++ `clang \ ++++++++- --sysroot=/usr/share/wasi-sysroot \ +++++++++ -nodefaultlibs \ +++++++++ --sysroot=/usr \ ++++++++ -target wasm32-unknown-wasi \ ++++++++ -Ofast \ ++++++++ -fno-exceptions \ ++++++++ -fvisibility=hidden \ ++++++++ -mexec-model=reactor \ +++++++++ -Wl,-lc \ ++++++++ -Wl,-error-limit=0 \ ++++++++ -Wl,-O3 \ ++++++++ -Wl,--lto-O3 \ diff --cc debian/patches/replace-npm-run.patch index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..2bc8b28 new file mode 100644 --- /dev/null +++ b/debian/patches/replace-npm-run.patch @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,25 @@@@@@@@@ ++++++++Description: replace "npm run" by pkgjs-run ++++++++Author: Yadd ++++++++Forwarded: not-needed ++++++++Last-Update: 2023-02-17 ++++++++ ++++++++--- a/llhttp/bin/build_wasm.ts +++++++++++ b/llhttp/bin/build_wasm.ts ++++++++@@ -43,7 +43,7 @@ ++++++++ // @ts-ignore ++++++++ cmd += ` --user ${process.getuid!()}:${process.getegid!()}`; ++++++++ } ++++++++- cmd += ` --mount type=bind,source=${WASM_SRC}/build,target=/home/node/llhttp/build llhttp_wasm_builder npm run wasm`; +++++++++ cmd += ` --mount type=bind,source=${WASM_SRC}/build,target=/home/node/llhttp/build llhttp_wasm_builder pkgjs-run wasm`; ++++++++ ++++++++ // eslint-disable-next-line no-console ++++++++ console.log(`> ${cmd}\n\n`); ++++++++@@ -61,7 +61,7 @@ ++++++++ } ++++++++ ++++++++ // Build ts ++++++++-execSync('npm run build', { cwd: WASM_SRC, stdio: 'inherit' }); +++++++++execSync('pkgjs-run build', { cwd: WASM_SRC, stdio: 'inherit' }); ++++++++ ++++++++ // Build wasm binary ++++++++ execSync( diff --cc debian/patches/series index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..1640314 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,7 @@@@@@@@@ ++++++++fix-wasm-build.patch ++++++++# simdeverywhere.patch ++++++++fix-typescript.patch ++++++++replace-npm-run.patch ++++++++dont-rebuild-on-install.patch ++++++++declare-soname.patch ++++++++fix-llhttp-version.patch diff --cc debian/patches/simdeverywhere.patch index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..c683691 new file mode 100644 --- /dev/null +++ b/debian/patches/simdeverywhere.patch @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,37 @@@@@@@@@ ++++++++Description: fix SIMD ++++++++Author: Jérémy Lal ++++++++Forwarded: no ++++++++Last-Update: 2022-05-16 ++++++++ ++++++++--- a/deps/llhttp/src/llhttp.c +++++++++++ b/deps/llhttp/src/llhttp.c ++++++++@@ -4,13 +4,7 @@ ++++++++ #include ++++++++ #include ++++++++ ++++++++-#ifdef __SSE4_2__ ++++++++- #ifdef _MSC_VER ++++++++- #include ++++++++- #else /* !_MSC_VER */ ++++++++- #include ++++++++- #endif /* _MSC_VER */ ++++++++-#endif /* __SSE4_2__ */ +++++++++#include ++++++++ ++++++++ #ifdef _MSC_VER ++++++++ #define ALIGN(n) _declspec(align(n)) ++++++++@@ -7678,13 +7672,7 @@ ++++++++ #include ++++++++ #include ++++++++ ++++++++-#ifdef __SSE4_2__ ++++++++- #ifdef _MSC_VER ++++++++- #include ++++++++- #else /* !_MSC_VER */ ++++++++- #include ++++++++- #endif /* _MSC_VER */ ++++++++-#endif /* __SSE4_2__ */ +++++++++#include ++++++++ ++++++++ #ifdef _MSC_VER ++++++++ #define ALIGN(n) _declspec(align(n)) diff --cc debian/rules index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..c031b55 new file mode 100755 --- /dev/null +++ b/debian/rules @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,49 @@@@@@@@@ ++++++++#!/usr/bin/make -f ++++++++# -*- makefile -*- ++++++++ ++++++++# Uncomment this to turn on verbose mode. ++++++++#export DH_VERBOSE=1 ++++++++include /usr/share/dpkg/pkg-info.mk ++++++++ ++++++++export DEB_BUILD_MAINT_OPTIONS = hardening=+all ++++++++ ++++++++LLHTTPVERSION = $(shell pkgjs-pjson llhttp version) ++++++++LLHTTPMAJORVERSION = $(shell pkgjs-pjson llhttp version|perl -pe 's/\..*//') ++++++++export SONAME = libllhttp.so.$(LLHTTPVERSION) ++++++++export SONAMEALIAS = libllhttp.so.$(LLHTTPMAJORVERSION) ++++++++LIBLLHTTPVERSION = $(LLHTTPVERSION)~$(DEB_VERSION) ++++++++ ++++++++zz: ++++++++ echo $(LLHTTPMAJORVERSION) ++++++++ ++++++++%: ++++++++ dh $@ ++++++++ ++++++++override_dh_auto_test: ++++++++ # autopkgtest only ++++++++ ++++++++execute_after_dh_auto_install: ++++++++ cd llhttp && $(MAKE) install DESTDIR=../debian/tmp PREFIX=/usr LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) ++++++++ dh_auto_install --buildsystem=cmake -Dllhttp/release ++++++++ ++++++++execute_after_dh_install: ++++++++ rm -f debian/node-undici/usr/share/nodejs/undici/lib/web/fetch/LICENSE ++++++++ rm -f debian/node-undici/usr/share/nodejs/@fastify/busboy/deps/dicer/LICENSE ++++++++ ++++++++execute_after_dh_clean: ++++++++ rm -rf obj-* ++++++++ rm -f lib/llhttp/llhttp_simd-wasm.js ++++++++ rm -f lib/llhttp/llhttp_simd.wasm ++++++++ ++++++++override_dh_makeshlibs: ++++++++ dh_makeshlibs -a -- -plibllhttp9.2 ++++++++ ++++++++override_dh_gencontrol: ++++++++ dh_gencontrol -pnode-undici -- -v$(DEB_VERSION) ++++++++ dh_gencontrol -plibllhttp-dev -- -v$(LLHTTPVERSION)~$(DEB_VERSION) \ ++++++++ -Vlibllhttp:Version=$(LIBLLHTTPVERSION) \ ++++++++ -DHomepage=https://github.com/nodejs/llhttp ++++++++ dh_gencontrol -pnode-llhttp -- -v$(LLHTTPVERSION)~$(DEB_VERSION) \ ++++++++ -DHomepage=https://github.com/nodejs/llhttp ++++++++ dh_gencontrol -plibllhttp9.2 -- -v$(LLHTTPVERSION)~$(DEB_VERSION) \ ++++++++ -DHomepage=https://github.com/nodejs/llhttp diff --cc debian/salsa-ci.yml index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..33c3a64 new file mode 100644 --- /dev/null +++ b/debian/salsa-ci.yml @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,4 @@@@@@@@@ ++++++++--- ++++++++include: ++++++++ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml ++++++++ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml diff --cc debian/source/format index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,1 @@@@@@@@@ ++++++++3.0 (quilt) diff --cc debian/source/lintian-overrides index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..ab39ad3 new file mode 100644 --- /dev/null +++ b/debian/source/lintian-overrides @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,31 @@@@@@@@@ ++++++++# Fixed ++++++++weak-library-dev-dependency * Depends libllhttp9* ++++++++ ++++++++# False positive: data ++++++++source-is-missing [*lib/llhttp/constants.js*] ++++++++source-is-missing [test/fixtures/wpt/common/third_party/reftest-analyzer.xhtml] ++++++++source-is-missing [test/fixtures/wpt/fetch/cross-origin-resource-policy/fetch-in-iframe.html] ++++++++source-is-missing [test/fixtures/wpt/fetch/redirects/data.window.js] ++++++++source-contains-prebuilt-javascript-object [*lib/llhttp/constants.js*] ++++++++very-long-line-length-in-source-file *lib/llhttp/constants.js* ++++++++very-long-line-length-in-source-file * [test/fixtures/wpt/xhr/resources/over-1-meg.txt:*] ++++++++very-long-line-length-in-source-file * [test/fixtures/wpt/common/third_party/reftest-analyzer.xhtml:*] ++++++++very-long-line-length-in-source-file * [test/fixtures/wpt/fetch/cross-origin-resource-policy/fetch-in-iframe.html:*] ++++++++very-long-line-length-in-source-file * [test/fixtures/wpt/fetch/redirects/data.window.js:*] ++++++++ ++++++++# Test files ++++++++source-is-missing [debian/tests/test_modules/node-forge/lib/des.js] ++++++++source-is-missing [debian/tests/test_modules/node-forge/lib/prime.worker.js] ++++++++source-is-missing [fastify-busboy/bench/createMultipartBufferForEncodingBench.js] ++++++++source-is-missing [fastify-busboy/test/types-multipart.test.js] ++++++++source-contains-browserified-javascript code fragment:* [test/fixtures/wpt/resources/webidl2/lib/webidl2.js] ++++++++source-contains-prebuilt-javascript-object [debian/tests/test_modules/node-forge/lib/des.js] ++++++++source-contains-prebuilt-javascript-object [debian/tests/test_modules/node-forge/lib/prime.worker.js] ++++++++source-contains-prebuilt-javascript-object [fastify-busboy/bench/createMultipartBufferForEncodingBench.js] ++++++++source-contains-prebuilt-javascript-object [fastify-busboy/test/types-multipart.test.js] ++++++++source-contains-prebuilt-javascript-object [test/fixtures/wpt/fetch/redirects/data.window.js] ++++++++very-long-line-length-in-source-file * [fastify-busboy/test/types-multipart.test.js:*] ++++++++very-long-line-length-in-source-file * [fastify-busboy/bench/createMultipartBufferForEncodingBench.js:*] ++++++++ ++++++++# Doc ++++++++very-long-line-length-in-source-file *.md* diff --cc debian/tests/control index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..68cd4f1 new file mode 100644 --- /dev/null +++ b/debian/tests/control @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,29 @@@@@@@@@ ++++++++Test-Command: /usr/share/pkg-js-autopkgtest/runner require ++++++++Depends: @ ++++++++ , pkg-js-autopkgtest ++++++++ , node-debug ++++++++Restrictions: superficial, skippable, ++++++++Features: test-name=pkg-js-autopkgtest-require ++++++++ ++++++++Test-Command: /usr/share/pkg-js-autopkgtest/runner ++++++++Depends: @ ++++++++ , pkg-js-autopkgtest ++++++++ , jest ++++++++Restrictions: allow-stderr, skippable, needs-internet ++++++++Features: test-name=pkg-js-autopkgtest ++++++++ ++++++++Test-Command: NETWORKTEST=1 /usr/share/pkg-js-autopkgtest/runner ++++++++Depends: @ ++++++++ , pkg-js-autopkgtest ++++++++ , chai ++++++++ , mocha ++++++++ , node-busboy ++++++++ , node-chai-as-promised ++++++++ , node-p-timeout ++++++++ , node-proxy (>= 2) ++++++++ , node-proxy-agent ++++++++ , node-sinon ++++++++ , node-tap ++++++++Restrictions: allow-stderr, skippable, needs-internet ++++++++Features: test-name=pkg-js-autopkgtest-with-network ++++++++Architecture: amd64, arm64, i386, ppc64el, s390x diff --cc debian/tests/pkg-js/enable_proto index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..e69de29 new file mode 100644 --- /dev/null +++ b/debian/tests/pkg-js/enable_proto diff --cc debian/tests/pkg-js/test index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..c14ba15 new file mode 100644 --- /dev/null +++ b/debian/tests/pkg-js/test @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@@@@@ ++++++++testcom="node --test --test-force-exit --test-timeout=120000" ++++++++if test "$NETWORKTEST" != ""; then ++++++++ node -e "require('https-pem/install')" ++++++++ $testcom test/node-fetch/*.js ++++++++ rm test/examples.js # missing docs/examples ++++++++ rm test/connect-timeout.js # flaky ++++++++ $testcom --expose-gc test/*.js ++++++++ $testcom test/websocket/*.js ++++++++ $testcom test/interceptors/*.js ++++++++ $testcom test/node-test/**/*.js ++++++++else ++++++++ jest --ci test/jest/mock-scope.test.js test/jest/test.js ++++++++fi diff --cc debian/tests/test_modules/@matteo.collina/tspl/LICENSE index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..74b8386 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/@matteo.collina/tspl/LICENSE @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,21 @@@@@@@@@ ++++++++MIT License ++++++++ ++++++++Copyright (c) 2023 Matteo Collina ++++++++ ++++++++Permission is hereby granted, free of charge, to any person obtaining a copy ++++++++of this software and associated documentation files (the "Software"), to deal ++++++++in the Software without restriction, including without limitation the rights ++++++++to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++++++++copies of the Software, and to permit persons to whom the Software is ++++++++furnished to do so, subject to the following conditions: ++++++++ ++++++++The above copyright notice and this permission notice shall be included in all ++++++++copies or substantial portions of the Software. ++++++++ ++++++++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++++++++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++++++++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++++++++AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++++++++LIABILITY, WHETHER IN AN 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. diff --cc debian/tests/test_modules/@matteo.collina/tspl/README.md index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..7bb225d new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/@matteo.collina/tspl/README.md @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,60 @@@@@@@@@ ++++++++# tspl ++++++++ ++++++++Test Planner for [`node:test`](https://nodejs.org/api/test.html) ++++++++and [`node:assert`](https://nodejs.org/api/assert.html). ++++++++It fails your tests if the number of assertions is not met, ++++++++or the test plan was not completed. ++++++++ ++++++++## Install ++++++++ ++++++++```bash ++++++++npm i @matteo.collina/tspl ++++++++``` ++++++++ ++++++++(You'll also need `@types/node`) ++++++++ ++++++++## Example ++++++++ ++++++++```js ++++++++import test from 'node:test' ++++++++import { tspl } from '@matteo.collina/tspl' ++++++++ ++++++++test('tspl', (t) => { ++++++++ const { strictEqual } = tspl(t, { plan: 1 }) ++++++++ strictEqual(1, 1) ++++++++}) ++++++++``` ++++++++ ++++++++### Typescript ++++++++ ++++++++```typescript ++++++++import test from 'node:test'; ++++++++import { tspl, Plan } from '@matteo.collina/tspl'; ++++++++ ++++++++test('tspl', (t) => { ++++++++ const p: Plan = tspl(t, { plan: 1 }); ++++++++ strictEqual(1, 1); ++++++++}); ++++++++``` ++++++++ ++++++++## API ++++++++ ++++++++### __`tspl(t: TestContext, options): Plan`__ ++++++++ ++++++++Create a plan for the current test. ++++++++ ++++++++Here are the options: ++++++++ ++++++++* `plan`: how many assertions are planned ++++++++ ++++++++### `Plan` ++++++++ ++++++++The plan includes all exports from [`node:assert`](https://nodejs.org/api/assert.html), ++++++++as well as: ++++++++ ++++++++* `end()`: a function to complete the plan ++++++++* `completed`: a promise that will resolve when the plan is completed. ++++++++ ++++++++## License ++++++++ ++++++++MIT diff --cc debian/tests/test_modules/@matteo.collina/tspl/package.json index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..342e3a0 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/@matteo.collina/tspl/package.json @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,28 @@@@@@@@@ ++++++++{ ++++++++ "name": "@matteo.collina/tspl", ++++++++ "version": "0.1.1", ++++++++ "description": "Count the number of assertions for node:test", ++++++++ "main": "tspl.js", ++++++++ "types": "tspl.d.ts", ++++++++ "scripts": { ++++++++ "test": "standard && node --test test.js && tsd" ++++++++ }, ++++++++ "keywords": [ ++++++++ "node:test", ++++++++ "plan", ++++++++ "assert" ++++++++ ], ++++++++ "author": "Matteo Collina ", ++++++++ "repository": { ++++++++ "type": "git", ++++++++ "url": "git+https://github.com/mcollina/tspl.git" ++++++++ }, ++++++++ "license": "MIT", ++++++++ "dependencies": { ++++++++ }, ++++++++ "devDependencies": { ++++++++ "@types/node": "^20.4.2", ++++++++ "standard": "^17.1.0", ++++++++ "tsd": "^0.30.0" ++++++++ } ++++++++} diff --cc debian/tests/test_modules/@matteo.collina/tspl/tspl.d.ts index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..c0ff56e new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/@matteo.collina/tspl/tspl.d.ts @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,18 @@@@@@@@@ ++++++++import test from 'node:test' ++++++++import assert from 'node:assert' ++++++++ ++++++++type TestFn = Exclude[0], undefined> ++++++++type TextContext = Exclude[0], undefined>; ++++++++ ++++++++export interface Options { ++++++++ plan?: number; ++++++++} ++++++++ ++++++++export type Plan = Omit & { ++++++++ completed: Promise ++++++++ end: () => void ++++++++} ++++++++ ++++++++export declare function tspl (context: TextContext, opts?: Options): Plan; ++++++++ ++++++++export default tspl; diff --cc debian/tests/test_modules/@matteo.collina/tspl/tspl.js index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..0641491 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/@matteo.collina/tspl/tspl.js @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,68 @@@@@@@@@ ++++++++'use strict' ++++++++ ++++++++const assert = require('node:assert') ++++++++ ++++++++function tspl (t, opts = {}) { ++++++++ if (t) { ++++++++ t.after(autoEnd) ++++++++ } ++++++++ ++++++++ let ended = false ++++++++ const { plan } = opts ++++++++ let actual = 0 ++++++++ ++++++++ let _resolve ++++++++ const completed = new Promise((resolve) => { ++++++++ _resolve = resolve ++++++++ }) ++++++++ ++++++++ async function autoEnd () { ++++++++ if (ended) { ++++++++ return ++++++++ } ++++++++ ++++++++ if (plan) { ++++++++ assert.strictEqual(actual, plan, 'The plan was not completed') ++++++++ } else { ++++++++ assert.fail('The plan was not completed') ++++++++ } ++++++++ } ++++++++ ++++++++ function end () { ++++++++ if (ended) { ++++++++ return ++++++++ } ++++++++ ended = true ++++++++ ++++++++ if (plan) { ++++++++ assert.strictEqual(actual, plan, 'The plan was not completed') ++++++++ _resolve() ++++++++ } ++++++++ } ++++++++ ++++++++ const res = { ++++++++ completed, ++++++++ end ++++++++ } ++++++++ ++++++++ for (const method of Object.keys(assert)) { ++++++++ if (method.match(/^[a-z]/)) { ++++++++ res[method] = (...args) => { ++++++++ actual++ ++++++++ const res = assert[method](...args) ++++++++ ++++++++ if (actual === plan) { ++++++++ _resolve() ++++++++ } ++++++++ ++++++++ return res ++++++++ } ++++++++ } ++++++++ } ++++++++ ++++++++ return res ++++++++} ++++++++ ++++++++module.exports = tspl ++++++++module.exports.default = tspl ++++++++module.exports.tspl = tspl diff --cc debian/tests/test_modules/abort-controller/LICENSE index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..c914149 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/abort-controller/LICENSE @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,21 @@@@@@@@@ ++++++++MIT License ++++++++ ++++++++Copyright (c) 2017 Toru Nagashima ++++++++ ++++++++Permission is hereby granted, free of charge, to any person obtaining a copy ++++++++of this software and associated documentation files (the "Software"), to deal ++++++++in the Software without restriction, including without limitation the rights ++++++++to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++++++++copies of the Software, and to permit persons to whom the Software is ++++++++furnished to do so, subject to the following conditions: ++++++++ ++++++++The above copyright notice and this permission notice shall be included in all ++++++++copies or substantial portions of the Software. ++++++++ ++++++++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++++++++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++++++++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++++++++AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++++++++LIABILITY, WHETHER IN AN 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. diff --cc debian/tests/test_modules/abort-controller/browser.js index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..b0c5ec3 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/abort-controller/browser.js @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,13 @@@@@@@@@ ++++++++/*globals self, window */ ++++++++"use strict" ++++++++ ++++++++/*eslint-disable @mysticatea/prettier */ ++++++++const { AbortController, AbortSignal } = ++++++++ typeof self !== "undefined" ? self : ++++++++ typeof window !== "undefined" ? window : ++++++++ /* otherwise */ undefined ++++++++/*eslint-enable @mysticatea/prettier */ ++++++++ ++++++++module.exports = AbortController ++++++++module.exports.AbortSignal = AbortSignal ++++++++module.exports.default = AbortController diff --cc debian/tests/test_modules/abort-controller/browser.mjs index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..a8f321a new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/abort-controller/browser.mjs @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,11 @@@@@@@@@ ++++++++/*globals self, window */ ++++++++ ++++++++/*eslint-disable @mysticatea/prettier */ ++++++++const { AbortController, AbortSignal } = ++++++++ typeof self !== "undefined" ? self : ++++++++ typeof window !== "undefined" ? window : ++++++++ /* otherwise */ undefined ++++++++/*eslint-enable @mysticatea/prettier */ ++++++++ ++++++++export default AbortController ++++++++export { AbortController, AbortSignal } diff --cc debian/tests/test_modules/abort-controller/dist/abort-controller.d.ts index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..75852fb new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/abort-controller/dist/abort-controller.d.ts @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,43 @@@@@@@@@ ++++++++import { EventTarget } from "event-target-shim" ++++++++ ++++++++type Events = { ++++++++ abort: any ++++++++} ++++++++type EventAttributes = { ++++++++ onabort: any ++++++++} ++++++++/** ++++++++ * The signal class. ++++++++ * @see https://dom.spec.whatwg.org/#abortsignal ++++++++ */ ++++++++declare class AbortSignal extends EventTarget { ++++++++ /** ++++++++ * AbortSignal cannot be constructed directly. ++++++++ */ ++++++++ constructor() ++++++++ /** ++++++++ * Returns `true` if this `AbortSignal`"s `AbortController` has signaled to abort, and `false` otherwise. ++++++++ */ ++++++++ readonly aborted: boolean ++++++++} ++++++++/** ++++++++ * The AbortController. ++++++++ * @see https://dom.spec.whatwg.org/#abortcontroller ++++++++ */ ++++++++declare class AbortController { ++++++++ /** ++++++++ * Initialize this controller. ++++++++ */ ++++++++ constructor() ++++++++ /** ++++++++ * Returns the `AbortSignal` object associated with this object. ++++++++ */ ++++++++ readonly signal: AbortSignal ++++++++ /** ++++++++ * Abort and signal to any observers that the associated activity is to be aborted. ++++++++ */ ++++++++ abort(): void ++++++++} ++++++++ ++++++++export default AbortController ++++++++export { AbortController, AbortSignal } diff --cc debian/tests/test_modules/abort-controller/dist/abort-controller.js index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..49af739 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/abort-controller/dist/abort-controller.js @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,127 @@@@@@@@@ ++++++++/** ++++++++ * @author Toru Nagashima ++++++++ * See LICENSE file in root directory for full license. ++++++++ */ ++++++++'use strict'; ++++++++ ++++++++Object.defineProperty(exports, '__esModule', { value: true }); ++++++++ ++++++++var eventTargetShim = require('event-target-shim'); ++++++++ ++++++++/** ++++++++ * The signal class. ++++++++ * @see https://dom.spec.whatwg.org/#abortsignal ++++++++ */ ++++++++class AbortSignal extends eventTargetShim.EventTarget { ++++++++ /** ++++++++ * AbortSignal cannot be constructed directly. ++++++++ */ ++++++++ constructor() { ++++++++ super(); ++++++++ throw new TypeError("AbortSignal cannot be constructed directly"); ++++++++ } ++++++++ /** ++++++++ * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise. ++++++++ */ ++++++++ get aborted() { ++++++++ const aborted = abortedFlags.get(this); ++++++++ if (typeof aborted !== "boolean") { ++++++++ throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`); ++++++++ } ++++++++ return aborted; ++++++++ } ++++++++} ++++++++eventTargetShim.defineEventAttribute(AbortSignal.prototype, "abort"); ++++++++/** ++++++++ * Create an AbortSignal object. ++++++++ */ ++++++++function createAbortSignal() { ++++++++ const signal = Object.create(AbortSignal.prototype); ++++++++ eventTargetShim.EventTarget.call(signal); ++++++++ abortedFlags.set(signal, false); ++++++++ return signal; ++++++++} ++++++++/** ++++++++ * Abort a given signal. ++++++++ */ ++++++++function abortSignal(signal) { ++++++++ if (abortedFlags.get(signal) !== false) { ++++++++ return; ++++++++ } ++++++++ abortedFlags.set(signal, true); ++++++++ signal.dispatchEvent({ type: "abort" }); ++++++++} ++++++++/** ++++++++ * Aborted flag for each instances. ++++++++ */ ++++++++const abortedFlags = new WeakMap(); ++++++++// Properties should be enumerable. ++++++++Object.defineProperties(AbortSignal.prototype, { ++++++++ aborted: { enumerable: true }, ++++++++}); ++++++++// `toString()` should return `"[object AbortSignal]"` ++++++++if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { ++++++++ Object.defineProperty(AbortSignal.prototype, Symbol.toStringTag, { ++++++++ configurable: true, ++++++++ value: "AbortSignal", ++++++++ }); ++++++++} ++++++++ ++++++++/** ++++++++ * The AbortController. ++++++++ * @see https://dom.spec.whatwg.org/#abortcontroller ++++++++ */ ++++++++class AbortController { ++++++++ /** ++++++++ * Initialize this controller. ++++++++ */ ++++++++ constructor() { ++++++++ signals.set(this, createAbortSignal()); ++++++++ } ++++++++ /** ++++++++ * Returns the `AbortSignal` object associated with this object. ++++++++ */ ++++++++ get signal() { ++++++++ return getSignal(this); ++++++++ } ++++++++ /** ++++++++ * Abort and signal to any observers that the associated activity is to be aborted. ++++++++ */ ++++++++ abort() { ++++++++ abortSignal(getSignal(this)); ++++++++ } ++++++++} ++++++++/** ++++++++ * Associated signals. ++++++++ */ ++++++++const signals = new WeakMap(); ++++++++/** ++++++++ * Get the associated signal of a given controller. ++++++++ */ ++++++++function getSignal(controller) { ++++++++ const signal = signals.get(controller); ++++++++ if (signal == null) { ++++++++ throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`); ++++++++ } ++++++++ return signal; ++++++++} ++++++++// Properties should be enumerable. ++++++++Object.defineProperties(AbortController.prototype, { ++++++++ signal: { enumerable: true }, ++++++++ abort: { enumerable: true }, ++++++++}); ++++++++if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { ++++++++ Object.defineProperty(AbortController.prototype, Symbol.toStringTag, { ++++++++ configurable: true, ++++++++ value: "AbortController", ++++++++ }); ++++++++} ++++++++ ++++++++exports.AbortController = AbortController; ++++++++exports.AbortSignal = AbortSignal; ++++++++exports.default = AbortController; ++++++++ ++++++++module.exports = AbortController ++++++++module.exports.AbortController = module.exports["default"] = AbortController ++++++++module.exports.AbortSignal = AbortSignal ++++++++//# sourceMappingURL=abort-controller.js.map diff --cc debian/tests/test_modules/abort-controller/dist/abort-controller.mjs index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..88ba22d new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/abort-controller/dist/abort-controller.mjs @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,118 @@@@@@@@@ ++++++++/** ++++++++ * @author Toru Nagashima ++++++++ * See LICENSE file in root directory for full license. ++++++++ */ ++++++++import { EventTarget, defineEventAttribute } from 'event-target-shim'; ++++++++ ++++++++/** ++++++++ * The signal class. ++++++++ * @see https://dom.spec.whatwg.org/#abortsignal ++++++++ */ ++++++++class AbortSignal extends EventTarget { ++++++++ /** ++++++++ * AbortSignal cannot be constructed directly. ++++++++ */ ++++++++ constructor() { ++++++++ super(); ++++++++ throw new TypeError("AbortSignal cannot be constructed directly"); ++++++++ } ++++++++ /** ++++++++ * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise. ++++++++ */ ++++++++ get aborted() { ++++++++ const aborted = abortedFlags.get(this); ++++++++ if (typeof aborted !== "boolean") { ++++++++ throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? "null" : typeof this}`); ++++++++ } ++++++++ return aborted; ++++++++ } ++++++++} ++++++++defineEventAttribute(AbortSignal.prototype, "abort"); ++++++++/** ++++++++ * Create an AbortSignal object. ++++++++ */ ++++++++function createAbortSignal() { ++++++++ const signal = Object.create(AbortSignal.prototype); ++++++++ EventTarget.call(signal); ++++++++ abortedFlags.set(signal, false); ++++++++ return signal; ++++++++} ++++++++/** ++++++++ * Abort a given signal. ++++++++ */ ++++++++function abortSignal(signal) { ++++++++ if (abortedFlags.get(signal) !== false) { ++++++++ return; ++++++++ } ++++++++ abortedFlags.set(signal, true); ++++++++ signal.dispatchEvent({ type: "abort" }); ++++++++} ++++++++/** ++++++++ * Aborted flag for each instances. ++++++++ */ ++++++++const abortedFlags = new WeakMap(); ++++++++// Properties should be enumerable. ++++++++Object.defineProperties(AbortSignal.prototype, { ++++++++ aborted: { enumerable: true }, ++++++++}); ++++++++// `toString()` should return `"[object AbortSignal]"` ++++++++if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { ++++++++ Object.defineProperty(AbortSignal.prototype, Symbol.toStringTag, { ++++++++ configurable: true, ++++++++ value: "AbortSignal", ++++++++ }); ++++++++} ++++++++ ++++++++/** ++++++++ * The AbortController. ++++++++ * @see https://dom.spec.whatwg.org/#abortcontroller ++++++++ */ ++++++++class AbortController { ++++++++ /** ++++++++ * Initialize this controller. ++++++++ */ ++++++++ constructor() { ++++++++ signals.set(this, createAbortSignal()); ++++++++ } ++++++++ /** ++++++++ * Returns the `AbortSignal` object associated with this object. ++++++++ */ ++++++++ get signal() { ++++++++ return getSignal(this); ++++++++ } ++++++++ /** ++++++++ * Abort and signal to any observers that the associated activity is to be aborted. ++++++++ */ ++++++++ abort() { ++++++++ abortSignal(getSignal(this)); ++++++++ } ++++++++} ++++++++/** ++++++++ * Associated signals. ++++++++ */ ++++++++const signals = new WeakMap(); ++++++++/** ++++++++ * Get the associated signal of a given controller. ++++++++ */ ++++++++function getSignal(controller) { ++++++++ const signal = signals.get(controller); ++++++++ if (signal == null) { ++++++++ throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? "null" : typeof controller}`); ++++++++ } ++++++++ return signal; ++++++++} ++++++++// Properties should be enumerable. ++++++++Object.defineProperties(AbortController.prototype, { ++++++++ signal: { enumerable: true }, ++++++++ abort: { enumerable: true }, ++++++++}); ++++++++if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") { ++++++++ Object.defineProperty(AbortController.prototype, Symbol.toStringTag, { ++++++++ configurable: true, ++++++++ value: "AbortController", ++++++++ }); ++++++++} ++++++++ ++++++++export default AbortController; ++++++++export { AbortController, AbortSignal }; ++++++++//# sourceMappingURL=abort-controller.mjs.map diff --cc debian/tests/test_modules/abort-controller/package.json index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..fc705e0 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/abort-controller/package.json @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,97 @@@@@@@@@ ++++++++{ ++++++++ "name": "abort-controller", ++++++++ "version": "3.0.0", ++++++++ "description": "An implementation of WHATWG AbortController interface.", ++++++++ "main": "dist/abort-controller", ++++++++ "files": [ ++++++++ "dist", ++++++++ "polyfill.*", ++++++++ "browser.*" ++++++++ ], ++++++++ "engines": { ++++++++ "node": ">=6.5" ++++++++ }, ++++++++ "dependencies": { ++++++++ "event-target-shim": "^5.0.0" ++++++++ }, ++++++++ "browser": "./browser.js", ++++++++ "devDependencies": { ++++++++ "@babel/core": "^7.2.2", ++++++++ "@babel/plugin-transform-modules-commonjs": "^7.2.0", ++++++++ "@babel/preset-env": "^7.3.0", ++++++++ "@babel/register": "^7.0.0", ++++++++ "@mysticatea/eslint-plugin": "^8.0.1", ++++++++ "@mysticatea/spy": "^0.1.2", ++++++++ "@types/mocha": "^5.2.5", ++++++++ "@types/node": "^10.12.18", ++++++++ "assert": "^1.4.1", ++++++++ "codecov": "^3.1.0", ++++++++ "dts-bundle-generator": "^2.0.0", ++++++++ "eslint": "^5.12.1", ++++++++ "karma": "^3.1.4", ++++++++ "karma-chrome-launcher": "^2.2.0", ++++++++ "karma-coverage": "^1.1.2", ++++++++ "karma-firefox-launcher": "^1.1.0", ++++++++ "karma-growl-reporter": "^1.0.0", ++++++++ "karma-ie-launcher": "^1.0.0", ++++++++ "karma-mocha": "^1.3.0", ++++++++ "karma-rollup-preprocessor": "^7.0.0-rc.2", ++++++++ "mocha": "^5.2.0", ++++++++ "npm-run-all": "^4.1.5", ++++++++ "nyc": "^13.1.0", ++++++++ "opener": "^1.5.1", ++++++++ "rimraf": "^2.6.3", ++++++++ "rollup": "^1.1.2", ++++++++ "rollup-plugin-babel": "^4.3.2", ++++++++ "rollup-plugin-babel-minify": "^7.0.0", ++++++++ "rollup-plugin-commonjs": "^9.2.0", ++++++++ "rollup-plugin-node-resolve": "^4.0.0", ++++++++ "rollup-plugin-sourcemaps": "^0.4.2", ++++++++ "rollup-plugin-typescript": "^1.0.0", ++++++++ "rollup-watch": "^4.3.1", ++++++++ "ts-node": "^8.0.1", ++++++++ "type-tester": "^1.0.0", ++++++++ "typescript": "^3.2.4" ++++++++ }, ++++++++ "scripts": { ++++++++ "preversion": "npm test", ++++++++ "version": "npm run -s build && git add dist/*", ++++++++ "postversion": "git push && git push --tags", ++++++++ "clean": "rimraf .nyc_output coverage", ++++++++ "coverage": "opener coverage/lcov-report/index.html", ++++++++ "lint": "eslint . --ext .ts", ++++++++ "build": "run-s -s build:*", ++++++++ "build:rollup": "rollup -c", ++++++++ "build:dts": "dts-bundle-generator -o dist/abort-controller.d.ts src/abort-controller.ts && ts-node scripts/fix-dts", ++++++++ "test": "run-s -s lint test:*", ++++++++ "test:mocha": "nyc mocha test/*.ts", ++++++++ "test:karma": "karma start --single-run", ++++++++ "watch": "run-p -s watch:*", ++++++++ "watch:mocha": "mocha test/*.ts --require ts-node/register --watch-extensions ts --watch --growl", ++++++++ "watch:karma": "karma start --watch", ++++++++ "codecov": "codecov" ++++++++ }, ++++++++ "repository": { ++++++++ "type": "git", ++++++++ "url": "git+https://github.com/mysticatea/abort-controller.git" ++++++++ }, ++++++++ "keywords": [ ++++++++ "w3c", ++++++++ "whatwg", ++++++++ "event", ++++++++ "events", ++++++++ "abort", ++++++++ "cancel", ++++++++ "abortcontroller", ++++++++ "abortsignal", ++++++++ "controller", ++++++++ "signal", ++++++++ "shim" ++++++++ ], ++++++++ "author": "Toru Nagashima (https://github.com/mysticatea)", ++++++++ "license": "MIT", ++++++++ "bugs": { ++++++++ "url": "https://github.com/mysticatea/abort-controller/issues" ++++++++ }, ++++++++ "homepage": "https://github.com/mysticatea/abort-controller#readme" ++++++++} diff --cc debian/tests/test_modules/abort-controller/polyfill.js index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..3ca8923 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/abort-controller/polyfill.js @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,21 @@@@@@@@@ ++++++++/*globals require, self, window */ ++++++++"use strict" ++++++++ ++++++++const ac = require("./dist/abort-controller") ++++++++ ++++++++/*eslint-disable @mysticatea/prettier */ ++++++++const g = ++++++++ typeof self !== "undefined" ? self : ++++++++ typeof window !== "undefined" ? window : ++++++++ typeof global !== "undefined" ? global : ++++++++ /* otherwise */ undefined ++++++++/*eslint-enable @mysticatea/prettier */ ++++++++ ++++++++if (g) { ++++++++ if (typeof g.AbortController === "undefined") { ++++++++ g.AbortController = ac.AbortController ++++++++ } ++++++++ if (typeof g.AbortSignal === "undefined") { ++++++++ g.AbortSignal = ac.AbortSignal ++++++++ } ++++++++} diff --cc debian/tests/test_modules/abort-controller/polyfill.mjs index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..0602a64 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/abort-controller/polyfill.mjs @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,19 @@@@@@@@@ ++++++++/*globals self, window */ ++++++++import * as ac from "./dist/abort-controller" ++++++++ ++++++++/*eslint-disable @mysticatea/prettier */ ++++++++const g = ++++++++ typeof self !== "undefined" ? self : ++++++++ typeof window !== "undefined" ? window : ++++++++ typeof global !== "undefined" ? global : ++++++++ /* otherwise */ undefined ++++++++/*eslint-enable @mysticatea/prettier */ ++++++++ ++++++++if (g) { ++++++++ if (typeof g.AbortController === "undefined") { ++++++++ g.AbortController = ac.AbortController ++++++++ } ++++++++ if (typeof g.AbortSignal === "undefined") { ++++++++ g.AbortSignal = ac.AbortSignal ++++++++ } ++++++++} diff --cc debian/tests/test_modules/atomic-sleep/LICENSE index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..d1d8849 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/atomic-sleep/LICENSE @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,22 @@@@@@@@@ ++++++++The MIT License (MIT) ++++++++Copyright (c) 2020 David Mark Clements ++++++++ ++++++++ ++++++++Permission is hereby granted, free of charge, to any person obtaining a copy ++++++++of this software and associated documentation files (the "Software"), to deal ++++++++in the Software without restriction, including without limitation the rights ++++++++to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++++++++copies of the Software, and to permit persons to whom the Software is ++++++++furnished to do so, subject to the following conditions: ++++++++ ++++++++The above copyright notice and this permission notice shall be included in all ++++++++copies or substantial portions of the Software. ++++++++ ++++++++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++++++++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++++++++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++++++++IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, ++++++++DAMAGES OR OTHER LIABILITY, WHETHER IN AN 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. ++++++++ diff --cc debian/tests/test_modules/atomic-sleep/index.js index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..fbfc8b2 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/atomic-sleep/index.js @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,38 @@@@@@@@@ ++++++++'use strict' ++++++++ ++++++++/* global SharedArrayBuffer, Atomics */ ++++++++ ++++++++if (typeof SharedArrayBuffer !== 'undefined' && typeof Atomics !== 'undefined') { ++++++++ const nil = new Int32Array(new SharedArrayBuffer(4)) ++++++++ ++++++++ function sleep (ms) { ++++++++ // also filters out NaN, non-number types, including empty strings, but allows bigints ++++++++ const valid = ms > 0 && ms < Infinity ++++++++ if (valid === false) { ++++++++ if (typeof ms !== 'number' && typeof ms !== 'bigint') { ++++++++ throw TypeError('sleep: ms must be a number') ++++++++ } ++++++++ throw RangeError('sleep: ms must be a number that is greater than 0 but less than Infinity') ++++++++ } ++++++++ ++++++++ Atomics.wait(nil, 0, 0, Number(ms)) ++++++++ } ++++++++ module.exports = sleep ++++++++} else { ++++++++ ++++++++ function sleep (ms) { ++++++++ // also filters out NaN, non-number types, including empty strings, but allows bigints ++++++++ const valid = ms > 0 && ms < Infinity ++++++++ if (valid === false) { ++++++++ if (typeof ms !== 'number' && typeof ms !== 'bigint') { ++++++++ throw TypeError('sleep: ms must be a number') ++++++++ } ++++++++ throw RangeError('sleep: ms must be a number that is greater than 0 but less than Infinity') ++++++++ } ++++++++ const target = Date.now() + Number(ms) ++++++++ while (target > Date.now()){} ++++++++ } ++++++++ ++++++++ module.exports = sleep ++++++++ ++++++++} diff --cc debian/tests/test_modules/atomic-sleep/package.json index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..cfdf200 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/atomic-sleep/package.json @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,37 @@@@@@@@@ ++++++++{ ++++++++ "name": "atomic-sleep", ++++++++ "version": "1.0.0", ++++++++ "description": "Zero CPU overhead, zero dependency, true event-loop blocking sleep", ++++++++ "main": "index.js", ++++++++ "scripts": { ++++++++ "test": "tap -R classic- -j1 test", ++++++++ "lint": "standard", ++++++++ "ci": "npm run lint && npm test" ++++++++ }, ++++++++ "keywords": [ ++++++++ "sleep", ++++++++ "pause", ++++++++ "wait", ++++++++ "performance", ++++++++ "atomics" ++++++++ ], ++++++++ "engines": { ++++++++ "node": ">=8.0.0" ++++++++ }, ++++++++ "author": "David Mark Clements (@davidmarkclem)", ++++++++ "license": "MIT", ++++++++ "devDependencies": { ++++++++ "standard": "^14.3.1", ++++++++ "tap": "^14.10.6", ++++++++ "tape": "^4.13.2" ++++++++ }, ++++++++ "dependencies": {}, ++++++++ "repository": { ++++++++ "type": "git", ++++++++ "url": "git+https://github.com/davidmarkclements/atomic-sleep.git" ++++++++ }, ++++++++ "bugs": { ++++++++ "url": "https://github.com/davidmarkclements/atomic-sleep/issues" ++++++++ }, ++++++++ "homepage": "https://github.com/davidmarkclements/atomic-sleep#readme" ++++++++} diff --cc debian/tests/test_modules/chai-iterator/LICENSE index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..34f7723 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/chai-iterator/LICENSE @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@@@@@ ++++++++Copyright (c) 2016-2017 Akim McMath ++++++++Copyright (c) 2018 Harry Sarson ++++++++ ++++++++Permission is hereby granted, free of charge, to any person obtaining a copy of ++++++++this software and associated documentation files (the "Software"), to deal in ++++++++the Software without restriction, including without limitation the rights to ++++++++use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies ++++++++of the Software, and to permit persons to whom the Software is furnished to do ++++++++so, subject to the following conditions: ++++++++ ++++++++The above copyright notice and this permission notice shall be included in all ++++++++copies or substantial portions of the Software. ++++++++ ++++++++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++++++++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++++++++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++++++++AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++++++++LIABILITY, WHETHER IN AN 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. diff --cc debian/tests/test_modules/chai-iterator/chai-iterator.js index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..e2c9f93 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/chai-iterator/chai-iterator.js @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,334 @@@@@@@@@ ++++++++(function (chaiIterator) { ++++++++ 'use strict'; ++++++++ ++++++++ /* istanbul ignore else */ ++++++++ if (typeof module === 'object' && typeof exports === 'object') { ++++++++ module.exports = chaiIterator; ++++++++ } else if (typeof define === 'function' && define.amd) { ++++++++ define(function () { ++++++++ return chaiIterator; ++++++++ }); ++++++++ } else { ++++++++ chai.use(chaiIterator); ++++++++ } ++++++++})(function (chai, utils) { ++++++++ 'use strict'; ++++++++ ++++++++ var Assertion = chai.Assertion; ++++++++ var assert = chai.assert; ++++++++ ++++++++ var noop = function () {}; ++++++++ ++++++++ var ELLIPSIS = unquote('...'); ++++++++ ++++++++ // Expect/should assertions ============================= ++++++++ ++++++++ Assertion.addProperty('iterable', function () { ++++++++ this.assert(isIterable(this._obj), ++++++++ 'expected #{this} to be iterable', ++++++++ 'expected #{this} not to be iterable' ++++++++ ); ++++++++ }); ++++++++ ++++++++ Assertion.addProperty('iterate', function () { ++++++++ new Assertion(this._obj).iterable; ++++++++ ++++++++ utils.flag(this, 'iterate', true); ++++++++ }); ++++++++ ++++++++ Assertion.addMethod('over', iterateMethod('to iterate over', function (exp) { ++++++++ var it = this._obj[Symbol.iterator](); ++++++++ var actual = slice(it, exp.length + 2); ++++++++ var suffix = it.next().done ? [] : [ELLIPSIS]; ++++++++ ++++++++ return actual.concat(suffix); ++++++++ })); ++++++++ ++++++++ Assertion.addMethod('from', iterateMethod('to begin iteration with', function (exp) { ++++++++ return slice(this._obj[Symbol.iterator](), exp.length); ++++++++ })); ++++++++ ++++++++ Assertion.addMethod('until', iterateMethod('to end iteration with', function (exp) { ++++++++ var it = this._obj[Symbol.iterator](); ++++++++ var actual = slice(it, exp.length); ++++++++ var step = it.next(); ++++++++ ++++++++ while (!step.done) { ++++++++ actual.push(step.value); ++++++++ actual.shift(); ++++++++ step = it.next(); ++++++++ } ++++++++ ++++++++ return actual; ++++++++ })); ++++++++ ++++++++ Assertion.addProperty('for', noop); ++++++++ ++++++++ Assertion.overwriteChainableMethod('lengthOf', function (_super) { ++++++++ return function (exp) { ++++++++ if (utils.flag(this, 'iterate')) { ++++++++ var len = iterableLength(this._obj, exp); ++++++++ ++++++++ this.assert( ++++++++ len === exp, ++++++++ 'expected #{this} to iterate for length of #{exp}, but got #{act}', ++++++++ 'expected #{this} not to iterate for length of #{exp}', ++++++++ exp, ++++++++ len ++++++++ ); ++++++++ } else { ++++++++ _super.apply(this, arguments); ++++++++ } ++++++++ }; ++++++++ }, function (_super) { ++++++++ return function () { ++++++++ _super.apply(this); ++++++++ }; ++++++++ }); ++++++++ ++++++++ Assertion.overwriteMethod('above', function (_super) { ++++++++ return function (exp) { ++++++++ if (utils.flag(this, 'iterate')) { ++++++++ var len = iterableLength(this._obj, exp); ++++++++ ++++++++ this.assert( ++++++++ len > exp, ++++++++ 'expected #{this} to iterate for length above #{exp}, but got #{act}', ++++++++ 'expected #{this} not to iterate for length above #{exp}', ++++++++ exp, ++++++++ len ++++++++ ); ++++++++ } else { ++++++++ _super.apply(this, arguments); ++++++++ } ++++++++ }; ++++++++ }); ++++++++ ++++++++ Assertion.overwriteMethod('below', function (_super) { ++++++++ return function (exp) { ++++++++ if (utils.flag(this, 'iterate')) { ++++++++ var max = exp + 100; ++++++++ var len = iterableLength(this._obj, max); ++++++++ var act = len === Infinity ? unquote('more than ' + max) : len; ++++++++ ++++++++ this.assert( ++++++++ len < exp, ++++++++ 'expected #{this} to iterate for length below #{exp}, but got #{act}', ++++++++ 'expected #{this} not to iterate for length below #{exp}', ++++++++ exp, ++++++++ act ++++++++ ); ++++++++ } else { ++++++++ _super.apply(this, arguments); ++++++++ } ++++++++ }; ++++++++ }); ++++++++ ++++++++ Assertion.overwriteMethod('least', function (_super) { ++++++++ return function (exp) { ++++++++ if (utils.flag(this, 'iterate')) { ++++++++ var len = iterableLength(this._obj, exp); ++++++++ ++++++++ this.assert( ++++++++ len >= exp, ++++++++ 'expected #{this} to iterate for length of at least #{exp}, but got #{act}', ++++++++ 'expected #{this} not to iterate for length of at least #{exp}', ++++++++ exp, ++++++++ len ++++++++ ); ++++++++ } else { ++++++++ _super.apply(this, arguments); ++++++++ } ++++++++ }; ++++++++ }); ++++++++ ++++++++ Assertion.overwriteMethod('most', function (_super) { ++++++++ return function (exp) { ++++++++ if (utils.flag(this, 'iterate')) { ++++++++ var max = exp + 100; ++++++++ var len = iterableLength(this._obj, max); ++++++++ var act = len === Infinity ? unquote('more than ' + max) : len; ++++++++ ++++++++ this.assert( ++++++++ len <= exp, ++++++++ 'expected #{this} to iterate for length of at most #{exp}, but got #{act}', ++++++++ 'expected #{this} not to iterate for length of at most #{exp}', ++++++++ exp, ++++++++ act ++++++++ ); ++++++++ } else { ++++++++ _super.apply(this, arguments); ++++++++ } ++++++++ }; ++++++++ }); ++++++++ ++++++++ Assertion.overwriteMethod('within', function (_super) { ++++++++ return function (min, max) { ++++++++ if (utils.flag(this, 'iterate')) { ++++++++ var cutoff = max + 100; ++++++++ var len = iterableLength(this._obj, cutoff); ++++++++ var exp = unquote(min + 'and' + max); ++++++++ var act = len === Infinity ? unquote('more than ' + cutoff) : len; ++++++++ ++++++++ this.assert( ++++++++ min <= len && len <= max, ++++++++ 'expected #{this} to iterate for length within #{exp}, but got #{act}', ++++++++ 'expected #{this} not to iterate for length within #{exp}', ++++++++ exp, ++++++++ act ++++++++ ); ++++++++ } else { ++++++++ _super.apply(this, arguments); ++++++++ } ++++++++ }; ++++++++ }); ++++++++ ++++++++ // Assert methods ======================================= ++++++++ ++++++++ assert.isIterable = function (value, msg) { ++++++++ new Assertion(value, msg).iterable; ++++++++ }; ++++++++ ++++++++ assert.isNotIterable = function (value, msg) { ++++++++ new Assertion(value, msg).not.iterable; ++++++++ }; ++++++++ ++++++++ assert.iteratesFrom = function (value, exp, msg) { ++++++++ new Assertion(value, msg).iterate.from(exp); ++++++++ }; ++++++++ ++++++++ assert.doesNotIterateFrom = function (value, exp, msg) { ++++++++ new Assertion(value, msg).not.iterate.from(exp); ++++++++ }; ++++++++ ++++++++ assert.deepIteratesFrom = function (value, exp, msg) { ++++++++ new Assertion(value, msg).deep.iterate.from(exp); ++++++++ }; ++++++++ ++++++++ assert.doesNotDeepIterateFrom = function (value, exp, msg) { ++++++++ new Assertion(value, msg).not.deep.iterate.from(exp); ++++++++ }; ++++++++ ++++++++ assert.iteratesOver = function (value, exp, msg) { ++++++++ new Assertion(value, msg).iterate.over(exp); ++++++++ }; ++++++++ ++++++++ assert.doesNotIterateOver = function (value, exp, msg) { ++++++++ new Assertion(value, msg).not.iterate.over(exp); ++++++++ }; ++++++++ ++++++++ assert.deepIteratesOver = function (value, exp, msg) { ++++++++ new Assertion(value, msg).deep.iterate.over(exp); ++++++++ }; ++++++++ ++++++++ assert.doesNotDeepIterateOver = function (value, exp, msg) { ++++++++ new Assertion(value, msg).not.deep.iterate.over(exp); ++++++++ }; ++++++++ ++++++++ assert.iteratesUntil = function (value, exp, msg) { ++++++++ new Assertion(value, msg).iterate.until(exp); ++++++++ }; ++++++++ ++++++++ assert.doesNotIterateUntil = function (value, exp, msg) { ++++++++ new Assertion(value, msg).not.iterate.until(exp); ++++++++ }; ++++++++ ++++++++ assert.deepIteratesUntil = function (value, exp, msg) { ++++++++ new Assertion(value, msg).deep.iterate.until(exp); ++++++++ }; ++++++++ ++++++++ assert.doesNotDeepIterateUntil = function (value, exp, msg) { ++++++++ new Assertion(value, msg).not.deep.iterate.until(exp); ++++++++ }; ++++++++ ++++++++ var _lengthOf = assert.lengthOf; ++++++++ ++++++++ assert.lengthOf = function (value, exp, msg) { ++++++++ if (isIterable(value) && typeof value.length !== 'number') { ++++++++ new Assertion(value, msg).iterate.for.lengthOf(exp); ++++++++ } else { ++++++++ _lengthOf.apply(assert, arguments); ++++++++ } ++++++++ }; ++++++++ ++++++++ // Helpers ============================================== ++++++++ ++++++++ function iterateMethod(predicate, getActual) { ++++++++ return function (iterable) { ++++++++ assert(utils.flag(this, 'iterate'), 'the iterate flag must be set'); ++++++++ new Assertion(iterable).iterable; ++++++++ ++++++++ var exp = slice(iterable[Symbol.iterator]()); ++++++++ var act = getActual.call(this, exp); ++++++++ ++++++++ var deep = utils.flag(this, 'deep') ? ' deep' : ''; ++++++++ ++++++++ this.assert(compareArrays(exp, act, deep), ++++++++ 'expected #{this} ' + predicate + deep + ' values #{exp}, but got #{act}', ++++++++ 'expected #{this} not ' + predicate + deep + ' values #{exp}', ++++++++ exp, ++++++++ act ++++++++ ); ++++++++ }; ++++++++ } ++++++++ ++++++++ // Utilities ============================================ ++++++++ ++++++++ function isIterable(value) { ++++++++ return value !== undefined && value !== null && typeof value[Symbol.iterator] === 'function'; ++++++++ } ++++++++ ++++++++ function iterableLength(iterable, max) { ++++++++ max = max === undefined ? Infinity : max; ++++++++ ++++++++ var it = iterable[Symbol.iterator](); ++++++++ ++++++++ for (var i = 0; i <= max; i++) { ++++++++ if (it.next().done) { ++++++++ return i; ++++++++ } ++++++++ } ++++++++ ++++++++ return Infinity; ++++++++ } ++++++++ ++++++++ function strictEqual(a, b) { ++++++++ return a === b; ++++++++ } ++++++++ ++++++++ function compareArrays(exp, act, deep) { ++++++++ var equalFn = deep ? utils.eql : strictEqual; ++++++++ ++++++++ return exp.length === act.length && exp.every(function (value, i) { ++++++++ return equalFn(value, act[i]); ++++++++ }); ++++++++ } ++++++++ ++++++++ function slice(it, stop) { ++++++++ stop = stop === undefined ? Infinity : stop; ++++++++ ++++++++ var result = []; ++++++++ var max = stop - 1; ++++++++ var step = it.next(); ++++++++ ++++++++ for (var i = 0; i <= max && !step.done; i++) { ++++++++ result.push(step.value); ++++++++ if (i < max) { ++++++++ step = it.next(); ++++++++ } ++++++++ } ++++++++ ++++++++ return result; ++++++++ } ++++++++ ++++++++ function unquote(str) { ++++++++ return { ++++++++ inspect: function () { ++++++++ return this.toString(); ++++++++ }, ++++++++ toString: function () { ++++++++ return str; ++++++++ } ++++++++ }; ++++++++ } ++++++++}); diff --cc debian/tests/test_modules/chai-iterator/package.json index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..34f76c1 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/chai-iterator/package.json @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,70 @@@@@@@@@ ++++++++{ ++++++++ "name": "chai-iterator", ++++++++ "version": "3.0.2", ++++++++ "description": "Chai assertions for iterable objects", ++++++++ "main": "chai-iterator.js", ++++++++ "scripts": { ++++++++ "test:lint": "xo", ++++++++ "test:mocha": "mocha test/**/*.js", ++++++++ "test:cover": "nyc npm run test:mocha", ++++++++ "test": "npm run test:lint && npm run test:cover", ++++++++ "coveralls": "nyc report --reporter=text-lcov | coveralls" ++++++++ }, ++++++++ "files": [ ++++++++ "chai-iterator.js", ++++++++ "LICENSE", ++++++++ "CHANGELOG.md", ++++++++ "README.md" ++++++++ ], ++++++++ "repository": { ++++++++ "type": "git", ++++++++ "url": "https://github.com/harrysarson/chai-iterator.git" ++++++++ }, ++++++++ "keywords": [ ++++++++ "chai", ++++++++ "chai-plugin", ++++++++ "browser", ++++++++ "iterator", ++++++++ "iterable", ++++++++ "iteration", ++++++++ "generator", ++++++++ "yield", ++++++++ "es6", ++++++++ "es2015", ++++++++ "typescript" ++++++++ ], ++++++++ "engines": { ++++++++ "node": ">=6.0" ++++++++ }, ++++++++ "author": "Harry Sarson ", ++++++++ "license": "MIT", ++++++++ "bugs": { ++++++++ "url": "https://github.com/harrysarson/chai-iterator/issues" ++++++++ }, ++++++++ "homepage": "https://github.com/harrysarson/chai-iterator", ++++++++ "peerDependencies": { ++++++++ "chai": "4.x" ++++++++ }, ++++++++ "devDependencies": { ++++++++ "chai": "4.1.2", ++++++++ "coveralls": "3.0.2", ++++++++ "mocha": "6.0.0", ++++++++ "nyc": "13.3.0", ++++++++ "xo": "0.24.0" ++++++++ }, ++++++++ "xo": { ++++++++ "esnext": false, ++++++++ "globals": [ ++++++++ "chai", ++++++++ "define", ++++++++ "module" ++++++++ ], ++++++++ "env": [ ++++++++ "mocha" ++++++++ ], ++++++++ "rules": { ++++++++ "no-unused-expressions": "off", ++++++++ "no-use-extend-native/no-use-extend-native": "off" ++++++++ } ++++++++ } ++++++++} diff --cc debian/tests/test_modules/chai-string/LICENSE index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..900e198 new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/chai-string/LICENSE @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,20 @@@@@@@@@ ++++++++The MIT License (MIT) ++++++++Copyright (c) 2013 Oleg Nechiporenko ++++++++ ++++++++Permission is hereby granted, free of charge, to any person obtaining a copy ++++++++of this software and associated documentation files (the "Software"), to deal ++++++++in the Software without restriction, including without limitation the rights ++++++++to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++++++++copies of the Software, and to permit persons to whom the Software is ++++++++furnished to do so, subject to the following conditions: ++++++++ ++++++++The above copyright notice and this permission notice shall be included in all ++++++++copies or substantial portions of the Software. ++++++++ ++++++++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++++++++EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++++++++MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++++++++IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, ++++++++DAMAGES OR OTHER LIABILITY, WHETHER IN AN 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. diff --cc debian/tests/test_modules/chai-string/chai-string.js index 0000000,0000000,0000000,0000000,0000000,0000000,0000000,0000000..669995d new file mode 100644 --- /dev/null +++ b/debian/tests/test_modules/chai-string/chai-string.js @@@@@@@@@ -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 -1,0 +1,317 @@@@@@@@@ ++++++++(function (plugin) { ++++++++ if (typeof require === "function" && typeof exports === "object" && typeof module === "object") { ++++++++ // NodeJS ++++++++ module.exports = plugin; ++++++++ } ++++++++ else { ++++++++ if (typeof define === "function" && define.amd) { ++++++++ // AMD ++++++++ define(function () { ++++++++ return plugin; ++++++++ }); ++++++++ } ++++++++ else { ++++++++ // Other environment (usually