[Pkg-javascript-devel] some progress towards packaging jest

Paolo Greppi paolo.greppi at libpf.com
Thu Sep 19 13:10:15 BST 2019


Hi,

it now builds on sid:
https://salsa.debian.org/js-team/node-jest/pipelines/73174

but there's still a lot to do:

1) turn on tests of course (it tests itself)

2) this lintian message is worth investigating:
P: node-jest-cli: image-file-in-usr-lib usr/lib/nodejs/jest-cli/build/assets/jest_logo.png

3) it needs a manpage for /usr/bin/jest

4) d/copyright is TODO

5) it should generate 6 additional binaries:
- node-jest-changed-files
- node-jest-environment-jsdom
- node-jest-get-type
- node-jest-resolve-dependencies
- node-jest-runner
- node-jest-snapshot

6) there are 12 modules in debian/node_modules/ - some of them are quite large:
SLOC    Directory       SLOC-by-Language (Sorted)
9422    rollup-plugin-node-builtins javascript=9422
5556    levelup         javascript=5547,sh=9
2317    level-js        javascript=2317
1610    level-filesystem javascript=1610
1552    buffer-es6      javascript=1552
646     rollup-plugin-node-globals javascript=646
425     babel-plugin-transform-inline-imports-commonjs javascript=425
187     process-es6     javascript=187
18      rollup-plugin-flow javascript=18
13      browserify-fs   javascript=13
4       string-length   javascript=4
3       astral-regex    javascript=3
string-length is also a run-time dep (see below)
BTW rollup-plugin-node-builtins is currently used for building node-mocha 4.1.0:
https://sources.debian.org/src/node-mocha/4.1.0+ds3-5/debian/node_modules/rollup-plugin-node-builtins/
(but that dependency is dropped in 6.2.0 which is in experimental)

7) probably it should be repackaged to exclude examples/react-native:
P: node-jest source: source-contains-prebuilt-java-object examples/react-native/android/gradle/wrapper/gradle-wrapper.jar
N: 
N:    The source tarball contains a prebuilt Java class file. These are often
N:    included by mistake when developers generate a tarball without cleaning
N:    the source directory first. If there is no sign this was intended,
N:    consider reporting it as an upstream bug as it may be a DFSG violation.
N:    
N:    Severity: pedantic, Certainty: possible
N:    
N:    Check: java, Type: binary, source

8) and finally assuming the 6 additional binaries are generated from this source, it would still be uninstallable because there are 8 missing run-time dependencies:
- node-import-local (>= 1.0.0)
- node-istanbul-api (>= 1.1.14)
- node-istanbul-lib-coverage (>= 1.1.1)
- node-istanbul-lib-instrument (>= 1.8.0)
- node-istanbul-lib-source-maps (>= 1.2.1)
- node-node-notifier (>= 5.2.1)
- node-realpath-native (>= 1.0.0)
- node-string-length (>= 2.0.0)
for none of these there's an ITP
if we update to v22.4.4 (the version required by yarnpkg) then these dependencies are still there
if we update to v24.9.0 (current) istanbul-api disappears (it is deprecated from upstream)
in both cases I haven't checked if there are new deps

Paolo



More information about the Pkg-javascript-devel mailing list