node-uplot 1.6.32+ds1-1
Package Information
| Description | small, fast chart for time series, lines, areas, ohlc & bars uPlot is a small, fast, and memory-efficient charting library designed for plotting time series, lines, areas, OHLC, and bar data using the HTML5 Canvas 2D context. It focuses intensely on performance and a minimal footprint, making it capable of rendering dense datasets smoothly with low resource utilization. |
|---|---|
| Maintainer | Debian Javascript Maintainers <pkg-javascript-devel@lists.alioth.debian.org> |
| Changed By | Andrew Lee (李健秋) <ajqlee@debian.org> |
| Sponsor | ajqlee@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/js-team/node-uplot.git (browse) |
| Closes | #1150751 |
| Tracker | https://tracker.debian.org/pkg/node-uplot |
| Uploaded | 2 days ago |
New Package Report
.changes
| Date | Tue, 13 Oct 2026 10:30:04 +0200 |
|---|---|
| Source | node-uplot |
| Version | 1.6.32+ds1-1 |
| Changed-By | Andrew Lee (李健秋) <ajqlee@debian.org> |
| Architecture | source all |
| Distribution | unstable |
Changelog
node-uplot (1.6.32+ds1-1) unstable; urgency=medium . * Initial package. (Closes: #1150751)
.dsc
| Section | javascript |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | node-uplot deb javascript optional arch=all |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: uplot Upstream-Contact: Leon Sorokin <leeoniya@gmail.com> Source: https://github.com/leeoniya/uPlot Files-Excluded: dist/*.js dist/*.css Files: * Copyright: 2022 Leon Sorokin <leeoniya@gmail.com> License: Expat Files: demos/lib/ASAP-optimized.js Copyright: 2014 Project Nayuki License: Expat Files: debian/* Copyright: 2026 Andrew Lee (李健秋) <ajqlee@debian.org> License: Expat 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.
DFSG Assistant LLM REVIEW 1 blocker, 1 important, 1 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 1 day ago.
Report
DFSG NEW review for node-uplot version 1.6.32+ds1-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: No - Packaging is of good quality: No
- Issues: 1 blocker, 1 important, 1 minor
- debian/watch: version 5
- debian/copyright: machine-readable
Licensing
debian/copyright is in DEP-5 format 1.0 and correctly documents the main library (Expat, Leon Sorokin) and demos/lib/ASAP-optimized.js, but it does not describe the vendored third-party files under demos/lib. In particular demos/lib/placement.min.js is a minified copy of the third-party MIT placement.js library, carries no copyright or licence notice, and is covered by the blanket Files: * stanza attributing it to Leon Sorokin. Several other files (uDSV.iife.min.js, sgg.js, ASAP-simple.js) and the Chartist.js/gist-derived paths in src/ are likewise unattributed. The licences involved are all free, so nothing is non-free, but debian/copyright is inaccurate and incomplete as required by Policy 12.5 and the machine-readable format.
Packaging
The packaging is mostly conventional and sensible (dh, buildsystem nodejs, DEP-5 copyright, autopkgtest-pkg-nodejs, valid Build-Depends), but debian/clean omits the generated file dist/uPlot.min.css that rollup.config.js writes on every build, which leaves the tree dirty and makes a source build (dpkg-buildpackage without -b/-B, or gbp buildpackage) fail against the 3.0 (quilt) orig tarball. The rest of debian/ (control, rules, changelog, gbp.conf, tests, upstream/metadata) is in order.
Issues
1. [blocker] [licensing] debian/copyright misattributes and omits vendored third-party files in demos/lib
- Files:
debian/copyright:9-11,demos/lib/placement.min.js:1,demos/lib/uDSV.iife.min.js:1,demos/lib/sgg.js:1,demos/lib/ASAP-simple.js:1 - Evidence: placement.min.js begins
// https://tobyzerner.github.io/placement.js/dist/index.jsfollowed by the whole minified body and contains noCopyrightor licence text; uDSV.iife.min.js begins/*! https://github.com/leeoniya/uDSV (v0.5.3) */; sgg.js begins// https://github.com/mljs/savitzky-golay-generalized; debian/copyright hasFiles: */Copyright: 2022 Leon Sorokin <leeoniya@gmail.com>/License: Expat. - Problem: The
Files: *stanza assigns every file outside debian/ - including these vendored files - to Leon Sorokin under Expat. demos/lib/placement.min.js is a minified copy of the third-party MIT-licensed placement.js (per the URL), so its copyright holder is not Leon Sorokin and the Expat notice, which the licence requires be preserved in all copies, is absent from the file; it is also shipped only in minified form without its source. uDSV.iife.min.js and sgg.js likewise come from other projects, and ASAP-simple.js carries no copyright or licence statement at all. These files are part of the source package Debian distributes, so Policy 12.5 and the machine-readable copyright format require debian/copyright to name their holders and licences (and the corresponding stanzas from the other Projects' stanzas to be broken out). - Fix: Give each vendored file its own Files stanza with the correct copyright holder and licence (with the notice text), or, since they are demo-only vendored bundles, exclude them from the tarball (add them to Files-Excluded and repack) and make debian/copyright say so. Do not leave them under the blanket Leon Sorokin stanza.
2. [important] [packaging] debian/clean omits the generated dist/uPlot.min.css
- Files:
debian/clean:1,rollup.config.js:14 - Evidence: rollup.config.js:14
fs.writeFileSync('./dist/uPlot.min.css', minicss);executes unconditionally whenever rollup loads the config; debian/clean contains onlydist/*.js. - Problem: The build (debian/nodejs/build runs
rollup -c --bundleConfigAsCjs, which the nodejs buildsystem runs in the source tree) generates dist/uPlot.esm.js, uPlot.cjs.js, uPlot.iife.js, uPlot.iife.min.js and dist/uPlot.min.css. Only the *.js files are cleaned, so dist/uPlot.min.css is left behind after the build. Building the source package (dpkg-buildpackage without -b/-B, orgbp buildpackage, which this package's debian/gbp.conf configures) then fails: the 3.0 (quilt) format refuses a non-empty diff against the orig tarball (see dpkg-source(1), 'Building' for 3.0 (quilt): 'When the diff is non-empty, the build fails unless --single-debian-patch or --auto-commit has been used'). It also leaves the working tree dirty and would ship the file if dist/ is installed. - Fix: Add
dist/*.css(ordist/*.min.css) to debian/clean so the generated CSS is removed like the generated JS.
3. [minor] [licensing] Third-party code adapted into src/ is not attributed
- Files:
src/paths/monotoneCubic.js:7,src/paths/catmullRomCentrip.js:8 - Evidence: monotoneCubic.js:7-8
// Monotone Cubic Spline interpolation, adapted from the Chartist.js implementation:+ a github.com/gionkunz/chartist-js URL; catmullRomCentrip.js:8// adapted from https://gist.github.com/nicholaswmin/c2661eb11cad5671d816 (MIT). - Problem: Both files are covered only by the blanket
Files: *stanza (Leon Sorokin/Expat). The Expat/MIT terms require the original copyright and permission notice to be retained for derived code, so the upstream holders (Chartist.js and the gist author) should be recorded. The licences are compatible, so this is a completeness/accuracy matter, not a DFSG violation. - Fix: Add the upstream copyright holders and the applicable notice to debian/copyright (e.g. a Files stanza for src/paths/monotoneCubic.js), or note the adaptations there.
Verified
- debian/copyright is machine-readable (DEP-5) with an exact
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/first line; every stanza, the standalone Expat paragraph andFiles-Excluded:were read. - Full file inventory taken with glob; greps for Copyright/(C)/©/SPDX/Licensed under/Permission is hereby granted/GNU/Apache/MPL/public domain/All rights reserved and for adapted/ported/based on/min.js across the whole tree (excluding .pc/), and LICENSE (upstream) plus docs/README.md, README.md and package.json read.
- Every demos/lib/*.js header read; demos/lib/placement.min.js, uDSV.iife.min.js and sgg.js confirmed from their first lines and checked to contain no copyright/licence text.
- debian/control, rules, changelog, clean, gbp.conf, source/format, nodejs/build, nodejs/extlinks, tests/pkg-js/test and upstream/metadata read; no debian/patches directory exists.
- Build-Depends names checked against the archive: debhelper 14.5 provides dh-sequence-single-binary, dh-nodejs 0.17.13 provides dh-sequence-nodejs, rollup 3.30.0 and node-rollup-plugin-terser 7.0.2 exist. Standards-Version 4.7.4 vs current Policy 4.7.4.1 is not a problem.
- Binary/other files recorded by name and not opened: dist/uPlot.d.ts (text), img/.png, uPlot.png, perf.png, demos/data/.csv|json, bench/data.json, bench/results.json.
- uscan found the packaged version as the newest upstream release (upstream
1.6.32, packaged1.6.32+ds1).
Not confirmed
- Whether demos/ and bench/ (and hence the vendored files in demos/lib) are installed into the binary package: this depends on pkg-js-tools/dh-nodejs, which is not installed on the reviewing system, and I could not read its install rules. They are definitely present in the source package, which is what the copyright finding rests on.
- Whether Debian's node-rollup-plugin-terser 7.0.2 provides the '@rollup/plugin-terser' import used by rollup.config.js: the package's Provides list (node-ascjs, node-smob) is consistent with @rollup/plugin-terser, and debian/nodejs/extlinks names '@rollup/plugin-terser', so the mapping probably exists, but I could not confirm it; a build would show it.
Proposed changes
None.