* refactor dev to use vite server
* refactor the route cache and other build internals
* use debug package for debug logs (#2504)
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
* standardize trailing subpath, and fix fetchcontent issue
* debug windows ci
* improve ci test
* fix windows test issue?
* fix only usage
* end debugging
* Handle project folders containing a space
* Adds a changeset
* Bump the test package version
* Use server relative paths as entries
* Fix windows
* A hoisted fix
* Correctly handle facadeIds on windows
* Fix HMR in static build + @import HMR
* Changeset
* Add a comment on what cleanUrl is doing
* Running prettier
* Improve comments on how the static build compilation
works differently.
* Set channel link in rss.xml to site index
This is the RSS 2.0 spec and fixes issue with pretty-feed-v3 "View Website" link pointing back to the feed
* tests: edited rss gen test
* Allow pre-generated urls to be passed in rss feeds
* Fix variable name
* Add isValidURL helper function
* Remove scary RegEx and tidy up code
* add test for using pregenerated urls
* fix: allow rss to be called multiple times
* test: normalize rss feed in test
* chore: add changeset
Co-authored-by: Zade Viggers <74938858+zadeviggers@users.noreply.github.com>
Co-authored-by: zadeviggers <zade.viggers@gmail.com>
* Resolve sitemap URLs in relation to full site path
Fixes#2422
* Test generated sitemap contains base directory in URLs
* Add changeset
* test: Add `clean` helper to loaded fixture API
Adds a method that when called will remove the loaded fixture’s dist directory using `rimraf`.
* test: Clean up between sitemap/RSS tests
* See if letting rimraf retry more helps…
* Add logging to double check nothing’s running in parallel
* Remove logging & double check clean up actually succeeds
* Try using basic Node.js to clean up dist
* Remove logging/checks
* Remove stray unnecessary `async` keyword
* Supports hoisted scripts in the static build
* Adds a changeset
* Update packages/astro/src/core/build/internal.ts
Co-authored-by: Evan Boehs <evan@boehs.org>
* Update based on feedback
* Fix lint
* Fix getting hoist script for Windows
* Try with the pre compiler
* use compiler 0.8.2
* update compiler version
* update yarn.lock
Co-authored-by: Evan Boehs <evan@boehs.org>
* [ci] collect stats
* [ci] update lockfile (#2388)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
* Fixes for blog and docs examples (#2373)
* Fixes for blog and docs examples
* Adds a changeset
* Upgrade the compiler version
* Use a global style tag
* Skip on windows temporarily
* [ci] yarn format
* Fixes Lit support in the static build
* Adds a changeset
* test
* Upgrade lit-labs/ssr
* Conditional
* Testing again
* remove debugging code
* changeset
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* Fix use of frameworks in the static build
* Adding a changeset
* fix typescript
* Empty out the directory before running the builds
* Use a util to empty the directory
* Only empty the outdir if needed
* Move prepareOutDir to its own module
* Prepare outDir is actually sync
* Fix: static-build with .md pages
This fixes the `--experimental-static-build` flag to work with markdown
pages.
* Adds a changeset
* Account for difference in specifier on windows
* Fix issue with plugins running twice in dev and build
* nit: only patch plugins
* nit: only patch plugins
* nit: only solve for create-vite
* nit: only solve for create-vite
* Create seven-mice-do.md
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* Handle loading the Code package
Fixes#2329
* Use Code the normal way
* Adds a changeset
* Only resolve browser path if there is no common ancestor
* Update examples/fast-build/src/pages/index.astro
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Fix subpath support regressions
* Adds a changeset
* Update tests to reflect relative URL change
* Pick a different port and hopefully windows works
* Remove bad lint warning
* Better handling of relative paths
* or
* Fixes use with pageUrlFormat
* Update the pageDirectoryUrl test
* Revert "Revert "Implement hydrated components in the static build (#2260)""
This reverts commit 17ac18e88c.
* Only resolve specifiers in the static build
* Adding a changeset
* Fix the client-only test
* Move english pages under `/en` and fix broken links hopefully
* Add meta refresh tags for `/` to `/en/` url moves + make `/index.astro` work without js
* update languageselect for new en format
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* 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
* 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>
* 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>
* 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
* 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;
* 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>
* `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
* Upgrade to snowpack@3.8.0
* Try with 3.8.1-pre.0
* Newest yarn lock
* Add postcss plugin and autoprefixer to the root
* Update the yarn lock
* Prevent typescript recursion
* Use snowpack@3.8.1
* 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>
Some renderers, such as Lit, need special polyfills only for hydration. We have the `polyfills` array, but that is intended for polyfills that always need to run. This adds a second type hydrationPolyfills that only run on elements that are `:load`, `:idle`, etc.
* Implements low-level custom element support
* Changes based on self review
* Adds a changeset
* Polyfills are added even when not hydrating
* Remove hydrationMethod option
Punting on this idea until it's really needed.
* Pass in scoped class name to child components
If a class is being passed into child components, pass in the scoped class name as well.
* Adds the changeset
* fix: 🐛 Fixes bug #532
Matching for collection routes should look for exact filename matches
* test: ✅ Adding test coverage to make sure collection routes are matched exactly
* chore: Adding changeset
* Fix code from bad merge
* Dont wrap the raw
* Wrap the expression in quotes
* remove react-dom just to test
* Add back react-dom as a known entrypoint
* Make startup time even longer
* wip: update props api
* feat(#139, #309): enable new props api
* chore: migrate examples to new props API
* docs: update syntax guide for new props API
* chore: update examples to new props API
* chore: update docs to new Props API
* fix: hide __astroInternal from `Astro.props` consumers
* chore: remove scratchpad file
* chore: fix script error
* test: fix failing collection tests
* fix: set __astroInternal to `enumerable: false`
* chore: add changeset
* feat: warn users using old props api
* fix(#521): allow spread props
* chore: add spread prop tests
* fix: falsy expressions should only be skipped in 'Expression' case
* fix: support primitives in expressions (objects, arrays)
* Start of allowing node builtins issue
* Allow use of node:builtin
* Produce an error in Astro files with bare builtin usage
* Upgrade snowpack version
bug fixes for packages that use `node:`
* Document node builtins
* Use the provided builtins list
* Fix pageSize calculation when Infinity is given
* test grouping collection with pageSize: Infinity
* test individual pages for collection items
* Revert "update docs, remove reference to Inifinity"
This reverts commit e8a976a543.
* Adding changeset
* fix output issues uncovered by snowpack warnings
* Update the snowpack version
* Load Prism dep as the default
* Rename srcRoot to src
* Document the src option
* Add the changeset
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
* Start of warnings
* Provide knownEntrypoints by renderers
This allows renderers to provide knownEntrypoints that will be forwarded to snowpack. This gets rid of renderer-specific warnings and allows us to remove the snowpack logging hacks we were doing.
* Adds a changeset
* First take
* Allow omitting head element
This makes it possible to omit the head element but still inject the style and HMR script into the right place.
* Add changeset
* More progress on this
* Only render if it's a page
* Include fragments in compiled jsx
* Adds a changeset
* feat(#472): do not inject `astro-xxx` class for components without styles
* test: add test for skipped scoped classes
* chore: add changeset
* Update happy-cougars-scream.md
* Fix README header aspect ratio
* add changeset
* bring back img and try responsive width and height
* Remove `width` and `height` attrs
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Add repository remotes for all astro packages
* Add repository.directory key instead of adding the path to repository.url
* Include changeset
* Add repository key to create-astro
* Honor user's hmr settings
This contains 2 fixes:
* If the user sets the hmrPort in their own snowpack config we use that port.
* If the user sets `window.HMR_WEBSOCKET_URL` we defer to that
* Adds the changeset
* Prevent postcss from crashing when scoping class without a body
For some reason postcss will keep running the plugin over and over on a class without a body if we modify the `selector` (this triggers it as being "dirty"). It doesn't do this for selectors with a body. But the fix was easy enough, only scope a rule once.
Closes#340
* Add a changeset
* Fix usage of arrow functions as components
This fixes the React and Preact component as arrow function use-case by checking for the prototype property (arrow functions don't)
* Check the prototype
* fix scoped selector when using escaped colon
* update scoped styles test
* add changeset
* update `scopeRule` test
* update `scopeRule` test
* update css minifier to account for windows-style line breaks
* Make doctype be case insensitive
Fixes#413
* Make doctype completely case insensitive
* Make check for style scoping doctype override be case insensitive
* Check for doctype in the right place
* Improved JSX framework detection
This improves the JSX detection and adds a bunch of test. The following is improved:
* If an error throws because of a coding mistake, those errors will be reported.
* We properly detect class components for both Preact and React. We don't have to "try to render" these.
It's still possible that error messages might be obscured in this scenario:
A Preact function component that uses hooks (or another preact specific feature) that has a coding mistake. The React renderer might throw when it uses the Preact hook. That error will be reported rather than the real coding mistake.
This is because we can't distinguish between errors that are due to the wrong framework and errors that the user caused.
I might reach out to the Preact community and see if they can think of a better solution to this problem. This will come up when other JSX based frameworks have renderers. I still think that having multiple frameworks in the same project is a feature worth trying to preserve.
* Move try/catch into the __astro_component
* Allow createCollection() to fetch remote data
Fixes#378
* Update docs
* revert isomorphic-fetch, see if ci passes
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* Always add HMR port script when HMR is enabled
* Add it only if there are client side components
* Fix the test
* Add a test where HMR port not set
* Upgrade snowpack version
* Fix snowpack semver
The link to the "Partial Hydration" section from "Markdown" was missing a hyphen. Since I was changing it, I also moved it to the list of link reference definitions at the bottom.
* feat: add blog to `www`
* feat: add BlogHeader
* wip: add heroImage support
* feat: update hero image styling
* finalize blog post
* use site index instead of blog index
* fix: don't use float
* chore: copy cleanup
* fix: scroll issue on landing page
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* Prevent duplicate snowpack logs
* Fix test to wait on expected messages
* Update the snowpack/plugin-vue
* Add changeset
* Debugging
* Skip the logging test on windows :(
* arg
* Use npm package names to load internal deps
This is necessary so that published Astro components work. These components will be built by esinstall and therefore they cannot rely on `_astro_internal`. The fix is to use npm specifiers everywhere.
* Move most of frontend to internal
* Mark astro/internal/markdown.js as external
* Move markdown stuff to its own package
This moves the markdown stuff to its own package so that we can externalize it in the markdown component.
* Add the changeset
* Improve dev startup by making most dependencies externals
This moves most dependencies to be an `external` for Snowpack, preventing backend deps from going through esinstall.
* Update benchmark times
* chore: add benchmark script for convenience
* fix: update externals to allow renderers
* chore: update benchmark times
Co-authored-by: Nate Moore <nate@skypack.dev>
* fix(vscode): Markdown frontmatter should use TSX, not YAML
* test: add test for #153
* chore: bump deps
* chore: update to use @astrojs scope
* fix: Markdown parse error when only child is `{expression}`
* fix: update renderer edge cases
* fix: failing test
* fix: update renderer
* Add benchmarking for the dev server
This adds benchmarking for the dev server.
* Use fs.rm instead
* Only rimraf if the folder exists
* Make uncached match CI
* Change the cached time too
* Don't run benchmark in CI
* Switch back test command
* Make tests be within 10 percent
* Use yarn to run multiple things
* Turn benchmark into uvu tests
* Debugging benchmark
* Print chunk for testing
* Ignore benchmark folder in uvu
* Add build benchmarking
* Update benchmark numbers
* fix: add svelte plugin for esbuild, remove precompiled svelte components
* refactor: public export map, public types
* feat: add source-map-support to common code paths
* chore: move new "exports" to "imports" map, add internal types
* Include outPath in error logging for bad load status, and drop error stack (#163)
* Include outPath in the error logging for bad load status
* Discard error stack since it seems not useful
* feat: improve build error logging
* refactor: use object param for writeResult
Co-authored-by: Kevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com>