Simplify Vite SSR & Various template fixes#1656
Conversation
|
| <slot /> | ||
| </BlogPost> | ||
| </div> | ||
| <!-- <BlogHeader /> --> |
There was a problem hiding this comment.
Reinstates components on the blog example. Also provides a little bit of CSS cleanup.
| } | ||
|
|
||
| /** Try and automatically figure out Vite external & noExternal */ | ||
| async function viteSSRDeps(deps: string[]): Promise<{ external: Set<string>; noExternal: Set<string> }> { |
There was a problem hiding this comment.
This was the starting point of this PR: now that we have Vite importing ESM, we don’t need this complicated scanner to tell Vite how to load ESM. Deleted a lot of setup code here.
| if (!moduleName) return; | ||
| for (const importedModule of moduleName.importedModules) { | ||
| if (!importedModule.id || scanned.has(importedModule.id)) return; | ||
| if (!importedModule.id || scanned.has(importedModule.id)) continue; |
There was a problem hiding this comment.
Fixed a CSS bug! This caused some styles to be missing as it would exit the module graph early.
| content: mod.metadata, | ||
| file: new URL(spec, url), | ||
| url: urlSpec.includes('/pages/') && urlSpec.replace(/^.*\/pages\//, '/').replace(/\.md$/, ''), | ||
| url: urlSpec.includes('/pages/') ? urlSpec.replace(/^.*\/pages\//, '/').replace(/(\/index)?\.md$/, '') : undefined, |
There was a problem hiding this comment.
/pages/ is hardcoded when it should be derived from astroConfig.pages, right?
There was a problem hiding this comment.
Right. This was an artifact of main that I believe was never fixed. But let me just fix it! We all know it’s wrong.
There was a problem hiding this comment.
Actually on second thought, this is an annoying change to make. Will leave this as-is and make another PR for review because there might be some opinions.
| @@ -1,5 +1,3 @@ | |||
| /** | |||
| * UNCOMMENT: there’s a bug with Canonical URLs | |||
There was a problem hiding this comment.
Re-enables pagination test
There was a problem hiding this comment.
Did the bug get fixed? I don't see any changes to Canonical URLs in this PR.
There was a problem hiding this comment.
See other comment: no, but I’d rather just start testing for regressions of current behavior now.
|
|
||
| it('named root page', async () => { | ||
| for (const file of ['/posts/named-root-page/index.html', '/posts/named-root-page/2/index.html', '/posts/named-root-page/3/index.html']) { | ||
| for (const file of ['/posts/named-root-page/1/index.html', '/posts/named-root-page/2/index.html', '/posts/named-root-page/3/index.html']) { |
There was a problem hiding this comment.
So this is a bit of a “cheat” here: I re-enabled the test even though we have a little bit of disagreement over /posts/index.html vs /posts/1/index.html in different places. I figured it’d be better to re-enable this test and fix that later, than continue skipping this test.
.eslintrc.cjs
Outdated
| '@typescript-eslint/no-unused-vars': 'off', | ||
| '@typescript-eslint/no-use-before-define': 'off', | ||
| '@typescript-eslint/no-var-requires': 'off', | ||
| 'multiline-comment-style': ['warn', 'separate-lines'], |
There was a problem hiding this comment.
Similar to last PR, can we please not make eslint rule changes in unrelated PRs / without discussing as a team first? This is a general rule I'd like us to follow as maintainers going forward, since I doubt everyone agrees with this change.
There was a problem hiding this comment.
We had a whole discussion and PR merge to enforce consistent comments. I thought the decision was made already? And this wasn’t even my preference; I thought this came from a team decision.
I’m -1 on PRs that encourage a specific style if it’s going to be manually-enforced by individual team members and not communicated anywhere else. I think coding style should either be enforced in a lint rule or not discussed (among things that can be enforced by a linter; I consider higher-level convos more “architecture” and less “style”)
There was a problem hiding this comment.
That said, I thought I was adding an accidental omission from a previous PR where this should have been added: #1614.
I’ll make another linting PR that does enforce more lint rules and formats Prettier, from our conversation yesterday about more consistent style, and we can discuss/debate as a team there. Linting is the path toward consistent style! I’ll remove it from here.
There was a problem hiding this comment.
Sounds good. I'll follow up in that PR to keep discussion in a single place
de7cec2 to
dbd91f0
Compare
dbd91f0 to
c2733ba
Compare
* make astro-root uids unique * Move Astro to Vite * Update tests * More test improvements * fred fixes * Update compiler, improve tests * Fix runtime, improve code frame * Add Markdown support * Tycho fixes * Fred fixes part 2 * Throw Error for WIP Features * Improve testing suite * Allow users to pass config to Vite * Fix npm install (#1407) * Automate publish on merge (#1408) * Add NPM_TOKEN to publish script (#1409) * Create .npmrc * Clean up astro deps (#1411) * Use new renderers (#1412) * feat: update compiler (#1421) * Try mocha/chai test runners (#1418) * Try mocha/chai test runners * Disable failing smoke test for now Will revert when next can build docs * Enable mocha in parallel mode * Remove warning * Update docs * Fix Windows bug * Fix internal imports * Fix styles * Fix CI release on merge to next (#1427) * Fix logger locale parsing (#1439) * fix(logger): locale parsing * Fixed issue of compiler crash when "c" locale was encountered * Return default locale if parsed locale is less than 2 chars long * chore: add changeset * Apply changes from #1387 * Add back in support for children (#1486) * Add back in support for children * Be more careful * Enables most slot tests (#1494) * Enables most slot tests * Use spreadAttributes * Add hydration to Solid renderer (#1479) (#1495) * feat: add hydration to Solid renderer * fix: intersection observer, move script to the end Co-authored-by: Ryan Carniato <ryansolid@gmail.com> * [next] support Astro.slots API (#1516) * [next] Support for custom elements (#1528) * [next] Support for custom elements * Fix eslint errors * eslint again * [next] Fix Astro.fetchContent (#1480) * fix Astro.fetchContent * fix(fetchContent): cast type Co-authored-by: Nate Moore <nate@skypack.dev> * Move hydration to the compiler (#1547) * Move hydration to the compiler * Move extracting url, export to util fn * Brings back astro-dynamic tests (#1548) * Implements top-level Astro + Astro.resolve (#1556) * Implements top-level Astro + Astro.resolve * Fix linting * [next] Update renderers (#1509) * chore: update vite * fix(renderers): point renderers to resolved server/client entrypoints * Chore: Enable more tests with new compiler changes (#1558) * [Next] `fetch` support (#1563) * fix: polyfill fetch in every ssr scenario * test(fetch): update fetch tests * docs: update data fetching guide to remove caveats about `fetch` and isomorphic usage * refactor: update regex for clarity * Restructure (#1569) * Upgrade to @astrojs/compiler 0.2.0 (#1584) * Use Vite fork (#1585) * Use Vite fork * Fix linting * Move Vite to vendor/ and add a license * Fix linting * Include the dist folder * Update files config * Markdown compilation (#1593) * Markdown compilation * remove debugger * Gets lit hydration working (#1595) * Gets Astro.fetchContent compilation to work (#1596) * Gets Astro.fetchContent compilation to work This fixes Astro.fetchContent so that we handle esbuild transforming the name of the nested Astro call. * Remove debugging * Update the tests * Remove another debugger * Update Vite to latest (#1597) * Add Prism syntax highlighting (#1598) * Scoped styles with markdown (#1599) * Bugfix: fix getStaticPaths() cache miss (#1602) * Fix build order (#1609) * Bugfix: restore build to get all paths earlier, when build. Same as main. * Also re-add timings * [next] blog example fully working (#1610) * Add environment variables docs (Closes #873) (#1587) * Added environment variables docs (Closes #873) * Fixed prefix * Remove numbered comments (#1611) * Chore: remove numbered comments * Clean up block comments * comment style fixes (#1614) * [next] Upgrade compiler (#1619) * [next] Upgrade compiler * Upgrade to latest compiler * Fix the path to global css * Removed debugger * feat: add fragment support to vite-plugin-astro (#1600) * [next] fix `.tsx` handling (#1620) * fix: support tsx in JSX plugin * fix: preserve JSX via esbuild, only use Babel for JSX compilation * fix: handle upcoming Vite API for `ssr` flag * [next] Add CSS preprocessing (#1589) * Add concept for style support in Astro * Update style preprocessor to use new compiler * fix: massage preprocessStyle type * fix: @astrojs/compiler types Co-authored-by: Nate Moore <nate@skypack.dev> * fix issues in blog-multiple-authors (#1621) * Move Sass to deps (#1622) * Update renderer API for Vite (#1623) * Update renderer API for Vite * Fix lit-element tests * Clean up comments * Throw friendly error if renderer provides viteConfig in a bad format * Fix changesets (#1628) * Remove cheerio scanning from build stats (#1629) * Minor change to jsxTransformOptions, update Renderer API docs (#1630) * [next] docs example fully working (#1627) * [next] docs example fully working * Upgrade compiler to unlock docs * Add `class:list` directive (#1612) * Add support for class:list directive The `class:list` directive serializes an expression of css class names. For React components, `className:list` is also supported. * Remove `className` support and React tests * Add tests for the absence of omitted classes * fix: `define:vars` scoping for styles (#1632) * feat: fix Debug component (#1633) * [next] Fix `<Markdown>` component (#1631) * fix: cleanup issues with <Markdown> component * fix: fix `content` usage with Markdown * [next] Fix `<Code>` component (#1635) * fix: enable Code component * test: update expect to chai format * Fixes solid (#1634) * Fixes solid * Rename the test * Rebase with next * Skip solid test for now * Add support for markdown plugins (#1650) * Fix broken next release (#1652) * Prevent passing to Svelte components * Prevent passing class to Vue components * Add CSS injection, fix portfolio example (#1648) * Fix portfolio example * Add .pcss extension * Update load ssr opts * Update packages/astro/src/runtime/server/index.ts Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com> Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com> * Fixes external HMR (#1654) * Upgrade compiler version (#1655) Fixes docs and blog examples * Resolve renderers relative to the projectRoot (#1659) * Template fixes (#1656) * fix: dedupe hashes for identical islands (#1660) * fix: scope `define:vars` to `:root` for `<style global>` (#1663) * chore: update compiler to latest (#1664) * [next] fix island hydration inside of `<Markdown>` (#1665) * fix: create rehype plugin to smooth over island hydration bugs * refactor: remove debug code * chore: explain need for `rehypeIslands` * Bugfix: renderer-lit missing files on npm (#1669) * Force Vite to rebuild dependencies (#1670) * [next] Add `preact/compat` renderer (#1668) * feat: add preact/compat entry for `@astrojs/renderer-preact` * Update index.js * Bugfix: plugin-astro-fetch tries to append node-fetch to node-fetch (#1671) * Fix Vite race condition (#1674) * Fix with-nanostore deps (#1675) Adds missing Solid renderer * [next] Fix `resolveDependency` on Windows (#1666) * fix: Windows issue with resolveDependency util * chore: add comment * Update CONTRIBUTING.md (#1677) * Prevent scanning a user's deps (#1678) * Prevent scanning a user's deps * Remove unused things * remove unused util * Adding a changeset for the remark plugin * Config changes needed for stater template (#1680) This does 2 things: 1. Adds prismjs as a dep. 2. Adds shiki as an external. * Next bugs (#1681) * fix(#1679): hoisted <script> rendering * fix(#1679): do not print global for styles, but do for scripts * fix: update ObjectSet implementation * fix: dedupe elements in sets * [next] update compiler (#1683) * chore: update compiler * chore: update compiler (again) * Fix Astro HMR bottleneck (#1684) * Bugfix: JSX renderers can be declared in any order (#1686) * chore: update compiler (#1690) * Exclude lit-server from being optimized (#1691) This should get the lit example working from `npm`. * fix: exclude all renderer server entrypoints (#1692) * chore: update compiler (#1705) * fix: do not crash when Markdown has no content (#1702) * feat: improve support for third-party React packages (#1701) * Remove prism warning when no language is provided (#1703) * Remove prism warning when no language is provided * Add the plaintext language instead * retry deploy * chore: enter prerelease mode under `next` (#1707) * Updates to the changesets (#1708) * Updates to the changesets * Adds a changeset for astro-prism Co-authored-by: Fred K. Schott <fkschott@gmail.com> Co-authored-by: Nate Moore <nate@skypack.dev> Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> Co-authored-by: Pranav Karawale <52596591+obnoxiousnerd@users.noreply.github.com> Co-authored-by: Matthew Phillips <matthew@skypack.dev> Co-authored-by: Matthew Phillips <matthew@matthewphillips.info> Co-authored-by: Ryan Carniato <ryansolid@gmail.com> Co-authored-by: AsyncBanana <58297401+AsyncBanana@users.noreply.github.com> Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
* make astro-root uids unique * Move Astro to Vite * Update tests * More test improvements * fred fixes * Update compiler, improve tests * Fix runtime, improve code frame * Add Markdown support * Tycho fixes * Fred fixes part 2 * Throw Error for WIP Features * Improve testing suite * Allow users to pass config to Vite * Fix npm install (withastro#1407) * Automate publish on merge (withastro#1408) * Add NPM_TOKEN to publish script (withastro#1409) * Create .npmrc * Clean up astro deps (withastro#1411) * Use new renderers (withastro#1412) * feat: update compiler (withastro#1421) * Try mocha/chai test runners (withastro#1418) * Try mocha/chai test runners * Disable failing smoke test for now Will revert when next can build docs * Enable mocha in parallel mode * Remove warning * Update docs * Fix Windows bug * Fix internal imports * Fix styles * Fix CI release on merge to next (withastro#1427) * Fix logger locale parsing (withastro#1439) * fix(logger): locale parsing * Fixed issue of compiler crash when "c" locale was encountered * Return default locale if parsed locale is less than 2 chars long * chore: add changeset * Apply changes from withastro#1387 * Add back in support for children (withastro#1486) * Add back in support for children * Be more careful * Enables most slot tests (withastro#1494) * Enables most slot tests * Use spreadAttributes * Add hydration to Solid renderer (withastro#1479) (withastro#1495) * feat: add hydration to Solid renderer * fix: intersection observer, move script to the end Co-authored-by: Ryan Carniato <ryansolid@gmail.com> * [next] support Astro.slots API (withastro#1516) * [next] Support for custom elements (withastro#1528) * [next] Support for custom elements * Fix eslint errors * eslint again * [next] Fix Astro.fetchContent (withastro#1480) * fix Astro.fetchContent * fix(fetchContent): cast type Co-authored-by: Nate Moore <nate@skypack.dev> * Move hydration to the compiler (withastro#1547) * Move hydration to the compiler * Move extracting url, export to util fn * Brings back astro-dynamic tests (withastro#1548) * Implements top-level Astro + Astro.resolve (withastro#1556) * Implements top-level Astro + Astro.resolve * Fix linting * [next] Update renderers (withastro#1509) * chore: update vite * fix(renderers): point renderers to resolved server/client entrypoints * Chore: Enable more tests with new compiler changes (withastro#1558) * [Next] `fetch` support (withastro#1563) * fix: polyfill fetch in every ssr scenario * test(fetch): update fetch tests * docs: update data fetching guide to remove caveats about `fetch` and isomorphic usage * refactor: update regex for clarity * Restructure (withastro#1569) * Upgrade to @astrojs/compiler 0.2.0 (withastro#1584) * Use Vite fork (withastro#1585) * Use Vite fork * Fix linting * Move Vite to vendor/ and add a license * Fix linting * Include the dist folder * Update files config * Markdown compilation (withastro#1593) * Markdown compilation * remove debugger * Gets lit hydration working (withastro#1595) * Gets Astro.fetchContent compilation to work (withastro#1596) * Gets Astro.fetchContent compilation to work This fixes Astro.fetchContent so that we handle esbuild transforming the name of the nested Astro call. * Remove debugging * Update the tests * Remove another debugger * Update Vite to latest (withastro#1597) * Add Prism syntax highlighting (withastro#1598) * Scoped styles with markdown (withastro#1599) * Bugfix: fix getStaticPaths() cache miss (withastro#1602) * Fix build order (withastro#1609) * Bugfix: restore build to get all paths earlier, when build. Same as main. * Also re-add timings * [next] blog example fully working (withastro#1610) * Add environment variables docs (Closes withastro#873) (withastro#1587) * Added environment variables docs (Closes withastro#873) * Fixed prefix * Remove numbered comments (withastro#1611) * Chore: remove numbered comments * Clean up block comments * comment style fixes (withastro#1614) * [next] Upgrade compiler (withastro#1619) * [next] Upgrade compiler * Upgrade to latest compiler * Fix the path to global css * Removed debugger * feat: add fragment support to vite-plugin-astro (withastro#1600) * [next] fix `.tsx` handling (withastro#1620) * fix: support tsx in JSX plugin * fix: preserve JSX via esbuild, only use Babel for JSX compilation * fix: handle upcoming Vite API for `ssr` flag * [next] Add CSS preprocessing (withastro#1589) * Add concept for style support in Astro * Update style preprocessor to use new compiler * fix: massage preprocessStyle type * fix: @astrojs/compiler types Co-authored-by: Nate Moore <nate@skypack.dev> * fix issues in blog-multiple-authors (withastro#1621) * Move Sass to deps (withastro#1622) * Update renderer API for Vite (withastro#1623) * Update renderer API for Vite * Fix lit-element tests * Clean up comments * Throw friendly error if renderer provides viteConfig in a bad format * Fix changesets (withastro#1628) * Remove cheerio scanning from build stats (withastro#1629) * Minor change to jsxTransformOptions, update Renderer API docs (withastro#1630) * [next] docs example fully working (withastro#1627) * [next] docs example fully working * Upgrade compiler to unlock docs * Add `class:list` directive (withastro#1612) * Add support for class:list directive The `class:list` directive serializes an expression of css class names. For React components, `className:list` is also supported. * Remove `className` support and React tests * Add tests for the absence of omitted classes * fix: `define:vars` scoping for styles (withastro#1632) * feat: fix Debug component (withastro#1633) * [next] Fix `<Markdown>` component (withastro#1631) * fix: cleanup issues with <Markdown> component * fix: fix `content` usage with Markdown * [next] Fix `<Code>` component (withastro#1635) * fix: enable Code component * test: update expect to chai format * Fixes solid (withastro#1634) * Fixes solid * Rename the test * Rebase with next * Skip solid test for now * Add support for markdown plugins (withastro#1650) * Fix broken next release (withastro#1652) * Prevent passing to Svelte components * Prevent passing class to Vue components * Add CSS injection, fix portfolio example (withastro#1648) * Fix portfolio example * Add .pcss extension * Update load ssr opts * Update packages/astro/src/runtime/server/index.ts Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com> Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com> * Fixes external HMR (withastro#1654) * Upgrade compiler version (withastro#1655) Fixes docs and blog examples * Resolve renderers relative to the projectRoot (withastro#1659) * Template fixes (withastro#1656) * fix: dedupe hashes for identical islands (withastro#1660) * fix: scope `define:vars` to `:root` for `<style global>` (withastro#1663) * chore: update compiler to latest (withastro#1664) * [next] fix island hydration inside of `<Markdown>` (withastro#1665) * fix: create rehype plugin to smooth over island hydration bugs * refactor: remove debug code * chore: explain need for `rehypeIslands` * Bugfix: renderer-lit missing files on npm (withastro#1669) * Force Vite to rebuild dependencies (withastro#1670) * [next] Add `preact/compat` renderer (withastro#1668) * feat: add preact/compat entry for `@astrojs/renderer-preact` * Update index.js * Bugfix: plugin-astro-fetch tries to append node-fetch to node-fetch (withastro#1671) * Fix Vite race condition (withastro#1674) * Fix with-nanostore deps (withastro#1675) Adds missing Solid renderer * [next] Fix `resolveDependency` on Windows (withastro#1666) * fix: Windows issue with resolveDependency util * chore: add comment * Update CONTRIBUTING.md (withastro#1677) * Prevent scanning a user's deps (withastro#1678) * Prevent scanning a user's deps * Remove unused things * remove unused util * Adding a changeset for the remark plugin * Config changes needed for stater template (withastro#1680) This does 2 things: 1. Adds prismjs as a dep. 2. Adds shiki as an external. * Next bugs (withastro#1681) * fix(withastro#1679): hoisted <script> rendering * fix(withastro#1679): do not print global for styles, but do for scripts * fix: update ObjectSet implementation * fix: dedupe elements in sets * [next] update compiler (withastro#1683) * chore: update compiler * chore: update compiler (again) * Fix Astro HMR bottleneck (withastro#1684) * Bugfix: JSX renderers can be declared in any order (withastro#1686) * chore: update compiler (withastro#1690) * Exclude lit-server from being optimized (withastro#1691) This should get the lit example working from `npm`. * fix: exclude all renderer server entrypoints (withastro#1692) * chore: update compiler (withastro#1705) * fix: do not crash when Markdown has no content (withastro#1702) * feat: improve support for third-party React packages (withastro#1701) * Remove prism warning when no language is provided (withastro#1703) * Remove prism warning when no language is provided * Add the plaintext language instead * retry deploy * chore: enter prerelease mode under `next` (withastro#1707) * Updates to the changesets (withastro#1708) * Updates to the changesets * Adds a changeset for astro-prism Co-authored-by: Fred K. Schott <fkschott@gmail.com> Co-authored-by: Nate Moore <nate@skypack.dev> Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> Co-authored-by: Pranav Karawale <52596591+obnoxiousnerd@users.noreply.github.com> Co-authored-by: Matthew Phillips <matthew@skypack.dev> Co-authored-by: Matthew Phillips <matthew@matthewphillips.info> Co-authored-by: Ryan Carniato <ryansolid@gmail.com> Co-authored-by: AsyncBanana <58297401+AsyncBanana@users.noreply.github.com> Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
* make astro-root uids unique * Move Astro to Vite * Update tests * More test improvements * fred fixes * Update compiler, improve tests * Fix runtime, improve code frame * Add Markdown support * Tycho fixes * Fred fixes part 2 * Throw Error for WIP Features * Improve testing suite * Allow users to pass config to Vite * Fix npm install (withastro#1407) * Automate publish on merge (withastro#1408) * Add NPM_TOKEN to publish script (withastro#1409) * Create .npmrc * Clean up astro deps (withastro#1411) * Use new renderers (withastro#1412) * feat: update compiler (withastro#1421) * Try mocha/chai test runners (withastro#1418) * Try mocha/chai test runners * Disable failing smoke test for now Will revert when next can build docs * Enable mocha in parallel mode * Remove warning * Update docs * Fix Windows bug * Fix internal imports * Fix styles * Fix CI release on merge to next (withastro#1427) * Fix logger locale parsing (withastro#1439) * fix(logger): locale parsing * Fixed issue of compiler crash when "c" locale was encountered * Return default locale if parsed locale is less than 2 chars long * chore: add changeset * Apply changes from withastro#1387 * Add back in support for children (withastro#1486) * Add back in support for children * Be more careful * Enables most slot tests (withastro#1494) * Enables most slot tests * Use spreadAttributes * Add hydration to Solid renderer (withastro#1479) (withastro#1495) * feat: add hydration to Solid renderer * fix: intersection observer, move script to the end Co-authored-by: Ryan Carniato <ryansolid@gmail.com> * [next] support Astro.slots API (withastro#1516) * [next] Support for custom elements (withastro#1528) * [next] Support for custom elements * Fix eslint errors * eslint again * [next] Fix Astro.fetchContent (withastro#1480) * fix Astro.fetchContent * fix(fetchContent): cast type Co-authored-by: Nate Moore <nate@skypack.dev> * Move hydration to the compiler (withastro#1547) * Move hydration to the compiler * Move extracting url, export to util fn * Brings back astro-dynamic tests (withastro#1548) * Implements top-level Astro + Astro.resolve (withastro#1556) * Implements top-level Astro + Astro.resolve * Fix linting * [next] Update renderers (withastro#1509) * chore: update vite * fix(renderers): point renderers to resolved server/client entrypoints * Chore: Enable more tests with new compiler changes (withastro#1558) * [Next] `fetch` support (withastro#1563) * fix: polyfill fetch in every ssr scenario * test(fetch): update fetch tests * docs: update data fetching guide to remove caveats about `fetch` and isomorphic usage * refactor: update regex for clarity * Restructure (withastro#1569) * Upgrade to @astrojs/compiler 0.2.0 (withastro#1584) * Use Vite fork (withastro#1585) * Use Vite fork * Fix linting * Move Vite to vendor/ and add a license * Fix linting * Include the dist folder * Update files config * Markdown compilation (withastro#1593) * Markdown compilation * remove debugger * Gets lit hydration working (withastro#1595) * Gets Astro.fetchContent compilation to work (withastro#1596) * Gets Astro.fetchContent compilation to work This fixes Astro.fetchContent so that we handle esbuild transforming the name of the nested Astro call. * Remove debugging * Update the tests * Remove another debugger * Update Vite to latest (withastro#1597) * Add Prism syntax highlighting (withastro#1598) * Scoped styles with markdown (withastro#1599) * Bugfix: fix getStaticPaths() cache miss (withastro#1602) * Fix build order (withastro#1609) * Bugfix: restore build to get all paths earlier, when build. Same as main. * Also re-add timings * [next] blog example fully working (withastro#1610) * Add environment variables docs (Closes withastro#873) (withastro#1587) * Added environment variables docs (Closes withastro#873) * Fixed prefix * Remove numbered comments (withastro#1611) * Chore: remove numbered comments * Clean up block comments * comment style fixes (withastro#1614) * [next] Upgrade compiler (withastro#1619) * [next] Upgrade compiler * Upgrade to latest compiler * Fix the path to global css * Removed debugger * feat: add fragment support to vite-plugin-astro (withastro#1600) * [next] fix `.tsx` handling (withastro#1620) * fix: support tsx in JSX plugin * fix: preserve JSX via esbuild, only use Babel for JSX compilation * fix: handle upcoming Vite API for `ssr` flag * [next] Add CSS preprocessing (withastro#1589) * Add concept for style support in Astro * Update style preprocessor to use new compiler * fix: massage preprocessStyle type * fix: @astrojs/compiler types Co-authored-by: Nate Moore <nate@skypack.dev> * fix issues in blog-multiple-authors (withastro#1621) * Move Sass to deps (withastro#1622) * Update renderer API for Vite (withastro#1623) * Update renderer API for Vite * Fix lit-element tests * Clean up comments * Throw friendly error if renderer provides viteConfig in a bad format * Fix changesets (withastro#1628) * Remove cheerio scanning from build stats (withastro#1629) * Minor change to jsxTransformOptions, update Renderer API docs (withastro#1630) * [next] docs example fully working (withastro#1627) * [next] docs example fully working * Upgrade compiler to unlock docs * Add `class:list` directive (withastro#1612) * Add support for class:list directive The `class:list` directive serializes an expression of css class names. For React components, `className:list` is also supported. * Remove `className` support and React tests * Add tests for the absence of omitted classes * fix: `define:vars` scoping for styles (withastro#1632) * feat: fix Debug component (withastro#1633) * [next] Fix `<Markdown>` component (withastro#1631) * fix: cleanup issues with <Markdown> component * fix: fix `content` usage with Markdown * [next] Fix `<Code>` component (withastro#1635) * fix: enable Code component * test: update expect to chai format * Fixes solid (withastro#1634) * Fixes solid * Rename the test * Rebase with next * Skip solid test for now * Add support for markdown plugins (withastro#1650) * Fix broken next release (withastro#1652) * Prevent passing to Svelte components * Prevent passing class to Vue components * Add CSS injection, fix portfolio example (withastro#1648) * Fix portfolio example * Add .pcss extension * Update load ssr opts * Update packages/astro/src/runtime/server/index.ts Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com> Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com> * Fixes external HMR (withastro#1654) * Upgrade compiler version (withastro#1655) Fixes docs and blog examples * Resolve renderers relative to the projectRoot (withastro#1659) * Template fixes (withastro#1656) * fix: dedupe hashes for identical islands (withastro#1660) * fix: scope `define:vars` to `:root` for `<style global>` (withastro#1663) * chore: update compiler to latest (withastro#1664) * [next] fix island hydration inside of `<Markdown>` (withastro#1665) * fix: create rehype plugin to smooth over island hydration bugs * refactor: remove debug code * chore: explain need for `rehypeIslands` * Bugfix: renderer-lit missing files on npm (withastro#1669) * Force Vite to rebuild dependencies (withastro#1670) * [next] Add `preact/compat` renderer (withastro#1668) * feat: add preact/compat entry for `@astrojs/renderer-preact` * Update index.js * Bugfix: plugin-astro-fetch tries to append node-fetch to node-fetch (withastro#1671) * Fix Vite race condition (withastro#1674) * Fix with-nanostore deps (withastro#1675) Adds missing Solid renderer * [next] Fix `resolveDependency` on Windows (withastro#1666) * fix: Windows issue with resolveDependency util * chore: add comment * Update CONTRIBUTING.md (withastro#1677) * Prevent scanning a user's deps (withastro#1678) * Prevent scanning a user's deps * Remove unused things * remove unused util * Adding a changeset for the remark plugin * Config changes needed for stater template (withastro#1680) This does 2 things: 1. Adds prismjs as a dep. 2. Adds shiki as an external. * Next bugs (withastro#1681) * fix(withastro#1679): hoisted <script> rendering * fix(withastro#1679): do not print global for styles, but do for scripts * fix: update ObjectSet implementation * fix: dedupe elements in sets * [next] update compiler (withastro#1683) * chore: update compiler * chore: update compiler (again) * Fix Astro HMR bottleneck (withastro#1684) * Bugfix: JSX renderers can be declared in any order (withastro#1686) * chore: update compiler (withastro#1690) * Exclude lit-server from being optimized (withastro#1691) This should get the lit example working from `npm`. * fix: exclude all renderer server entrypoints (withastro#1692) * chore: update compiler (withastro#1705) * fix: do not crash when Markdown has no content (withastro#1702) * feat: improve support for third-party React packages (withastro#1701) * Remove prism warning when no language is provided (withastro#1703) * Remove prism warning when no language is provided * Add the plaintext language instead * retry deploy * chore: enter prerelease mode under `next` (withastro#1707) * Updates to the changesets (withastro#1708) * Updates to the changesets * Adds a changeset for astro-prism Co-authored-by: Fred K. Schott <fkschott@gmail.com> Co-authored-by: Nate Moore <nate@skypack.dev> Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> Co-authored-by: Pranav Karawale <52596591+obnoxiousnerd@users.noreply.github.com> Co-authored-by: Matthew Phillips <matthew@skypack.dev> Co-authored-by: Matthew Phillips <matthew@matthewphillips.info> Co-authored-by: Ryan Carniato <ryansolid@gmail.com> Co-authored-by: AsyncBanana <58297401+AsyncBanana@users.noreply.github.com> Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
Changes
This is a little bit of a grab bag PR.
It started with trying to simplify the Vite SSR config. And to test to make sure everything is improved, I started going through the examples. Along the way I re-enabled some tests and cleaned up some examples.
Comments will be left on the various changes.
Testing
Tested manually, also some tests are re-enabled.
Docs