* Don't overwrite the stack when using verbose logging
This makes it so that if the compiler panics and `--verbose` logging is
on (debug level), we don't replace the stack trace.
* Adds a changeset
* Work on removing vite-postprocess
* Gets hydration totally working
* Formatting
* Update based on PR comments
* Bring back vite transform for non-static builds
* Upgrade compiler version
* Update the client-only test
* Add debugging for windows
* More debugging
* Pass pathname into the markdown plugin as well
* Include vite changes
* Revert "Include vite changes"
This reverts commit dee6348b233b6d6c6fea1e4dcc41c98c0452846c.
* Don't run dev mode tests on windows
* Debugging
* chore(lint): Prettier fix
* remove the throw
* Skip a different way
* chore(lint): Prettier fix
* Skip the error test on windows too
* chore(lint): Prettier fix
* Move the after into the closure
* chore(lint): Prettier fix
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Progress on build demo
* Go back to ESM
* Some more progress on the new build
* More progress here
* Add support for hot reload
* Almost done
* Remove debugging stuff
* chore(lint): Prettier fix
* Pass through the origin
* Do not use ssr mode
* Use the logger
* chore(lint): Prettier fix
* Update yarn lock
* Fix types
* Only build chunks that are astro pages
* Debugging windows
* Prevent compilation race condition
* Read the file if not found in the cache
* Give a better error message when we can't find a page
* chore(lint): Prettier fix
* Fix windows maybe
* chore(lint): Prettier fix
* Some more windows debugging
* chore(lint): Prettier fix
* Remove console logs
* More debugging
* chore(lint): Prettier fix
* More debugging info
* chore(lint): Prettier fix
* Remove logging again
* Try to prevent port conflicts
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Create sandbox.config.json specifying port 3000
* Update sandbox.config.json
* Create sandbox.config.json for blog example
* Create sandbox.config.json for multiple authors blog
* added sandbox config to portfolios
* [ci] yarn format
* added sandbox.config.json to more frameworks examples
* [ci] yarn format
* reverted default rss to rss.xml
Co-authored-by: sarah11918 <sarah11918@users.noreply.github.com>
* fix: inject `fetch` only if not declared
* test: improve fetch test
* chore(lint): Prettier fix
* chore: trigger ci
* fix: improve type narrowing
Co-authored-by: GitHub Action <github-action@users.noreply.github.com>
* Make aliases work on windows
Change all occurrences of path.posix to path.
* Remove console log statement
* Update index.ts
* Update index.ts
* Update index.ts
* Edit changeset
* Makes Astro.resolve return root-relative paths
* Adds a changeset
* Update the compiler version and PR review
* Fix linting
* [ci] Prettier fix
* Remove use of vitifyURL
Co-authored-by: GitHub Action <github-action@users.noreply.github.com>
* Adding check to make sure the hydration directive is valid
* remove temp debug logging
* Adding a check for media query with client:media + small refactor
* adding changeset
Co-authored-by: Tony Sullivan <tony.sullivan@hyperlab.se>
* Render void elements as self-closing tags
* changeset
* nit: only check void element names if there is no child content
* nit: only check void element names if there is no child content
* add tests
* add logos for github dark mode
* Hot fix (gh-*-mode-only) issue
"that's an issue with wrapping an image in a link. We are currently still looking into how to best solve this. However, you can do the following which should work."
- dipree
* delete <td> 'cuz it was duplicate
* Add a helpful message for the "could not find commit hash for ..." error. This error mostly shows when someone tries to initialize a new project but git is not installed on their system.
* Bring back building of non-hoisted scripts
Scripts inside of src/, whether hoisted are not should be built. This
makes that so. If not hoisted they do *not* get bundled together, but
rather are their own standalone modules. This matches 0.20 behavior.
Closes#1968
* Adds a changeset
* Fix windows breakage
* Debug windows
* More debugging
* make it not be parallel
* More windows
* Might fix it
* ARG
* Simpler test
* Remove the debugging
* fix(lit-renderer): reactive props not init correctly
* test(renderer-lit): implement testing suggestiosn
* chore(renderer-lit): upload changeset
* fix(renderer-lit): call connCallback on server
* fix(renderer-lit): do not set reserved JSX props
* fix(renderer-lit): do not check for reserved attributes
Co-authored-by: Nate Moore <nate@skypack.dev>
* Re-add smartypants
* Updated packages
* Remove all the default plugins if there are either remark or rehype plugins
* Replace deperecated remark-slug with rehype-slug
* Added MarkdownParserResponse type
* Update documentation
* Removed type import from markdown package
* Updated remark-smartypants
* Changelog
* Missed one change
* Split changelogs
* Upgraded some MDX dependencies
* Fix typos in documentation
* Changed CHANGELOG.md package name
* Renamed smartypants
* Make Debug use the Code component
* Use a random port so parallel testing works
* some debugging
* Skip these tests for now
* Dont run these tests on osx
* Fix error handling in correct scope
Also improve Vite IDs for better module graph lookups
* Improve code frame
* Add changeset
* maybeLoc can be undefined
* Add tests
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
* Support custom elements
Support non-object/non-function components
* fix: ensure component is not string before throwing
Co-authored-by: Nate Moore <nate@skypack.dev>
* Support for using a subpath
* Update the readme
* Fix the package name
* Adds a changeset
* Ensure that public/ must be loaded from the subpath
* Update preview to use the new paths
* Use exact compiler version
* Use the newest version
* Use range again
* Use newer range
* Bundling CSS
* Current progress of building assets
* New build progress
* Its finally working
* Force css to go through the build
* Prettier filenames
* Split into separate CSS and HTML plugins
* Always have at least one input
* Bring back in sitemaps + output
* Bring back srcset support
* Bundle CSS
* Bring back minify
* Update dynamic tests
* Update remaining tests
* Linting
* Fix remaining broken test
* Use fs directly
* Adding a changeset
* Use path.posix
* Debugging windows
* More debugging
* Pass URLs into readFile
* Remove some debugging stuff
* Remove force flag from transformWithVite
* Update packages/astro/src/vite-plugin-build-css/index.ts
Co-authored-by: Drew Powers <1369770+drwpow@users.noreply.github.com>
Co-authored-by: Drew Powers <1369770+drwpow@users.noreply.github.com>
* Revert "Revert "feat: improve `astro.config` loading by support `.cjs`, `.js`, and `.ts` files""
This reverts commit a26f7a2088.
* fix: throw when filename is specified but not found
* chore: @proload/core@0.2.1
* refactor: simplify to use Proload's filePath option
* fix: move to @proload/plugin-tsm
* Update packages/astro/src/core/config.ts
Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
* Small refactor to the runtime
* Update packages/astro/src/runtime/server/index.ts
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Update packages/astro/src/runtime/server/index.ts
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Update packages/astro/src/runtime/server/index.ts
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Update packages/astro/src/runtime/server/index.ts
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Update packages/astro/src/runtime/server/hydration.ts
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Improve based on review comments
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
- Template is based on svelte components instead of react
- Bumps astro version to "^0.21.0-next.0" for portfolio-svelte template
Co-authored-by: Konstantinos Kostarellis <Konstantinos.Kostarellis@gmail.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 (#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>
* Expose name on host component for Vue devtools
* Add changeset
* Update changeset to patch from minor
* [ci] collect stats
* [ci] collect stats
Co-authored-by: leviceccato <leviceccato@users.noreply.github.com>
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
* Adds the `astro check` command.
This adds `astro check`, which runs type checking (and general error
checking) on Astro projects.
* print the number of errors found
* Adds a changeset
* Add cli docs
* Upgrade the language server version
* Prevent linting the console.logs
* Updated srcset checking
Improved functionality of `srcset` checking as original failed when URL contained a comma ( `,` ).
Utilised function from [srcset-parse](https://github.com/molefrog/srcset-parse) as couldn't find a way to integrate the package.
Added test to current assets test rather than create a separate one.
* Use srcset-parse
Co-authored-by: Coel May <82788995+coelmay@users.noreply.github.com>
* Expose slots to components via Astro.slots
* test: Add Astro.slots API tests
* docs: Document Astro.slots API
* docs: Duplicate Astro.slots documentation to other api-reference markdown
* Update proposal to use booleans, based upon RFC feedback
* update implementation & tests based on request
* changeset
* Prevent removing nodes, becasue styles preloading was detected earlier
* Add separate deduping for preloads and cover it with tests.
* Create quiet-horses-turn.md
* Test merging preload tags
* create-astro: Format console logs and fix message about default renderers
Format the console log statements so the code is easier to read
Add a check to see if the renderers array is empty and only show the message about using the templates default renderers if it isn't
* Add changeset
* Implementation of hoisted scripts
* Use the facade id
* Adds docs on hoisted scripts
* Don't try to run rollup if there are no hoisted scripts
* Handle scripts possibly being undefined (client:only)
* Get rid of changes to the portfolio example
* Adds a changeset
* Remove a todo
* Fix lint errors
* Rename TransformResult property to hoistedScripts
* Move Hoisted Scripts docs to astro-components page
* Fixes lint errors
* Fix path join for windows
* Upgrade @astrojs/markdown-support deps and update types
* Add changeset
* Update changeset
* Switch astro-markdown-plugins example to use rehype-autolink-headings
Usage of remark-autolink-headings is discouraged in favor of the rehype counterpart: https://github.com/remarkjs/remark-autolink-headings\#remark-autolink-headings
* Add stricter types for unified plugins
This includes a few suggestions from a code review:
- use vfile.toString instead of vfile.value.toString
- refactor plugins to follow unified best practices instead of returning functions that return a plugin
- use any instead of any[] for plugin options types
* Narrow down types to more specific hast or mdast typings
* Adding support for client:only hydration
* Adding documentation for client:only
* Adding changeset
* Updating the test to use a browser-only API
* Adding a browser-specific import script, this reproduces the issue where client:only imports must be removed
* typo fix
* removing mispelled test component
* WIP: delaying inclusion of component imports until the hydration method is known
* WIP: tweaking the test to use window instead of document
* When only one renderer is included, use that for client:only hydration
* temporary test script snuck into the last commit
* WIP: adding check for a client:only renderer hint
* refactor: Remove client:only components instead of delaying all component import statements
* Updating the changeset and docs for the renderer hint
* refactor: pull client:only render matching out to it's own function
* Updating renderer hinting to match full name, with shorthand for internal renderers
Co-authored-by: Tony Sullivan <tony.f.sullivan@gmail.com>
* add: Astro.resolve
* Add docs and tests for Astro.resolve
* Add warnings when using string literals
* Prevent windows errors
* Adds a changeset
* Use the astro logger to log the warning
* Use the .js extension
* Dont warn for data urls
* Rename nonRelative and better match
Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
* Fixes#1033 - Markdown with applied scopedStyles doesn't run Prism syntax highlight
* Removed the incorrect lang attribute to indicate language syntax
* Fixed UT for scopedStyles + markdown
* Update packages/astro/test/astro-markdown.test.js
Co-authored-by: Caleb Jasik <calebjasik@jasik.xyz>
* Added changeset for PR #1037
* Update curly-queens-pay.md
Changing from a `minor` release to a `patch` since we're pre-v1.0.0! This
Co-authored-by: Vitor Calejuri <vitor.cajuleri@gmail.com>
Co-authored-by: Caleb Jasik <calebjasik@jasik.xyz>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Completely fixes head/doctype stuff
* Remove the .only
* Add a comma following props
* Inject head stuff if there are both head and body elements in the component
* Remove extra debugger;
* Add warning when encountering 'zlib: unexpected end of file' message
* Add missing import for 'yellow'
* Add changeset
* Changing to a patch change since we are pre 1.0
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
* Adding support for multiple <style> blocks
* Adding support for `<style global>`
* scoping @keyframes should also be skipped for <style global>
* Adding test coverage for muliple style blocks, global blocks, and scoped keyframes
* docs: Updating docs for `<style global>` support
* Adding yarn changeset
* Punctuation fix in styling docs
* docs: Clarifying example use cases given in the docs
Co-authored-by: Tony Sullivan <tony.f.sullivan@gmail.com>
* fix: add force to rm script in create-astro
* add changeset
* edit overwrite prompt
* rm cannot remove '.' or '..' -- creating a helper function to empty the directory
* delete symlinks
* comments
* `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>
* Adds support for a Lit renderer
This adds `@astrojs/renderer-lit`. An experimental Lit renderer.
* Removed cached submodule, mistake
* Prevent globals clobbering
* Add docs on globals