node-cmdk 1.1.1+ds-1
Package Information
| Description | fast, composable, unstyled command menu React component cmdk is a high-performance, accessible, and fully customizable command menu component for React applications. It provides quick keyboard navigation, fuzzy searching, and flexible item composition without imposing any default styles. This package provides the cmdk command menu library for Node.js environments. |
|---|---|
| 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-cmdk.git (browse) |
| Closes | #1151619 |
| Tracker | https://tracker.debian.org/pkg/node-cmdk |
| Uploaded | 1 day ago |
New Package Report
.changes
| Changed-By | Andrew Lee (李健秋) <ajqlee@debian.org> |
|---|---|
| Architecture | source all |
| Distribution | unstable |
| Date | Fri, 06 Nov 2026 11:32:42 +0100 |
| Source | node-cmdk |
| Version | 1.1.1+ds-1 |
Changelog
node-cmdk (1.1.1+ds-1) unstable; urgency=medium . * Initial release. (Closes: #1151619)
.dsc
| Priority | optional |
|---|---|
| Component | main |
| Package-List | node-cmdk deb javascript optional arch=all |
| Section | javascript |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: cmdk Upstream-Contact: https://github.com/dip/cmdk/issues Source: https://github.com/pacocoursey/cmdk Files-Excluded: website Files: * Copyright: 2022 Paco Coursey License: Expat Files: debian/* Copyright: 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
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-cmdk version 1.1.1+ds-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: No
- Issues: 0 blocker, 1 important, 2 minor; 1 more from the model's own knowledge, under Not confirmed
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
The source is a single MIT (DEP-5 Expat) codebase: LICENSE.md is the MIT text for Paco Coursey 2022, and a whole-tree search for copyright/SPDX/licence wording found no other notice, no COPYING/NOTICE/AUTHORS file, no third-party licensed files and no built artefacts. debian/copyright is DEP-5 1.0 with Files: * and Files: debian/*, reproduces the Expat text in full, and Files-Excluded: website matches reality (the directory is in neither the orig tarball nor the tree). The only doubt is an in-tree scoring file that carries no notice at all (see Issues), which is flagged as unconfirmed; it does not make the licence terms non-free.
Packaging
The debhelper/nodejs packaging is broadly competent (compat 14, dh-sequence-nodejs, arch:all, ITP changelog, autopkgtest, no patches needed), but the binary package is broken for ESM consumers: the tsc-only build produces dist/index.js (CommonJS) while the installed cmdk/package.json advertises dist/index.mjs as module and as the exports.import target, so import 'cmdk' and bundlers fail. It also carries an unnecessary runtime dependency on the TypeScript compiler, and its upstream URLs disagree with the tarball actually packaged.
Issues
important packaging 1. Package installs no ESM entry point although cmdk/package.json exports ./dist/index.mjs ◂
- Files:
cmdk/package.json:6,14,debian/nodejs/build:11,27,debian/tests/pkg-js/test:4 - Basis: checked, in the package or with a reference tool
- Evidence: cmdk/package.json:
"module": "./dist/index.mjs"and"import": "./dist/index.mjs"; debian/nodejs/build:module: "CommonJS"...tsc --outDir dist --noCheck --skipLibCheck(the upstreamtsup srcbuild is never run:tsupis not in pkg-js-tools' @known_build_commands, /usr/share/perl5/Debian/Debhelper/Buildsystem/nodejs.pm). - Problem: The Debian build emits only dist/index.js and dist/index.d.ts. pkg-js-tools' install_module copies package.json verbatim and installs only package.json#files (["dist"]), so /usr/share/nodejs/cmdk/package.json points
moduleandexports.importat a file that does not exist.import { Command } from 'cmdk'then fails with ERR_MODULE_NOT_FOUND, and bundlers honouringmodule/exports.importfail to build. The autopkgtest only doesrequire('./dist/index.js'), so CJS passes and the breakage is invisible. - Fix: Produce the ESM build as upstream does (run tsup/rollup, or a second tsc pass emitting dist/index.mjs with rewritten imports), or patch cmdk/package.json to drop the
modulefield and pointexports.importat ./dist/index.js; addimport('cmdk')to debian/tests/pkg-js/test so the ESM path is exercised.
minor packaging 2. Runtime Depends on node-typescript, which is needed only to build ◂
- Files:
debian/control:28 - Basis: checked, in the package or with a reference tool
- Evidence: Depends: ...
node-typescript, - Problem: TypeScript is used only by debian/nodejs/build (
tsc); the installed module is plain dist/*.js plus .d.ts and needs no compiler at run time. Listing it in Depends makes every installation pull in node-typescript (24 MB) for nothing, and a relationship the code does not use is a defect under Policy 7.1. - Fix: Drop node-typescript from the binary Depends; keep it in Build-Depends.
minor packaging 3. Upstream URLs disagree: debian/copyright and Homepage say pacocoursey/cmdk, the tarball and upstream/metadata say dip/cmdk ◂
- Files:
debian/copyright:5,debian/control:16,debian/upstream/metadata:4 - Basis: checked, in the package or with a reference tool
- Evidence: debian/copyright
Source: https://github.com/pacocoursey/cmdk; debian/controlHomepage: https://github.com/pacocoursey/cmdk#readme; debian/upstream/metadataRepository: https://github.com/dip/cmdk.git; the orig tarball's root directory isdip-cmdk-fb4ea04/. - Problem: The files disagree about where the packaged code came from: the tarball was generated from github.com/dip/cmdk (the tarball root is dip-cmdk- and the metadata names it), while debian/copyright and Homepage name pacocoursey/cmdk. debian/copyright therefore does not record the source of the files it describes, and the DEP-12 metadata and Homepage point readers at different projects.
- Fix: Settle which repository is upstream. If dip/cmdk is a fork used for packaging, say so (e.g. a Comment in debian/copyright) and package from upstream's own release/tag; otherwise update Source/Homepage/metadata so all name the same repository.
Verified ◂
- debian/copyright read in full: DEP-5 1.0,
Files: *(Paco Coursey, Expat) andFiles: debian/*(Andrew Lee, Expat), standalone Expat text reproduced verbatim; Upstream-Name cmdk. - LICENSE.md is the MIT/Expat text,
Copyright (c) 2022 Paco Coursey;Copyright|(C)|©|SPDX-License-Identifier|Licensed under|GNU (Lesser) General Public|Apache License|Mozilla Public|public domain|All rights reservedsearched over the whole tree (all globs/greps with gitignore off, .pc/ skipped) matched only LICENSE.md, debian/copyright and one unrelatedonClick={(c) ...}hit. - Whole-tree inventory (44 files outside .pc/ and debian/): top-level config/docs, cmdk/{package.json,tsup.config.ts,src/}, test/{.test.ts,pages/*,style.css,next-env.d.ts,...}, .github/, .husky/. Only LICENSE.md is a licence file; no COPYING/NOTICE/AUTHORS; no images, fonts, PDFs, minified or built JS/bytecode in the tree. test/next-env.d.ts is the 4-line Next.js type-reference stub; cmdk/dist is absent (gitignored, generated by the build).
- Prescan listed no files and its author check found no holder missing from debian/copyright; nothing listed there is left unaccounted for.
Files-Excluded: websiteis accurate: the orig tarball (rootdip-cmdk-fb4ea04/) and the tree both lack website/; README.md:2 still references ./website/public/og.png, which is only a broken link and has no licensing consequence (pnpm-workspace.yaml also still lists 'website', harmless since no pnpm install is run).- Build/install flow checked against /usr/share/perl5/Debian/Debhelper/Buildsystem/nodejs.pm and Sequence/nodejs.pm: debian/nodejs/build is executed for the main dir (cd cmdk; tsc), the cmdk component's
tsup srcscript is skipped because tsup is not a known build command, install_module installs package.json#files (dist), the forced main file dist/index.js and cmdk/package.json into /usr/share/nodejs/cmdk; debian/rules removes the unwanted /usr/share/nodejs/cmdk-root afterwards. - Dependencies checked with apt-cache: node-react 18.3.1, node-react-dom 18.3.1~..., node-react-remove-scroll 2.7.2, node-typescript 6.0.3-2 all exist in unstable; Homepage, Vcs-Browser/Vcs-Git, Testsuite and Section fields are present and well formed.
- Packaging files: debhelper-compat 14, no debian/patches (nothing to be DEP-3 checked), changelog 1.1.1+ds-1 to unstable closing #1151619 with a valid date, source format 3.0 (quilt), autopkgtest via Testsuite: autopkgtest-pkg-nodejs with debian/tests/pkg-js/test; Standards-Version 4.7.4 against Policy 4.7.4.1.
- uscan found the packaged version as the newest upstream release (upstream
1.1.1, packaged1.1.1+ds).
Not confirmed ◂
- node-radix-ui appears neither in the archive's package lists nor among the uploads waiting in NEW, and nothing provides it; if it is not a virtual package provided by a radix upload, both Build-Depends and Depends are unsatisfiable. The related @radix-ui/react-compose-refs, react-dialog, react-id and react-primitive modules in debian/nodejs/extlinks are only covered if that one package ships all of them.
- The provenance of cmdk/src/command-score.ts could not be checked offline: no command-score source exists under /usr/share/nodejs to compare against, and nothing in the package states it (reported as a recalled issue above).
- Whether the tsc 6.0.3 in unstable accepts the generated tsconfig (
ignoreDeprecations: "6.0",module: "CommonJS",types: ["node",...]with @types/node only listed in extlinks) was not tested; the maintainer's own clean build is assumed to succeed. - Whether this is a fault: cmdk/src/command-score.ts carries no copyright notice though it appears to be vendored from the command-score package. The model reported it as a blocker licensing issue from its own knowledge of something outside the package, which it did not check with a tool, so it is not counted among the issues. Files:
cmdk/src/command-score.ts:1-5,debian/copyright:8-10.
Evidence: The file has no header at all, and its comments refer to another codebase:in the original, we used to do the lower-casing on each recursive callandallow duplicate letters. Ref #7428; the scoring constants (SCORE_CONTINUE_MATCH, PENALTY_CASE_MISMATCH, ...) are the ones of the npmcommand-scorepackage.
Problem: If this is copied fromcommand-score(MIT), its copyright notice and permission text must be retained and its holder named in debian/copyright;Files: *names only Paco Coursey. I could not check the file's origin offline (nothing named command-score exists in /usr/share/nodejs), so this is reported as unconfirmed.
Fix: Check the file's history in the upstream repository; if it is derived fromcommand-score, add aFiles: cmdk/src/command-score.tsstanza with its holder and licence and keep the upstream notice in the file. debian/watchlooks atgithub.com/dip/cmdk, but theSourcefield ofdebian/copyrightnamesgithub.com/pacocoursey/cmdk. Whether these are the same upstream was not checked.
Proposed changes ◂
None.
Uploader's response to the LLM review
The uploader was emailed about the review 1 day ago.