[Pkg-javascript-devel] Bug#1081413: bookworm-pu: package node-tap/16.3.2+ds1+~cs50.8.16-1+deb12u1

Jérémy Lal kapouer at melix.org
Wed Sep 11 14:18:52 BST 2024


Package: release.debian.org
Severity: normal
Tags: bookworm
X-Debbugs-Cc: node-tap at packages.debian.org
Control: affects -1 + src:node-tap
User: release.debian.org at packages.debian.org
Usertags: pu


[ Reason ]
FTBFS

[ Impact ]
node-tap's own typescript testsuite.
Users packages using system-installed node-tap will get better
support for their testsuites if written in typescript.

[ Tests ]
Tests were failing during build and autopkgtests because of
node-tap was missing that patch.

[ Risks ]
A testsuite of a typescript package run using node-tap might
trip on the flags. It shouldn't, because the patch should be
backward-compatible, and that was the case when it was in testing.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
A patch that modifies bin/run.js to fix flags when --ts-node
flag is detected on a typescript file. 
-------------- next part --------------
diff -Nru node-tap-16.3.2+ds1+~cs50.8.16/debian/changelog node-tap-16.3.2+ds1+~cs50.8.16/debian/changelog
--- node-tap-16.3.2+ds1+~cs50.8.16/debian/changelog	2022-11-24 18:03:31.000000000 +0100
+++ node-tap-16.3.2+ds1+~cs50.8.16/debian/changelog	2024-09-11 14:16:07.000000000 +0200
@@ -1,3 +1,10 @@
+node-tap (16.3.2+ds1+~cs50.8.16-1+deb12u1) bookworm; urgency=medium
+
+  * Backport patch to support tsnode imports by default.
+    Closes: #1078897.
+
+ -- J?r?my Lal <kapouer at melix.org>  Wed, 11 Sep 2024 14:16:07 +0200
+
 node-tap (16.3.2+ds1+~cs50.8.16-1) unstable; urgency=medium
 
   * Team upload
diff -Nru node-tap-16.3.2+ds1+~cs50.8.16/debian/gbp.conf node-tap-16.3.2+ds1+~cs50.8.16/debian/gbp.conf
--- node-tap-16.3.2+ds1+~cs50.8.16/debian/gbp.conf	2022-11-24 18:03:31.000000000 +0100
+++ node-tap-16.3.2+ds1+~cs50.8.16/debian/gbp.conf	2024-09-11 14:16:07.000000000 +0200
@@ -1,4 +1,5 @@
 [DEFAULT]
+debian-branch = debian/bookworm
 pristine-tar=True
 component=['module-bind-obj-methods', 'module-fs-exists-cached', 'module-function-loop', 'module-own-or', 'module-own-or-env', 'module-trivial-deferred', 'module-isaacs-import-jsx', 'module-caller-path', 'module-caller-callsite', 'module-findit', 'module-jackspeak', 'module-libtap', 'module-async-hook-domain', 'module-tcompare', 'types-tap']
 
diff -Nru node-tap-16.3.2+ds1+~cs50.8.16/debian/patches/series node-tap-16.3.2+ds1+~cs50.8.16/debian/patches/series
--- node-tap-16.3.2+ds1+~cs50.8.16/debian/patches/series	2022-11-24 18:03:31.000000000 +0100
+++ node-tap-16.3.2+ds1+~cs50.8.16/debian/patches/series	2024-09-11 14:16:07.000000000 +0200
@@ -6,3 +6,4 @@
 #x2
 #x11
 export-package.json
+support-tsnode-by-default.patch
diff -Nru node-tap-16.3.2+ds1+~cs50.8.16/debian/patches/support-tsnode-by-default.patch node-tap-16.3.2+ds1+~cs50.8.16/debian/patches/support-tsnode-by-default.patch
--- node-tap-16.3.2+ds1+~cs50.8.16/debian/patches/support-tsnode-by-default.patch	1970-01-01 01:00:00.000000000 +0100
+++ node-tap-16.3.2+ds1+~cs50.8.16/debian/patches/support-tsnode-by-default.patch	2024-09-11 14:16:07.000000000 +0200
@@ -0,0 +1,32 @@
+Description: Support ts-node by default
+ However in node < 18.19, both
+ -r ts-node/register
+ --loader ts-node/esm
+ would compile twice.
+ Probably ts-node acting up, but much easier to avoid here.
+Author: J?r?my Lal <kapouer at melix.org>
+Last-Update: 2023-12-12
+Forwarded: no
+--- a/bin/run.js
++++ b/bin/run.js
+@@ -679,7 +679,7 @@
+       if (options.flow && flowNode)
+         options['node-arg'].push('-r', flowNode)
+ 
+-      if (options.ts && tsNode && /\.tsx?$/.test(file)) {
++      if (tsNode && /\.([mc]?ts|tsx?)$/.test(file)) {   
+         debug('typescript file', file)
+         const compilerOpts = JSON.parse(env.TS_NODE_COMPILER_OPTIONS || '{}')
+         if (options.jsx)
+@@ -695,6 +695,11 @@
+           file,
+           ...options['test-arg']
+         ]
++        if (args.includes('ts-node/esm')) {
++          args.unshift('--experimental-modules')
++          args.splice(args.indexOf('--loader'), 1);
++          args.splice(args.indexOf('ts-node/esm'), 1);
++        }
+         tap.spawn(node, args, opt, file)
+       } else if (options.jsx && /\.jsx$/.test(file)) {
+         debug('jsx file', file)


More information about the Pkg-javascript-devel mailing list