Skip to content

Conversation

kaxil
Copy link
Member

@kaxil kaxil commented Sep 24, 2025

Major Updates

  • Node.js: 10.x/16.x → 22.x LTS (latest stable)
  • Hugo: 0.58.3/0.91.2 → 0.150.0 (latest version)
  • Webpack: 4.x → 5.x (major version upgrade)
  • ESLint: 6.x → 9.x with modern flat config
  • All dependencies updated to latest stable versions

Infrastructure Changes

  • CI/CD: Updated GitHub Actions to use Node.js 22
  • Docker: Updated base image to Debian bookworm + Node.js 22
  • Pre-commit: Updated to Node.js 22.13.0 + latest hook versions

Build System Modernization

  • Webpack 5: Updated configs for asset modules and modern optimizations
  • Babel: Simplified config, removed deprecated plugins
  • ESLint: Migrated to flat config format (eslint.config.js)
  • Hugo: Fixed template compatibility issues for modern version

Security & Performance

  • Zero vulnerabilities (npm audit clean)
  • Added package-lock.json for dependency integrity
  • Modern browser targeting with ES2020+ support
  • Improved build performance and asset optimization

Template Fixes

  • Updated Hugo templates: .Site.IsServer → hugo.IsServer
  • Removed deprecated Google Analytics template references
  • Fixed webpack-dev-server configuration for Webpack 5

All functionality preserved - no user-facing changes expected. Build system fully tested and operational.

Closes: apache/airflow#45620

@kaxil kaxil force-pushed the modernize-deps branch 2 times, most recently from 44aa56c to 6db0bf0 Compare September 25, 2025 01:06
- Node.js: 10.x/16.x → 22.x LTS (latest stable)
- Hugo: 0.58.3/0.91.2 → 0.150.0 (latest version)
- Webpack: 4.x → 5.x (major version upgrade)
- ESLint: 6.x → 9.x with modern flat config
- All dependencies updated to latest stable versions

- CI/CD: Updated GitHub Actions to use Node.js 22
- Docker: Updated base image to Debian bookworm + Node.js 22
- Pre-commit: Updated to Node.js 22.13.0 + latest hook versions

- Webpack 5: Updated configs for asset modules and modern optimizations
- Babel: Simplified config, removed deprecated plugins
- ESLint: Migrated to flat config format (eslint.config.js)
- Hugo: Fixed template compatibility issues for modern version

- Zero vulnerabilities (npm audit clean)
- Added package-lock.json for dependency integrity
- Modern browser targeting with ES2020+ support
- Improved build performance and asset optimization

- Updated Hugo templates: .Site.IsServer → hugo.IsServer
- Removed deprecated Google Analytics template references
- Fixed webpack-dev-server configuration for Webpack 5

All functionality preserved - no user-facing changes expected.
Build system fully tested and operational.

Comment docker related pre-commits due to outage

Fix Hugo 0.135.0 deprecation warnings causing build failure

- Issue: languages.en.description on language top level deprecated in Hugo v0.112.0
- Fix: Moved description from [languages.en] to [languages.en.params]
- Impact: Follows Hugo multilingual configuration best practices

- Issue: .Site.IsServer deprecated in Hugo v0.120.0, removed in v0.136.0
- Fix: Updated remaining instances in theme files:
  * landing-pages/site/themes/docsy/layouts/partials/scripts.html
  * landing-pages/site/themes/docsy/layouts/partials/head-css.html
- Solution: .Site.IsServer → hugo.IsServer

Hugo 0.135.0 (updated in CI) treats these deprecation warnings as hard errors,
causing the build to fail with error building site: logged 1 error(s).

- ✅ Hugo build: No deprecation warnings or errors
- ✅ Full build: Webpack + Hugo pipeline working correctly
- ✅ Site generation: 104 pages built successfully
@kaxil kaxil requested review from gopidesupavan, jedcunningham and potiuk and removed request for gopidesupavan September 25, 2025 01:42
@kaxil kaxil marked this pull request as ready for review September 25, 2025 01:42
Copy link
Member

@gopidesupavan gopidesupavan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow nice, thanks for updating, should we test this on staging branch first?

@kaxil
Copy link
Member Author

kaxil commented Sep 25, 2025

Wow nice, thanks for updating, should we test this on staging branch first?

Yup, that's the plan. And will do that after 3.1.0 release later today

@kaxil
Copy link
Member Author

kaxil commented Sep 25, 2025

Staging looks good with 90b806f changes

@gopidesupavan and I have verified, merging it

@kaxil kaxil merged commit a80ecf8 into main Sep 25, 2025
1 check passed
@potiuk
Copy link
Member

potiuk commented Sep 26, 2025

Nice!

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.

Modernize build environment for airflow-site

3 participants