Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement sass --embedded in pure JS mode #2325

Open
ntkme opened this issue Aug 30, 2024 · 1 comment · May be fixed by #2413
Open

Implement sass --embedded in pure JS mode #2325

ntkme opened this issue Aug 30, 2024 · 1 comment · May be fixed by #2413
Labels
enhancement JavaScript Issues particular to the Node.js distribution

Comments

@ntkme
Copy link
Contributor

ntkme commented Aug 30, 2024

There has been a few requests for BSD support on the sass-embedded-host-ruby:

The most reasonable solution seems to be implementing sass --embedded in pure JS mode so that we can run embedded compiler using Node.js runtime on platforms that Dart runtime has no support. Aside from BSD, this will also allow users of some minor CPU architecture to run embedded host.

The pure JS implementation should be very similar to the current Dart implementation:

  • Use synchronous compilation only for better performance.
  • Use Node.js worker threads to replace Dart isolates.
  • Use SyncMessagePort from embedded-host-node to replace Mailbox.
@nex3
Copy link
Contributor

nex3 commented Aug 30, 2024

I'm not opposed to this, and I'd definitely like to not be beholden to Dart's platform restrictions (which I've put some additional pressure on). Dart does also have increasingly real support for compiling to WASM, which might eventually make it possible to do this without a full Node.js runtime (if Wasmer ever adds GC support wasmerio/wasmer#357), so that's another avenue that could be worth investigating.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement JavaScript Issues particular to the Node.js distribution
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants