Commit graph

2397 commits

Author SHA1 Message Date
Bjorn Lu
a3928016cc
Fix CSS error line offset (#7491) 2023-06-27 21:16:43 +08:00
Bjorn Lu
6dfd7081b7
Fix error stacktrace from Vite SSR runtime (#7273) 2023-06-27 21:16:29 +08:00
Bjorn Lu
83016795e9
Simplify nested hydration flow (#7370) 2023-06-27 21:16:10 +08:00
Houston (Bot)
da56a005d9
[ci] release (#7449)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-27 08:42:46 -04:00
Emanuele Stoppa
6014037441
fix: correct URL for entry points (#7490)
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
2023-06-27 11:58:23 +01:00
Bjorn Lu
57e603038f
Handle esbuild 0.18 changes (#7479) 2023-06-27 11:59:22 +08:00
Rasso Hilber
478cd9d8fa
fix: Installs underneath a path containing leading underscores (#7476) 2023-06-26 17:27:39 +08:00
Willow (GHOST)
6e7f38dd79
Svelte Four (#7454) 2023-06-25 22:33:00 +08:00
Bjorn Lu
869197aafd
Fix markdoc test fail in main (#7459)
* Early out if `importedModule` has no `id`

We can do this as line 97 also has this guard for each `importedModules`

* Simplify `isPropagationStoppingPoint`

* Fix actual bug

* chore: changeset

---------

Co-authored-by: bholmesdev <hey@bholmes.dev>
2023-06-23 17:00:19 -04:00
Bjorn Lu
2b75399520
Remove slash package (#7440) 2023-06-23 16:48:05 +08:00
Matthew Phillips
f359d77b18
Prevent accidental CSS inclusion in dev (#7381)
* Prevent accidental CSS inclusion in dev

* Use ssrTransformResult.deps instead

* Fix types

* Get dynamic deps too

* Handle virtual module deps

* Fix test on windows
2023-06-22 14:36:35 -04:00
Bjorn Lu
32bde967f4
Fix vercel redirects with trailingSlash always (#7447) 2023-06-22 23:40:08 +08:00
Houston (Bot)
38b104049a
[ci] release (#7434)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-22 10:06:15 -04:00
Wooseop Kim
9739adc91f
fix: encode spaces when generating srcset (#7340) 2023-06-22 15:56:41 +08:00
Benjamin MENANT
33cdc8622a
fix(astro:assets): inject /_image endpoint with prerendered=false on serverLikeOutput (#7423) 2023-06-22 15:20:35 +08:00
Ben Holmes
76fcdb84dd
Chore: remove legacy mdx content collections handler (#7353)
* chore: remove legacy mdx mapping

* chore: changeset

* chore: remove dead mdxEntryType

* nit: comments on mdx pkg name

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

* smol smol smol nit: and vs or

---------

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
2023-06-21 19:51:15 -04:00
Ben Holmes
3f9f5c117e
fix: pnpm failure on create-astro (#7435)
* fix: use which-pm-runs instead of preferred-pm

* deps: remove preferred-pm

* chore: move which-pm-runs to regular deps

* chore: changeset
2023-06-21 16:02:20 -04:00
Bjorn Lu
30bb363713
Fix astro:build:setup hook updateConfig utility (#7438)
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
2023-06-21 21:56:25 +08:00
Emanuele Stoppa
459b5bd05f
feat: SSR split mode (#7220)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-06-21 13:32:20 +01:00
Emanuele Stoppa
8e2923cc62
feat: expose locals to render api and from requests in dev mode (#7385)
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: wrapperup <wrapperup4@gmail.com>
2023-06-21 13:07:16 +01:00
KDTS
3943fa390a
Fix minior issue in the documentation related to port customization (#7436) 2023-06-21 10:40:52 +01:00
Ben Holmes
7877a06d82
Fix up pnpm dev (#7424)
* feat: use persistent per turbo recs

* feat: preserve types yay

* fix: *actually* solve problem

* fix: type failures from content types template

* fix: bad JS doc comments

* fix: bad src/content/template path

* chore: changeset

---------

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-06-20 14:06:36 -04:00
Emanuele Stoppa
e314a04bfb
fix: correctly emit middleware file name (#7427) 2023-06-20 17:32:30 +01:00
Houston (Bot)
1589eaabcd
[ci] release (#7428)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-20 10:32:26 -04:00
Emanuele Stoppa
2b34fc4928
fix: document open option (#7418)
Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>
2023-06-20 15:24:29 +01:00
Chris Swithinbank
89a4835202
Fix telemetry reporting for integrations that return an array (#7429) 2023-06-20 14:42:49 +02:00
Torbjørn Holtmon
94afaa3e50
fix: cloudflare waitUntil not working as inteded with getRuntime (#7419)
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
2023-06-20 11:24:32 +01:00
Houston (Bot)
f87680f6df
[ci] release (#7390)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-19 11:36:45 -04:00
Bjorn Lu
bb644834ef
Simplify telemetry Vite version detection (#7414) 2023-06-19 17:18:46 +08:00
Nate Moore
d2020c29cf
Fix injected route edge case (#7399)
* fix(#7397): update astro page entryname logic

* chore: add changeset

* fix: update printed log for injected routes

* fix: ensure /index is included

* test: add custom-404-pkg test

* chore: cleanup
2023-06-16 15:58:07 -05:00
Bjorn Lu
556fd694a6
Rename tailwind integration options (#7391) 2023-06-15 23:40:42 +08:00
Arsh
d67ae84610
Node built-in modules support for Deno adapter (#7288)
* feature(deno adapter): allow built-in node modules

* Add changeset

* format
2023-06-15 10:20:35 -04:00
Tom
3f1cb6b1a0
@astrojs/tailwind: simplify, upgrade & fix support for ts config file (#6724)
Co-authored-by: bluwy <bjornlu.dev@gmail.com>
2023-06-14 17:55:37 +08:00
Houston (Bot)
06315a1fde
[ci] release (#7368)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-13 16:55:58 -04:00
beynar
6d8aa4b61f
[Cloudflare integration] Expose cf metadata and Cloudflare caches API (#7386)
* Add cf and cache properties to runtime

* add changeset

* reorder import

* fix types and add tests

* fix package name

* test
2023-06-13 16:34:44 -04:00
Ben Holmes
1c7b635956
Fix: Zod errors missing stacktrace (#7380)
* wip: figure out stack issue, weird JSON stringify bug on zod issue

* refactor: return data instead of mutating

* refactor: remove need for reassignment

* fix: e.stack only

* chore: changeset
2023-06-12 17:20:04 -04:00
Matthew Phillips
0986a44ddd
Upgrade lit deps (#7373)
* Upgrade lit deps

* Add changeset

* Downgrade peer dep

* Upgrade lockfile

* add client dep
2023-06-12 15:52:13 -04:00
adenpun
42baf62e7c
Fixed AstroUserConfig's redirect type definition (#7366) 2023-06-12 16:34:05 +08:00
Houston (Bot)
4f7091206c
[ci] release (#7354)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-10 13:54:36 -04:00
Ben Holmes
0a8d178c90
Raise error for duplicate content entry slugs (#7352)
* chore: throw error on dup slugs

* chore: move to ErrorData

* fix: remove unknownerror

* chore: changeset
2023-06-10 13:49:17 -04:00
Ben Holmes
a30f2f3de4
Fix Markdoc cloudflare errors (#7351)
* fix: move `node:` libs out of utils

* fix: node -> default

* chore: remove kleur from markdoc ex (why was this there??)

* chore: lock

* chore: changeset
2023-06-10 13:43:26 -04:00
Ben Holmes
491c2db424
Fix: better collection entry devalue error (#7341)
* feat: add clear error for devalue parse

* refactor: create error data entry

* deps: up devalue

* chore: changeset
2023-06-09 18:15:11 -04:00
Houston (Bot)
e138f66344
[ci] release (#7318)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-09 08:40:17 +03:00
Caleb Williams
1430ffb473
Fixes an issue where create Astro doesn't respect custom npm registries (#7326)
* Fixes an issue where create Astro doesn't respect custom npm registries

* chore: fix pnpm-lock

* chore: update lockfile

---------

Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-06-09 07:56:29 +03:00
Matthew Phillips
bbcf69e7b8
Fix redirects in dev mode (#7342)
* Fix redirects in dev mode

* Adding a changeset
2023-06-09 07:54:14 +03:00
Matthew Phillips
3d9a392a09
Remove error message for using Markdown component (#7343) 2023-06-09 07:41:08 +03:00
Ben Holmes
e3271f8c16
Better dynamic route regex error (#7339)
* feat: add helpful invalid route seg error

* chore: add errors-data entry

* refactor: add hint for non-spread errors

* chore: add `undefined` to common cases

* nit: if the param contains slashes

* chore: changeset

* chore: it's trivial my dear watson
2023-06-08 18:12:39 -04:00
Edo-San
52f0480d14
Fix/update spread attribute (#7310)
* fix: add default fallback for spreadAttributes values

* chore: add PR changeset

* chore: fix pnpm lock

---------

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-06-08 15:58:17 -05:00
Ben Holmes
e6bff651ff
Fix: catch and report config errors from handleConfigError (#7316)
* fix: catch and report config errors from `handleConfigError`

* chore: changeset
2023-06-07 09:59:20 -04:00
Bjorn Lu
a4176f98b8
Mark #7314 changeset as major (#7320) 2023-06-07 14:58:55 +08:00
wackbyte
e47e53dc0c
Update to svelte2tsx 0.6.15 and vite-plugin-svelte 2.4.1 (#7314) 2023-06-06 18:07:43 -05:00
Houston (Bot)
8a029d9889
[ci] release (#7312)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-06 17:24:57 -04:00
Ben Holmes
a11b62ee1f
Fix: Markdoc type errors (#7311)
* fix: config, prism, shiki exports

* fix: type error for `render` property

* chore: use `.ts` files in select tests for type checks

* fix: type error on shiki() promise

* chore: changeset
2023-06-06 14:48:54 -04:00
Ben Holmes
8034edd9ec
Fix [Object AsyncGenerator] logging for Markdoc components (#7307)
* Revert "Bug 6672 (#7062)"

This reverts commit cf621340b0.

* chore: remove unused test

* chore: changeset
2023-06-06 13:48:10 -04:00
Ben Holmes
2a4bb23b2f
Fix missing styles and scripts on document: {render:null} (#7309)
* fix: propagate assets when using document `render: null`

* fix: reverse spread order

* refactor: use README rec in test

* chore: changeset

* chore: revert unneeded changes
2023-06-06 13:40:04 -04:00
Houston (Bot)
d5a089810f
[ci] release (#7295)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-06 10:32:10 -05:00
Alex Sherwin
4929332c32
#7226 - fixes NodeJS adapter for multiple set-cookie headers (and other header issues) (#7227)
* Utilizes the new standard WebAPI Fetch Headers.getSetCookie() function
to safely handle multiple set-cookie headers when converting from a
WebAPI Response to a NodeJS ServerResponse

Modifies the existing nodeMiddleware logic which first set AstroCookies
on ServerResponse.setHeader(...) and then called
ServerResponse.writeHead(status, Response.headers) which means any that
if the WebAPI Response had any set-cookie headers on it, they would
replace anything from AstroCookies.

The new logic delegates appending AstroCookie values onto the WebAPI
Response Headers object, so that a single unified function safely
converts the WebAPI Response Headers into a NodeJS compatible
OutgoingHttpHeaders object utilizing the new standard
Headers.getSetCookie() function provided by the undici WebAPI polyfills.

Plus extensive test coverage.

* #7226 - changeset for NodeJS adapter set-cookie fix

* fixing all double quotes to single quotes

---------

Co-authored-by: Alex Sherwin <alex.sherwin@acadia.inc>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-06-06 10:09:16 -05:00
Riki
409c60028a
fix:query not considered in directory redirection (#7243)
* fix:query not considered in directory redirection

* feat: req.url may be empty

* test(node): add redirect + query param tests

* refactor(node): cleanup query param logic

* chore: remove log

* chore: add changeset

---------

Co-authored-by: Riki <947968273@qq.com>
Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-06-06 10:09:00 -05:00
André Alves
144813f730
Fix injected scripts not injected to injected routes (#7262)
* Fix injected scripts not injected to injected routes

* chore: changeset

---------

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-06-06 10:08:38 -05:00
Bjorn Lu
d72cfa7cad
Fix nested astro-island hydration race condition (#7197) 2023-06-06 17:39:25 +08:00
Nate Moore
39403c32fa
Unflag hybrid output (#7260)
* feat(hybrid): unflag hybrid output

* chore: cleanup rebase errors
2023-06-05 13:19:15 -05:00
Bjorn Lu
414eb19d2f
Remove experimental flag for custom client directives (#7237) 2023-06-06 00:04:35 +08:00
Erika
b5213654b1
feat(tsconfigs): Enable allowJs in base preset (#7274) 2023-06-05 17:31:21 +02:00
Emanuele Stoppa
101f032098
feat: remove experimental flag middleware (#7109)
* fix: middleware for API endpoints

* feat: remove experimental flag middleware

* chore: rebase and update

* chore: check if physical file exists

* chore: restore change

* merge

* merge

* fix: remove options, not needed

* remove experimental from types

* chore: don't have the middleware inside the manifest

* Update how redirects work, slightly

---------

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2023-06-05 11:25:18 -04:00
Erika
a7e2b37ff7
fix(html): Export HTML components as default export so their type is valid JSX (#7296)
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
2023-06-05 16:40:53 +02:00
Arsh
e3b8c62969
Stabilize inline stylesheets (#7180)
* changeset

* chore(inline stylesheets config): stabilize

* grammar

* not a major change

* Update inlineStylesheets version in the configuration reference

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

---------

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-06-05 10:28:29 -04:00
Matthew Phillips
57f8d14c02
Redirects (#7067)
* Redirects spike

* Allow redirects in static mode

* Support in Netlify as well

* Adding a changeset

* Rename file

* Fix build problem

* Refactor to be more modular

* Fix location ref

* Late test should only run in SSR

* Support redirects in Netlify SSR configuration (#7167)

* Implement support for dynamic routes in redirects (#7173)

* Implement support for dynamic routes in redirects

* Remove the .only

* No need to special-case redirects in static build

* Implement support for redirects config in the Vercel adapter (#7182)

* Implement support for redirects config in the Vercel adapter

* Remove unused condition

* Move to a internal helper package

* Add support for the object notation in redirects

* Use status 308 for non-GET redirects (#7186)

* Implement redirects in Cloudflare (#7198)

* Implement redirects in Cloudflare

* Fix build

* Update tests b/c of new ordering

* Debug issue

* Use posix.join

* Update packages/underscore-redirects/package.json

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

* Update based on review comments

* Update broken test

---------

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

* Test that redirects can come from middleware (#7213)

* Test that redirects can come from middleware

* Allow non-promise returns for middleware

* Implement priority (#7210)

* Refactor

* Fix netlify test ordering

* Fix ordering again

* Redirects: Allow preventing the output of the static HTML file (#7245)

* Do a simple push for priority

* Adding changesets

* Put the implementation behind a flag.

* Self review

* Update .changeset/chatty-actors-stare.md

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>

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

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>

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

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>

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

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>

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

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>

* Update docs on dynamic restrictions.

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

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

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

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

* Code review changes

* Document netlify static adapter

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

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

* Slight reword

* Update .changeset/twenty-suns-vanish.md

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

* Add a note about public/_redirects file

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

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

---------

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-06-05 09:03:20 -04:00
Matthew Phillips
dd1a6b6c94
Fixes cookies being set by middleware (#7294)
* Fixes cookies being set by middleware

* Adding a changeset
2023-06-05 08:28:29 -04:00
Jerry_wu
890a2bc989
remove the white space after the doctype according to the property co… (#7242) 2023-06-05 16:02:04 +08:00
Houston (Bot)
c895981386
[ci] release (#7278)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-02 13:17:55 -05:00
Nate Moore
229affca40
Add 'starlight' as template alias (#7277)
* feat(create-astro): add starlight as template alias

* chore: lint
2023-06-02 12:56:25 -05:00
Houston (Bot)
c64dfdd3d8
[ci] release (#7254)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-02 10:51:28 -04:00
Bjorn Lu
96ae37eb09
Fix Vitest with content collections (#7233) 2023-06-02 21:05:57 +08:00
Ben Holmes
9e7366567e
Content collections: ignored underscore directories in file glob (#7268)
* fix: ignored underscore dirs in glob

* chore: changeset
2023-06-02 07:54:50 -04:00
Benjamin MENANT
6e27f2f6db
fix(astro/core/app/node): support http2 requests (#7215) 2023-06-02 16:51:09 +08:00
Johannes Spohr
fea3069360
Parallel array rendering (#7136) 2023-06-02 16:46:12 +08:00
André Alves
dff0d0dda2
Fix sitemap filter (#7263) 2023-06-02 16:07:44 +08:00
Thiti Yamsung
5156c4f90e
fix: build fail upon have 'process.env' in *.md file. (#7257) 2023-06-01 10:34:02 -04:00
Ben Holmes
339529fc82
Markdoc asset bleed, second try (#7185)
* Revert "revert: markdoc asset bleed (#7178)"

This reverts commit 57e65d247f.

* fix: missing result param on `renderUniqueStylesheet`

* test: bundled styles (fails!)

* fix: use `type: 'external'` for links

* fix: split Astro components from markdoc config

* test: style bleed (it fails...)

* chore: remove unused util

* fix: revert entry change

* Stop traversing the graph when you encounter a propagated asset

* chore: cleanup unused `entry` prop

* refactor: add isPropagatedAssetsMod check

* chore: remove unused import

* chore: changeset

* Normalize path using vite

* Update packages/integrations/markdoc/src/index.ts

Co-authored-by: Ben Holmes <hey@bholmes.dev>

---------

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: bholmesdev <bholmesdev@gmail.com>
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
2023-05-31 19:18:07 -04:00
Nate Moore
e0ca0d8c8a
Revert "feat(hybrid): unflag hybrid output (#7255)" (#7259)
This reverts commit bc5d6ed39f.
2023-05-31 12:06:24 -05:00
Nate Moore
bc5d6ed39f
feat(hybrid): unflag hybrid output (#7255) 2023-05-31 11:47:25 -05:00
Ben Holmes
563293c5d6
Markdoc: strip HTML comments from output (#7224)
* feat: strip HTML comments from output

* chore: changeset
2023-05-31 10:09:49 -04:00
Houston (Bot)
ba865f5d64
[ci] release (#7190)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-30 16:53:55 -04:00
Ben Holmes
f5063d0a01
Content collections - fix .json collection errors (#7246)
* fix: avoid error on collectionType === 'unknown'

* fix: ignore underscores in file globs

* chore: clarify [!_]

* fix: mismatch error not throwing

* fix: bad collectionType var

* test: no error for empty collection

* chore: changeset
2023-05-30 16:27:47 -04:00
Ben Holmes
bef3a75dbc
Markdoc - remove $entry variable (#7244)
* refactor: remove entry prop from `getRenderModule()`

* refactor: remove `$entry` from markdoc

* test: update entry-prop -> variables test

* refactor: unify `getEntryConfigByExt`

* chore: clean up shared content / data get logic

* docs: update `$entry` recommendation

* chore: rename entry-prop -> variables

* chore: changeset

* chore: missed a spot
2023-05-30 16:18:20 -04:00
Happydev
ee2aca80a7
fix: prioritize dynamic prerendered routes over dynamic server routes (#7235)
* test: add unit tests

* fix: prioritize prerendered routes

* chore: fix test

* add comment

* test: try avoiding race condition

* chore: changeset

* try avoiding race conditions attempt #2

* try avoiding race conditions (attempt 3)

* final fix hopefuly

* tet: add more tests

* sort conflicting dynamic routes aplhabetically

* test: fix test
2023-05-30 14:12:16 +00:00
wulinsheng123
cf621340b0
Bug 6672 (#7062)
* fix miss a head when the templaterender has a promise

* fix

* add some test

* test files move to md directory

* fix add

* delect file

---------

Co-authored-by: wuls <linsheng.wu@beantechs.com>
2023-05-30 08:05:48 -04:00
Bjorn Lu
af3c5a2e25
Use AstroError for Astro.glob errors (#7219)
Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com>
Co-authored-by: sarah11918 <sarah11918@users.noreply.github.com>
2023-05-29 20:42:31 +08:00
Erika
f2f18b4405
feat: support images outside the project (#7139) 2023-05-26 22:03:06 +02:00
Bjorn Lu
1c77779dd6
Fix astro-static-slot hydration mismatch error (#7196) 2023-05-26 22:37:33 +08:00
Bjorn Lu
6c7df28ab3
Fix CSS deduping and missing chunks (#7218) 2023-05-26 21:30:42 +08:00
André Alves
bf63f615fc
Add global crypto to @astrojs/webapi (#6981)
* add crypto to be polyfilled

* chore: changeset

* chore: update deps for node types

---------

Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com>
Co-authored-by: Princesseuh <princssdev@gmail.com>
2023-05-26 15:02:35 +02:00
Bjorn Lu
52af9ad188
Add error message if Astro.glob is called outside (#7204) 2023-05-26 16:59:51 +08:00
Ben Holmes
16b8364119
Markdoc - improve syntax highlighting support (#7209)
* feat: prism and shiki support, with better exports!

* chore: update tests

* chore: fix lock

* chore: add prism test

* chore: remove `async` from prism

* docs: update syntax highlight readme

* chore: changeset

* edit: remove `await` from prism docs

* chore: update old changest with new shiki instructions

* fix: add trailing newline on ts-expect-error

* refactor: resolve promises internally

* docs: remove `await` from shiki examples
2023-05-25 11:35:07 -04:00
Emanuele Stoppa
8b041bf57c
refactor: emit pages as physical entry points (#7193) 2023-05-25 14:28:40 +01:00
Erika
f5a8cffac2
fix(vercel): Fix typo in README 🤦‍♀️ (#7208) 2023-05-25 14:59:25 +02:00
Bjorn Lu
ea16570b1e
Add MDX optimize option (#7151)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-25 19:43:29 +08:00
Alexander Niebuhr
6ca3b5a9e8
Export ChangeFreqEnum type for sitemap integration (#7028) 2023-05-25 17:15:26 +08:00
Akash Rajpurohit
59d8c50b84
fix: 🩹 update partytown options ts type (#7175) 2023-05-25 16:24:59 +08:00
Ben Holmes
1efaef6be0
Markdoc - Shiki (#7187)
* chore: remove unused util

* chore: changeset

* deps: shiki

* wip: first stab at shiki markdoc config

* feat: get shiki working!

* refactor: return HTML string directly from transform

* chore: move shiki to markdoc dev dep

* refactor: use async cache with clear docs on why

* test: transform units with Shiki config options

* refactor: switch to `extends` model

* refactor: nodes/ -> extensions/

* feat: raise friendly error for Promise extensions

* docs: README

* chore: lint

* chore: dead file

* chore: lowercase for fuzzy find please

* fix: bad ctx spread

* chore: clean up cache, add shiki imp error

* chore: add shiki to optional peer deps

* chore: hoist those consts

* docs: more explicit "install shiki now please"

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

* oops bad find and replace

* chore: update changeset

* nit: period haunts me

---------

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-24 16:52:22 -04:00
Emanuele Stoppa
7851f9258f
fix: detect mdx files using full extension (#7192) 2023-05-24 10:20:06 +01:00
Bjorn Lu
27c6e01826
Remove @mdx-js/rollup dependency (#7191) 2023-05-24 17:02:04 +08:00
Barthélémy Ledoux
2bda7fb0bc
fix: add astro-static-slot to the list of inert tags in astro css (#7189) 2023-05-24 15:10:10 +08:00
Houston (Bot)
55a0439e00
[ci] release (#7181)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-23 16:24:16 -04:00
wulinsheng123
904131aec3
fix a bug when Fragment is as a slot (#6832)
* fix a bug when Fragment is as a slot

* update yaml

* fix ts errpr

* fix astro name of md

---------

Co-authored-by: wuls <linsheng.wu@beantechs.com>
2023-05-23 15:40:21 -04:00
Ben Holmes
57e65d247f
revert: markdoc asset bleed (#7178)
* revert: markdoc asset bleed

* chore: changeset
2023-05-23 12:16:50 -04:00
Houston (Bot)
cbdb0fdbd6
[ci] release (#7169)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-23 11:06:53 -04:00
Bjorn Lu
79ba74832f
Prevent Vite watching on Astro config load (#7171) 2023-05-23 22:40:40 +08:00
Emanuele Stoppa
92d1f017e5
chore(middleware): lift restriction around serializable data (#7174) 2023-05-23 15:10:30 +01:00
Emanuele Stoppa
626dd41d0a
refactor: move renderers to their own plugin (#7166) 2023-05-23 14:55:34 +01:00
Bjorn Lu
4ce8bf7c62
Make vite-plugin-content-virtual-mod run getEntrySlug 10 at a time (#7125) 2023-05-23 21:54:59 +08:00
Erika
2ca94269ed
Add types for import.meta.env.ASSETS_PREFIX and import.meta.env.SITE (#7172) 2023-05-23 14:13:10 +02:00
Alex Vukadinov
5b6a0312a8
fix: value of var could be undefined when using define:vars (#7134) 2023-05-23 12:28:44 +08:00
Houston (Bot)
64d2aba583
[ci] release (#7163)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-22 15:16:13 -04:00
Ben Holmes
f558a9e205
[Markdoc] Fix global asset bleed (#6758)
* wip: propagatedAssets flag per-component

* Propagate in TreeNode

* fix: remove unused inject comment

* feat: make asset propagation an integration opt-in

* fix: remove crawlGraph stopper

* wip: logs to understand what's happening

* SSR mdoc files in dev

* feat: add astroPropagatedAssets flag with vite

* chore: remove console logs

* chore: cleanup hasContentFlag

* fix: set handlePropagation default for legacy integrations

* chore: changeset

* temp: silence acorn type error

* chore: revert pnpm-lock changes

* fix: check correct flag

* We need to handle propagation on markdown because of layouts

* Remove use of renderStyleElement

* Fix heading tests

* Fix merge conflict

* typeof function

* Switch the check

* Add comment on injection detection regexp

---------

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2023-05-22 13:50:01 -04:00
Johannes Spohr
b41963b775
Render 404 page content when a Response with status 404 is returned from a page (#7143) 2023-05-22 12:06:06 -04:00
Houston (Bot)
d880293f79
[ci] release (#7161)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-22 09:48:21 -04:00
Akash Rajpurohit
e17ed0727e
feat: 🎨 export rss feeditem type (#7153) 2023-05-22 21:20:10 +08:00
Arsh
ba06362409
fix(hoisted scripts): consider script's dependents (#7144) 2023-05-22 09:15:21 -04:00
Happydev
8f418d13c5
fix(hybrid-output): no matched route when using getStaticPaths (#7150)
* `isPrenderDefault` ---> `isPrerenderDefault`

* test: add test fixture

* test: add hybrid getStaticPaths tests

* try fix in ci

* bring back edit lost on merge conflict fix

* back static paths guard

* move function to new file to avoid bundling issues

* remove unsued import

* debugging cleanup

* chore: update fixture's package.json

* cleanup test

* small test refactoring

* `status.ts` --> `metadata.ts`

* smol refactor

* chore: changeset

* just return the prerender metadata

* refactor tests

* chore: update lock file
2023-05-22 12:58:03 +00:00
Houston (Bot)
0616ef2551
[ci] release (#7130)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-21 00:00:31 +08:00
Ben Holmes
a9e1cd7e58
Fix: Heading ID CI flakiness (#7141)
* feat: use `ctx` object instead of leaky global

* test: heading IDs stale caches

* chore: changeset
2023-05-19 14:12:45 -04:00
Connor Bär
147373722b
fix(prefetch): Fix the inclusion of @types/network-information (#7123) 2023-05-19 23:34:34 +08:00
Johannes Spohr
72f686a689
Fix injectRoute for SSR (#7128)
* Use manifest routes for SSR app manifest instead of page components to enable injected routes with SSR

* Small refactoring

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

---------

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
2023-05-19 10:52:46 -04:00
Emanuele Stoppa
852d59a8d6
refactor(astro): emit entry.mjs to import pages via dynamic import (#7036) 2023-05-19 15:30:03 +01:00
Emanuele Stoppa
319a0a7a0a
refactor: create virtual module for middleware (#7132) 2023-05-19 13:51:47 +01:00
Erika
3257dd2890
Improve content collection error message for empty folders (#7118) 2023-05-19 13:53:46 +02:00
Bjorn Lu
530fb9ebee
Add route information for getStaticPaths warning (#7126) 2023-05-19 18:13:46 +08:00
Houston (Bot)
31cbf4357e
[ci] release (#7090)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-18 12:31:59 -04:00
Johannes Spohr
e186ecc5e2
Parallelize rendering of sibling components to avoid async waterfalls (#7071)
* Parallelize rendering of sibling components to avoid async waterfalls

* Catch and rethrow errors when eagerly rendering children

* Catch `Response` in rendering stage and throw error

* Add changeset

* Fix test error message

* Improve unit tests

* Start async generators in non-buffered mode, and only start buffering once a component doesn't resolve immediatly

* Add more documentation
2023-05-18 09:54:23 -04:00
Reuben Tier
cada10a466
Add errors for unknown experimental keys (#7011) 2023-05-18 17:39:39 +08:00
Ben Holmes
6b4fcde376
Fix: add headings to .mdoc render type (#7111)
* fix: add `headings` to `.mdoc` render type

* chore: changeset
2023-05-17 16:35:48 -04:00
Ben Holmes
c6d7ebefdd
Data collections and references (#6850)
* feat: add generated lookup-map

* feat: wire up fast getEntryBySlug() lookup

* fix: consider frontmatter slugs

* chore: changeset

* chore: lint no-shadow

* fix: revert bad rootRelativePath change

* chore: better var name

* refactor: generated `.json` to in-memory map

* chore: removed unneeded await

Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>

* chore: removed unneeded await

Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>

* Revert "chore: removed unneeded await"

This reverts commit 1b0a8b00c2.

* fix: bad `GetEntryImport` type

* chore: remove unused variable

* refactor: for -> Promise.all

* refactor: replace duplicate parseSlug

* refactor: add cache layer

* Revert "refactor: add cache layer"

This reverts commit 1c3bfdc6b3.

* feat: json collection POC

* wip: add test json file

* wip: playing with api ideas

* refactor: extract getCollectionName

* feat: add defineDataCollection

* refactor: variable destructure

* wip: basic data entry pipeline

* chore: revert fixture playing

* wip: basic entry array parser

* feat: basic data type gen

* chore: add with-data playground

* feat: add error when `defineDataCollection()` isn't used

* fix: missing error message

* feat: data collections are here!

* wip: play with data query APIs

* feat: reference() util!

* fix: Markdoc `$entry` variable

* play: add reference util with markdoc

* chore: delete console logs

* feat: `src/data/`!

* feat: reference() errors

* fix: handle hoisted schema parse errors

* fix: reload config and invalid on collection changes

* feat: separate maps for content and data entries

* feat: new `reference()` API that fixes type inference

* feat: support `defineCollection()` for data config

* fix: defineCollection `type` inferenenceπinference

* chore: lock

* feat: getCollection() for everything!

* feat: get full entry access from reference()

* chore: changeset

* wip: type error on acorn?

* chore: lint

* chore: add slugger to data ID processing

* chore: astro/zod -> zod

* chore: example version

* chore: remove slugifier from data id

* chore: remove dead getDataCollection

* chore: remove dead defineDataCollection

* fix: bad collection import

* chore: lock

* feat: add data collections to lookup map

* refactor: stop resolving data from reference

* feat: introduce getEntry and new reference()

* fix: update config loader

* fix: reference() type

* feat: test self references (they work 🎉)

* fix: use `slug` for content references

* fix: bad getEntry content type

* chroe: remove console logs

* fix: strict null checks on with-data

* feat: add getEntries for ref arrays

* chore: fix type hints for reference strings

* chore: change to type never for clarity

* play: try getEntries

* Return to "everything goes in `src/content/`

This reverts commit cc637ec6db4fc23afab585df5f240b7f7c0abc8a.

* fix: remove old function

* chore: update to AstroErrors

* chore: remove unused fixture files

* play: names

* deps: js-yaml

* feat: data collection YAML with error handling

* refactor: remove console log

* refactor: code cleanup

* fix: allow mixed content to pass through glob imports

* chore: move lookupMap util to virtual-mod

* refactor: new lookupMap logic, better errors

* chore: change MixedContent title

* refactor: remove unneeded try / catch

* fix: use `ws.send` for type gen errors

* fix: bubble `ws.send` errors from astro sync

* refactor: revert verbose astroContentCollectionEntry

* fix: bad with-data package name

* fix: bad virtual mod flag

* chore: remove with-data playground

* test: data collection authors

* test: translations data collection

* fix: add `.yml` support

* refactor: mix in `.yaml` just for fun

* refactor: i18n -> translations

* chore: content-collection-references fixture

* chore: bad lockfile

* fix: bad ContentLookupMap import

* chore: revert back to astroContentCollectionEntry

* test: collection references

* fix: bad error code override

* chore: remove unused asset

* test: sync errors

* chore: remove stray console log

* chore: lock

* chore: revert with-markdoc changes

* chore: doc error states, remove bad merge code

* chore: remove bad `as any`

* chore: lint

* chore: inline ContentLookupMap comments

* chore: settings -> config

* fix: put back `defineCollection()`

* fix: entry.slug for get content collection

* chore: update get-entry-type tests

* docs: totally shorten "missing a `type`"

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

* docs: truncate share a `schema`

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

* chore: add `test:unit` and `test:unit:match`to base

* chore:  update changeset

* refactor: cleanup runtime types and inline comments

* nit: [0] instead of shift()

* refactor: `getRelativeEntryPath()` util

* chore: capitalized Collections for test:match

* nit: ?? viteId on split

* nit: separate Params obj

* chore: add try / catch on readFile

* nit: `const data`

* chore: clean up data collection exceptions

* nit: `?? ''` for search params

* chore: remove TODO on hoisted error

---------

Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-17 11:36:27 -04:00
Chris Swithinbank
fc52681ba2
Fix weird periods in NoMatchingRenderer error (#7110)
* Fix weird periods in `NoMatchingRenderer` error

* Add changeset
2023-05-17 17:30:47 +02:00
Erika
410428672e
Fix imports using ?raw and ?url not working when experimental.assets is enabled (#7108) 2023-05-17 17:07:57 +02:00
Matthew Phillips
3d525efc95
Prevent removal of nested slots within islands (#7093)
* Prevent removal of nested slots within islands

* Fix build errors
2023-05-17 10:18:04 -04:00
Timo Zander
e9fc2c2213
add warn message when using unsupported file types in pages/ (#6851)
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Erika <3019731+Princesseuh@users.noreply.github.com>
2023-05-17 16:02:33 +02:00
Erika
c1669c0011
feat: uncomment polymorphic type (#7069) 2023-05-17 15:38:27 +02:00
wulinsheng123
763ff2d1e4
HTML minification (#6706)
* TDD pattern development

* add compact property when the user run pnpm run build

* add minification for pro

* fix yaml file collision

* fix yaml collision

* fix pageage file

* optimize unit test

* fix revert code

* fix comment

* update yaml

* fix default value

* add test for dev

* Update packages/astro/test/astro-minification-html.test.js

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

* Update packages/astro/test/astro-minification-html.test.js

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

* Update packages/astro/test/astro-minification-html.test.js

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

* Update packages/astro/test/astro-minification-html.test.js

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

* Update packages/astro/test/astro-minification-html.test.js

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

* Update the docs to reflect it's opt-in

* Add tests for SSR

* Document how the tests remove the doctype line

* Expand on the changeset

* rename for slice -100

* Updates based on PR comments

* optimize description

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

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

---------

Co-authored-by: wuls <linsheng.wu@beantechs.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-17 09:26:49 -04:00
Happydev
719002ca5b
feat: hybrid output (#6991)
* update config schema

* adapt default route `prerender` value

* adapt error message for hybrid output

* core hybrid output support

* add JSDocs for hybrid output

* dev server hybrid output support

* defer hybrid output check

* update endpoint request warning

* support `output=hybrid` in integrations

* put constant variable out of for loop

* revert: reapply back ssr plugin in ssr mode

* change `prerender` option default

* apply `prerender` by default in hybrid mode

* simplfy conditional

* update config schema

* add `isHybridOutput` helper

* more readable prerender condition

* set default prerender value if no export is found

* only add `pagesVirtualModuleId` ro rollup input in `output=static`

* don't export vite plugin

* remove unneeded check

* don't prerender when it shouldn't

* extract fallback `prerender` meta

Extract the fallback `prerender` module meta out of the `scan` function.
It shouldn't be its responsibility to handle that

* pass missing argument to function

* test: update cloudflare integration tests

* test: update tests of vercel integration

* test: update tests of node integration

* test: update tests of netlify func integration

* test: update tests of netlify edge integration

* throw when `hybrid` mode is malconfigured

* update node integraiton `output` warning

* test(WIP): skip node prerendering tests for now

* remove non-existant import

* test: bring back prerendering tests

* remove outdated comments

* test: refactor test to support windows paths

* remove outdated comments

* apply sarah review

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

* docs: `experiment.hybridOutput` jsodcs

* test: prevent import from being cached

* refactor: extract hybrid output check to  function

* add `hybrid` to output warning in adapter hooks

* chore: changeset

* add `.js` extension to import

* chore: use spaces instead of tabs for gh formating

* resolve merge conflict

* chore: move test to another file for consitency

---------

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2023-05-17 09:23:20 -04:00
Ben Holmes
fb84622af0
[Markdoc] headings and heading IDs (#7095)
* deps: markdown-remark

* wip: heading-ids function

* chore: add `@astrojs/markdoc` to external

* feat: `headings` support

* fix: allow `render` config on headings

* fix: nonexistent `userConfig`

* test: headings, toc, astro component render

* docs: README

* chore: changeset

* refactor: expose Markdoc helpers from runtime

* fix: bad named exports (commonjsssss)

* refactor: defaultNodes -> nodes

* deps: github-slugger

* fix: reset slugger cache on each render

* fix: bad astroNodes import

* docs: explain headingSlugger export

* docs: add back double stringify comment

* chore: bump to minor for internal exports change
2023-05-17 09:13:10 -04:00
Bjorn Lu
c91e837e96
Add edge-light and worker to vercel edge bundling (#7103) 2023-05-17 09:06:18 -04:00
Bjorn Lu
73ec6f6c16
Implement custom client directives (#7074)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-17 20:51:27 +08:00
Emanuele Stoppa
075eee08f2
fix: middleware for API endpoints (#7106)
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
2023-05-17 11:48:02 +01:00
Bjorn Lu
826e028900
Add files field to packages (#7104) 2023-05-17 16:54:00 +08:00
Bjorn Lu
2994bc52d3
Build edge/worker runtime with webworker ssr target (#7101) 2023-05-17 15:44:20 +08:00
Erika
4516d7b22c
refactor(assets): Move generation logic out of internal.ts (#7102) 2023-05-16 16:40:32 +02:00
Johannes Spohr
2a1fa09b31
Add workerd and worker to cloudflare adapter bundling (#7092) 2023-05-16 20:00:29 +08:00
Happydev
cd410c5eb7
Fix double prepended forward slash in certain cases (#7091)
* test: add test with no base

* fix: don't always prepend a forward slash

* chore: changeset

* `'/' + base`   ------> `prependForwardSlash(base)`
2023-05-15 08:53:34 -04:00
Steffan
914c439bcc
Escape closing script tag when using define:vars (#7044) 2023-05-15 14:35:54 +08:00