FlowFuse / FlowFuse/flowfuse

Upgrade sass-loader 16.0.6 → 17.0.0

Open
#7,982 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
400
Forks
89
Avg merge
1d 21h
Merged PRs (30d)
146

Description

# Upgrade sass-loader 16.0.6 → 17.0.0 (major)

Dependabot PR #to confirm. Dev dependency (`devDependencies`, `^16.0.2`, resolved 16.0.6); compiles `.scss` in the webpack build (`config/webpack.config.js`), both app SCSS and `node_modules` SCSS. Pulled out of the weekly Dependabot slot per the major-version process — needs an owner and verification, not a batch merge.

## Compatibility pre-check

- webpack: peer `^5.0.0`, ours `^5.88.2` ✅
- sass: peer `^1.3.0`, ours `^1.97.3` (resolved 1.101.0), modern API — legacy JS API removal does not apply ✅
- ✅ Node: engines `>= 22.11.0`; dev-only build tool, dev/CI default Node 24 satisfies it. Shipped `engines: >=20.10.0` unaffected. Ensure CI build lanes run Node ≥ 22.11.
- `api` now defaults to `"auto"` (single long-running compiler); we set no `api` option, so behavior changes — verify output ⚠️

## Breaking changes to review

- Minimum Node bumped to `22.11.0`.
- `node-sass` support removed (not used by us).
- Legacy Sass JS API support removed (we use modern `@use`).
- `api` option defaults to `"auto"`.
- Package is now `"type": "module"` with ESM + CJS `exports`.

## To do before merge

- [ ] Verify a production build compiles SCSS correctly (check the additionalData @use injection still works).
- [ ] Reconcile any dropped sass-loader options with our config.
- [ ] Read the 17.x changelog.

## Refs

- Branch: `dependabot/npm_and_yarn/sass-loader-17.0.0`
- PR: https://github.com/FlowFuse/flowfuse/pull/7452
- Upstream: https://github.com/webpack-contrib/sass-loader/releases/tag/v17.0.0

Contributor guide

Open the contributing guide

Research direction

Start with config/webpack.config.js and read the sass-loader 17.x changelog, then run a production build using the supported Node version. Verify that app and node_modules SCSS compile, the additionalData @use injection still works, and no sass-loader options need reconciliation before marking the checklist complete.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, sass
Domain
build-system, ci-cd
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.