Skip to content

Use .tool-versions variables in getting-started prerequisites - #760

Merged
aram356 merged 2 commits into
mainfrom
docs/747-version-variables
Jun 8, 2026
Merged

Use .tool-versions variables in getting-started prerequisites#760
aram356 merged 2 commits into
mainfrom
docs/747-version-variables

Conversation

@aram356

@aram356 aram356 commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Fixes #747. Supersedes #758.

Problem

The Getting Started prerequisites listed Rust with a hardcoded version and omitted Node.js/npm entirely. Contributors without Node installed hit a confusing build.rs failure when the JS build runs during cargo build.

Approach

Rather than hardcode versions (which drift from the source of truth), this uses the version-substitution mechanism already present in docs/.vitepress/config.mts, which parses .tool-versions and replaces {{TOOL_VERSION}} placeholders at markdown-parse time.

Changes

File Change
docs/guide/getting-started.md Prerequisites now use {{RUST_VERSION}}, {{NODEJS_VERSION}}, and {{FASTLY_VERSION}}; adds NodeJS as an explicit prerequisite

Renders as:

  • Rust 1.91.1
  • NodeJS 24.12.0
  • Fastly 13.3.0 CLI installed

Versions now stay in sync with .tool-versions automatically — no future doc edits needed when toolchain versions bump.

Test plan

  • cd docs && npm run build — substitution renders real versions in dist/guide/getting-started.html
  • cd docs && npm run format — passes

Replace hardcoded versions in the Getting Started prerequisites with
{{RUST_VERSION}}, {{NODEJS_VERSION}}, and {{FASTLY_VERSION}} placeholders,
which the VitePress config substitutes from .tool-versions at build time.
Adds NodeJS as an explicit prerequisite so contributors install Node/npm
before the JS build runs.

Supersedes #758. Fixes #747.

@ChristianPavilonis ChristianPavilonis left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Automated Yesman review: I reviewed PR #760 and found no blocking correctness, security, data-loss, authorization, or severe compatibility issues. The new .tool-versions placeholders match the existing VitePress replacement logic and .tool-versions keys. I left one non-blocking docs navigation question inline.

Comment thread docs/guide/getting-started.md
@aram356
aram356 merged commit 7f7e0e5 into main Jun 8, 2026
13 checks passed
@aram356
aram356 deleted the docs/747-version-variables branch June 8, 2026 20:18
prk-Jr added a commit that referenced this pull request Jun 17, 2026
Brings PR15's main-merge progress (multi-backend asset proxy, S3 SigV4
signing, image optimizer primitive, DataDome server-side, settings/docs)
up into the PR16 axum dev-server branch.

Conflict resolutions:
- fastly/app.rs: keep captured tls_protocol/tls_cipher (PR16) plus
  ..ClientInfo::default() for PR15's new device-signal fields; single
  publisher import incl. buffer_publisher_response + BoundedWriter.
- fastly/main.rs: keep both the trusted x-ts-tls-* header injection (PR16)
  and derive_device_signals (PR15); drop the now-orphaned fastly-local
  resolve_publisher_response_buffered in favor of core buffer_publisher_response.
- core/proxy.rs: keep PR16's origin_response_metadata/
  apply_image_passthrough_metadata helper refactor (superset of PR15's inline
  image/pixel logic) and restore PR15 #754 IMAGE_FALLBACK_CONTENT_TYPE; union
  imports; web_time for EC clock, std SystemTime only at the chrono-bound s3
  sign_headers call.
- core/publisher.rs: dedupe the doubly-merged BoundedWriter, keeping the pub
  version the adapters import.
- core/platform/test_support.rs: merge both StubHttpClient field sets
  (concurrent_fanout + image-optimizer/stream/method/uri stubs).
- core/Cargo.toml: restore the wasm32-unknown-unknown uuid/getrandom js block
  the auto-merge dropped (required for the Cloudflare build).
- axum/cloudflare platform.rs: ..ClientInfo::default() and
  PlatformBackendSpec.host_header_override for the new fields.
- migration_guards.rs: ec/kv.rs and ec/rate_limiter.rs are now fully
  Fastly-free (required for the wasm32-unknown-unknown core build), so move
  them into checked_sources and drop the obsolete deferred-EC allowlist.
- docs/getting-started.md: template version vars (PR15 #760) + Fastly-optional
  framing (PR16 axum dev server).
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.

Ensure NPM Installation is included as a prerequisite to install Trusted Server

2 participants