Commit graph

138 commits

Author SHA1 Message Date
Ben Holmes
52209ca2ad
[Content collections] Remove experimental flag (#5825)
* 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
2023-01-11 12:51:31 -05:00
Erika
1f92d64ea3
Drop Node 14 support (#5782)
* 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>
2023-01-09 16:59:20 -05:00
Fred K. Bot
ec5a39c299
[ci] release (beta) (#5742)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-01-06 13:00:12 -05:00
Ben Holmes
93e633922c
Add SmartyPants flag (#5769)
* 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
2023-01-06 09:26:02 -05:00
Chris Swithinbank
000d3e6940
Fix docs links in MDX README (#5741) 2023-01-04 11:46:05 +01:00
Fred K. Bot
2ba3bd9c16
[ci] release (beta) (#5732)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-01-03 17:23:30 -05:00
matthewp
0ac87f0836 [ci] format 2023-01-03 22:15:51 +00:00
Ben Holmes
a9c2920264
Markdown and MDX configuration rework (#5684)
* feat: change extendDefaults -> gfm

* deps: remove smartypants from md/remark

* tests: update markdown plugin tests

* fix: borked lockfile

* feat: allow all Markdown options in MDX config, with extend

* deps: remove smartypants from MDX

* chore: remove unused `mode` property

* chore: remark rehype types

* chore: dead code

* fix: order of default config properties

* refactor: move md defaults to remark

* fix: RemarkRehype type

* fix: apply defaults based on MD defaults

* chore: update plugin tests

* chore: add syntaxHighlight test

* refactor: remove drafts from config defaults

* docs: new MDX config options

* chore: add changeset

* edit: test both extends for syntax highlight

* refactor: remove MDX config deep merge

* docs: update README and changeset

* edit: avoid -> disable

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

* edit: `drafts` clarification

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

* edit: remove "scare quotes"

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

* docs: MDX config options redraft

* docs: add migration

* chore: changeset heading levels

* refactor: githubFlavoredMarkdown -> gfm

* chore: remove unused imports

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-01-03 17:12:47 -05:00
bholmesdev
163a9a9d0e [ci] format 2023-01-03 21:33:40 +00:00
Ben Holmes
e2019be6ff
Change frontmatter injection ordering (#5687)
* feat: make user frontmatter accessible in md

* test: new frontmatter injection

* refactor: move injection utils to remark pkg

* fix: add dist/internal to remark exports

* feat: update frontmater injection in mdx

* tests: new mdx injection

* chore: changeset

* chore: simplify frontmatter destructuring

* fix: remove old _internal references

* refactor: injectedFrontmatter -> remarkPluginFrontmatter

* docs: add content collections change

* chore: changeset heading levels
2023-01-03 16:31:19 -05:00
Bjorn Lu
f6cf92b483
Upgrade to Vite 4 (#5685)
* Upgrade Vite 4

* Simplify Svelte preprocess setup

* Upgrade rollup

* Fix tests

* Fix wrong changeset target

* Fix error tests

* Set NODE_ENV default
2023-01-03 13:24:49 -05:00
Fred K. Bot
640de3c26f
[ci] release (#5645)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-12-27 11:52:24 -05:00
bholmesdev
d5c088911d [ci] format 2022-12-22 21:15:41 +00:00
Ben Holmes
a5ba4af799
[MDX] Remove verbose migration logs (#5667)
* chore: remove markdown extends warnings

* chore: changeset
2022-12-22 16:13:46 -05:00
bholmesdev
813576b39a [ci] format 2022-12-22 15:40:34 +00:00
Ben Holmes
853081d1c8
[Content] Throw on relative image usage (#5648)
* chore: add rel image error plugin

* deps: mdast, mdast types

* chore: add rel image throw to mdx

* refactor: doc rel image path plugin

* fix: respect experimental flag in md remark

* chore: changeset

* deps: remove mdast package

* fix: resolve contentDir from config

* fix: apply MDX plugin after user plugins

* fix: stub out contentDir
2022-12-22 10:38:03 -05:00
delucis
7a575d78c2 [ci] format 2022-12-20 22:10:25 +00:00
Chris Swithinbank
2c65b433bf
MD/MDX collect headings refactor (#5654) 2022-12-20 23:08:15 +01:00
Fred K. Bot
fc46ca53d1
[ci] release (#5607)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-12-16 15:54:19 -05:00
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
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
Sarah Rainsberger
3f811eb682
[docs] MDX README update (#5570)
Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
2022-12-09 12:45:47 -04:00
Fred K. Bot
d8e00a4871
[ci] release (#5507)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-12-06 11:20:35 +01:00
Chris Swithinbank
efc4363e0b
Support rendering <Fragment> in MDX <Content /> component (#5522) 2022-12-05 21:56:43 +01:00
Fred K. Bot
5fa1285239
[ci] release (#5432)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-11-24 22:54:52 +08:00
matthewp
6a1e4ca02c [ci] format 2022-11-22 15:15:03 +00:00
Thomas Jaggi
2a1c085b19
[MDX] Support remark-rehype options from Astro Markdown config (#5427)
* [MDX] Support remark-rehype options from Astro Markdown config

* [MDX] Add remarkRehype to MdxOptions, extend with default markdown config

* [MDX] Add remarkRehype to README

* [MDX] Fix remarkRehype inheritance, add tests

* [MDX] Update remarkRehype docs in README

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

* [MDX] Fix remarkRehype docs

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2022-11-22 10:12:25 -05:00
Chris Swithinbank
ef2ffc7ae9
Fix docs link in MDX integration README (#5448) 2022-11-21 12:15:05 +01:00
Fred K. Bot
f8115180f3
[ci] release (#5329)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-11-10 13:01:45 -08:00
Bjorn Lu
230d71f4b7
Move rehype-pretty-code as devDep (#5337) 2022-11-09 22:23:05 +08:00
matthewp
92374c0f75 [ci] format 2022-11-09 13:35:06 +00:00
Bjorn Lu
dca762cf73
Preserve code element node meta for rehype syntax highlighters (#5335) 2022-11-09 08:32:13 -05:00
Fred K. Bot
89f335b539
[ci] release (#5262)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-11-03 09:38:29 -04:00
Dan Jutan
6e417a9636
Fix broken fragment link (#5200) 2022-10-27 15:58:54 +08:00
Happydev
4a8a346ca9
feat: add support for other markdown file extensions (#5164)
* fix: add `.markdown ` file extension support

adds `.markdown` file extension support for markdown files

* test: add test case

* chore: adds changeset

* test: move test and fixture to relevant locations

* test: update test

* feat: add multiple markdown file extension support

* feat: add module declaration for different markdown file extensions

* refactor: markdown module declarations

for ease of TS refactoring

* fix: add .js extension to module imports

* test: update test

* chore: update changeset

* chore: update changeset

* test: add new test cases

* test: update tests

* fix: correct typo
2022-10-26 10:18:49 -04:00
Fred K. Bot
4efbfdd78d
[ci] release (#5135)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-10-26 08:43:23 -04:00
Christian Fuss
e86723d931
[MDX] Improved docs for custom components (#5190)
* [MDX] Fixed minor formatting issues in README
- whitespace at line end
- blank lines around lists and code fences
- casing of internal references

* Detailed use of custom component with imported MDX

Incorporated all review comments from Sarah and Ben manually,
because the old branch would not pass the mergeability check.
2022-10-25 16:54:47 -04:00
Ben Holmes
308e565ad3
[MDX] Support recmaPlugins config (#5146)
* feat: support recma plugins

* chore: add `test:match` to MDX

* chore: changeset

* docs: add recmaPlugins to README
2022-10-24 14:27:37 -04:00
Georgey
61f7e16491
Update README.md (#5179)
Hey there, so recently I was playing around the mdx, and wanted my users to navigate to a specific section in my article using the `id` tags. This was not happening when I was making custom components. When I pass the Astro props like above, the id was automatically getting passed for headings.
2022-10-24 14:22:34 -04:00
Fred K. Bot
bb022f5230
[ci] release (#4957)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-10-03 11:52:23 -04:00
Bjorn Lu
a59731995b
Suppress eslint warnings (#4953) 2022-10-03 23:37:21 +08:00
Nate Moore
cf2bba1e4a
P5: fix MDX memory leak (#4939)
* 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>
2022-09-30 17:13:44 -05:00
Fred K. Bot
d08093f7d4
[ci] release (#4903)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-09-29 11:20:00 -04:00
Bjorn Lu
812658ad2a
Remove shamefully-hoist (#4842) 2022-09-28 23:13:33 +08:00
Fred K. Bot
077134ae2c
[ci] release (#4846)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-09-27 12:12:44 -04:00
bholmesdev
1dc651d74e [ci] format 2022-09-26 22:25:48 +00:00
Ben Holmes
58a2dca228
Fix: correctly transform import.meta.env.* in MDX (#4858)
* fix: serialize route pattern for Netlify edge

Co-authored-by: Jackie Macharia <jackiewmacharia>

* fix: escape import.meta.env in MDX compiler output

* test: env vars in mdx

* chore: changeset

* deps: estree-util-visit, @types/estree

* feat: inject import.meta.env w/ recma

* feat: pull importMetaEnv from vite + astro configs

* test: `import.meta.env` in JSX

* fix: lockfile

* chore: update changeset

* fix: remove stray stashed commit
2022-09-26 18:23:47 -04:00
Jake Strawn
b0f6216367
docs: Update references to support channel in Discord. (#4872) 2022-09-26 21:02:05 +08:00
Ben Holmes
e5f71142eb
docs: add MDXLayoutProps to README (#4700)
* 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>
2022-09-22 14:35:37 -04:00