Skip to content

Conversation

@CamSoper
Copy link
Contributor

@CamSoper CamSoper commented Dec 15, 2025

Implementation Summary

Runtime Versions Updated

  • Node.js: 18.x → 22.x ✅
  • Go: 1.20.x → 1.25.x ✅
  • Hugo: 0.135.0 → 0.151.0 ✅

Dependencies Modernized

  • TypeScript: 4.9.5 → 5.7.2 (root/infrastructure)
  • markdownlint: 0.17.2 → 0.40.0 (with API updates)
  • http-server: 0.12.1 → 14.1.1
  • ~30+ packages updated to latest

Key Implementation Decisions

  • Left theme/Stencil dependencies untouched - theme is stable, avoiding unnecessary risk
  • ✅ Added transpileOnly: true to ts-loader for TypeScript 3.9 compatibility
  • ✅ Updated PurgeCSS API (purgeCSSPlugin) for v7.x
  • ✅ Updated markdownlint API (require("markdownlint/sync").lint) for v0.40
  • ✅ Set up Dependabot for automated dependency updates going forward

Approach: Conservative modernization - updated what needed updating (runtime versions + root/infra packages), preserved what was working (theme/Stencil).

Fixes #16259
Fixes #16274

Infrastructure updates:
- Upgrade Node.js from v18 to v22 (.nvmrc)
- Update GitHub Actions workflows to use Node 22
- Upgrade major dependencies:
  - AWS SDK: ^3.427.0 → ^3.738.0
  - Octokit: v18/v4 → v21/v8
  - postcss-purgecss: ^4.0.3 → ^7.0.0
- Update TypeScript configurations
- Update build tooling (webpack, etc.)

Markdownlint compatibility fixes:
- Fix markdownlint v0.40.0 API compatibility (markdownlint/sync)
- Implement hierarchical config system for flexible linting
- Permissive base config for blog/marketing/tutorials content
- Strict config for documentation (will be tuned separately)
- Disable rules added in v0.25.0-v0.40.0 to maintain compatibility

Build and lint now working with updated dependencies.

Fixes #16259

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
@claude

This comment was marked as resolved.

@pulumi-bot
Copy link
Collaborator

CamSoper and others added 2 commits December 15, 2025 22:22
Fixes peer dependency warnings from @algolia/autocomplete packages.
The search-insights package enables analytics tracking for Algolia
autocomplete features.

Resolves warnings introduced in dependency upgrade commit.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
Add explicit accountName property to satisfy Azure naming requirements.
Storage account names must match ^[a-z0-9]+$ (lowercase alphanumeric
only, no hyphens).

Without explicit accountName, Pulumi auto-generates a name that may
include hyphens from the stack name, causing validation errors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
@pulumi-bot
Copy link
Collaborator

@pulumi-bot
Copy link
Collaborator

@pulumi-bot
Copy link
Collaborator

@pulumi-bot
Copy link
Collaborator

@pulumi-bot
Copy link
Collaborator

@CamSoper CamSoper marked this pull request as ready for review December 17, 2025 01:03
@claude
Copy link
Contributor

claude bot commented Dec 17, 2025

Documentation Review - PR #16838

This is a comprehensive modernization PR that updates runtime versions, dependencies, and adds significant new documentation. The changes are well-structured and follow best practices.


Summary

Scope: Runtime version updates (Node.js 18→22, Go 1.20→1.25, Hugo 0.135→0.151), dependency modernization (~30+ packages), and a new 3,696-line BUILD-AND-DEPLOY.md documentation file.

Overall Assessment: ✅ Approved with minor suggestions

The PR successfully modernizes the build infrastructure while maintaining stability. The addition of BUILD-AND-DEPLOY.md is particularly valuable as it fulfills the requirement from the updated docs-review guidelines.


Strengths

  1. Excellent Documentation Addition: BUILD-AND-DEPLOY.md is comprehensive, well-structured, and exactly what the repository needs. It covers:

    • Architecture overview with ASCII diagrams
    • Local development workflows
    • Complete CI/CD pipeline documentation
    • Troubleshooting guides
    • Version management procedures
  2. Conservative Approach: Wisely left theme/Stencil dependencies untouched to avoid unnecessary risk.

  3. Dependabot Configuration: The new .github/dependabot.yml with grouped updates and proper ignore rules will help maintain dependencies going forward.

  4. Consistent Updates: All workflow files updated systematically with matching version numbers.

  5. Improved Tooling:

    • Updated markdownlint API to v0.40 (scripts/lint/lint-markdown.js:3)
    • Enhanced pre-commit hook with lint-staged (.husky/pre-commit:4)
    • Added .editorconfig for consistent formatting

Issues Found

Critical Issues

None found.

Style and Documentation Issues

1. BUILD-AND-DEPLOY.md: Date Format Inconsistency

Location: BUILD-AND-DEPLOY.md:3

The date format "2025-12-16" uses an unusual format. According to STYLE-GUIDE.md and Google Developer Documentation Style Guide, dates should use "Month DD, YYYY" format.

**Last Updated:** December 16, 2025

2. BUILD-AND-DEPLOY.md: Command Formatting

Location: BUILD-AND-DEPLOY.md:38-39

For consistency with the Google Developer Documentation Style Guide, commands in text should be formatted as inline code, not just in code blocks.

Current:

make serve                 # Start local server at http://localhost:1313
make serve-all            # Serve with asset rebuilding (webpack watch)

This is actually fine as-is in a code block, but ensure that when commands are referenced in prose paragraphs throughout the document, they use inline code formatting like make serve.

3. .editorconfig: Missing Trailing Newline

Location: .editorconfig:14

The file appears to be missing a trailing newline based on the style requirements in AGENTS.md ("Must always end with a newline").

Verify the file ends with a newline character.

4. Dependabot: Comment Could Be Clearer

Location: .github/dependabot.yml:21-23

The Prettier version pinning comment could be more specific about the issue.

      # Stay on Prettier v2.x due to v3.x performance regression
      # v3.x is 6x slower on large codebases (affects CI performance)
      # See BUILD-AND-DEPLOY.md "Dependencies and Versions" section for details

Verification Checklist

Spelling and grammar: No issues found
Links: N/A - No new content links in this PR
Content accuracy: Version numbers consistent across all files
Trailing newlines: Most files correct (.editorconfig needs verification)
Code examples: N/A - No new code examples
Files moved/renamed: None
Build/infrastructure changes: BUILD-AND-DEPLOY.md properly documents all changes ✅
Images/assets: N/A
Front matter: N/A
Cross-references: BUILD-AND-DEPLOY.md properly cross-references workflows and scripts
SEO: N/A - Infrastructure changes only


Version Consistency Check

All version updates are consistent across files:

  • Node.js 22.x: .nvmrc, all workflow files ✅
  • Go 1.25.x: .devcontainer, bucket-cleanup.yml, build-and-deploy.yml, pr-closed.yml, pulumi-cli.yml, scheduled-test.yml, scheduled-upgrade-programs.yml, testing-build-and-deploy.yml ✅
  • Hugo 0.151.0: .devcontainer, all workflow files ✅
  • GitHub Actions versions: Consistently upgraded (actions/checkout@v4, actions/setup-go@v5, etc.) ✅

Recommendations

  1. Consider adding to BUILD-AND-DEPLOY.md: A "Quick Start" section at the very top for developers who just want to get running (2-3 commands).

  2. EditorConfig scope: Consider adding patterns for .sh and .yml files to ensure consistent formatting for scripts and workflows.

  3. Documentation navigation: Consider adding BUILD-AND-DEPLOY.md to a Hugo front matter menu so it's discoverable from the website (optional, may be intentionally excluded).


Conclusion

This is a well-executed modernization PR. The infrastructure updates are systematic and consistent, and the addition of BUILD-AND-DEPLOY.md provides valuable documentation that will help future contributors and maintainers.

The minor style issues noted above are cosmetic and don't block merging. Great work on this comprehensive update!


Need additional reviews or fixes? Mention @claude and I'll be happy to help.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix CSS fingerprinting to happen after PurgeCSS Modernize build dependencies and standardize version management

2 participants