Hi,

(Resending once more: two earlier attempts at this text did not reach the
bug log.  Apologies for the noise.)

I am taking this RFP over, so please read it as an ITP from now on.

* Package name    : node-sass
  Version         : 1.105.0
  Upstream Author : The Sass team (Google LLC)
* URL             : https://sass-lang.com/dart-sass
  Source          : https://github.com/sass/dart-sass
* License         : MIT
  Programming Lang: Dart, shipped as JavaScript (built with dart2js)

Dart Sass is the reference implementation of the Sass stylesheet language,
and the only one still maintained: Ruby Sass reached end of life in 2019,
and the LibSass family was declared end-of-life upstream on 2025-10-23
(its repository has had no commit since 2023-12).

Debian currently ships only the retired implementations -- libsass 3.6.5,
sassc 3.6.1, node-node-sass 9.0.0 and python3-libsass 0.23.0 -- and the
"sass" virtual package is provided solely by ruby-sass, whose own short
description reads "deprecated CSS compiler".  Anything using the modern
module system (@use / @forward), sass:math or CSS color spaces cannot be
built with what we have in the archive today.

Naming and packaging, for the record:

- Source and binary package: node-sass, following the JS Team's node-
  prefix convention for the npm module "sass".  (The existing
  node-node-sass is a different package: the npm module "node-sass",
  which is a binding for LibSass.)
- Architecture: all.  The shipped artifact is the dart2js output, so at
  run time it needs only nodejs; dart-sdk is a build dependency.  This
  keeps the package usable where dart-sdk is not available -- dart-sdk is
  currently amd64-only.
- I intend to ship /usr/bin/sass, which collides with ruby-sass (it
  installs /usr/bin/sass, /usr/bin/scss, /usr/bin/sass-convert and three
  man pages), so the package will carry "Conflicts: ruby-sass" together
  with "Replaces: ruby-sass".

Two things I would like the Debian Ruby Team to weigh in on:

1. If you would rather keep both installable, I can put /usr/bin/sass
   under update-alternatives instead of using Conflicts/Replaces.
2. Dart Sass has no equivalent of sass-convert (dropped upstream in Sass
   3.5), and its CLI is a single "sass" binary with no separate "scss"
   command.  Taking over /usr/bin/sass therefore means dropping
   sass-convert, and I need to decide whether to add a small "scss"
   wrapper or let it go.  Please say if anything in the archive relies on
   either of those.

Why now: this bug was blocked by #1140414 (dart-sdk).  That ITP has been
closed and dart-sdk 3.13.4+dfsg1-2 is now in unstable, so I have removed
the block.  I already have a working dart2js build of Dart Sass made with
Debian's own dart-sdk.

I will keep this bug updated, and the first upload will close it.

Regards,
Emfox Zhou

Reply via email to