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 |
|