0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-23 21:53:55 -05:00
Commit graph

4840 commits

Author SHA1 Message Date
Ben Holmes
5ec0f6ed55
Content Collections (#5291)
* feat: port content plugin as-is

* feat: add `fetchContent` to `.astro`

* refactor: move more logic to content-internals

* refactor: move internals -> content dir

* feat: nested dir support

* feat: add with-content playground

* edit: update README

* fix: serialize route pattern for Netlify edge

Co-authored-by: Jackie Macharia <jackiewmacharia>

* wip: add ?astro-asset-ssr flag

* wip: exclude astro-ssr-asset styles from build

* revert: SSR asset flag babel changes

* feat: only load CSS when mdx is rendered!

* fix(vercel): Include all files inside `dist/` instead of only `entry.mjs` (#5175)

* chore: only-allow pnpm (#5131)

* [MDX] Support `recmaPlugins` config (#5146)

* feat: support recma plugins

* chore: add `test:match` to MDX

* chore: changeset

* docs: add recmaPlugins to README

* removes default content-visibility styles from image components (#5180)

* wip: check renderContent works

* nit: injectDelayedAssetPlugin doesn't need enforce

* feat: render content with generated entries

* feat: renderContent style injection POC

* wip: scrappy renderContent binding

* deps: parse-imports

* feat: only bind renderContent when imported

* feat: new-and-improved render-content

* fix: update example to use render-content

* refactor: extract normalizeFilename helper

* feat: move renderContent to `.astro`

* feat: add `getStaticPaths` demo 👀

* chore: remove console log

* refactor: internals -> internal

* fix: style bleed on dynamic routes

* chore: remove console log

* refactor: move rendercontentmap inside same file

* fix: style bleed in dev!

* feat: clean up example

* refactor: curry generateContent

* nit: add datetime demo

* refactor: rename and move content plugins

* feat: granular content updates in development

* chore: console.log

* refactor: move write logic, fix edge cases

* fix: use z.any() when ~schema is missing

* refactor: clean up logging

* fix: add delayed asset flag to render map

* fix: use new server loader

* chore: import type

* fix: split delayed assets to separate chunks

* chore: bad merge changesets

* feat: rework content map to Vite globs

* fix: formatted errors

* fix: get `renderContent` working with new APIs

* refactor: rename to getCollection, getEntry, renderEntry

* feat: streamline type alias!

* fix: check schema import is an import

* refactor: change ~schema -> index with defineCollection

* feat: auto apply env.d.ts reference

* feat: expose `headings` on `renderEntry`

* refactor: expose zod from astro/zod

* feat: add Collection util type

* refactor: generated types in src/content/

* edit: remove env.d.ts change from with-content

* feat: collectionToPaths utility

* refactor: migrate `examples/blog`

* refactor: simplify [...slug]

* fix: invalid date

* fix: renderEntry

* feat: migrate examples/docs to content!

* refactor: union -> enum

* fix: remove duplicate header

* chore: changeset

* Revert "fix: serialize route pattern for Netlify edge"

This reverts commit ac46a0d323.

* fix: lint

* fix: include zod in package files

* chore: push type gen for astro check

* feat: move to single defineCollections file

* feat: move examples to new collections model

* chore: type check valid collection names

* fix: ignore collections path in err logs

* refactor: content/index -> content/config

* refactor: defineCollections -> defineCollection

* fix: update docs to defineCollection

* chore: update with-content to new `astro:content` setup

* fix: renderEntry styles

* fix: bad Collection type

* fix: blog types generated

* feat: expose injectedFrontmatter on renderEntry

* chore: `import type`

* chore: add MDX to changeset

* fix: template package file

* fix: unneeded log on content config change

* chore: add `injectedFrontmatter` to generated types

* fix: escape import.meta.env in `body`

* fix: escape import.meta.env in frontmatter

* chore: unused import

* fix: use URL for config pathname

* feat: allow zod async transforms

* deps: devalue

* feat: custom slugs + better type checking

* fix: update types on config added or removed

* chore: add error msg for MDX preview release

* refactor: restore old normalizeFilename

* fix: add loadContentConfig error classes back

* Add initial tests for renderEntry

* add fixture tests

* Use head propagation APIs in renderEntry

* chore: new type gen

* fix: sort content keys before writing

* fix: avoid writing '.' collection with warning

* chore: docs types generated

* fix: generated types only once in build

* fix: use relative path to config for git

* chore: update generated types

* fix: glob pattern on valid exts

* feat: warn on possible collection typos

* chore: better error on bad lazy import

* fix: clear gray-matter cache for rawData

* fix: wait for config file while generating

* test: get collection and get entry basic

* test: multiple collections and entries

* test: add publishedDate test on entry

* tests: getStaticPaths integration

* test: ssr endpoint integration

* chore: consistent test names

* refactor: simplify generates... test

* chore: tests lockfile

* feat: add `experimental` flag

* chore: revert blog and docs examples

* chore: add experimental flag to with-content

* refactor: reuse contentFileExts

* refactor: make contentCollectionCss required

* chore: remove parse-imports dependency

* chore: remove unresolved idea redundancy

* chore: update changeset to minor v

* chore: clean up with-content pass 1

* refactor: de-monolith vite-plugin-content

* chore: remove maximum jank warning (it's acceptable jank)

* refactor: extract types-generator to separate file

* refactor: onEvent -> handleEvent

* edit: change content log to "types generated"

* fix: more experimental checks in prod build

* refactor: 2 jsToTreeNode calls -> 1

* feat: change with-content example to blog example

* fix: Content component type

* Fix use of renderEntry within a slot

* fix: warn for non-underscore _ files, refine logs

* chore: Content type in tests

* fix: types no updating with config changes

* fix: remove `result: SSRResult` type

* chore: entry var shadowing

* fix: bad experimental flag call

* wip: skip render entry tests

* fix: path resolution for .relative on windows

* chore: remove dead code

* wip: log entryPath into

* fix: use URL for entry

* refactor: getEntryInfo normalization

* refactor: move debounce to queueEvent only

* fix: resolve loader on config error

* fix: pathToFileURL -> new URL

* fix: dangerous pathname comparison

* refactor: move rawEvent -> event mapping to queueEvent

* fix: bad type

* wip: remove mkdir call

* wip: log content paths

* fix: more bad paths

* wip: more logs

* fix: correct glob path

* fix: normalize virtual mod path

* fix: content server file paths

* chore: remove render entry test skip

* wip: skip renderEntry tests (windows issues?)

* chore: remove console log

* feat: renderEntry -> render

* chore: add `--experimental-content-collections`

* refactor: only skip renderEntry tests on windows

* refactor: index.ts barrel export

* fix: cli type error

* fix: proper test skip on windows

* refactor: remove collectionToPaths :(

* refactor: use AstroError for frontmatter error

* nit: its schema, .*

* fix: bad isWindows import

* fix: await mod -> mod = await

Co-authored-by: Juan Martín Seery <me@juanm04.com>
Co-authored-by: 花果山大圣 <316783812@qq.com>
Co-authored-by: Tony Sullivan <tony.f.sullivan@outlook.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: bholmesdev <bholmesdev@gmail.com>
2022-12-16 14:19:53 -05:00
natemoo-re
6f5746746a [ci] format 2022-12-16 19:16:43 +00:00
Nate Moore
d85ec7484c
Sanitize dynamic tags (#5615)
* fix: sanitize tags

* fix: better element sanitization

* chore: remove unused import

Co-authored-by: Nate Moore <nate@astro.build>
2022-12-16 13:14:42 -06:00
natemoo-re
d1abb63a64 [ci] format 2022-12-16 16:41:03 +00:00
Nate Moore
d2960984c5
Experimental Prerender API (#5297)
* wip: hybrid output

* wip: hybrid output mvp

* refactor: move hybrid => server

* wip: hybrid support for `output: 'server'`

* feat(hybrid): overwrite static files

* fix: update static build

* feat(hybrid): skip page generation if no static entrypoints

* feat: migrate from hybrid output => prerender flag

* fix: appease typescript

* fix: appease typescript

* fix: appease typescript

* fix: appease typescript

* fix: improve static cleanup

* attempt: avoid preprocess scanning

* hack: force generated .js files to be treated as ESM

* better handling for astro metadata

* fix: update scanner plugin

* fix: page name bug

* fix: keep ssr false when generating pages

* fix: force output to be treated as ESM

* fix: client output should respect buildConfig

* fix: ensure outDir is always created

* fix: do not replace files with noop

* fix(netlify): add support for `experimental_prerender` pages

* feat: switch to `experimental_prerender`

* chore: update es-module-lexer code in test

* feat: improved code-splitting, cleanup

* feat: move prerender behind flag

* test: prerender

* test: update prerender test

* chore: update lockfile

* fix: only match `.html` files when resolving assets

* chore: update changeset

* chore: remove ESM hack

* chore: allow `--experimental-prerender` flag, move `--experimental-error-overlay` into subobject

* chore: update changeset

* test(vite-plugin-scanner): add proper unit tests for vite-plugin-scanner

* chore: remove leftover code

* chore: add comment on cleanup task

* refactor: move manual chunks logic to vite-plugin-prerender

* fix: do not support let declarations

* test: add var test

* refactor: prefer existing util

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

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

* Update packages/astro/src/core/errors/errors-data.ts

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

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

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

Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
2022-12-16 10:38:37 -06:00
Zihan Chen
7cbe7f5623
Docs example: use HTTPS for site in astro.config.mjs (#5603) 2022-12-15 15:35:43 +01:00
Matt Stein
2b11e97955
Update contributing guide test-running examples (#5590)
Changes `pnpm run test:match` example to one that works, adds an example of package filtering using that previous RSS case.
2022-12-14 13:09:48 -06:00
董雨航
2c2c65297a
upgrade giget for support proxy config (#5579) 2022-12-14 13:08:44 -06:00
matthewp
e9c8e6a2c0 [ci] format 2022-12-14 15:29:18 +00:00
Erika
31ec847972
Add a new error overlay (#5495)
* 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>
2022-12-14 10:27:15 -05:00
Alex Draper
6b156dd3b4
Allow setting domain when deleting cookies (#5341)
* 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>
2022-12-14 10:27:04 -05:00
Ryosuke Iwanaga
dced4a8a26
Add server.headers option (#5564)
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`.
2022-12-14 10:26:42 -05:00
Fred K. Bot
8913c51e1a
[ci] release (#5605)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-12-14 10:23:50 -05:00
matthewp
fa96a01fc6 [ci] format 2022-12-14 13:42:13 +00:00
Frode Flaten
c4155daeab
fix missing type-attribute for xsl stylesheets (#5600) 2022-12-14 08:39:48 -05:00
Fred K. Bot
d7da0996b6
[ci] release (#5597)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-12-13 10:29:40 -05:00
matthewp
7de9259d81 [ci] format 2022-12-13 13:47:16 +00:00
Matt Stein
c76e1c8102
Fix missing RSS item customData (#5591)
* Add failing test.

* Fix it.

* Add changeset.
2022-12-13 08:45:35 -05:00
Tom Everson
9f0fea0ad7
Add Vercel middleware docs to Vercel integration README (#5576)
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
2022-12-13 11:35:21 +01:00
molychn
dae6866ddc
fix link 404 in Vue integration README (#5585) 2022-12-12 22:55:09 +01:00
Fred K. Bot
1e6badbfea
[ci] release (#5589)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-12-12 15:07:51 -05:00
Juan Martín Seery
4d9ef23b67
fix(vercel): support node-fetch and Node 18 fetch (#5587) 2022-12-12 16:45:57 -03:00
Fred K. Bot
a219c41319
[ci] release (#5561)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-12-12 10:22:39 -05:00
Chris Swithinbank
f4ff69a3cd
Fix link in MDX integration README (#5586) 2022-12-12 14:14:24 +01:00
Martin J
2bd23e454f
Updated magic-string to 0.27.0 (#5577) 2022-12-10 23:10:52 +08:00
Lino Le Van
5b323b9aaf
Update deno integration dependencies (#5573)
* Update deno integration dependencies

* Update dependency in docs
2022-12-10 09:26:51 -05:00
matthewp
64b24f0663 [ci] format 2022-12-10 11:47:45 +00:00
Matthew Phillips
b2f0210c40
Include base in 'page' stage injected scripts (#5572)
* Include base in 'page' stage injected scripts

* Add changeset
2022-12-10 06:45:59 -05:00
Matthew Phillips
50ecb3005d
Add primevue as an external Vue package (#5571) 2022-12-09 11:46:21 -05:00
Sarah Rainsberger
3f811eb682
[docs] MDX README update (#5570)
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
2022-12-09 12:45:47 -04:00
natemoo-re
5877dcb7e9 [ci] format 2022-12-08 20:56:38 +00:00
Nate Moore
281ea9fc34
Node: better serverEntrypoint error (#5560)
* fix(node): better entrypoint error

* fix(node): surface start errors during preview

Co-authored-by: Nate Moore <nate@astro.build>
2022-12-08 14:54:19 -06:00
Nate Moore
02bb0a1ccd
Update compiler (#5554)
* chore: update compiler

* chore: add changeset

Co-authored-by: Nate Moore <nate@astro.build>
2022-12-08 14:08:13 -06:00
Alvin Bryan
0fd4aaa906
docs: How to access base config in the app (#5482) 2022-12-08 12:20:00 -05:00
Nyx Iskandar
9e6150cd14
Improve README install guide (#5479)
* Improve README install guide

* Fix punctuations
2022-12-08 12:19:52 -05:00
Fred K. Bot
50cb99003a
[ci] release (#5544)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-12-08 09:12:10 -05:00
matthewp
be26e36e11 [ci] format 2022-12-08 13:14:30 +00:00
wulinsheng123
2c836b9d12
fix: Error reporting fails on undefined error index (#5539)
* fix: Error reporting fails on undefined error index

* fix: add changeset

* Update .changeset/slow-cherries-bake.md

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2022-12-08 08:12:22 -05:00
Anders Kaseorg
fe0da0185a
astro-rss: Generate feed with proper XML escaping (#5550)
* 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>
2022-12-08 08:10:36 -05:00
Matthew Phillips
1aeabe4170
Fix Astro.params not having values when using base in SSR (#5553)
* Fix Astro.params not having values when using base in SSR

* Adding a changeseet
2022-12-08 08:08:27 -05:00
Jeffrey Yasskin
4f7f20616e
Allow all redirection status codes in redirect() (#5446)
See https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#redirection_messages for the list.
2022-12-07 23:52:12 +08:00
Ben Smith
081e0a9d20
feat(astro-rss): generate post content in feed (#5366) 2022-12-06 18:19:55 -05:00
matthewp
a72a131e22 [ci] format 2022-12-06 22:14:29 +00:00
Matthew Phillips
795f00f73c
Use accumulated sort order when order production CSS (#5549)
* Use accumulated sort order when order production CSS

* Adding a changeset

* Fix lockfile issue
2022-12-06 17:12:25 -05:00
matthewp
1cfbd5923f [ci] format 2022-12-06 21:28:24 +00:00
Matthew Phillips
05915fec01
Head propagation (#5511)
* 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>
2022-12-06 16:26:15 -05:00
matthewp
b137657699 [ci] format 2022-12-06 20:42:02 +00:00
Ido S
8f3f67c96a
Removed premature optimization (#5548) 2022-12-06 15:39:23 -05:00
Bjorn Lu
9082a850ee
Exclude astro from Vite optimization (#5545) 2022-12-06 11:53:15 -05:00
Matthew Phillips
3e16022499
bench workflow - use bash as shell (#5546) 2022-12-06 10:19:51 -05:00