Skip to content

chore(deps): upgrade gulp 4 -> 5#1270

Merged
mathuo merged 3 commits into
masterfrom
chore/upgrade-gulp
May 12, 2026
Merged

chore(deps): upgrade gulp 4 -> 5#1270
mathuo merged 3 commits into
masterfrom
chore/upgrade-gulp

Conversation

@mathuo
Copy link
Copy Markdown
Owner

@mathuo mathuo commented May 12, 2026

Summary

  • Bump gulp 4.0.2 → 5.0.1
  • Replace gulp-dart-sass (effectively abandoned since 2023, uses through2/chalk@2) with gulp-sass 6 + sass 1.99
    • Migration is one require-line change in packages/dockview-core/gulpfile.js
    • Same factory API (gulpSass(), gulpSass.logError); the new plugin takes the sass compiler as a constructor arg
    • Eliminates the Sass "legacy JS API" deprecation warnings that gulp-dart-sass was emitting on every build

gulp-concat stays — last published 2017 but stable, no deprecation noise.

Lockfile change

The yarn.lock shrinks significantly because gulp 5 replaces through2 with streamx and drops a long tail of legacy transitive deps; the gulp-dart-sass → gulp-sass swap further reduces that surface.

Remaining warning (not in scope)

After the swap, one Sass deprecation warning still surfaces during build:css:

2 │ @import 'theme/_space-mixin';

That's a source-level issue (Sass @import is being phased out in favor of @use), not a tooling issue. It was always being emitted but was drowned out by the JS-API warnings. Fix is a separate @import@use SCSS refactor.

Test plan

  • yarn install clean
  • yarn build — verify packages/dockview-core/dist/styles/dockview.css is produced
  • Diff the produced dockview.css against master — should be byte-identical (no compiler-output changes from the API-surface swap)

🤖 Generated with Claude Code

mathuo and others added 3 commits May 12, 2026 18:20
Only consumer is packages/dockview-core/gulpfile.js (SCSS -> CSS for
dockview.css). gulp-dart-sass and gulp-concat have no peer-dep on a
specific gulp version, so they're compatible as-is.

Yarn lockfile shrinks substantially (~1500 lines) because gulp 5
replaces through2 with streamx and drops a long tail of legacy
transitive deps.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
gulp-dart-sass has been effectively unmaintained since 2023 (still on
through2, chalk@2), and it's the source of the Sass "legacy JS API"
deprecation warnings — it calls the deprecated entry point internally.

gulp-sass 6 is the actively maintained drop-in: same factory API and
.logError handler, but it accepts the sass compiler as a constructor
argument and uses Sass's modern JS API. Migration is one require-line
change in packages/dockview-core/gulpfile.js.

Verified: build:css succeeds with no legacy-JS-API warnings. (A separate
@import-is-deprecated warning surfaces in theme/_space-mixin; that's an
SCSS-source issue, not part of this swap.)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mathuo mathuo merged commit 6b82001 into master May 12, 2026
4 checks passed
@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant