DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: monaco-editor 0.47.0+ds-1

Package Information

Descriptionbrowser based code editor

Monaco is the code editor that ships with VS Code. The engine is packaged separately, as monaco-editor-core; this package is the wrapper that adds the language workers and the language features on top of it, and is what applications normally depend on.

The editor is built for the browser: it is served as static files, or pulled apart by a bundler. This package holds the ES module tree, which is what package.json points at, in the place the Node.js module resolver looks for it.

Node.js is an event-based server-side JavaScript engine.

MaintainerDebian Javascript Maintainers <pkg-javascript-devel@lists.alioth.debian.org>
Changed ByEmfox Zhou <emfox@debian.org>
Sponsoremfox@debian.org
Distributionunstable
Architectureall
VCSgit: https://salsa.debian.org/js-team/monaco-editor.git (browse)
Closes#1150423
Trackerhttps://tracker.debian.org/pkg/monaco-editor
Uploaded12 days ago

New Package Report

.changes◂
Distributionunstable
DateMon, 26 Oct 2026 08:47:00 +0800
Sourcemonaco-editor
Version0.47.0+ds-1
Changed-ByEmfox Zhou <emfox@debian.org>
Architecturesource all
Changelog◂
monaco-editor (0.47.0+ds-1) unstable; urgency=medium
 .
   * Initial release. (Closes: #1150423)
.dsc◂
Componentmain
Package-Listlibjs-monaco-editor deb javascript optional arch=all
node-monaco-editor deb javascript optional arch=all
Sectionjavascript
Priorityoptional
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: monaco-editor
Source: https://github.com/microsoft/monaco-editor

Files: *
Copyright: 2016 - present Microsoft Corporation
License: Expat
Comment: src/language/typescript/lib/ is rebuilt at build time from Debian's
 node-typescript, and its typescriptServices.js is bundled into the installed
 ts.worker.js: that compiler is Apache-2.0 (text in
 /usr/share/common-licenses/Apache-2.0).  ThirdPartyNotices.txt quotes upstream's
 4.4.4, not the version shipped here.

Files: src/basic-languages/swift/swift.ts
Copyright: David Owens II
License: Expat

Files: src/basic-languages/postiats/postiats.ts
       src/basic-languages/postiats/postiats.test.ts
Copyright: Artyom Shalkhakov
License: Expat

Files: src/basic-languages/wgsl/wgsl.ts
       src/basic-languages/wgsl/wgsl.test.ts
Copyright: 2016 - present Microsoft Corporation
           Google LLC
License: Expat

Files: debian/*
Copyright: 2026 Emfox Zhou <emfox@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 0 blocker, 0 important, 0 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 12 days ago.

Report◂

DFSG NEW review for monaco-editor version 0.47.0+ds-1

Summary

  • Licensing is DFSG-compliant and debian/copyright is accurate: Yes
  • Packaging is of good quality: Yes
  • Issues: 0 blocker, 0 important, 0 minor
  • debian/watch: version 5
  • debian/copyright: machine-readable
  • Scan before the review: nothing found

Licensing

debian/copyright is DEP-5 (canonical Format:), and its stanzas match the tree: everything is Microsoft's MIT/Expat (LICENSE.txt, 'Copyright (c) 2016 - present Microsoft Corporation'), with the three files whose notices name another holder listed separately (swift.ts; postiats.ts/.test.ts; wgsl.ts/.test.ts), and debian/* by the packager. A full grep of the tree (Copyright/(C)/©/SPDX/GPL/LGPL/Apache/BSD/CC/public domain/All rights reserved/redistribution wordings) found no other holder and no other licence, and no non-free term. The five holders the scan missed appear only inside ThirdPartyNotices.txt, upstream's quoted third-party notices for components that are not in this source package (TypeScript's bundled third-party notices; and the HTML language service's W3C/js-beautify/Ionic data), so no stanza naming them belongs in this copyright. The one licence that does reach the binary - the Apache-2.0 TypeScript compiler rebuilt at build time from Debian's node-typescript - is stated in the Comment on Files: *, with the text in /usr/share/common-licenses (Policy 12.5).

Packaging

The packaging is unusually careful and current: debhelper compat 14 with debhelper-compat, Standards-Version 4.7.4 (= Policy 4.7.4.1), two arch:all packages correctly split (node-monaco-editor for the ESM tree in /usr/share/nodejs, libjs-monaco-editor symlinking it under /usr/share/javascript), Build-Depends covering everything the build copies from /usr/share/nodejs plus fonts-codicons (a hard Depends, because the installed tree symlinks its codicon.ttf), 3.0 (quilt) with six DEP-3 patches each explained in README.source, a complete debian/clean for everything the build generates, a hand-written autopkgtest whose assertions match what the build produces (81 languages = 80 basic + json; the four worker languages css/html/json/typescript), and README.source/README.Debian documenting the repack, the build and every difference from the upstream npm package. No policy violation, broken upgrade or user-visible defect was found.

Issues

None.

Verified ◂
  • debian/copyright read in full: DEP-5 with the canonical Format: URL; stanzas Files: * (Microsoft, Expat), swift.ts (David Owens II, Expat), postiats.ts + postiats.test.ts (Artyom Shalkhakov, Expat), wgsl.ts + wgsl.test.ts (Microsoft + Google LLC, Expat), debian/* (2026 Emfox Zhou, Expat), and one stand-alone Expat paragraph with the full text.
  • Inventory of the tree (336 files: src/, build/, test/, scripts/, docs/ and the root files), searched with gitignore:false. Every file carries the Microsoft MIT header (LICENSE.txt covers headerless configs/data such as package-lock.json, .prettierrc, src/basic-languages/mysql/keywords.mysql.txt); greps for Copyright, (C), ©, SPDX-License-Identifier, Licensed under, Permission is hereby granted, GNU/GPL/LGPL, Apache, Mozilla, BSD, public domain, All rights reserved found no other holder and no other licence anywhere.
  • ThirdPartyNotices.txt (the file the scan listed) is upstream's third-party notice document, i.e. text like the rest of the repository, MIT, covered by Files: *; it grants no rights and is not a licence for any other file. The five holders the scan missed are named only in the licence texts it quotes: Unicode, Inc (line 115), WHATWG (170), The Khronos Group (236) and W3C (267) inside its TypeScript/DefinitelyTyped sections, and Einar Lielmanis, Liam Newman, and contributors (290) for js-beautify; W3C-HTML5.1 and Ionic/Drifty Co. are quoted in the same way. None of that material is in this source package: the Unicode/WHATWG/W3C/Khronos/WebGL notices are part of TypeScript's notices (TypeScript is not shipped - the five generated files are excluded from the orig and rebuilt from Debian's node-typescript), and js-beautify/W3C-HTML5.1/Ionic belong to vscode-html-languageservice, which src/language/html only imports from the node-vscode-html-languageservice package. Case-insensitive greps of the whole tree find no WHATWG/W3C/Unicode-data/Khronos/js-beautify/Ionic material and no bundled third-party code at all.
  • The wording in ThirdPartyNotices.txt that looks restrictive ('Microsoft reserves all rights not expressly granted herein', the DefinitelyTyped paragraph mentioning 'the EULA for the Microsoft Product') is quoted notice text from Microsoft's Visual Studio/TypeScript distributions; it is not a licence grant or restriction for any file of this package, and no DefinitelyTyped files are shipped here.
  • src/basic-languages/swift/swift.ts ('Copyright (C) David Owens II, owensd.io. All rights reserved.') and src/basic-languages/postiats/postiats.ts + postiats.test.ts ('Copyright (c) Artyom Shalkhakov. All rights reserved.', MIT) are the holders its stanzas name. postiats.ts also carries the acknowledgement 'Based on the ATS/Postiats lexer by Hongwei Xi' - provenance, not a copyright notice; its author licenses it MIT and upstream records no third-party notice for it.
  • src/basic-languages/wgsl/wgsl.ts and wgsl.test.ts carry 'Copyright (c) Microsoft Corporation, Google LLC', as the stanza says.
  • No file that lacks its preferred form for modification is shipped: no minified JS, .jar/.class/.so/.dll/.pyc, no PDF, no font (the installed codicon.ttf is a symlink into fonts-codicons created by debian/node-monaco-editor.links), and the only images are upstream's docs/ (code-structure.dio.svg and out-folders.dio.svg are draw.io sources, debugging-*.gif and launch config.png screenshots).
  • TypeScript: the Apache-2.0 compiler is not in the source tree (src/language/typescript/lib/ holds only editor.worker.d.ts); debian/build.sh rebuilds it from Debian's node-typescript and ts.worker.js bundles it, which debian/copyright's Comment on Files: * states, pointing at /usr/share/common-licenses/Apache-2.0. Apache-2.0 requires no Built-Using (it does not require source availability), and the package ships ThirdPartyNotices.txt, satisfying its notice condition.
  • debian/control: compat 14 via debhelper-compat, Standards-Version 4.7.4 against Policy 4.7.4.1 (current), two Architecture: all packages, node-monaco-editor Depends fonts-codicons + ${misc:Depends}, libjs-monaco-editor Depends node-monaco-editor (= ${binary:Version}). Neither package needs a node-monaco-editor-core dependency: build-monaco-editor.ts's ESM_releasePlugins rewrites every non-relative import to a path inside the installed tree, so nothing is imported from that package at run time.
  • Build-Depends covers every module debian/build.sh copies from /usr/share/nodejs (esbuild, node-glob, node-jsonc-parser, node-typescript, node-vscode-css/html/json-languageservice, node-vscode-l10n, node-vscode-languageserver-textdocument/types, node-vscode-uri) plus fonts-codicons; the @types/node it compiles against comes with nodejs, which node-typescript Depends on. All names except node-monaco-editor-core exist in the archive lists.
  • debian/rules: dh $@ with overrides for build (sh debian/build.sh) and install. debian/clean lists every path generated outside out/ and node_modules/: following the tsc command's import graph (build-languages.ts, build-monaco-editor.ts, importTypescript.ts -> utils.ts, fs.ts, releaseMetadata.ts) and importTypescript's output (lib.ts, lib.index.ts, typescriptServices.js/.d.ts, typescriptServicesMetadata.ts), nothing is left unremoved, so a build produces no unrepresentable change. The other generated files are under out/ and node_modules/, both in debian/clean.
  • Check of debhelper at this level: dh_missing exits early when debian/tmp does not exist and no --sourcedir was given (so the --fail-missing default from compat 13 is harmless here); dh_compress only touches usr/share/{doc,man,info}, so the ES tree under /usr/share/nodejs is not compressed; dh_link accepts the package-root-relative paths used in the two .links files (leading slash optional) and writes the policy-conforming symlink.
  • debian/patches: six patches, all with DEP-3 Description/Origin/Forwarded headers, each one explained in debian/README.source and matching a documented build adaptation (sources under TypeScript 6; commit from the environment; no AMD tree; TypeScript from the packaged compiler; no prettier; bigger stack for tsc). None is obsolete or half-applied.
  • debian/tests/pkg-js/test: autopkgtest-pkg-nodejs with a hand-written script; its assertions agree with the build - 80 src/basic-languages//.contribution.ts plus json from the four advanced languages give 81 languages, and releaseMetadata.ts's merge by label puts the four worker languages in the order css, html, json, typescript the test expects, with pkg.module/pkg.typings created by build-monaco-editor.ts.
  • debian/README.source and debian/README.Debian document the repack (debian/get-orig-source), the Debian build, the two build-modules shims, the six patches, and every difference from the upstream npm package (no dev//min/ AMD tree, ES tree assembled by Debian, TypeScript version). The debian/rules get-orig-source target is no longer required (Policy 4.1.4, A10.18) but keeping it is not a fault.
  • debian/changelog: 0.47.0+ds-1, unstable, initial release closing an ITP; debian/source/format 3.0 (quilt); Vcs-Git/Vcs-Browser/Homepage point at the right places; Maintainer/Uploaders use the team's address as the rest of the archive does.
  • uscan found upstream releases with debian/watch; a newer upstream version is available (upstream 0.57.0, packaged 0.47.0+ds), which is not a fault of the package.
  • Every pointer of debian/copyright to /usr/share/common-licenses names a file that is there (Apache-2.0).
Not confirmed ◂
  • Nothing was built and no test was run (read-only review); the reasoning about the build, debian/clean and the autopkgtest is from reading debian/build.sh, the drivers and Debhelper sources on this system.
  • node-monaco-editor-core (Build-Depends >= 0.47.0, << 0.48) is in neither the archive lists nor ftp-master's NEW queue as seen from this system, presumably the sibling upload; its version constraint could not be resolved.
  • esbuild is not installed on this system, so it could not be checked that its binary package ships the node module at /usr/share/nodejs/esbuild that debian/build.sh copies and the drivers import.
  • fonts-codicons is not installed here, so that it installs its font at /usr/share/fonts/truetype/codicons/codicon.ttf (the target of debian/node-monaco-editor.links, per README.Debian) could not be confirmed.
  • The default MONACO_COMMIT in debian/build.sh (69991d66135e4a1fc1cf0b1ac4ad25d429866a0d) could not be compared with upstream's v0.47.0 tag without network access; it is what ends up as monacoCommitId in the installed package.json.
  • pkg-js-autopkgtest is not installed here, so the effect of debian/tests/pkg-js/SKIP (contents: 'require') could only be inferred: autodep8 generates a test literally named 'require' (pkg-js-autopkgtest-require) besides the default one, so the file appears to list generated tests to skip, not to disable debian/tests/pkg-js/test.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader was emailed about the review 12 days ago.

Review Information

accepted — allocated to awm 11 days ago, started 11 days ago, completed 11 days ago.

Final Comment

Other Reviews of this Package

VersionHashAllocatedCompletedReviewerStatusDetails
0.47.0+ds-1 b0d9ea76… 2026-10-26 05:30 2026-10-26 05:30 dfsg-uploader rejected VIEW
0.47.0+ds-1 bf6d4c5b… 2026-10-26 08:11 2026-10-26 08:11 dfsg-uploader rejected VIEW

Back to Dashboard | View all reviews for this package