The code path changed by this commit isn't only taken when running using Vite. If the site is configured with a base url which is different from `/` but does **not** end with `/` (for example, because `trailingSlash` is set to `never`), the `- 1` results in an off-by-one error when truncating the URL.
By checking if the base url ends with `/`, we can determine the right length for the prefix to truncate.
* feat(assets): Add Vite plugin
* feat(images): Set up Image component
* fix(types): Attempt to fix type generation
* Revert "fix(types): Attempt to fix type generation"
This reverts commit 063aa276e2.
* fix(image): Fix image types causing build to fail
* feat(image): Implement client side part
* feat(services): Allow arbitrary transforms parameters
* fix(image): Fix paths and types
* config(types): Update config types to provide completions for available services
* feat(image): Add serving in dev
* feat(image): Improve type error messages
* refactor(image): Move sharp's parseParams to baseService
* refactor(image): Skip work in dev for remote servies
* feat(image): Add support for remote images
* feat(image): Add squoosh service
* chore: update export map
* refactor(image): Abstract attributes handling by services
* config(vercel): Remove test image service
* feat(image): Support for relative images in Markdown (WIP)
* feat(images): Add support for relative images in Markdown
* feat(image): Update with RFC feedback
* fix(image): Fix alt error on getImage
* feat(image): Add support for assets validation through content collections
* feat(image): Remove validateTransform
* feat(image): Move to assets folder
* fix(image): Fix package exports
* feat(image): Add static imports references to virtual moduel
* fix(image): Fix images from content collections not working when embedded
* chore: lockfile
* fix(markdown): Fix type
* fix(images): Flag enhanced images behing an experimental flag
* config(example): Update images example conifg
* fix(image): Fix types
* fix(image): Fix asset type for strict, allow arbritary input and output formats
* chore: fix example check
* feat(image): Emit assets for ESM imported images
* Add initial core image tests (#6381)
* feat(images): Make frontmatter extraction more generic than images for future
* feat(image): Add support for building
* fix(image): Fix types
* fix(images): Fix compatibility with image integration
* feat(images): Cuter generation stats
* fix(images): Globals are unsafe, it turns out
* fix(images): Only generate images if flag is enabled
* fix(images): Only create `addStaticImage` in build
* feat(images): Add SSR endpoint
* fix(images): Only inject route in SSR
* Add tests for SSR
* Remove console.log
* Updated lockfile
* rename to satisfy the link gods
* skip build tests for now
* fix(images): Fix WASM files not being copied in dev
* feat(images): Add quality presets
* fix build tests running
* Remove console.log
* Add tests for getImage
* Test local services
* Test the content collections API
* Add tests for quality
* Skipping content collections test
* feat(image): Add support for `~/assets` alias
* test(image): Add tests for aliases in dev
* Fix windows + content collections
* test(image): Add tests for aliased images and images in Markdown
* Fix markdown images being built
* Should be posix join
* Use the optimized image
* fix test
* Fixes windows smoke
* fix(image): Nits
* feat(images): Add automatic update for `env.d.ts` when experimental images are enabled
* fix(images): Revert env.d.ts change if the user opted-out of the experimental image support
* chore: remove bad image example project
* feat(image): Rename `experimental.images` to `experimental.assets`
* fix(images): Remove unused code in MDX integration
* chore: Remove unrelated change
* fix(images): Remove export from astro/components
* Fix, esm import on Win
* test(images): Add test for format
* fix(images): Add `client-image.d.ts` to export map
* chore: changeset
* fix(images): Adjust with feedback, no more automatic refine, asset() -> image()
* fix(images): Fix types
* fix(images): Remove unnecessary spread
* fix(images): Better types for parseUrl and transform
* fix(images): Fix types
* fix(images): Adjust from feedback
* fix(images): Pass width and height through getHTMLAttributes even if they're not added by the uesr
* fix(images): Recusirsively extract frontmatter assets
* fix(images): Use a reduce instead
* feat(images): Add support for data: URIs
* chore: changeset
* docs(images): Misc docs fixes
* Update .changeset/gold-rocks-cry.md
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update .changeset/gold-rocks-cry.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Update packages/astro/src/@types/astro.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/assets/services/service.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/assets/services/service.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/assets/services/service.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/assets/types.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/astro/src/assets/types.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
---------
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* fix(vercel): update getRequest to use undici
* Changeset
* haha ts-expect-error is a double-edged sword
---------
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* fix: don't mix Vite plugins when spawning temporary Vite server
* chore: include command to `createVite` options
* chore: use `command` and exclude `preview`
* chore: add test
* fix(test): remove command check from apply fn
* chore: add hint about filtering vite plugins and command
* chore: apply suggestion
Co-authored-by: Ben Holmes <hey@bholmes.dev>
---------
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Ben Holmes <hey@bholmes.dev>
* fix(endpoints): Add a warning when trying to set encoding and headers in SSR
* fix(endpoint): Oops, it'd be great if it actually worked
* fix(endpoint): Fix import path
* fix(endpoint): Add link to docs
* Update packages/astro/src/core/endpoint/index.ts
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
* fix: don't output encoding warning if endpoint is pre-rendered
* Update packages/astro/src/core/endpoint/index.ts
* Update packages/astro/src/core/endpoint/index.ts
---------
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* [Lit] render DSD attributes based on `shadowRootOptions`
## Changes
- Update `@astrojs/lit`’s `server.js` to properly render elements with `delegatesFocus: false` set in their `shadowRootOptions`.
- Logic is based on `@lit-labs/ssr` [latest implementation as found here](b0c3f82ef0/packages/labs/ssr/src/lib/render-value.ts (L738))
## Testing
A test was added to ensure an element with `delegatesFocus` set to true has this attribute properly included in the rendered static markup.
* chore: add changeset
* fix: bump `undici` to v5.20.0
* fix(cookies): Hopefully the last time we mess with undici and cookies
* chore: add @astrojs/telemetry to changeset
---------
Co-authored-by: Princesseuh <princssdev@gmail.com>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* fix: use getSetCookie, if available
* fix: explicitly use entries
* fix(image): be defensive on node@18.14.1
* chore: update changeset
* ci: skip test in 18.14.1
* [create-astro] Execute the 'git' step as the final interaction
This ensures the initialized repository has all configuration
changes commited in the first commit
* Add changeset
* @astrojs/image: add support for SVG images
* @astrojs/image: add tests for SVG images
* @astrojs/image: update README.md with SVG format info
* Add minor changeset for @astrojs/image
* test: add fixture
* test: add test case
* test: fix tests
* feat: support mjs/ js file extensions for cc config
* chore: sync lockfile
* test: make assertion more specific
* test: make template minimal
* chore: add changeset
* feat: add warning when `allowJs` is `false`
* improve warning
* extract tsconfig loader to another function
* rename to more descriptive variable
* apply review suggestion
Co-authored-by: Ben Holmes <hey@bholmes.dev>
---------
Co-authored-by: Ben Holmes <hey@bholmes.dev>
* feat(intergration/vercel): add vercel analytics support
* docs(intergration/vercel): add vercel analytics prop
* docs(intergration/vercel): bump version to 3.1.0
* Update packages/integrations/vercel/README.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* docs(intergration/vercel): add file name for example
* feat(intergration/vercel): convert analytics to ts and support in edge
* docs(intergration/vercel): move file names to code blocks as comments
* fix(intergration/vercel): remove unused import
* feat(intergration/vercel): add analytics support to static mode
* chore(intergration/vercel): revert version change
* style(intergration/vercel): add a blank line after astro import
* chore(intergration/vercel): generate file by changeset
* Update .changeset/eighty-bobcats-deliver.md
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/integrations/vercel/README.md
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/integrations/vercel/src/analytics.ts
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* chore(intergration/vercel): simplify analytics script
---------
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Add additional scoping for head buffering
* Add test for direct usage of nested component
* Add special scoping for Astro.scopes.render()
* Generate propagation map during the build
* Move to a maybeHead instruction
* Properly serialize for SSR
* More conservative scoping
* Maybe had should honor result._metadata.hasRenderedHead
* Properly type slots
* Allow template result to be passed
* Add changeset
* fix(netlify): Try to make polyfill external
* feat(webapi): Add polyfill applier for SSR
* fix(netlify): Externalize polyfills so they're always applied before user code
* chore: changeset
* test(netlify): Add test for polyfill being in the proper place
* config(netlify): Remove unnecessary change to package.json
* revert(netlify): Revert changes
* feat(astro): Add a way for packages to explicitely mark themselves as needing to be external
* Update .changeset/silent-dragons-sell.md
---------
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* feat: use vite dev server for content config
* refactor: improve export naming
* chore: update `sync` to spin up server
* refactor: run sync before build in cli
* fix: move sync call to build setup
* chore: clean up attachContent... types
* chore: remove unneeded comment
* chore: changeset
* fix: attachContentServerListeners in unit tests
* fix: allow forced contentDirExists
* chore: update schema signature
* fix: move content listeners to unit test
* chore remove contentDirExists flag; unused
* chore: stub weird unit test fix
* minor fixes for errors related to vercel SSR in core
* yielding empty string instead of nothing, to not exit the iterator
---------
Co-authored-by: AirBorne04 <>
* Fix lit hydration not having the same reactive values
* add changeset
* add clientEntrypoint to package exports
* update tests
* add changeset
* only add defer-hydration when strictly necessary
* remove second changest
* fix test typos
Currently, @astrojs/image allows *importing* images from srcDir
only. Importing images from outside srcDir fails miserably *in dev
mode* and produces incorrect src.
This happens because `path.relative(fileURLToPath(config.srcDir), id)`
resolves to "../something" and when joined with '/@astroimage' cancels
it out (`join('/@astroimage', '../../something')` => `'/something'`).
Rework /@astroimage URL scheme to be similar to "/@fs/" scheme—always
export absolute path to the target file.
* fix: add error handling for invalid arguments
* chore: add changeset
* Update packages/astro/src/core/errors/errors-data.ts
Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>
---------
Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>
* chore: script, rename delayed -> propagated
* fix: consistent propagatedAssets flag
* feat: inject those scripts in dev!
* test: scripts included in dev and build
* chore: add TODO for prod build fix
* chore: changeset
* Allow passing `undefined` to transform options
This fixes#6001, allowing undefined passed as a variable in addition to not passing the property at all
* Create strange-olives-rest.md
* Improve error message for missing `widths` prop
* Add changeset
* Add a check for existing .git directory (and skip if one is found).
* Changeset attempt :-)
* Update .changeset/try-button-rumor.md
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Update vite-plugin-content-assets.ts
* Add changeset for #5927
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Co-authored-by: Anders Kaseorg <andersk@mit.edu>
* Updated according to new configuration
Astro imports the `defineConfig` function from `astro/config`. The `integrations` key needs to be passed into the `defineConfig` function, but it is not shown in the README. Updated the README according to the CLI example.
* update alpine
* update image
* update lit
* update mdx
* update preact
* update prefetch
* update react
* update sitemap
* update solid
* update svelte
* update tailwind
* update turbolinks
* update vue
* chore: add changeset
* update image
* update svelte readme
Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Astro <Code> component is not able to use a custom theme anymore
* Astro <Code> component is not able to use a custom theme anymore
* Astro <Code> component is not able to use a custom theme anymore
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* fix
* add test
* use `fileURLToPath` instead
* chore: changeset
* remove useless config file
* revert back to using `decodeURIComponent`
* test: better test
* re-revert back to using `fileURLToPath`
* [ci] release
* Update changelogs (#5955)
* [ci] release
* Wrap astro 2.0 beta logs in `<details>`
* Add link to docs upgrade guide
* First pass cleaning up 2.0 release notes
* mdx changes from Sarah
* combine 5584 and 5842 in deno, image, netlify
* markdown/remark incl (5684 & 5769) to match mdx
* Tweak markdown/remark formatting
* Format astro-prism
* Format astro-rss
* Format create-astro
* Format cloudflare
* Format lit
* Format partytown
* Format node
* Format preact
* Format react
* Format solid
* Format svelte
* Format tailwind
* Format vercel
* Format vue
* Format telemetry
* Format webapi
* Format scripts
* Reinstate h3s for headings
Co-authored-by: Ben Holmes <hey@bholmes.dev>
* Reformat mdx
* astro & markdown/remark: Combine #5679 & #5684 changelogs
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Ben Holmes <hey@bholmes.dev>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Ben Holmes <hey@bholmes.dev>
* feat: respect `slug` frontmatter prop
* chore: replace `slug` check with proper types
* fix: regen types on `slug` change
* chore: add TODO on slug gen
* tests: update to use `slug` frontmatter prop
* chore: add error message on `slug` inside object schema
* lint
* chore: add note on frontmatter parse
* refactor: move content errors to new heading
* chore: ContentSchemaContainsSlugError
* chore: changeset
* docs: be 10% less gentle
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* fix: avoid parsing slug on unlink
* docs: clarify old API is for beta users
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* First stylistic pass
* Rework for x/o instead of and
* fix typo
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Add changeset
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Rename getEntry to getEntryBySchema
* Improve entrySlug types and return undefined
* Add changeset
* Update packages/astro/src/content/template/types.d.ts
Co-authored-by: Ben Holmes <hey@bholmes.dev>
* Update the types to accept both raw string and known value
* Add comment on the implementation not currently being O(1)
Co-authored-by: Ben Holmes <hey@bholmes.dev>
* fix(image): Remove unnecessary polyfill now that we dropped Node 14
* fix(squoosh): Remove fetch of local wasm binary since undici doesn't support that
* chore: changeset
* Simplify HMR handling
* Try skip test to reveal other test result
* Support virtual files
* Fix head injection
* Revert CI changes
* Bring back normalizeFilename
* Refactor
* Add changeset
* refactor: remove experimental.cc from core
* chore: remove experimental flag from tests
* fix: mock contentDir in remark tests
* fix: check vfile.path in rel-image-error plugin
* fix: move .astro/ excludes to all test/fixtures
* fix: include test/**/fixtures in ignore
* chore: changeset
* fix: always generate types on init
* fix: skip type generation when no content dir found
* fix: avoid stripping `.ts` for existsSync check
* chore: changeset
* fix: run type gen when content/ dir added in dev
* feat(webapi): Remove unnecessary polyfills now that we dropped support for Node 14
* feat(webapi): Removed more unnecessary polyfills for Node 16
* chore: changeset
* chore: Update engines field
* fix(deps): Remove node-fetch
* feat(polyfills): Remove node-fetch for undici
* feat(webapi): Remove node-fetch from the webapis polyfills for undici
* feat(core): Remove node-fetch for undici in Astro core
* feat(telemetry): Remove node-fetch for undici
* feat(node): Remove node-fetch for undici in node integration
* feat(vercel): Remove node-fetch for undici in Vercel integration
* chore: update lockfile
* chore: update lockfile
* chore: changeset
* fix(set): Fix set directives not streaming correctly on Node 16
* Try another approach
* Debugging
* Debug fetch
* Use global fetch if there is one
* changeset for lit
* Remove web-streams-polyfill
* Remove web-streams-polyfill license note
* Update .changeset/stupid-wolves-explain.md
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Initial refactor
* Extract as vite plugin
* Cleanup vite plugin
* Reduce option passing
* Use localhost as preview default host
* Simplify base handling
* Fix host handling
* Add changeset
* Remove unused imports
* Remove unused sirv dep
* Try pin playwright to 1.28.1
* Update playwright
* Try this
* Speed up CI
* Try fix page off
* Refactor networkidle
* Ensure open connections are destroyed when the preview server is closed
* Revert debug code
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
* Add Astro as a peerDependency
* Add changeset
* Update .changeset/thin-seahorses-worry.md
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
* ci(node): Move CI to Node 16 and add Node 18 to the matrix
* fix(netlify): Fix set-cookie not working on Node 18
* fix(netlify): Handle if `set-cookie` is already somehow an array (apparently it can?)
* test(node): Fix `toPromise` to match Astro's
* fix(tests): Use the actual underlying ArrayBuffer instance to create the buffer in toPromise
* chore: changeset
* feat: add smartypants flag
* test: smartypants in markdown and mdx
* docs: Smartypants -> SmartyPants
* chore: changeset
* chore: update changeset with 1.0 -> 2.0 in mind
* chore: bump to minor change
* feat(errors): Add file location where error happened during build for user-generated errors
* chore: changeset
* fix(errors): Only add information if the error is in a compatible shape
* feat(errors): Add hint to throw Error objects instead of other types for better information
* test(errors): Add test to make sure errors in build have the error location
* chore(lockfile): Update lockfile
* chore: misc text fixes
* feat: slugify slug to handle capitals and spaces
* docs: add not on Slugger issues
* deps: bump to github-slugger 2.0
* refactor: new Slugger() -> slug util
* fix: stop using URL.pathname
* fix: `file://` prefix on isContentFlagImport
* test: spaces in fixture file name
* chore: add `test:unit:match`
* refactor: handle collection errors from getEntryInfo
* test: unit getEntryInfo
* chore: changeset
* chore: markdown-remark out of date
* fix: correctly strip index on windows
* fix: move to utils, fix slug regex
* refactor: intermediate var
* lint: `path` variable shadowing
* chore: add not on allowFilesOutsideCollection
* fix(astro/core): Do not add base to hoisted script body
* fix(astro/core): Add base path to hoisted .js files only
* fix(astro/core): undo style changes
* Add new overlay
* Fix CSS errors missing the proper stacktrace
* Fix names not working in some cases
* Add changeset
* Fix Playwright not detecting the overlay
* Update E2E test
* Fix tests
* Small refactor, fix syntax highlight on light mode, fix code element showing even with no code
* Simplier injection
* Add Markdown support to CLI reporting
* Fix not being able to navigate with the keyboard to the open in editor link
* aria-hide some svgs (#5508)
we should also make the "open in editor" button a button, not a link, if we are using JS for interactions
* Implement close method so Vite can close the overlay when needed
* Fix filepaths not being absolute when coming from node_modules for errors
* Fix multi line errors with indentation not showing correctly
* Fix entire page being scrolled to the error line in certain cases
* Update docs links
* Put the new error overlay behind a flag
* add flag for e2e tests
Co-authored-by: Caleb Jasik <calebjasik@jasik.xyz>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
* Allow setting domain when deleting cookies
* Add delete cookie with domain tests
* Fix syntax for AstroCookieDeleteOptions type
* Add changeset
* Update to a minor change rather than a patch
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
With this new `server.headers` option, the users can specify
custom headers for `astro dev` and `astro preview` servers.
This is useful when they want to build a website requiring
specific response headers such as `Cross-Origin-Opener-Policy`.
* test(astro-rss): Compare XML using chai-xml
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
* fix(astro-rss): Generate feed with proper XML escaping
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
* Head propagation
* Adding a changeset
* Fix broken build
* Self review stuff
* Use compiler prerelease exact version
* new compiler version
* Update packages/astro/src/vite-plugin-head-propagation/index.ts
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
* Use getAstroMetadata
* add .js
* make relative lookup work on win
* Use compiler@0.30.0
* PR review comments
* Make renderHead an alias for a better named function
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
A PR merged back in April changed the type of Params, allowing numbers to be provided in addition to strings. See https://github.com/withastro/astro/pull/3087. However, as said PR changed the type of Params instead of GetStaticPathsItem, it also affects Astro.params. This commit moves the change to GetStaticPathsItem, reverting the type of Astro.params.
* Use Vite's resolve to resolve paths for client:only
* Adding a changeset
* Add it to the markdown legacy plugin too
* Remove fully resolving
* Fully resolve in the analyzer
* don't do this twice
* remove dead code
* feat: provide HOST env variable at runtime
* doc: add change to documentation
* Update documentation according to suggestions
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* fix: empty string is considered as undefined
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* I cant catch an error in the loadRemoteImage function when the fetch function occurs error
* I cant catch an error in the loadRemoteImage function when the fetch function occurs error
* fix ssg file
Co-authored-by: wuls <linsheng.wu@beantechs.com>
Co-authored-by: Okiki Ojo <okikio.dev@gmail.com>
* Allow Code component to run in Vercel
* Adding a changeset
* Pass theme through to `codeToHtml`
* Use script to generate languages
* another bundling approach
* fix lint warnings
* Use Vite to load non JS astro configs
* Adding a changeset
* Allow config to not exist
* Use a file url
* Use proload as a fallback
* add missing peerdep
* fix lint mistakes
* Refactor the vite-load
* First check if the file exists
* Pass through fs
* Update packages/astro/src/core/config/vite-load.ts
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Also load astro.config.cjs
* Do search before trying to load
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Revert "Revert "Allow image-pool to be used as its own Worker (#5317)" (#5360)"
This reverts commit 20e60c6e08.
* Remove special image-pool.js moving around
* Merge in assetIncludes
* changeset
* Copy to chunk folder in SSR too
* Update tidy-shoes-yawn.md
* Use base rather than site to create subpath for links/scripts
* Adding a changeset
* Warn when the site has a pathname but not using base
* fix asset test
* fix asset inlining behavior
* Properly support trailingSlash: never with a base
* adding a changeset
* Pass through the base
* only mess with pathname when trailingSlash === 'never'
* maybe fixes stuff
* Update based on review notes
* Revert "Allow image-pool to be used as its own Worker (#5317)"
This reverts commit d701ae074a.
* Adding a changeset
* Remove diff
* Remove unused code
* chore: upgrade @astrojs/compiler
* fix: update test to match new compiler behavior
* test: verify that all styles are bundled
Co-authored-by: Nate Moore <nate@astro.build>
* Handle `base` in adapters
* Use removeBase in the test adapter
* Update packages/integrations/node/src/preview.ts
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
* Update packages/integrations/cloudflare/src/server.advanced.ts
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
* Include the subpath for links
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
* Surface configuration errors to the client
* Actually start the container on restart
* Add beforeRestart to clear the console
* Some minor changes, restarted() returns an Error maybe
* Refactor testing code
* Adding a changeset
* Graceful error recovery in the dev server
Move dev-container to dev
Update for the lockfile
Invalidate modules in an error state
Test invalidation of broken modules
Remove unused error state
Normalize for windows
try a larger timeout
Fixes build
just for testing
more testing
Keep it posix
fully posix
* Fix up Windows path for testing
* some debugging
* use posix join
* finally fixed
* Remove leftover debugging
* Reset the timeout
* Adding a changeset
* test: add tests
* test: add test case
* test: update test
* fix: add new extensions to regex used to removed
* chore: add changeset
* test: update test
* Refactor error handling
* Fix import path in test
* Revert "Fix import path in test"
This reverts commit 5ca34f3c09.
* Fix import path in test
* Fix AggregateErrors actually not being.. an aggregration of errors
* Fix missing info in Vite enhanced error
* Conserve original error name if we have one
* Workaround compiler issue
* GitHub action please
* Update E2E test
* Wrap ssrFixStacktrace in try/catch
* Refactor Vite/Node methods out of the general index.ts
* Fix missing import
* Add changeset
* enable access to cloudflare runtime
* added get runtime api
added context to the runtime in "advanced" mode
* added typings and adjusted some return vars
* added default types
* added usage description to changeset and readme
Co-authored-by: AirBorne04 <unknown>
Co-authored-by: AirBorne04 <>
* fix: also pass attrs to underlying img
`class` for direct img styling, `width` & `height` to prevent layout shift, etc need to be passed to the underlying img tag to work.
* remove redundant attr from picture tag
* revert to previous commit
- seemed to break some tests
- can't deal with fixing that right now, maybe later
* only passing attributes to the img
* adding a note to the README
* chore: add changeset
Co-authored-by: Tony Sullivan <tony.f.sullivan@outlook.com>
* test1
* fixed test
* removed console.log
* changeset
* pnpm-lock
* fixed test again
* fta
* fta2
* fix: wait for fetch
* -fixed test template
* empty
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: My Name <my.name@my-company.com>
* adding cookies to the an api route response, also when returning a simple result
* in dev server, convert a simple endpoint result into a response object
Co-authored-by: AirBorne04 <unknown>
Co-authored-by: AirBorne04 <>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
* Add new fields to API route context
* Add props and redirect
* Pass custom redirect status code
* Correctly pass props in api routes
* Add better docs
* Add test
* Fix build
* Add constants file
* Add links to jsdoc
* Workaround lint issue
* Thanks Chris
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Missed one doc change
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Add more detail to the changesets
* Strict redirect status type
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
* Added support for updating tsconfig.json when using astro add
* Refactor
* Remove unneeded change
* Fix build failling due to type difference
* Extend changeset description
* First run
* Works with tailwind!
* Added TSConfig to watchlist
* Changeset
* Fix eslint
* Renamed `isConfigReload` --> `isRestart` and `injectWatchTarget` --> `addWatchFile`
* Refactored watchTargets to watchFiles
* Refactor createSettings
* addWatchFile now accepts URL
* Fix getViteConfig
* Expanded description of the change
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
* Check that removal of url.hash breaks no tests
* test if status-quo is as expected
* Adapt tests to fail
* Adapt the shouldPreload function to skip same path
* Add changeset
* remove query params from file extension
* Revert changes to make change as small as possible
* moving the removeQueryParam check to basename()
* chore: adding a changeset
* adding SSR test coverage for new picture test cases
Co-authored-by: Tony Sullivan <tony.f.sullivan@outlook.com>
* adjusting cloudflare adapter (respecting user config)
define better solid ssr config
* only inline the framework
this needs to happen for worker build in order to have the correct build mode for the framework, which needs the nodejs no matter if it is for node or the browser.
Co-authored-by: AirBorne04 <daniel@floatingpixels.com>
* Yield out potentional slot instructions when rendering dynamic tags
* Adding a changeset
* yield instead of return
* Handle the fact that renderComponent returns an iterable
* Only yield out html once
* fix(astro): tag jsx vnodes with renderer so errors are properly handled
* chore: fix missing package in test
Co-authored-by: Nate Moore <nate@astro.build>
* Move module declarations for Markdown and MDX to the proper file so they're globally available
* Remove tsconfig.json depending on client.d.ts unnecessarily
* Fix CSS ordering between imported and Astro styles
* Fix linting errors
* Add changeset and upgrade compiler version
* Update test to reflect shared styles placed before page styles
* Update endpoint.ts
* add warning for post routes called when output is not server
* Update famous-camels-study.md
* Update endpoint.ts
* If not get
* Resolve changes
* Update Picture.astro
the image variable of getPicture contains a width and height property, which we usually require. In this case, the image is wrapped in a picture tag and the img tag itself should not have a width and height property as this will break the responsiveness of the image provided by the picture tag.
* added changeset
* fixing SSG picture tests that were expecting img dimensions
Co-authored-by: Tony Sullivan <tony.f.sullivan@outlook.com>
* WIP: adding a service built on @squoosh/lib
* WIP: investigating memory leaks in Squoosh
* WIP: vendoring Squoosh to work with our build
* chore: a bit of cleanup and a small perf gain
* removing a few unused deps
* fix: removing temp .only() in sharp test
* hooking up the last build steps to copy over .wasm files
* removing the duplicated lib/*.wasm files
* defaulting to Sharp for the initial @next release
* make sure pnpm always runs the postbuild script
* removing a few node dependencies
* refactor: move the copy .wasm build step out of the SSR bundle
* linter fixes
* fixing lock file
* chore: add TEMP changeset
* fix built wasm location for SSG builds
* Revert "defaulting to Sharp for the initial @next release"
This reverts commit 1a8d4f7f60.
* removing sharp dependency
* Revert "fix built wasm location for SSG builds"
This reverts commit 446b80bb53.
* chore: update lockfile
* fixing up image tests for the wasm loader
* updating the README for squoosh
* parallel wasm builds
* refactor: a bit of house keeping
* perf: allow a thread for each output encoding format
* fix: dev broke with the shift to wasm workers
* adds a new `astro:build:generated` hook for SSG builds
* fix: typo + calling cleanup methods in wasm codecs
* adding @astrojs/webapi for the TransformStream polyfill
* Revert "adding @astrojs/webapi for the TransformStream polyfill"
This reverts commit 39e5b845a5.
* perf: using sharp for most of the CI tests
* chore: update lockfile
* removing hard-coded squoosh imports
* fix: adding sharp to rollup externals
* test: using dev for the squoosh tests
* fix: updating the build output dir for wasm filles in SSG builds
* updating the changeset with migration details
* Revert "adds a new `astro:build:generated` hook for SSG builds"
This reverts commit 59b5fec7be.
* nit: adding comments for the wasm file copy
* chore: fix eslint warning
* Add HTTP Proxy Support to `fetch` Polyfill
Use `global-agent` to support HTTP_PROXY, HTTPS_PROXY, and NO_PROXY
environment variables.
* Add Changeset For HTTP Proxy Support in `fetch`
* `create-astro`: always create `tsconfig.json`
Currently, we only make sure `tsconfig.json` exists when `strict` or `strictest` is selected. Both `default` & `optout` are intended to correspond to `base` -- and will do so for all [23 official templates](https://github.com/withastro/astro/tree/main/examples), but not necessarily for third-party templates.
The [example command for installing a third-party template](https://github.com/withastro/astro/blob/a800bf7/packages/create-astro/README.md?plain=1#L31-L35) is (rather conveniently for the sake of this PR!) an example of a template without a `tsconfig.json` file, and installing it with the `default` ("Relaxed") Typescript option results in no `tsconfig.json` file, rather than a `tsconfig.json` file containing `{ "extends": "astro/tsconfigs/base" }` as would be expected.
This PR addresses this scenario.
It also explicitly sets the `tsconfig.json` file to `{ "extends": "astro/tsconfigs/base" }` when `default` (which I renamed to `base`, still presented to the user as "Relaxed") or `optout` is selected (`optout` has always printed a warning about the importance of `tsconfig.json` & `src/env.d.ts` but otherwise behaved identically to `default`). This is necessary in two scenarios:
1. When the `tsconfig.json` file was created by this script.
2. When it either didn't already include `"extends"`, or it extended a different config by default. For example, some third-party templates might default to `strict`, in which case I'm guessing we'd want to respect the user's choice and change that to `base`.
* update `del` 6.1.1 --> 7.0.0
* test: prevent excess writes
(without this it triggers many times)
* test: create-astro typescript prompt
* changeset
* fix: recursive `mkdirSync`
* test: longer timeout for `windows-latest` OS
(see if this fixes failing tests)
* better glob path creation, don't hardcode `/`
* test: longer timeout for windows-latest OS
(since I'm about to trigger another CI run by pushing a commit, might as well try this too)
* create-astro test: show last CLI output on timeout
* drop variable timeout
Typescript tests are slower than directory tests, but they are all usually less than 5000 ms. Less complexity, easier to maintain.
* DRY new error output
* Update lockfile
* Sync lockfile with main
* Update lockfile
Co-authored-by: Princesseuh <princssdev@gmail.com>
* docs: add MDXLayoutProps to README
* chore: changeset
* nit: remove "if you understand this diff"
* nit: AdD tYpE sAfEtY
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
* Update packages/integrations/mdx/README.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* 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
* Revert "Revert "Adds a new "astro:build:generated" hook for SSG builds (#4772)" (#4774)"
This reverts commit 13a4b0d488.
* fix: updating for latest merge with main
* supports Uint8Array/Uint16Array/Uint32Array
* update astro-island to supports the added types
* run changeset
* apply format
* pass metadata through
* using Array type
* write test cases for serializing Uint8Array/Uint16Array/Uint32Array
* fix the broken test cases
* add type assertion for psychological safety
* this changes is minor change
* feat: serialize UintArrays directly
* Update index.ts
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* [chore] replaces hard-coded `minify` values with `vite.build.minify`
* [style] changes ternary to not-equals
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
* [chore] removes `minify` in favor of user config & Vite defaults
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
* Remove explicit `Transfer-Encoding: chunked`
This header is not necessary and is ignored by essentially all HTTP
servers when provided explicitly by the user. This is because the HTTP
transport layer handles adding this header automatically as needed.
Some variations of HTTP transport (like HTTP/2, which is enabled by
default in Deno, Netlify, and CFW) have no notion of
`Transfer-Encoding: chunked`, because all responses are streamed.
* add changeset
* Refactor to remove AstroConfig['_ctx']
* Fix type error
* Export validateConfig
* Move to an options bag for createSettings
* Move config tests into test/untils/config
* Add a changeste
* fix build
* Properly allow file uploads in the dev server
* Allow custom 404 route to handle API route missing methods
* Add a changeset
* what was i thinking
* Pass through the pathname
* Move the try/catch out and into handleRequest
* await the result of handleRoute
* Update peer dep
* Create leaders-of-the-free-world.md
Update: `@astrojs/tailwindcss` project with `tailwindcss` as a `peer-dependency`
* Removed tailwindcss as 'dependency'
* Update `pnpm-lock` with changes to deps
* Update .changeset/leaders-of-the-free-world.md
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
* fix: append forward slash to script paths for "C:/" prob
* chore: remove dead regex
* chore: changeset
* test: add client script test back to windows!
* test: add inline script test for sanity
* The actual fix
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
* Prevent locking up when encountering invalid CSS
* Add a changeset
* Move the unit test to the test folder
* ponyfill aggregateerror
* Use the exported type
* keep original errors
* fix
* fix: improve cyclic reference detection, now ignores references that are not parent/child
* fix: only track cyclic parents
Co-authored-by: Nate Moore <nate@astro.build>
* fix: use while instead of "for await" in react integration
* fix: cast HTML to string to fix other integrations
* docs: add comment on encode(String(html))
* chore: changeset
Co-authored-by: bholmesdev <hey@bholmes.dev>
* Added `background` option and prop.
This optional color specifies which background to use when removing the
alpha channel if the output format doesn't support transparency.
* Modified existing tests
* Fixed wrong dimensions in tests
* Fixing a few instances of jpeg vs jpg
* Added color checking
* working on the tests
* tests are now passing
* Adding tests
* Added tests for background color
* no need to test with subpath
* Added fixture
* Renamed test fixture for background-color
* skipping test until fixed
* Typo
* Working on tests
* tests are passing
* Updated readme and added changeset
* Updated lockfile
* Updated lockfile
* Updated lockfile
Co-authored-by: Tony Sullivan <tony.f.sullivan@outlook.com>
* feat(image): throw if no `alt` is provided
* chore: add changeset
* docs(image): update README
* updated alt text stuff throughout
* fixing with-mdx test suite
* warn for missing alt text, will throw an error in a future release
* final README tweaks
Co-authored-by: Tony Sullivan <tony.f.sullivan@outlook.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* WIP: simplifying the use of `fs` vs. the vite plugin
* removing a few node deps (etag and node:path)
* adding ts defs for sharp
* using the same mime package as astro's core App
* fixing file URL support in windows
* using file URLs when loading local image metadata
* fixing a bug in the etag helper
* Windows compat
* splitting out dev & build tests
* why do these suites fail in parallel?
* one last windows compat case
* Adding tests for treating /public images the same as remote URLs
* a couple fixes for Astro's `base` config
* adding base path tests for SSR
* fixing a bad merge, lost the kleur dependency
* adding a test suite for images + MDX
* chore: add changeset
* simplifying the with-mdx tests
* bugfix: don't duplicate the period when using existing file extensions
* let Vite cache the image loader service
* adding some docs for using /public images
* fixing changeset
* Update packages/integrations/image/README.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Update packages/integrations/image/README.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* nit: minor README syntax tweaks
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Add custom components to mdx integration guide
* Update packages/integrations/mdx/README.md
Co-authored-by: Ben Holmes <hey@bholmes.dev>
* Update packages/integrations/mdx/README.md
Co-authored-by: Ben Holmes <hey@bholmes.dev>
* Update packages/integrations/mdx/README.md
Co-authored-by: Ben Holmes <hey@bholmes.dev>
* Update packages/integrations/mdx/README.md
Co-authored-by: Ben Holmes <hey@bholmes.dev>
* Incorporate Sarah and Ben's Feedback
* Fix what would be an ugly background lol
* Sarah taking liberty of removing double text
* Add changeset
Co-authored-by: Ben Holmes <hey@bholmes.dev>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* wip: try removing ssrLoadModule on styles
* chore: changeset
* fix: invalidate mod before crawling graph
* Revert "fix: invalidate mod before crawling graph"
This reverts commit 883710d21c.
* Revert "wip: try removing ssrLoadModule on styles"
This reverts commit 880e73d94a.
* SAD fix: try/catch on ssrLoadModule
* refactor: isFile -> isRootFile
* docs: update comments for new findings
* Update @astrojs/language-server to latest version
* Vendor importMeta.d.ts from Vite inside our repo to workaround TypeScript issue on Linux
* Remove unnecessary change
* Add changeset
* make remark-rehype config available in astro.config.mjs
* add test for remark-rehype config, checks that footnotes can be translated
* update lockfile to take the added test into account
* omit handlers and unkownHandler from the RemarkRehype type
* define RemarkRehype with proper references to the handler and handlers types
* formatting
* changeset
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
* Make Astro.url conform to build.format during the build
* Adding a changeset
* Better implementation
* fix some stuff that tests failed on
* Add docs
* Change to minor
* account for empty path
* Make astro package play nice with node16 module resolution
Projects using node16 module resolution in typescript uses the new
exports and imports configuration from typescript to find definition
files. This mirrors how nodejs resolves the files. If a package contains
an exports map in the package.json, typescript will ignore the "types"
field (not sure how it plays with typesVersions). This moves the typings
hirearchy of definition files into the same hierarchy that astro
produces output files in, so that typescript can discover them.
Fixes: #4172
* Add changeset
* Reorder export keys
* Update paths inside .d.ts files
Co-authored-by: Princesseuh <princssdev@gmail.com>
* feat: basic logging for long astro:build:done hooks
* feat: add long time msg to all build hooks
* feat: use logger for long time msg
* chore: changeset
* fix: SSG builds should remove query params when building local image files
* chore: add changeset
* handling an edge case related to stripping extensions from a filename
* Don’t use Buffer.byteLength() as Deno can’t use it
* Add changeset
* Add tests for Markdown & MDX with Deno
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
* Use passive listeners in prefetch
Without passive=true, Lighthouse complains about not using passive listeners to improve scrolling performance.
* Create cold-shoes-drum.md
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Update README.md
Added missing subtitle for `formats` prop of the <Picture> component
* Create fast-drinks-visit.md
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* Markdown component: fix package name in readme.md
readme says it's `@astrojs/markdown`, but package name is actually `@astrojs/markdown-component`.
* Create dry-deers-vanish.md
* Update dry-deers-vanish.md
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* 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>
* fix: astro preview does not serve custom 404 (4113)
* fix: use exists instead of stat
* Create thick-ducks-sparkle.md
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* fix: enable @astrojs/image to be used inside of non-vite contexts
* chore: add changeset
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* fixing SSR local file resolution path on windows
* chore: add changeset
* nit: fixing typo in image README file
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* fix(hmr): remove SSR styles once HMR styles are injected
* refactor: remove data-astro-injected tag
* chore: add changeset
Co-authored-by: Nate Moore <nate@astro.build>
* fix(#4135): handle edge case in jsx-runtime
* test: add mdx test case
* chore: fix utils reference
* test: fix mdx escape test
Co-authored-by: Nate Moore <nate@astro.build>
* Allow frontmatter typing for .mdx files from glob
`Astro.glob<T>("*.md")` is special cased to allow `T` to be a type for the frontmatter in the markdown. Since .mdx files also get frontmatter added to the globbed result, let's type it as such.
* Add changeset
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Tony Sullivan <tony.f.sullivan@outlook.com>
* Upgrade @astrojs/prism to a real package, fix component import not working
* Remove `@astrojs/prism` as a dependency of `astro`
* Update lock file
* Refactor to multiple files
* Oops, can't have astro imports run inside node
* Follow Nate's suggestion on being minors instead of patchs
* Update lockfile
* 4078 breaking test
* Use Vite for loading the config
* Try it
* Fallback to loading with Vite only when needed
* Remove console.error
* Remove extra console.log
* Add a changeset
* Use middlewareMode
* updates the dev server to handle multiple routes matching the same URL
* Adding an error message when multiple routes match in SSR
* resetting the flag used by the `calledTwiceTest`
* injected routes should be sorted with a higher priority than user-defined routes
* adding routing priority tests for injected routes
* chore: add changeset
* adding a dev test to make sure getStaticPaths is called once
* Prevent hydration scripts from being rendered in the wrong order
* Remove comment
* Update jsx
* Remove promise for stop
* Try skipping lit tests
* Stringify these chunks too
* Unskip lit
* WIP: moving to a static .d.ts types file
* fixing named exports for getImage and getPicture
* removing the exports.astro map for now
* WIP: adding readme docs for component attributes
* Adding docs for getImage and getPicture
* leaning fully on TSC to build .d.ts files
* finally found the solution for proper ESM import types
* adding a note to the README for tsconfig updates
* chore: add changesets
* typo
* docs: removing the "Images in Markdown" example
* removing the need for publishing src to NPM
* fix: make type re-export explicit
* updating image module defs to match InputFormat
* using astro syntax highlighting for README code blocks
* nit: missing backtick in README
* make sure Astro component directives aren't recommended twice
* Move getStaticPaths call to happen during generation
* Adds a changeset
* Update routing-priority.test.js
* revert test change, clarify test purpose
* Keep track of paths that have already been built
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* Start of work on astroConfig.mode === 'server'
* Add tests and more
* adapter -> deploy in some places
* Add fallback for `adapter` config
* Update more tests
* Update image tests
* Fix clientAddress test
* Updates based on PR review
* Add a changeset
* Update integrations tests + readme
* Oops
* Remove old option
* Rename `mode` to `output`
* Update Node adapter test
* Update test
* fred pass
* fred pass
* fred pass
* fix test
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* Renamed getHeaders() to getHeadings(), according to RFC #208.
* chore: update changeset
* fix: expose MarkdownHeading type from `astro`
Co-authored-by: Félix Sanz <me@felixsanz.com>
Co-authored-by: Nate Moore <nate@astro.build>
* feat: preserve authored CSS specificity
* chore: update tests to use :where()
* test: fix HTML and CSS test
* test: fix imported markdown CSS test
Co-authored-by: Nate Moore <nate@astro.build>
* fix: SSR builds were hitting an undefined error and skipping the step for copying original assets
* chore: update lockfile
* chore: adding better error validation to getImage and getPicture
* refactor: cleaning up index.ts
* refactor: moving SSG build generation logic out of the integration
* splitting build to ssg & ssr helpers, re-enabling SSR image build tests
* sharp should automatically rotate based on EXIF
* cleaning up how static images are tracked for SSG builds
* undo unrelated mod.d.ts change
* chore: add changeset
* refactor: add legacy.jsxInMarkdown flag to config
* refactor: jsxInMarkdown -> astroFlavoredMarkdown
* refactor: remove `markdown.mode`
* feat: wire up legacy.astroFlavoredMarkdown
* test: add legacy to astro-markdown fixture
* test: remark autolinking
* test: remark components
* test: remark expressions
* test: remark strictness
* chore: remove "mode" from md component
* chore: remove "mode: md" from tests
* Fixing legacy MD tests, adding named slots tests for MDX pages
* chore: update lock file
* WIP: debugging named slots in MDX
* fix: handle named slots in MDX properly
* chore: re-enabling slots tests for MDX pages
* fixing test validation for svelte & vue
* removing unused Tailwind test
* legacy flag for Markdown component tests
* adding is:raw to Markdown component test
* adding is:raw to all Markdown component test fixtures
* can't use is:raw when nesting markdown components
* another nested test can't use is:raw
* one more <Markdown> test fix
* fixing another JSX markdown component test
* chore: add changeset
* e2e tests were missing the legacy flag
* removing the broken tailwind E2E markdown page
Co-authored-by: Tony Sullivan <tony.f.sullivan@outlook.com>
Co-authored-by: Nate Moore <nate@astro.build>
* refactor: add legacy.jsxInMarkdown flag to config
* fix: use `set:html` when `markdown.mode` is 'md'
* Revert "refactor: add legacy.jsxInMarkdown flag to config"
This reverts commit 5572e8d9b3.
* fix: move `remarkUnwrap, remarkEscape` to MDX only
* fix: only apply scary HTML passthroughs on MDX
* fix: move all JSX-specific rehype plugins under `isMDX`
* fix: "allowDangerousHtml" for md (required for Shiki)
* fix: apply `set:html` for non-layouts too
* test: JSX expressions, components, syntax highlighting
* chore: changeset
* fix: ignore "setup" and "components" in plain MD mode
* refactor: create new fixture to avoid weird caching error
* fix: dup package name
* chore: update lock
* fix: apply rehypeCollectHeaders to md
* Move the Markdown component to its own package
* Update the examples
* Updated lockfile
* Use is:raw
* Add a main field
* Update the formatting of the readme
* Rename to @astrojs/markdown-component
* Adds support for Astro.clientAddress
* Pass through mode and adapterName in SSG
* Pass through the mode provided
* Provide an adapter specific error message when possible
* <Picture /> should pass all unrecognized props down to the <img> element
* chore: add changeset
* Adding test coverage for custom <img> attributes
* chore: adding a README note for passing attributes to the picture's img
* Revert "<Picture /> should pass all unrecognized props down to the <img> element"
This reverts commit ce3e33930f.
* Picture should pass alt text to the img
* fixed header slugs in markdown if ends with a dash
* added changeset
* removes trailing dash only if slug was created
* updated test
* updated change level from patch to minor
* Vite 3 test
* deps: bump to Vite beta.1
* refactor: move to use optimizeDeps.force option
* refactor: stub out new updateModuleInfo params
* nit: remove comment on deprecated Vite feature
* nit: remove comment on deprecated vite feature
* hail mary: destroy all ssr external / noexternal!
* fix: use new middlewareMode config settings
* fix: resolve npm package paths for rollup input
* wip: revert to unresolved. Issue reported!
* sad refactor: use legacy devDepsScanner for component HMR
* fix: add astro/components to noExternal for Code component
* refactor: use ALWAYS_NOEXTERNAL array
* refactor: add package.json to all test runners for noExternal error
* deps: bump to latest vite 3 beta
* wip: add package.json to smoke
* fix: remove accidental "force true" on create-vite
* refactor: write smoke package.json programmatically
* refactor: add fontsource to noExternal
* fix: only add to ssr.noExternal if present in project
* wip: what if we just... didn't have a memory test
* deps: bump to latest vite beta
* Revert "wip: what if we just... didn't have a memory test"
This reverts commit 173729dbdc685e52881fc3333487b8f744add55f.
* fix: add type check for plugin.name
* feat: remove legacy.devDepsScanner. Vite 3 strat is now Vite 2.x strat!
* fix: add ssr.noExternal to components ex
* wip: ignore with-mdx starter
* fix: add serviceEntryPoint to ssr.noExternal
* temp: reset NODE_ENV on prod builds
* fix: missing async tag
* VITE 3 IS STABLE BABY
* deps: bump svelte to vite 3
* deps: bump vue to vite 3
* fix: resolve plugins for proper sorting
* sad fix: regex "export default" out of CSS ssr
* chore: add TODO to understand sad fix
* Revert "fix: resolve plugins for proper sorting"
This reverts commit e67c194d3a8e11070487ed325947e7c59e8d69cd.
* Revert "sad fix: regex "export default" out of CSS ssr"
This reverts commit 721d40b62b61440dc9e488787901c915579659db.
* fix: sort plugins WITHOUT resolveConfig
* Revert "wip: ignore with-mdx starter"
This reverts commit 7d4f7338e6.
* chore: revert memory test changes
* chore: add nanostores/preact ot noexternal
* chore: changeset
* chore: changeset
* deps: use Vite ^3.0.0
* fix: add back third party astro pkg scanner
Co-authored-by: bholmesdev <hey@bholmes.dev>
The `url` props was missing but should there according to [this
document](https://docs.astro.build/en/guides/markdown-content/#markdown-layouts).
The `file` props was not initially there but is quite useful when you
need to resolve file which are relative to the markdown file itself.
* Throw the error when site option is missing
* Update index.ts
* Update index.ts
* Update rss.test.js
* Update index.ts
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* WIP: always use the built-in sharp service for local images in `dev`
* adding type definitions for the integration's use of globalThis
* simplifying the globalThis type checking
* chore: adding changeset
* removing temp hosted service used for testing
* fixed header slugs in markdown if ends with a dash
* added changeset
* removes trailing dash only if slug was created
* updated test
* updated change level from patch to minor
* fix(#3920): properly handle false in `class:list`
* fix: allow 0 in `class:list`
* fix: output empty `class:list` as `''` rather than `class=''`
Co-authored-by: Nate Moore <nate@astro.build>