Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix HMR in MDX deps in Content Collections #9956

Merged
merged 9 commits into from Feb 6, 2024
Merged

Fix HMR in MDX deps in Content Collections #9956

merged 9 commits into from Feb 6, 2024

Conversation

matthewp
Copy link
Contributor

@matthewp matthewp commented Feb 2, 2024

Changes

  • Hopefully fixes CSS updates require a dev server restart in Starlight #9794
    • Definitely fixes a test case provided there
  • The underlying issue is that the virtual propagated asset modules depend on the underlying MDX modules, but they also depend on their underlying assets which we get with getStylesForURL, etc. But these things are not "reactive" to changes in the module.
  • This is all caused because Vite has "soft invalidation" of dependencies, the propagated asset module is not invalidated when parents change. This is correct and expected.
  • The fix is to make grabbing the assets a function call, rather than a static thing that's compiled into the module definitions. This means every time entry.render() is called in dev, it gets fresh set of styles/scripts, so it should always be right.

Testing

  • Added a new E2E test

Docs

N/A, bug fix

Copy link

changeset-bot bot commented Feb 2, 2024

🦋 Changeset detected

Latest commit: 2709497

The changes in this PR will be included in the next version bump.

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions github-actions bot added the pkg: astro Related to the core `astro` package (scope) label Feb 2, 2024
@matthewp
Copy link
Contributor Author

matthewp commented Feb 2, 2024

!preview cc-hmr

Copy link
Contributor

github-actions bot commented Feb 2, 2024

Snapshots have been released for the following packages:

  • astro@experimental--cc-hmr
Publish Log
🦋  warn ===============================IMPORTANT!===============================
🦋  warn Packages will be released under the experimental--cc-hmr tag
🦋  warn ----------------------------------------------------------------------
🦋  info npm info astro
🦋  info npm info @astrojs/prism
🦋  info npm info @astrojs/rss
🦋  info npm info create-astro
🦋  info npm info @astrojs/alpinejs
🦋  info npm info @astrojs/lit
🦋  info npm info @astrojs/markdoc
🦋  info npm info @astrojs/mdx
🦋  info npm info @astrojs/node
🦋  info npm info @astrojs/partytown
🦋  info npm info @astrojs/preact
🦋  info npm info @astrojs/react
🦋  info npm info @astrojs/sitemap
🦋  info npm info @astrojs/solid-js
🦋  info npm info @astrojs/svelte
🦋  info npm info @astrojs/tailwind
🦋  info npm info @astrojs/vercel
🦋  info npm info @astrojs/vue
🦋  info npm info @astrojs/internal-helpers
🦋  info npm info @astrojs/markdown-remark
🦋  info npm info @astrojs/telemetry
🦋  info npm info @astrojs/underscore-redirects
🦋  info npm info @astrojs/upgrade
🦋  info astro is being published because our local version (0.0.0-cc-hmr-20240202221650) has not been published on npm
🦋  warn @astrojs/prism is not being published because version 3.0.0 is already published on npm
🦋  warn @astrojs/rss is not being published because version 4.0.4 is already published on npm
🦋  warn create-astro is not being published because version 4.7.2 is already published on npm
🦋  warn @astrojs/alpinejs is not being published because version 0.4.0 is already published on npm
🦋  warn @astrojs/lit is not being published because version 4.0.1 is already published on npm
🦋  warn @astrojs/markdoc is not being published because version 0.8.3 is already published on npm
🦋  warn @astrojs/mdx is not being published because version 2.1.1 is already published on npm
🦋  warn @astrojs/node is not being published because version 8.2.0 is already published on npm
🦋  warn @astrojs/partytown is not being published because version 2.0.4 is already published on npm
🦋  warn @astrojs/preact is not being published because version 3.1.0 is already published on npm
🦋  warn @astrojs/react is not being published because version 3.0.9 is already published on npm
🦋  warn @astrojs/sitemap is not being published because version 3.0.5 is already published on npm
🦋  warn @astrojs/solid-js is not being published because version 4.0.1 is already published on npm
🦋  warn @astrojs/svelte is not being published because version 5.0.3 is already published on npm
🦋  warn @astrojs/tailwind is not being published because version 5.1.0 is already published on npm
🦋  warn @astrojs/vercel is not being published because version 7.1.0 is already published on npm
🦋  warn @astrojs/vue is not being published because version 4.0.8 is already published on npm
🦋  warn @astrojs/internal-helpers is not being published because version 0.2.1 is already published on npm
🦋  warn @astrojs/markdown-remark is not being published because version 4.2.1 is already published on npm
🦋  warn @astrojs/telemetry is not being published because version 3.0.4 is already published on npm
🦋  warn @astrojs/underscore-redirects is not being published because version 0.3.3 is already published on npm
🦋  warn @astrojs/upgrade is not being published because version 0.2.2 is already published on npm
🦋  info Publishing "astro" at "0.0.0-cc-hmr-20240202221650"
🦋  success packages published successfully:
🦋  astro@0.0.0-cc-hmr-20240202221650
🦋  Creating git tag...
🦋  New tag:  astro@0.0.0-cc-hmr-20240202221650
Build Log

> root@0.0.0 build /home/runner/work/astro/astro
> turbo run build --filter=astro --filter=create-astro --filter="@astrojs/*" --filter="@benchmark/*"

• Packages in scope: @astrojs/alpinejs, @astrojs/cloudflare, @astrojs/internal-helpers, @astrojs/lit, @astrojs/markdoc, @astrojs/markdown-remark, @astrojs/mdx, @astrojs/netlify, @astrojs/node, @astrojs/partytown, @astrojs/preact, @astrojs/prism, @astrojs/react, @astrojs/rss, @astrojs/sitemap, @astrojs/solid-js, @astrojs/svelte, @astrojs/tailwind, @astrojs/telemetry, @astrojs/underscore-redirects, @astrojs/upgrade, @astrojs/vercel, @astrojs/vue, @benchmark/timer, astro, create-astro
• Running build in 26 packages
• Remote caching enabled
::group::@astrojs/prism:build
cache hit, suppressing logs c6a08f5d2884f118
::endgroup::
::group::create-astro:build
cache hit, suppressing logs c2be32fb030ba287
::endgroup::
::group::@astrojs/internal-helpers:build
cache hit, suppressing logs 03a8ae090e2d0c36
::endgroup::
::group::@astrojs/markdown-remark:build
cache hit, suppressing logs 300461ca48a0856b
::endgroup::
::group::@astrojs/upgrade:build
cache hit, suppressing logs 793464135921901a
::endgroup::
::group::@astrojs/telemetry:build
cache miss, executing c268bec8cf870b93

> @astrojs/telemetry@3.0.4 build /home/runner/work/astro/astro/packages/telemetry
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::astro:build
cache miss, executing 25d8ec0e461e31fb

> astro@0.0.0-cc-hmr-20240202221650 build /home/runner/work/astro/astro/packages/astro
> pnpm run prebuild && astro-scripts build "src/**/*.{ts,js}" && tsc && pnpm run postbuild


> astro@0.0.0-cc-hmr-20240202221650 prebuild /home/runner/work/astro/astro/packages/astro
> astro-scripts prebuild --to-string "src/runtime/server/astro-island.ts" "src/runtime/client/{idle,load,media,only,visible}.ts"


> astro@0.0.0-cc-hmr-20240202221650 postbuild /home/runner/work/astro/astro/packages/astro
> astro-scripts copy "src/**/*.astro" && astro-scripts copy "src/**/*.wasm"

::endgroup::
::group::@astrojs/lit:build
cache miss, executing 633d78cdc293d8e2

> @astrojs/lit@4.0.1 build /home/runner/work/astro/astro/packages/integrations/lit
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@benchmark/timer:build
cache miss, executing 64f64d4e3671f60f

> @benchmark/timer@0.0.0 build /home/runner/work/astro/astro/benchmark/packages/timer
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/partytown:build
cache miss, executing 30a55a8aec2c3714

> @astrojs/partytown@2.0.4 build /home/runner/work/astro/astro/packages/integrations/partytown
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/rss:build
cache miss, executing 5cb1c2ab1fc94b56

> @astrojs/rss@4.0.4 build /home/runner/work/astro/astro/packages/astro-rss
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/vercel:build
cache miss, executing 4ec04c9093e82d71

> @astrojs/vercel@7.1.0 build /home/runner/work/astro/astro/packages/integrations/vercel
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/solid-js:build
cache miss, executing d3993617a1f1935c

> @astrojs/solid-js@4.0.1 build /home/runner/work/astro/astro/packages/integrations/solid
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/preact:build
cache miss, executing d9eba07067291624

> @astrojs/preact@3.1.0 build /home/runner/work/astro/astro/packages/integrations/preact
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/markdoc:build
cache miss, executing e5a852b0fcca1a3f

> @astrojs/markdoc@0.8.3 build /home/runner/work/astro/astro/packages/integrations/markdoc
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/tailwind:build
cache miss, executing 4bec041a9514cb53

> @astrojs/tailwind@5.1.0 build /home/runner/work/astro/astro/packages/integrations/tailwind
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/svelte:build
cache miss, executing 36348db131a01bf2

> @astrojs/svelte@5.0.3 build /home/runner/work/astro/astro/packages/integrations/svelte
> astro-scripts build "src/index.ts" && astro-scripts build "src/editor.cts" --force-cjs --no-clean-dist && tsc

::endgroup::
::group::@astrojs/alpinejs:build
cache miss, executing 14bde603d74509a1

> @astrojs/alpinejs@0.4.0 build /home/runner/work/astro/astro/packages/integrations/alpinejs
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/react:build
cache miss, executing 7e7debb60d572878

> @astrojs/react@3.0.9 build /home/runner/work/astro/astro/packages/integrations/react
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/underscore-redirects:build
cache miss, executing e4f49aecc9507b04

> @astrojs/underscore-redirects@0.3.3 build /home/runner/work/astro/astro/packages/underscore-redirects
> astro-scripts build "src/**/*.ts" && tsc -p tsconfig.json

::endgroup::
::group::@astrojs/mdx:build
cache miss, executing 4bbc3a9b9687beef

> @astrojs/mdx@2.1.1 build /home/runner/work/astro/astro/packages/integrations/mdx
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/node:build
cache miss, executing e80eda152a426665

> @astrojs/node@8.2.0 build /home/runner/work/astro/astro/packages/integrations/node
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/vue:build
cache miss, executing 5dc4651cf0acc1f7

> @astrojs/vue@4.0.8 build /home/runner/work/astro/astro/packages/integrations/vue
> astro-scripts build "src/index.ts" && astro-scripts build "src/editor.cts" --force-cjs --no-clean-dist && tsc

::endgroup::
::group::@astrojs/sitemap:build
cache miss, executing fcba85ce257d3e3d

> @astrojs/sitemap@3.0.5 build /home/runner/work/astro/astro/packages/integrations/sitemap
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::

 Tasks:    24 successful, 24 total
Cached:    5 cached, 24 total
  Time:    41.71s 

@hippotastic
Copy link
Contributor

This fixes the issue for me. Copying the comment I made in the mentioned issue:

I tested it on Windows using PNPM, both in the Expressive Code monorepo, as well as in a freshly set up Starlight project, and everything worked flawlessly. I can even edit the Code component imported from my linked monorepo package live while viewing the site and any changed styles get picked up immediately. Great job!

@HiDeoo
Copy link
Member

HiDeoo commented Feb 2, 2024

Just tested on the few Starlight related scenarios I had in my notes having that issue, and just like Hippo, it now works perfectly with the preview release 👍

@matthewp matthewp requested a review from bluwy February 3, 2024 02:58
Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev>
Copy link
Member

@natemoo-re natemoo-re left a comment

Choose a reason for hiding this comment

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

It’s wild that this works, but I’m really glad it does! Nice one.

const collectedStyles = ${stringifiedStyles};
const collectedScripts = ${stringifiedScripts};

function getPropagatedAssets() {
Copy link
Member

Choose a reason for hiding this comment

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

Dang. Clever solution! Not too clever of course, just the right amount of clever. 👌

Copy link
Member

@Princesseuh Princesseuh left a comment

Choose a reason for hiding this comment

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

Just two small comments, thank you very much for taking this one! Gonna be a big productivity boost, especially for Starlight users.

@@ -0,0 +1,29 @@

// TODO
Copy link
Member

Choose a reason for hiding this comment

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

Was there something to be done here?

@@ -62,6 +62,9 @@ class VirtualVolume extends Volume {
class VirtualVolumeWithFallback extends VirtualVolume {
// Fallback to the real fs
readFile(p, ...args) {
if(p?.toString().includes('astro:dev-module-loader')) {
throw new Error('This module can\'t be loaded threw here. blah');
Copy link
Member

Choose a reason for hiding this comment

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

Not sure how likely that error is, but if it's real, a good error message would be better so we don't eventually have to explain to a new contributor why that error happens, ha

bluwy
bluwy previously requested changes Feb 5, 2024
Copy link
Member

@bluwy bluwy left a comment

Choose a reason for hiding this comment

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

It seems like this could break markdoc?

} else if (isPropagatedAssetsModule(node.name)) {
const { collectedStyles, collectedLinks, collectedScripts } = node.name;
const component = (await node.name.getMod()).default;

I'm not very comfortable with the .ssrModule assignment because it means crossing an explicitly separate boundary between the "Vite-plugin runtime" and "SSR app runtime". It can also make supporting other envs in the future, like workerd in dev, harder.

(Collapsing my comments because it's outdated)

It looks like the core issue here is that if /my/component/Foo.astro is invalidated, we should also invalidate /my/component/Foo.astro?astroPropagatedAssets hardly. I can't think of a cleaner fix today, but if we need to workaround it, maybe we should directly fix the invalidation, e.g. patching server.moduleGraph.invalidateModule, check if we're invalidating an .astro module, then try to invalidate the .astro?astroPropagatedAssets module as well?

I think what Vite can fix, which I can try to implement, is that the /my/component/Foo.astro?astroPropagatedAssets transform can call this.addWatchFile('/my/component/Foo.astro'), which implies that even if we import it in code, whenever the watched file is changed, we should still hard-invalidate it.

EDIT: I got a better idea of the problem now today. The issue is that when any imported modules recursively down from the propagated module is updated, the propagated module also needs to be invalidated. Because getStylesForURL and getScriptsForURL crawls all of its imported modules recursively to retrieve that.

The proper way is to register all of its imported modules with this.addWatchFile, maybe get...ForURL can return that based on the walked mod.file. Another workaround is to simply invalidate all propagated modules whenever handleHotUpdate is invoked, so that they are re-transformed on the next request. Or another workaround is this PR, so I could see this PR being something worth considering too 🤔 I think I'd still lean on the first way (in this paragraph) though.

@bluwy
Copy link
Member

bluwy commented Feb 5, 2024

!preview cc-hmr

Copy link
Contributor

github-actions bot commented Feb 5, 2024

Snapshots have been released for the following packages:

  • astro@experimental--cc-hmr
Publish Log
🦋  warn ===============================IMPORTANT!===============================
🦋  warn Packages will be released under the experimental--cc-hmr tag
🦋  warn ----------------------------------------------------------------------
🦋  info npm info astro
🦋  info npm info @astrojs/prism
🦋  info npm info @astrojs/rss
🦋  info npm info create-astro
🦋  info npm info @astrojs/alpinejs
🦋  info npm info @astrojs/lit
🦋  info npm info @astrojs/markdoc
🦋  info npm info @astrojs/mdx
🦋  info npm info @astrojs/node
🦋  info npm info @astrojs/partytown
🦋  info npm info @astrojs/preact
🦋  info npm info @astrojs/react
🦋  info npm info @astrojs/sitemap
🦋  info npm info @astrojs/solid-js
🦋  info npm info @astrojs/svelte
🦋  info npm info @astrojs/tailwind
🦋  info npm info @astrojs/vercel
🦋  info npm info @astrojs/vue
🦋  info npm info @astrojs/internal-helpers
🦋  info npm info @astrojs/markdown-remark
🦋  info npm info @astrojs/telemetry
🦋  info npm info @astrojs/underscore-redirects
🦋  info npm info @astrojs/upgrade
🦋  info astro is being published because our local version (0.0.0-cc-hmr-20240205141934) has not been published on npm
🦋  warn @astrojs/prism is not being published because version 3.0.0 is already published on npm
🦋  warn @astrojs/rss is not being published because version 4.0.4 is already published on npm
🦋  warn create-astro is not being published because version 4.7.2 is already published on npm
🦋  warn @astrojs/alpinejs is not being published because version 0.4.0 is already published on npm
🦋  warn @astrojs/lit is not being published because version 4.0.1 is already published on npm
🦋  warn @astrojs/markdoc is not being published because version 0.8.3 is already published on npm
🦋  warn @astrojs/mdx is not being published because version 2.1.1 is already published on npm
🦋  warn @astrojs/node is not being published because version 8.2.0 is already published on npm
🦋  warn @astrojs/partytown is not being published because version 2.0.4 is already published on npm
🦋  warn @astrojs/preact is not being published because version 3.1.0 is already published on npm
🦋  warn @astrojs/react is not being published because version 3.0.9 is already published on npm
🦋  warn @astrojs/sitemap is not being published because version 3.0.5 is already published on npm
🦋  warn @astrojs/solid-js is not being published because version 4.0.1 is already published on npm
🦋  warn @astrojs/svelte is not being published because version 5.0.3 is already published on npm
🦋  warn @astrojs/tailwind is not being published because version 5.1.0 is already published on npm
🦋  warn @astrojs/vercel is not being published because version 7.1.0 is already published on npm
🦋  warn @astrojs/vue is not being published because version 4.0.8 is already published on npm
🦋  warn @astrojs/internal-helpers is not being published because version 0.2.1 is already published on npm
🦋  warn @astrojs/markdown-remark is not being published because version 4.2.1 is already published on npm
🦋  warn @astrojs/telemetry is not being published because version 3.0.4 is already published on npm
🦋  warn @astrojs/underscore-redirects is not being published because version 0.3.3 is already published on npm
🦋  warn @astrojs/upgrade is not being published because version 0.2.2 is already published on npm
🦋  info Publishing "astro" at "0.0.0-cc-hmr-20240205141934"
🦋  success packages published successfully:
🦋  astro@0.0.0-cc-hmr-20240205141934
🦋  Creating git tag...
🦋  New tag:  astro@0.0.0-cc-hmr-20240205141934
Build Log

> root@0.0.0 build /home/runner/work/astro/astro
> turbo run build --filter=astro --filter=create-astro --filter="@astrojs/*" --filter="@benchmark/*"

• Packages in scope: @astrojs/alpinejs, @astrojs/cloudflare, @astrojs/internal-helpers, @astrojs/lit, @astrojs/markdoc, @astrojs/markdown-remark, @astrojs/mdx, @astrojs/netlify, @astrojs/node, @astrojs/partytown, @astrojs/preact, @astrojs/prism, @astrojs/react, @astrojs/rss, @astrojs/sitemap, @astrojs/solid-js, @astrojs/svelte, @astrojs/tailwind, @astrojs/telemetry, @astrojs/underscore-redirects, @astrojs/upgrade, @astrojs/vercel, @astrojs/vue, @benchmark/timer, astro, create-astro
• Running build in 26 packages
• Remote caching enabled
::group::@astrojs/telemetry:build
cache hit, suppressing logs c268bec8cf870b93
::endgroup::
::group::@astrojs/upgrade:build
cache hit, suppressing logs 793464135921901a
::endgroup::
::group::@astrojs/internal-helpers:build
cache hit, suppressing logs 03a8ae090e2d0c36
::endgroup::
::group::create-astro:build
cache hit, suppressing logs c2be32fb030ba287
::endgroup::
::group::@astrojs/prism:build
cache hit, suppressing logs c6a08f5d2884f118
::endgroup::
::group::@astrojs/markdown-remark:build
cache hit, suppressing logs 300461ca48a0856b
::endgroup::
::group::astro:build
cache miss, executing bac5fdd503a119fa

> astro@0.0.0-cc-hmr-20240205141934 build /home/runner/work/astro/astro/packages/astro
> pnpm run prebuild && astro-scripts build "src/**/*.{ts,js}" && tsc && pnpm run postbuild


> astro@0.0.0-cc-hmr-20240205141934 prebuild /home/runner/work/astro/astro/packages/astro
> astro-scripts prebuild --to-string "src/runtime/server/astro-island.ts" "src/runtime/client/{idle,load,media,only,visible}.ts"


> astro@0.0.0-cc-hmr-20240205141934 postbuild /home/runner/work/astro/astro/packages/astro
> astro-scripts copy "src/**/*.astro" && astro-scripts copy "src/**/*.wasm"

::endgroup::
::group::@astrojs/lit:build
cache miss, executing e5ca394c1637ec09

> @astrojs/lit@4.0.1 build /home/runner/work/astro/astro/packages/integrations/lit
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/alpinejs:build
cache miss, executing a4af18a31e6c5f19

> @astrojs/alpinejs@0.4.0 build /home/runner/work/astro/astro/packages/integrations/alpinejs
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/partytown:build
cache miss, executing 38a781dd5cd5f41f

> @astrojs/partytown@2.0.4 build /home/runner/work/astro/astro/packages/integrations/partytown
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/react:build
cache miss, executing 3f6ac9f83c4d192a

> @astrojs/react@3.0.9 build /home/runner/work/astro/astro/packages/integrations/react
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/rss:build
cache miss, executing 96f231bd2f65d712

> @astrojs/rss@4.0.4 build /home/runner/work/astro/astro/packages/astro-rss
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/vercel:build
cache miss, executing 88a33505c3adc661

> @astrojs/vercel@7.1.0 build /home/runner/work/astro/astro/packages/integrations/vercel
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/preact:build
cache miss, executing 1b4f8b36c7205738

> @astrojs/preact@3.1.0 build /home/runner/work/astro/astro/packages/integrations/preact
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/tailwind:build
cache miss, executing dc922d1309c9f461

> @astrojs/tailwind@5.1.0 build /home/runner/work/astro/astro/packages/integrations/tailwind
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/mdx:build
cache miss, executing 049f48c508f4a844

> @astrojs/mdx@2.1.1 build /home/runner/work/astro/astro/packages/integrations/mdx
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/vue:build
cache miss, executing eaad99a4937ff7d6

> @astrojs/vue@4.0.8 build /home/runner/work/astro/astro/packages/integrations/vue
> astro-scripts build "src/index.ts" && astro-scripts build "src/editor.cts" --force-cjs --no-clean-dist && tsc

::endgroup::
::group::@astrojs/underscore-redirects:build
cache miss, executing 9743fc628a5e2674

> @astrojs/underscore-redirects@0.3.3 build /home/runner/work/astro/astro/packages/underscore-redirects
> astro-scripts build "src/**/*.ts" && tsc -p tsconfig.json

::endgroup::
::group::@astrojs/solid-js:build
cache miss, executing 7a353f8768db24c3

> @astrojs/solid-js@4.0.1 build /home/runner/work/astro/astro/packages/integrations/solid
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/node:build
cache miss, executing 5ec6f11967b4a2cf

> @astrojs/node@8.2.0 build /home/runner/work/astro/astro/packages/integrations/node
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@benchmark/timer:build
cache miss, executing 052c4f81d27687e1

> @benchmark/timer@0.0.0 build /home/runner/work/astro/astro/benchmark/packages/timer
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/svelte:build
cache miss, executing b47bd89a1b1cae61

> @astrojs/svelte@5.0.3 build /home/runner/work/astro/astro/packages/integrations/svelte
> astro-scripts build "src/index.ts" && astro-scripts build "src/editor.cts" --force-cjs --no-clean-dist && tsc

::endgroup::
::group::@astrojs/markdoc:build
cache miss, executing 30f371e464a95b5e

> @astrojs/markdoc@0.8.3 build /home/runner/work/astro/astro/packages/integrations/markdoc
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::
::group::@astrojs/sitemap:build
cache miss, executing 44026f52a40e8963

> @astrojs/sitemap@3.0.5 build /home/runner/work/astro/astro/packages/integrations/sitemap
> astro-scripts build "src/**/*.ts" && tsc

::endgroup::

 Tasks:    24 successful, 24 total
Cached:    6 cached, 24 total
  Time:    39.453s 

@matthewp
Copy link
Contributor Author

matthewp commented Feb 6, 2024

lgtm, willing to try this approach.

@matthewp matthewp dismissed bluwy’s stale review February 6, 2024 14:28

Bjorn updated the implementation!

@bluwy bluwy merged commit 81acac2 into main Feb 6, 2024
13 checks passed
@bluwy bluwy deleted the css-cc-hmr branch February 6, 2024 14:56
@astrobot-houston astrobot-houston mentioned this pull request Feb 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pkg: astro Related to the core `astro` package (scope)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CSS updates require a dev server restart in Starlight
7 participants