#1149081 ITP: dart-node-preamble -- Better node.js preamble for dart2js, use it in your build system

#1149081#5
Date:
2026-09-26 13:27:08 UTC
From:
To:
* Package name    : dart-node-preamble
  Version         : 2.0.2
  Upstream Author : Michael Bullington
* URL             : https://github.com/mbullington/node_preamble.dart
* License         : MIT and BSD-3-clause
  Programming Lang: Dart
  Description     : Better node.js preamble for dart2js, use it in your build system

 This is a build-time dependency of the Dart Sass compiler.

#1149081#10
Date:
2026-09-27 06:31:13 UTC
From:
To:
The Debian NEW review of dart-node-preamble 2.0.2-1 has been completed.

Decision: ACCEPTED
Reviewer: Andrew McMillan

Review comment:

Hi,

Issues found
============

1. Pre-built/minified JS shipped but not rebuildable in Debian (quality/reproducibility, borderline DFSG).

lib/preamble.min.js and the embedded minified string in lib/preamble.dart are generated by terser (see tool/minify.js, package.json, yarn.lock). terser is not a Build-Depends in debian/control and is not available in Debian, so debian/rules (dh $@ only) ships upstream's prebuilt artifacts without regenerating them. The debian/source/lintian-overrides suppresses source-contains-prebuilt-javascript-object on the grounds that the unminified lib/preamble.js is present as the preferred form of modification. That justification is valid, so this is not a DFSG violation — but it does mean the shipped minified output can't be reproduced from source during the Debian build.

2. debian/copyright's blanket dual-license is imprecise.

Files: * → License: Expat and BSD-3-clause asserts every file is under both licenses. In reality the two grants come from different copyright holders (LICENSE): the Dart-derived BSD code vs. Bullington's MIT work. A more accurate document would split or annotate the Dart-derived portion of lib/preamble.js/lib/preamble.dart as BSD-3-clause and note Bullington's additions as Expat. Not a DFSG problem, but a documentation-precision issue.

3. Shipped source files carry no license/copyright headers.

lib/preamble.js, lib/preamble.dart, and lib/preamble.min.js have no header; all attribution lives only in the top-level LICENSE (which is not itself installed by debian/install — coverage relies on the auto-installed debian/copyright).

4. debian/install ships preamble.min.js into the binary package.

lib usr/share/dart/packages/node_preamble/ installs the minified file wholesale. Acceptable given the override, but worth confirming consumers actually need it.


Thanks!

Full review details: https://dfsg-new-queue.debian.org/reviews/dart-node-preamble

#1149081#15
Date:
2026-09-27 07:00:21 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
dart-node-preamble, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1149081@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Emfox Zhou <emfox@debian.org> (supplier of updated dart-node-preamble package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sat, 26 Sep 2026 19:40:55 +0800
Source: dart-node-preamble
Binary: dart-node-preamble
Architecture: source all
Version: 2.0.2-1
Distribution: unstable
Urgency: medium
Maintainer: Emfox Zhou <emfox@debian.org>
Changed-By: Emfox Zhou <emfox@debian.org>
Description:
 dart-node-preamble - Better node.js preamble for dart2js, use it in your build system
Closes: 1149081
Changes:
 dart-node-preamble (2.0.2-1) unstable; urgency=medium
 .
   * Initial release. (Closes: #1149081)
Checksums-Sha1:
 0b0e1db7baa08e830f24af8600948df1cf7c5e4c 1969 dart-node-preamble_2.0.2-1.dsc
 557570ed3a6c5ec0ead909221bb514bd4d7979f7 6563 dart-node-preamble_2.0.2.orig.tar.gz
 2bf971059b6281807f9d7369c7c2539c06ab4ae6 2808 dart-node-preamble_2.0.2-1.debian.tar.xz
 55dc171d0d4ad96921d4e2ba6933a4d1932779a8 6696 dart-node-preamble_2.0.2-1_all.deb
 7bf137975c867ffd876379d0beb6b923e7178479 5529 dart-node-preamble_2.0.2-1_amd64.buildinfo
Checksums-Sha256:
 888bda0a6ea8273431052f2cc2e040e0682636c044140887eed1fb0a714380c8 1969 dart-node-preamble_2.0.2-1.dsc
 6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db 6563 dart-node-preamble_2.0.2.orig.tar.gz
 1310f76cfa424144a19bb70dedcb14c275df4cd7efdeb0e90e630bc1c70a6621 2808 dart-node-preamble_2.0.2-1.debian.tar.xz
 b23b7466cb4d6f6e4711c7a501e046dd465bf392e8e2405f53046f92de3f5198 6696 dart-node-preamble_2.0.2-1_all.deb
 33f4dd90f09dec5332fb66c9183d778f4719df2615658a17a82364c31dceff1c 5529 dart-node-preamble_2.0.2-1_amd64.buildinfo
Files:
 b6aef88d03a163ef315e54dcccd71371 1969 libs optional dart-node-preamble_2.0.2-1.dsc
 13ab0037dba776c8bf14732b1dc5cbc0 6563 libs optional dart-node-preamble_2.0.2.orig.tar.gz
 f903fc3c58a105931753c14b090f82e4 2808 libs optional dart-node-preamble_2.0.2-1.debian.tar.xz
 06cab35e412bc46e77e876d06991baf0 6696 libs optional dart-node-preamble_2.0.2-1_all.deb
 8f3c783f65d33b1262f301a23ebaae73 5529 libs optional dart-node-preamble_2.0.2-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEGSauJtItZVqOiaNpgImbv9t7vZQFAmq4irkACgkQgImbv9t7
vZR/2RAApbijHmgDdv4tLbvodz1l2D71saaxrLRKLa3ulHsEc2N7wVr/jlJ666Ds
X+0tWvcad4P81WKo2vXfbq8hK0y+aIGclMpe1m7U6lT6SdpWkHc4PhEMZCb62C8S
neQGDX5nA/2K/DvB7T6gbiHBPFkXVPq/x6R0vwnfBSPBWPLDZLctb23/iM6EHUsk
UkESFSlQT9eyBLR2/ZVY9voMTOBR2Yoi5g8CFQRZdHl3TqkfKWMkAIAzTmq7kX37
QnPw3dL/CH9GaInRk+jDTxhd8pe6ni9aj/TBw4I/Otd1dmAEmA8Ce1n80GdIE2TS
kxjoYl3A8vMX9AcOU7xLGJ/LkiynVlemX+LF47TY3ByK7dJMhnhRpPb7seR5RiP2
MQzXsqWldCAqPRmJugtoBuFfhoOffwBePXehT/EEJB46lFM3WUnYrLyBkxr1jrGW
r4KwxmDo6Eg27HoTscobY7BS/4GkdjYbqGmMtngmjlFSbaQuZPn9VQMTeQrdN1qX
1OJeLi96apdzFjYHLoO6Y3wVtngadM5fhAbhvRSN2j5eL2p/R+KzlfL7K+jjeSAI
Vr8d5cRumCnW02DOXrSTKUwxnhh4yZ0HwNWLTVK5EdJSPVllNOjSQ0vxm+t2Zgxk
59twMSa3K8gHcXZQRNtslfSwyi20/0hspWQkiGhBpnRcJnnVD3w=
=6bPK
-----END PGP SIGNATURE-----