The web framework that scales with you — Build fast content sites, powerful web applications, dynamic server APIs, and everything in-between ️ Star to support our work!
Find a file
Matthew Phillips 6a12fcecb0
Initial View Transition Support (#7511)
* Basic support

* Add the fade transition

* Move CSS into a separate file

* Add transition name

* View Transitions changeset

* Replace the boolean transition with 'morph'

* Update to use `transition:animate`

* Use head propagation

* Move CSS into a separate file

* Add builtin animations and namespaced module

* Misquote

* Remove unused code

* Add automatic prefetching to the View Transitions router

* Use a data attribute for back nav animations

* Use [data-astro-transition]

* Add view transitions to examples

* Wait on the HTML response before calling startViewTransition

* Updated stuff

* Update the compiler

* Fix

* Fallback support

* Properly do fallback

* Simplify the selectors

* Put viewTransitions support behind a flag

* Upgrade the compiler

* Remove unused import

* Add tests

* Use an explicit import instead of types

* Fix case where the click comes from within nested content

* Fix linting

* Add a test for the back button

* Prevent glitch in fallback

* Do not combine selectors

* Fallback to MPA nav if there is an issue fetching

* Fallback swap if there are no animations

* Update packages/astro/src/@types/astro.ts

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update packages/astro/components/ViewTransitions.astro

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>

* Update packages/astro/components/ViewTransitions.astro

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>

* Update the changeset

* PR review changes

* Update more based on review comments.

* Update the updateDOM default

* Pass in transitions options to the compiler

* Update broken tests

* Update .changeset/silly-garlics-live.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update .changeset/silly-garlics-live.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update .changeset/silly-garlics-live.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update .changeset/silly-garlics-live.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* h2 -> h4

* Upgrade to stable compiler

* Remove exp redirects from sitemap

* Remove usage from examples

* Remove example updates

---------

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
2023-07-19 15:18:41 -04:00
.changeset Initial View Transition Support (#7511) 2023-07-19 15:18:41 -04:00
.devcontainer Fix marketing typo by just removing extra info (#6410) 2023-03-02 15:47:13 -06:00
.github nit: use node: prefix everywhere (#7692) 2023-07-18 02:17:59 +02:00
.gitpod Gitpod - fix pnpm version error (#4120) 2022-08-02 11:09:16 -05:00
.vscode update prettier width (#2968) 2022-04-02 14:15:41 -06:00
benchmark nit: use node: prefix everywhere (#7692) 2023-07-18 02:17:59 +02:00
examples Initial View Transition Support (#7511) 2023-07-19 15:18:41 -04:00
packages Initial View Transition Support (#7511) 2023-07-19 15:18:41 -04:00
scripts nit: use node: prefix everywhere (#7692) 2023-07-18 02:17:59 +02:00
.Dockerfile Add a Github Codespace Config based on gitpod dockerfile (#4185) 2022-08-08 12:22:32 -05:00
.editorconfig Use accessible indentation (#2253) 2021-12-22 16:11:05 -05:00
.eslintignore feat: use typescript-eslint@v6's reworked configs (#7425) 2023-07-03 20:59:43 +08:00
.eslintrc.cjs [ci] format 2023-07-12 07:14:48 +00:00
.git-blame-ignore-revs Ignore big formatting commit (#3870) 2022-07-08 15:31:10 -05:00
.gitignore Upgrade turbo (#6911) 2023-04-27 11:39:15 +08:00
.gitpod.yml fix: always get latest pnpm (#4571) 2022-08-31 11:13:06 -05:00
.npmrc Handle compiler breaking change (#5803) 2023-01-12 22:46:56 +08:00
.nvmrc Update .nvmrc to match new CI baseline (#5784) 2023-01-06 12:49:08 -05:00
.prettierignore Format markdown files (#7439) 2023-06-26 11:34:13 +08:00
.prettierrc.cjs Update example dependencies versions with a script (#7367) 2023-06-12 20:48:04 +08:00
CONTRIBUTING.md Bump pnpm to 8.6.2 (#7413) 2023-06-19 15:29:30 +08:00
LICENSE add vite to license 2022-04-24 16:42:39 -07:00
package.json feat: bumped typescript-eslint to v6 stable 🥳 (#7626) 2023-07-12 15:11:46 +08:00
pnpm-lock.yaml Initial View Transition Support (#7511) 2023-07-19 15:18:41 -04:00
pnpm-workspace.yaml Upgrade turbo (#6911) 2023-04-27 11:39:15 +08:00
README.md Format markdown files (#7439) 2023-06-26 11:34:13 +08:00
SECURITY.md [ci] format 2022-08-08 17:12:48 +00:00
SECURITY_CONTACTS Changes required for a Passing grade from OpenSSF Best Practices (#3718) 2022-08-08 12:11:00 -05:00
STYLE_GUIDE.md Move from yarn to pnpm (#2455) 2022-03-08 15:46:11 -06:00
tsconfig.base.json feat(all): Migrate to TypeScript 5.0 (#6579) 2023-03-20 17:02:07 +01:00
tsconfig.eslint.json feat: use typescript-eslint@v6's reworked configs (#7425) 2023-07-03 20:59:43 +08:00
tsconfig.json chore: add empty tsconfig to prevent TypeScript from crawling (#4937) 2022-09-30 16:02:39 -05:00
turbo.json Fix up pnpm dev (#7424) 2023-06-20 14:06:36 -04:00

Build the web you want


Astro is a website build tool for the modern web —
powerful developer experience meets lightweight output.

Install

The recommended way to install the latest version of Astro is by running the command below:

npm create astro@latest

You can also install Astro manually by running this command instead:

npm install --save-dev astro

Looking for help? Start with our Getting Started guide.

Looking for quick examples? Open a starter project right in your browser.

Documentation

Visit our official documentation.

Support

Having trouble? Get help in the official Astro Discord.

Contributing

New contributors welcome! Check out our Contributors Guide for help getting started.

Join us on Discord to meet other maintainers. We'll help you get your first contribution in no time!

Directory

Package Release Notes
astro astro version
create-astro create-astro version
@astrojs/react astro version
@astrojs/preact astro version
@astrojs/solid-js astro version
@astrojs/svelte astro version
@astrojs/vue astro version
@astrojs/lit astro version
@astrojs/deno astro version
@astrojs/netlify astro version
@astrojs/node astro version
@astrojs/vercel astro version
@astrojs/cloudflare astro version
@astrojs/partytown astro version
@astrojs/sitemap astro version
@astrojs/tailwind astro version
@astrojs/turbolinks astro version
@astrojs/alpinejs astro version
@astrojs/image astro version
@astrojs/mdx astro version
@astrojs/prefetch astro version

CII Best Practices

Several official projects are maintained outside of this repo:

Project Repository
@astrojs/compiler withastro/compiler
Astro Language Tools withastro/language-tools

Sponsors

Astro is generously supported by Netlify, Storyblok, and several other amazing organizations.

❤️ Sponsor Astro! ❤️

Astro's sponsors.