Commit graph

55 commits

Author SHA1 Message Date
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
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
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
bholmesdev
358d1dc92f [ci] format 2023-05-19 18:14:41 +00: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
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
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
bholmesdev
d4b00b541b [ci] format 2023-05-17 13:16:36 +00: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
826e028900
Add files field to packages (#7104) 2023-05-17 16:54:00 +08:00
Houston (Bot)
0fc026f63c
[ci] release (#7065)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-11 15:14:17 -04:00
Houston (Bot)
a44e755cc6
[ci] release (#7043)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-09 17:37:15 -04:00
Ben Holmes
3a9f72c7f3
[Markdoc] Validation and debugging improvements (#7045)
* feat: better validation logs

* chore: add warning to restart server on config chnage

* feat: expose Markdoc global from markdoc/config

* docs: update `nodes` reference

* chore: changeset

* docs: simplify headings explainer

* chore: ignore eslint log errors

* fix: make legacyConfig prop optional
2023-05-09 17:20:55 -04:00
Houston (Bot)
e54dcd5943
[ci] release (#7037)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-08 13:17:09 -04:00
Houston (Bot)
50bf66e4df
[ci] release (#7005)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-05 13:23:18 -04:00
Houston (Bot)
170140083c
[ci] release (#6996)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-04 16:19:01 -04:00
Houston (Bot)
51c8e7fe29
[ci] release (#6977)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-04 12:49:17 -04:00
Bjorn Lu
49514e4ce4
Upgrade shiki to v0.14.1 (#6932)
* Upgrade shiki

* Update themes

* Update languages

* Simplify

* Fix compat for other remark code

* Update theme again

* Fix language gen

* Add changeset

* Fix code

* Update test theme colors

* Update changeset

* Fix test again
2023-05-03 11:07:57 -04:00
Houston (Bot)
297a1dae51
[ci] release (#6954)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-02 15:13:10 -04:00
Houston (Bot)
d0cf3a2c01
[ci] release (#6924)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-01 10:58:03 -04:00
Houston (Bot)
06c527330a
[ci] release (#6914)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-27 22:12:14 +08:00
Houston (Bot)
c6f1264586
[ci] release (#6863)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-25 22:48:36 +08:00
Bjorn Lu
edabf01b44
Upgrade to Vite 4.3 (#6877) 2023-04-25 22:04:45 +08:00
Houston (Bot)
b105ccb9ca
[ci] release (#6835)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-13 14:41:56 -04:00
Houston (Bot)
b2254bd786
[ci] release (#6818)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-12 08:51:55 -04:00
Houston (Bot)
b1d07bcf40
[ci] release (#6809)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-11 13:10:00 -04:00
Houston (Bot)
d531239201
[ci] release (#6769)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-07 17:25:00 -04:00
Houston (Bot)
29e7b82b8d
[ci] release (#6720)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-04-05 13:38:45 -04:00
Ben Holmes
73fcc7627e
[Markdoc] Fix: Support render: null (#6723)
* fix: handle array of tree nodes

* test: render null in document node

* chore: lock

* refactor: consolidate render test logic

* chore: changeset
2023-04-03 11:27:51 -04:00
Houston (Bot)
07e8a1bab4
[ci] release (#6694)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-31 16:32:28 +02:00
Houston (Bot)
af108e4b4a
[ci] release (#6652)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-28 13:17:46 -04:00
Ben Holmes
328c671790
fix: specify astro peer dep version (#6691) 2023-03-28 11:11:23 -04:00
bholmesdev
9352e0056c [ci] format 2023-03-27 22:06:51 +00:00
Ben Holmes
7c439868a3
[Markdoc] New config format with runtime variable support! (#6653)
* deps: esbuild

* feat: support direct component imports for render!

* deps: add devalue back

* refactor: remove unused components prop

* refactor: load experimental assets config separately

* fix: upate Content type def to support props

* refactor: replace astro stub with inline data

* feat: pass through viteId to getRenderMod

* fix: add back $entry var with defaults convention

* chore: remove unneeded validateRenderProps

* chore: remove uneeded validateComponents

* fix: remove userMarkdocConfig prop

* chore: add helpful error for legacy config

* deps: kleur

* fix: add back `isCapitalized`

* fix: log instead of throw to avoid scary stacktrace

* chore: delete more old logic (nice)

* chore: delete MORE unused utils

* chore: comment on separate assets config

* chore: remove console.log

* chore: general code cleanup

* test: new render config

* docs: new README

* fix: add expect-error on astro:assets

* feat: add defineMarkdocConfig helper

* docs: update example README

* test: add runtime variable

* chore: lint

* chore: changeset

* chore: add component import deletion

* docs: add notes on Vite fork

* fix: astro check

* chore: add `.mts` to markdoc config formats
2023-03-27 18:04:37 -04:00
Houston (Bot)
12d42f47bd
[ci] release (#6646)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-24 13:17:01 -04:00
bholmesdev
8bd0ca08cd [ci] format 2023-03-24 12:01:10 +00:00
Ben Holmes
cfcf2e2ffd
[Markdoc] Support automatic image optimization with experimental.assets (#6630)
* wip: scrappy implementation. It works! 🥳

* chore: add code comments on inline utils

* fix: code cleanup, run on experimental.assets

* feat: support ~/assets alias

* fix: spoof `astro:assets` when outside experimental

* test: image paths in dev and prod

* feat: support any vite alias with ctx.resolve

* fix: avoid trying to process absolute paths

* fix: raise helpful error for invalid vite paths

* refactor: revert URL support on emitAsset

* chore: lint

* refactor: expose emitESMImage from assets base

* wip: why doesn't assets exist

* scary chore: make @astrojs/markdoc truly depend on astro

* fix: import emitESMImage straight from dist

* chore: remove type def from assets package

* chore: screw it, just ts ignore

* deps: rollup types

* refactor: optimize images during parse step

* chore: remove unneeded `.flat()`

* fix: use file-based relative paths

* fix: add back helpful error

* chore: changeset

* deps: move astro back to dev dep

* fix: put emit assets behind flag

* chore: change to markdoc patch
2023-03-24 07:58:56 -04:00
Houston (Bot)
66e006028c
[ci] release (#6612)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-22 20:53:15 +08:00
paulrudy
b37b865400
edit commands for installing @markdoc/markdoc (#6622)
* edit commands for installing @markdoc/markdoc

* Create twenty-islands-protect.md

---------

Co-authored-by: Ben Holmes <hey@bholmes.dev>
2023-03-21 20:53:46 -04:00
Ben Holmes
f42f47dc6a
feat: Expose $entry variable to Markdoc (#6588)
* wip: dream api

* deps: rollup types

* feat: get entry data in there

* fix: properly show mdoc errors in overlay

* feat: implement with cache

* fix: wait for in-flight entry resolution

* test: entry properties can be rendered

* chore: changeset

* fix: remove rollup type import

* Revert "deps: rollup types"

This reverts commit 484ccb1c81.

* docs: add README reference

* docs nit: missing space

Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>

* refactor: split config config loading to separate helper

* refactor: choose more readable variable names

* refactor: store awaiting queue in existing cache

* docs: add clear code comments

* nit: add skip module code comment

* refactor: add `idHandledByContentRenderPlugin`

* nit: store chokidar modified events in const

* fix: remove loop from content renderer

* nit: else if -> if

---------

Co-authored-by: Yan Thomas <61414485+Yan-Thomas@users.noreply.github.com>
2023-03-21 09:20:23 -04:00
bholmesdev
e8b3c886a7 [ci] format 2023-03-21 12:20:02 +00:00
Ben Holmes
86273b5881
[Markdoc] Refactor Renderer internals to use renderComponent() (#6607)
* wip: new TreeNode setup

* fix: pass children through `render`

* deps: remove stringify-attributes

* chore: changeset

---------

Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-03-21 08:17:20 -04:00
Houston (Bot)
6afb1efea8
[ci] release (#6541)
* [ci] release

* nit: typo in #6594 changeset

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ben Holmes <hey@bholmes.dev>
2023-03-21 08:03:46 -04:00
Bjorn Lu
392ba3e4d5
Fix mdx and markdoc integrations return type (#6552) 2023-03-16 23:02:37 +08:00
Tc001
67d3d1d65a
Replace tabs with double spaces (#6562) 2023-03-16 15:46:31 +02:00
Houston (Bot)
43daac7a9b
[ci] release (#6476)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-03-13 16:05:43 -04:00
Yan Thomas
a13e9d7e33
Consistency improvements to several package descriptions (#6494)
* Add small improvements to package descriptions

* Add changeset

---------

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2023-03-13 09:25:47 -05:00
Erika
c44aa15534
fix: Enforce the usage of type imports when possible (#6502) 2023-03-10 16:19:57 +01:00
Sarah Rainsberger
60c7690b4c
[docs] Fix Markdoc README links (#6458) 2023-03-08 09:12:01 -04:00