* Empty commit
* Changeset
* feat: add Content Layer loader (#11334)
* wip
* wip
* wip
* Update demo
* Add meta
* wip
* Add file loader
* Add schema validation
* Remove log
* Changeset
* Format
* Lockfile
* Fix type
* Handle loading for data store JSON
* Use rollup util to import JSON
* Fix types
* Format
* Add tests
* Changes from review
* fix: sync content layer in dev (#11365)
* wip
* wip
* wip
* Update demo
* Add meta
* wip
* Add file loader
* Add schema validation
* Remove log
* Changeset
* Format
* Lockfile
* Fix type
* Handle loading for data store JSON
* Use rollup util to import JSON
* Fix types
* Format
* Add tests
* Changes from review
* Sync content layer in dev
* feat: add typegen for loaders (#11358)
* fix: watch for content layer changes (#11371)
* fix: watch for content layer changes
* Add test
* feat: adds simple loader (#11386)
* wip
* Add simple loader
* Fix type guard
* Tighten loader schema
* Add loader function to type
* Reinstall vitest
* feat: add glob loader (#11398)
* feat: add glob loader
* Enable watching and fix paths
* Store the full entry object, not just data
* Add generateId support
* Fix test
* Rename loaders to sync
* Refacctor imports
* Use getEntry
* Format
* Fix import
* Remove type from output
* Windows path
* Add test for absolute path
* Update lockfile
* Debugging windows
* Allow file URL for base dir
* Reset time limit
* feat: add markdown rendering to content layer (#11440)
* feat: add glob loader
* Enable watching and fix paths
* Store the full entry object, not just data
* Add generateId support
* Fix test
* Rename loaders to sync
* Refacctor imports
* Use getEntry
* Format
* Fix import
* Remove type from output
* Windows path
* Add test for absolute path
* Update lockfile
* Debugging windows
* Allow file URL for base dir
* Reset time limit
* wip: add markdown rendering to content layer
* use cached entries
* CLean up types
* Instrument more of the build
* Add digest helper
* Add comments
* Make image extraction work
* feat: image support for content layer (#11469)
* wip
* wip
* Add image to benchmark
* Stub assets if missing
* Resolve assets in data
* Ignore virtual module
* Format
* rm log
* Handle images when using cached data
* Fix CCC
* Add a comment
* Changes from review
* Format
* Use relative paths for asset files
* Pass all md props to getImage
* Ensure dotastro dir exists
* Fix tests
* Changes from review
* Don't use temp array in getcollection
* Add error handling
* Format
* Handle paths that are already relative
* Dedupe sync runs
* Fix syncing in dev
* Changes from review
* Windows paths ftw
* feat(content-layer): support references in content layer (#11494)
* Support references in content layer
* Fix utf8 rendering
* Warn for invalid entries
* Fix test
* lol windows paths
* Remove assertion
* chore: fix content layer types (#11527)
* Add experimental_content type
* Fix import
* Make data store methods generic
* fix loader types
* Lockfile
* Clean content layer with `--force` (#11541)
* Clearn content layer with `--force`
* Add tests
* Document --force flag
* Fixes to content layer render types (#11558)
* Lockfile
* feat: use devalue to serialize content layer data (#11562)
* feat: use devalue to serialize content layer data
* Fix import
* Use devalue stringify
* Unused import
* Propagate error messages correctly
* Support --force flag in sync and dev (#11581)
* Support --force flag in sync and dev
* Fix test
* Separate render function and merge content layer types (#11579)
* Separate render function and merge content layer types
* Changes from review
* fix: clear content layer cache if config has changed (#11591)
* fix: clear content layer cache if config has changed
* Add test
* Watch config
* Change from review
* fix: skip glob files in content dir (#11622)
* fix: skip glob files in content dir
* Changes from review
* Log pattern
* Refactor content layer into shared instance (#11625)
* Refactor content layer into shared instance
* Clean up when testing
* Handle cleanup
* fix: support filters in content layer getCollection (#11631)
* Throw when using deprecated getEntryByX functions with content layer (#11637)
* Updates to content layer types and jsdocs (#11643)
* Add hot key to reload content layer (#11626)
* Add hot key to reload content layer
* Fix filename
* Remove cli message
* Update example
* Change key to "s"
* feat: handle simple mdx rendering (#11633)
* feat: handle simple mdx rendering
* cleanup
* feedback
* fix regression
* remove log
* flip condition
* update tests
* log collections to understand the error
* let's try this alternative
* try parallel test to understand the issue
* chore: use a new fixture to fix tests
* rebase and docs
* fix regressions
* remove old code
* address feedback
* rename param
* log error
* rebase
* chore: try a different cache dir to solve the error test
* fix invalidation of the module when there's no store available
* address suggestion
* run formatter
* update lock file
* Lint
* Add experimental content layer flag (#11652)
* Add experimental content layer flag
* Syntax and format
* Aside
* Format
* Reset content config between runs
* Update fixture
* Update terminology
* Lint
* wut
* Normalize render function return value (#11663)
* Add markdoc support to content layer (#11664)
* Add markdoc support to content layer
* Switch test to cheerio
* Update benchmarks
* update lock file
* Update content layer flag docs (#11682)
* Update content layer flag docs
* Apply suggestions from code review
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* More markdoc
* Typo
* Apply suggestions from code review
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Update
---------
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Add changeset for content layer experimental release (#11644)
* Add changeset for content layer experimental release
* Update changeset
* Update .changeset/smooth-chicken-wash.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
---------
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* feat: injectTypes (#11551)
* feat: make inline config 1st arg
* fix: run config done in sync
* feat: start working on injectTypes
* feat: write files
* feat: adapt core features
* feat: migrate db to injectTypes
* feat: special db handling
* feat: update settings instead of workarounds
* fix: create dotAstroDir
* feat: refactor sync tests
* fix: path
* fix: paths
* chore: add comments
* feat: overwrite content file if exists
* chore: remove unused db env related code
* feat: use dotAstroDir for settings
* chore: simplify astro env sync
* feat: use dotAstroDir for preferences
* feat: handle db in integration api
* chore: reorganize
* feat: format
* feat: add test
* Discard changes to examples/basics/astro.config.mjs
* Discard changes to examples/basics/package.json
* Discard changes to pnpm-lock.yaml
* chore: remove test files
* feat: update examples dts
* fix: dts
* chore: changesets
* fix: indentation
* Apply suggestions from code review
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Apply suggestions from code review
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* chore: format
* Update packages/astro/src/integrations/hooks.ts
* Update .changeset/mean-horses-kiss.md
* feat: remove formatting
* feat: handle fs errors
* feat: remove astro:db special path handling
* feat: add fs error
* Update packages/astro/src/content/types-generator.ts
* Update .changeset/mean-horses-kiss.md
* Update errors-data.ts
* Update .changeset/mean-horses-kiss.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Update .changeset/mean-horses-kiss.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
---------
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com>
* Add file generation and flag for content intellisense (#11639)
* feat: add type to infer input type of collection
* refactor:
* feat: generate json schema for content too
* feat: generate a manifest of all the collections
* refactor: unnecessary type
* fix: only add content collections to manifest
* chore: changeset
* fix: generate file URLs
* fix: flag it properly
* fix: save in lower case
* docs: add jsdoc to experimental option
* nit: move function out
* fix: match vscode flag name
* Update packages/astro/src/@types/astro.ts
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Update packages/astro/src/@types/astro.ts
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Update serious-pumas-run.md
* test: add tests
* Add content layer support
* Apply suggestions from code review
* fix: test
* Update .changeset/serious-pumas-run.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Apply suggestions from code review
* Remove check for json
---------
Co-authored-by: Matt Kane <m@mk.gg>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* nit: use same filesystem error as injectTypes
* fix: code component was missing support for meta string (#11605)
* fix: code component was missing support for meta string
Fixed#11604
* Create odd-buttons-pay.md
* <Code>: add reference link for meta prop
* Apply suggestions from code review
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Update .changeset/odd-buttons-pay.md
* Update .changeset/odd-buttons-pay.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
---------
Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
* Deprecates exporting prerender with dynamic values (#11657)
* wip
* done i think
* Add changeset
* Use hook instead
* Reorder hooks [skip ci]
* Update .changeset/eleven-pens-glow.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Fix run
* Fix link
* Add link
Co-authored-by: Sarah Rainsberger <sarah11918@users.noreply.github.com>
* More accurate migration [skip ci]
---------
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Sarah Rainsberger <sarah11918@users.noreply.github.com>
* Use node parseArgs instead of yargs-parser and arg (#11645)
* wip
* done
* Add changeset
* Format
* Update
* Fix houston
* Fix test
* Fix test
* [ci] format
* resolve conflict
---------
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev>
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com>
Co-authored-by: Julien Cayzac <jcayzac@users.noreply.github.com>
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah11918@users.noreply.github.com>
Co-authored-by: Bjorn Lu <ematipico@users.noreply.github.com>
* feat: add preact-ssr-prepass
* added more info to changelog
* fix example in changelog
* fix changelog description
* fix tab in code of changelog
* Update .changeset/blue-bobcats-remain.md
---------
Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev>
* Revert "Update preact example to match @astrojs/preact ranges (#4840)"
This reverts commit d650a1161a.
* Revert "[ci] format"
This reverts commit e3c78c5b16.
* Revert "Support shared signals in Preact islands (#4763)"
This reverts commit 5e46be5468.
* Support signals in Preact islands
* Add a changeset
* Only add signals if we need them
* Refactor signal logic into its own module
* Keep track of the signals used
* feat: add generator property and component
* chore: remove `Generator` component
* chore: update generator description
* chore: include generator in examples
* chore: update lockfile
* chore: format
* fix: do not reference core from server runtime
* chore: remove component test
Co-authored-by: Nate Moore <nate@astro.build>
* Move types to a .d.ts file to avoid making types explicit
* Rename to proper types
* Move to proper place
* Add noEmit to tsconfig.json
* Add back removed code by accident
* 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>
* `github.com/snowpackjs/astro/blob/main/docs/*.md` -> `docs.astro.build/*/`
* convert links to docs site links
* Fix broken links that didn't work w/ the regex.
* Add changeset
* Delete five-weeks-destroy.md
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* feat: ♻️ updating hydration to work with the directive syntax
* test: ✅ Updating tests for the hydration directive syntax
* refactor: Updating example projects for the hydration directive syntax
* test: ✅ Found a test fixture still needing an update to the hydration directive syntax
* style: Prettier strikes again! Reverting code formatting changes
* refactor: ♻️ moving directive matching to a Set
* refactor: Updating syntax to `client:load`
* refactor: ♻️ Simplifying the `client:` directive match
Per PR feedback from @matthewp
* chore: errant console.warn() snuck into the last commit
* feat: 🔊 Adding a super fancy build warning to update to the directive syntax
* refactor: ♻️ Removing unnecessary checks when matching supported hydration directives
`val` isn't being used for now, but leaving it in the attr destructuring as a reminder since it'll be needed for `client:media`
* test: ✅ Including the original hydration syntax in a test to make sure it builds
* style: 📝 Adding a comment to make it clear why the old hydration syntax is included in a the test markup
* fix: 🐛 updating `head` logic to recognize hydration directive syntax
* docs: Adding changeset
* refactor: 🔥 Removing unnecessary `!hasComponents` check
* docs: 📝 Adding more detail to the changset
Co-authored-by: Tony Sullivan <tony.f.sullivan@gmail.com>