summaryrefslogtreecommitdiff
path: root/examples/with-content/src
diff options
context:
space:
mode:
authorGravatar Ben Holmes <hey@bholmes.dev> 2023-01-10 18:01:52 -0500
committerGravatar GitHub <noreply@github.com> 2023-01-10 18:01:52 -0500
commitc2180746b4f6d9ef1b6f86924f21f52cc6ab4e63 (patch)
tree35772ea437174af2afdaf6ab4b3669963c675983 /examples/with-content/src
parent813073addd669538d67032a48ef6b649216dafc5 (diff)
downloadastro-c2180746b4f6d9ef1b6f86924f21f52cc6ab4e63.tar.gz
astro-c2180746b4f6d9ef1b6f86924f21f52cc6ab4e63.tar.zst
astro-c2180746b4f6d9ef1b6f86924f21f52cc6ab4e63.zip
[Content collections] Move generated types to `.astro` directory (#5786)
* feat: change cacheDir to `.astro` * feat: write reference in env.d.ts if none exists * chore: update with-content types * test: env.d.ts transform * nit: setUp -> add * refactor: content.d.ts -> types.d.ts * chore: update confirmation log * chore: changeset * feat: inject env.d.ts if none exists * feat: set up env.d.ts on `astro sync` * chore: duplicate envTsPathRelative * docs: update changeset * fix: make srcDir if none exists * fix: types.generated -> .astro in gitignore * feat: add env.d.ts to test gitignore * chore: remove env.d.ts from content-collections * test: move sync tests to `astro sync`, add file write test * refactor: simplify test gitignore to base * fix: add / to `.astro` bc that scares me
Diffstat (limited to 'examples/with-content/src')
-rw-r--r--examples/with-content/src/content/types.generated.d.ts98
-rw-r--r--examples/with-content/src/env.d.ts1
2 files changed, 1 insertions, 98 deletions
diff --git a/examples/with-content/src/content/types.generated.d.ts b/examples/with-content/src/content/types.generated.d.ts
deleted file mode 100644
index d9d0b5667..000000000
--- a/examples/with-content/src/content/types.generated.d.ts
+++ /dev/null
@@ -1,98 +0,0 @@
-declare module 'astro:content' {
- export { z } from 'astro/zod';
- export type CollectionEntry<C extends keyof typeof entryMap> =
- (typeof entryMap)[C][keyof (typeof entryMap)[C]] & Render;
-
- type BaseSchemaWithoutEffects =
- | import('astro/zod').AnyZodObject
- | import('astro/zod').ZodUnion<import('astro/zod').AnyZodObject[]>
- | import('astro/zod').ZodDiscriminatedUnion<string, import('astro/zod').AnyZodObject[]>
- | import('astro/zod').ZodIntersection<
- import('astro/zod').AnyZodObject,
- import('astro/zod').AnyZodObject
- >;
-
- type BaseSchema =
- | BaseSchemaWithoutEffects
- | import('astro/zod').ZodEffects<BaseSchemaWithoutEffects>;
-
- type BaseCollectionConfig<S extends BaseSchema> = {
- schema?: S;
- slug?: (entry: {
- id: CollectionEntry<keyof typeof entryMap>['id'];
- defaultSlug: string;
- collection: string;
- body: string;
- data: import('astro/zod').infer<S>;
- }) => string | Promise<string>;
- };
- export function defineCollection<S extends BaseSchema>(
- input: BaseCollectionConfig<S>
- ): BaseCollectionConfig<S>;
-
- export function getEntry<C extends keyof typeof entryMap, E extends keyof (typeof entryMap)[C]>(
- collection: C,
- entryKey: E
- ): Promise<(typeof entryMap)[C][E] & Render>;
- export function getCollection<
- C extends keyof typeof entryMap,
- E extends keyof (typeof entryMap)[C]
- >(
- collection: C,
- filter?: (data: (typeof entryMap)[C][E]) => boolean
- ): Promise<((typeof entryMap)[C][E] & Render)[]>;
-
- type InferEntrySchema<C extends keyof typeof entryMap> = import('astro/zod').infer<
- Required<ContentConfig['collections'][C]>['schema']
- >;
-
- type Render = {
- render(): Promise<{
- Content: import('astro').MarkdownInstance<{}>['Content'];
- headings: import('astro').MarkdownHeading[];
- remarkPluginFrontmatter: Record<string, any>;
- }>;
- };
-
- const entryMap: {
- blog: {
- 'first-post.md': {
- id: 'first-post.md';
- slug: 'first-post';
- body: string;
- collection: 'blog';
- data: InferEntrySchema<'blog'>;
- };
- 'markdown-style-guide.md': {
- id: 'markdown-style-guide.md';
- slug: 'markdown-style-guide';
- body: string;
- collection: 'blog';
- data: InferEntrySchema<'blog'>;
- };
- 'second-post.md': {
- id: 'second-post.md';
- slug: 'second-post';
- body: string;
- collection: 'blog';
- data: InferEntrySchema<'blog'>;
- };
- 'third-post.md': {
- id: 'third-post.md';
- slug: 'third-post';
- body: string;
- collection: 'blog';
- data: InferEntrySchema<'blog'>;
- };
- 'using-mdx.mdx': {
- id: 'using-mdx.mdx';
- slug: 'using-mdx';
- body: string;
- collection: 'blog';
- data: InferEntrySchema<'blog'>;
- };
- };
- };
-
- type ContentConfig = typeof import('./config');
-}
diff --git a/examples/with-content/src/env.d.ts b/examples/with-content/src/env.d.ts
index f964fe0cf..acef35f17 100644
--- a/examples/with-content/src/env.d.ts
+++ b/examples/with-content/src/env.d.ts
@@ -1 +1,2 @@
+/// <reference path="../.astro/types.d.ts" />
/// <reference types="astro/client" />