Skip to content

chore: bump scaffold to Astro 6#4

Open
rjbeers wants to merge 21 commits into
mainfrom
v2
Open

chore: bump scaffold to Astro 6#4
rjbeers wants to merge 21 commits into
mainfrom
v2

Conversation

@rjbeers

@rjbeers rjbeers commented May 29, 2026

Copy link
Copy Markdown
  • Minimal Astro 5 → Astro 6 conversion
  • Latest devlink updates

paulvmoreau-webflow and others added 21 commits May 18, 2026 09:59
…nk features

- Updated webflow.json to adjust root directory and add telemetry settings.
- Refactored index.astro to replace webflow component imports with standard HTML elements.
- Introduced new DevLinkProvider and IX3Provider components for improved interactions.
- Added utility functions and styles for better component integration.
- Created new CSS files for global styles, variables, and normalization.
- Removed options object from the anchor tag in index.astro for cleaner code.
- Directly set the href attribute for improved readability.
The homepage in src/pages/index.astro imported Section, Container, Block,
and Link from ../../devlink/_Builtin/Basic. Those files are user-generated
by the DevLink export (which runs automatically after init), so a fresh
clone failed to build. This swap to native section/div/a elements lets
the project build out of the box, with styles kept in the existing
<style> block.

Layout.astro still imports DevLinkProvider and global.css from the
devlink directory — those resolve correctly once the auto-run export
populates ./devlink. Mirrors the equivalent change to the Next.js scaffold
in webflow/webflow-cli#589 and Webflow-Examples/hello-world-nextjs-devlink#2.

Also updated the docs link to /data-clients/docs/getting-started.
webflow.json's active config is `devlink-export.rootDir: "./webflow"`, so
the export populates ./webflow/ (project root), not ./devlink/. The
legacy `devlink` block is unused. Update Layout.astro to import from the
correct path:

- DevLinkProvider: ../../webflow/DevLinkProvider
- global.css: ../../webflow/css/global.css

Also update the example-import hint in index.astro to match.
- Deleted telemetry section from webflow.json for a cleaner configuration.
- Ensured the file maintains proper structure and formatting.
Drops the <style> block and inlines the equivalent styles directly on
the section, heading, paragraph, and link elements. Matches the inline-
style convention used for the same fix in hello-world-nextjs-devlink#2.
… setting

- Removed the treeShake setting from webflow.json for a more streamlined configuration.
- Maintained the overall structure and formatting of the file.
The exported global.css wraps every rule in @scope (.wf-devlink-<hash>),
so without an ancestor carrying that class, normalize and Webflow
defaults never match. DevLinkProvider is a React Context provider and
doesn't render any DOM wrapper, so the scope class was effectively
unreachable for native HTML in the page.

Imports DEVLINK_SCOPE_CLASS from the generated webflow/devlinkScope.ts
and applies it to <body>, so Webflow's normalize + defaults now cover
the whole page (including native HTML elements). The constant updates
automatically on each re-export, so the hash stays in sync.
- Added detailed steps for installing and configuring the Webflow CLI.
- Included commands for logging in, installing dependencies, and syncing Webflow components.
- Provided a link to the DevLink documentation for further reference.
- Deleted unused CSS files related to the previous DevLink configuration.
- Updated the DEVLINK_SCOPE_CLASS in devlinkScope.js to use a placeholder for site ID.
- Cleaned up global CSS imports to reflect the removal of obsolete styles.
CSS @scope matches descendants of the scope-root, not the scope-root
itself. With the class on <body>, rules like `body { background-color }`
inside @scope (.wf-devlink-<hash>) never matched body (body IS the
scope-root) — so body-level Webflow defaults (background, font-family,
font-size, color) never applied.

Moving the class to <html> makes body a descendant of the scope-root,
so all body and below selectors inside the scope now match. Verified
locally: `body` now picks up Arial 14px / #333 / #fff background from
defaults.css.
Mirrors the dark-mode handling in the Next.js scaffold's globals.css.
Without this, body falls back to Webflow defaults (background #fff,
color #333) even when the OS is in dark mode, so the page stays light
while the Next.js sibling switches to a dark background.

Adds --background / --foreground custom properties on :root with a
prefers-color-scheme: dark override, and applies them to body.
…omponent-imports

CLD-1736: Replace DevLink _Builtin imports with native HTML
- Eliminated the DEVLINK_SCOPE_CLASS import and its application to the <html> tag.
- This change simplifies the layout structure while maintaining the necessary Webflow styles through global CSS.
- Deleted multiple unused files including DevLinkProvider, IX3Provider, and associated utility modules.
- Cleaned up global CSS and font management components to streamline the project structure.
- This removal enhances maintainability by eliminating legacy code and unused dependencies.
Migrate hello-world-astro-devlink to DevLink v2 export
Minimal Astro 5 → Astro 6 conversion:

- package.json: bump astro to ^6.1.4, @astrojs/cloudflare to ^13.5.0,
  @astrojs/react to ^5.0.0. Add engines.node >=22.12.0 and
  overrides.vite ^7 (Astro 6 + @cloudflare/vite-plugin require vite v7).
- wrangler.json: drop the `main` field (@cloudflare/vite-plugin@1.37+
  validates main as an existing file before build runs; the plugin
  computes the entry itself for Astro 6 SSR output). Point assets.directory
  at ./dist/client to match the Astro 6 output layout.

webflow.json#devlink stays unchanged — the devlink integration config
is orthogonal to the Astro version bump.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 447f1cf1b2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread package.json
Comment on lines +20 to +24
"@astrojs/cloudflare": "^13.5.0",
"@astrojs/react": "^5.0.0",
"@types/react": "^19.1.2",
"@types/react-dom": "^19.1.2",
"astro": "^5.17.2",
"astro": "^6.1.4",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Update the lockfile with the Astro 6 dependency graph

These dependency bumps are not accompanied by a package-lock.json update; the committed lockfile still records the root package as @astrojs/cloudflare ^12.6.6, @astrojs/react ^4.2.5, and astro ^5.17.2. In clean Webflow/CI deployments that install from the lockfile with npm ci, the install is no longer reproducible for the Astro 6 scaffold and will have to resolve missing v13/v5/v6 package entries instead of using the committed dependency graph, which can block or skew builds. Please regenerate and commit the lockfile together with these version changes.

Useful? React with 👍 / 👎.

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.

3 participants