Skip to content

Upgrading @nuxt/content 2 to 3

Breaking2.13.4 → 3.16.2Breaking8Security8Platform1Deprecated2New66Changed79Fixed214Other308

BreakingUpgrade verdict

7 breaking changes and a platform requirement change and 8 security fixes.

  • The module no longer ships its own database adapters; it now relies on db0 connectors instead.
  • The setting that lets you pick which files to include was renamed to be clearer.
  • The old helper for setting page metadata is gone; use Nuxt's standard SEO helper instead.
  • Drops the `markdown.mdc` option; control the plugin via `markdown.remarkPlugins`.
Top 5 of 18 that need code or config changes

Requires Node.js >= 20.19.0 from 3.9.0 (none stated before).

Adds @shikijs/langs ^4.5.0, @sqlite.org/sqlite-wasm 3.53.0-build1, @standard-schema/spec ^1.1.0, @webcontainer/env ^1.1.1, c12 ^3.3.4, chokidar ^5.0.0, db0 ^0.4.1, git-url-parse ^16.1.0, h3 ^1.15.11, hookable ^5.5.3, isomorphic-git ^1.43.1, jiti ^2.7.0, json-schema-to-typescript-lite ^15.0.0, mdast-util-to-hast ^13.2.1, micromark-util-character ^2.1.1, micromark-util-chunked ^2.0.1, micromark-util-resolve-all ^2.0.1, micromatch ^4.0.8, minimark ^0.2.0, minimatch ^10.2.6, nuxt-component-meta 0.18.0, nypm ^0.6.10, pkg-types ^2.3.3, remark-mdc ^3.11.1, std-env ^4.3.0, tinyglobby ^0.2.17, unctx ^3.0.1, unified ^11.0.5, unist-util-visit ^5.1.0, unplugin ^3.4.0, zod ^3.25.76, zod-to-json-schema ^3.25.2.

Drops @vueuse/core, @vueuse/head, @vueuse/nuxt, json5, knitwork, listhen, mdurl, micromark-util-types, minisearch, unstorage, ws.

Installs 361 packages in all (was 265).

Breaking7
Drops built-in database adapters in favor of db0 connectors.
db0
Renames the misleading source.path glob option to source.include.
source.pathsource.include
Drops useContentHead in favor of useSeoMeta.
useContentHeaduseSeoMeta
Drops the markdown.mdc option; control the plugin via markdown.remarkPlugins.
markdown.mdcmarkdown.remarkPlugins
Moves better-sqlite3 to a peer dependency so users can choose their SQLite connector.
better-sqlite3sqlite3
Removes the internal queryCollectionWithEvent import in favor of queryCollection from @nuxt/content/nitro.
queryCollectionWithEventqueryCollection
Changes the nuxt.schema.ts helper import from @nuxthq/studio/theme to @nuxt/content/preview so app config stays updatable from Studio.
nuxt.schema.ts@nuxthq/studio/theme@nuxt/content/preview
Security8
Standardizes quotes and validates the block IN operator.
Accepts only query-builder WHERE clauses.
Fixes a ReDoS vulnerability in assertSafeQuery.
assertSafeQuery
Rejects SQL function calls in query WHERE clauses to prevent injection.
Fixes an unauthenticated SQL injection vulnerability.
Disallows crawlers from crawling /__nuxt_content paths.
/__nuxt_content
Improves database security.
Validates the query before executing it.
query
Platform1
Updates peer dependencies.
Deprecated2
Deprecates the z re-export from @nuxt/content; import z from zod or zod/v3 instead.
z
Deprecates the nitro export in favor of server.
nitroserver

Generated by DepDelta from published .d.ts files. Not mixed with prose notes.

  • removed: const __VLS_directiveBindingRestFields: { instance: null; oldValue: null; modifiers: any; dir: any }
  • removed: const __VLS_intrinsicElements: __VLS_IntrinsicElements
  • removed: const __VLS_nativeElements: { a: HTMLAnchorElement; abbr: HTMLElement; address: HTMLElement; area: HTMLAreaElement; article: HTMLElement; aside: HTMLElement; audio: HTMLAudioElement; b: H…
  • removed: const __VLS_unref: typeof import('vue').unref
  • removed: function __VLS_asFunctionalComponent<T, K = T extends new (...args: any) => any ? InstanceType<T> : unknown>(t: T, instance?: K): T extends new (...args: any) => any ? (props: (K extends { $props: infer Props } ? Props : any) & Record<string, unknown>, ctx?: any) => __VLS_Element & { __ctx?: { attrs?: any; slots?: K extends { $slots: infer Slots } ? Slots : any; emit?: K extends { $emit: infer Em…
  • removed: function __VLS_directiveAsFunction<T extends import('vue').Directive>(dir: T): T extends (...args: any) => any ? T | __VLS_unknownDirective : NonNullable<(T & Record<string, __VLS_unknownDirective>)['created' | 'beforeMount' | 'mounted' | 'beforeUpdate' | 'updated' | 'beforeUnmount' | 'unmounted']>
  • removed: function __VLS_elementAsFunction<T>(tag: T, endTag?: T): (_: T & Record<string, unknown>) => void
  • removed: function __VLS_functionalComponentArgsRest<T extends (...args: any) => any>(t: T): 2 extends Parameters<T>['length'] ? [any] : []
  • removed: function __VLS_getSlotParam<T>(slot: T): Parameters<__VLS_PickNotAny<NonNullable<T>, (...args: any[]) => any>>[0]
  • removed: function __VLS_getSlotParams<T>(slot: T): Parameters<__VLS_PickNotAny<NonNullable<T>, (...args: any[]) => any>>
  • removed: function __VLS_getVForSourceType(source: number): [number, number, number][]
  • removed: function __VLS_getVForSourceType(source: string): [string, number, number][]
  • removed: function __VLS_getVForSourceType<T extends any[]>(source: T): [item: T[number], key: number, index: number][]
  • removed: function __VLS_getVForSourceType<T extends number | { [Symbol.iterator](): Iterator<any> }>(source: T): [item: number | (Exclude<T, number> extends { [Symbol.iterator](): Iterator<infer T1> } ? T1 : never), key: number, index: undefined][]
  • removed: function __VLS_getVForSourceType<T extends { [Symbol.iterator](): Iterator<any> }>(source: T): [item: T extends { [Symbol.iterator](): Iterator<infer T1> } ? T1 : never, key: number, index: undefined][]
  • removed: function __VLS_getVForSourceType<T>(source: T): [item: T[keyof T], key: keyof T, index: number][]
  • removed: function __VLS_makeOptional<T>(t: T): { [K in keyof T]?: T[K] }
  • removed: function __VLS_nonNullable<T>(t: T): T extends null | undefined ? never : T
  • removed: function __VLS_normalizeSlot<S>(s: S): S extends () => infer R ? (props: {}) => R : S
  • removed: function __VLS_pickFunctionalComponentCtx<T, K>(comp: T, compInstance: K): NonNullable<__VLS_PickNotAny<'__ctx' extends keyof __VLS_PickNotAny<K, {}> ? K extends { __ctx?: infer Ctx } ? Ctx : never : any, T extends (props: any, ctx: infer Ctx) => any ? Ctx : any>>
  • removed: function __VLS_tryAsConstant<const T>(t: T): T
  • removed: function __VLS_withScope<T, K>(ctx: T, scope: K): ctx is T & K
  • removed: type __VLS_ConstructorOverloads<T> = __VLS_OverloadUnion<T> extends infer F ? F extends (event: infer E, ...args: infer A) => any ? { [K in E & string]: (...args: A) => void } : never : never
  • removed: type __VLS_Element = import('vue/jsx-runtime').JSX.Element
  • removed: type __VLS_FunctionalComponentProps<T, K> = '__ctx' extends keyof __VLS_PickNotAny<K, {}> ? K extends { __ctx?: { props?: infer P } } ? NonNullable<P> : never : T extends (props: infer P, ...args: any) =…
  • removed: type __VLS_GlobalComponents = import('vue').GlobalComponents & Pick<typeof import('vue'), 'Transition' | 'TransitionGroup' | 'KeepAlive' | 'Suspense' | 'Teleport'>
  • removed: type __VLS_GlobalDirectives = import('vue').GlobalDirectives
  • removed: type __VLS_IntrinsicElements = import('vue/jsx-runtime').JSX.IntrinsicElements
  • removed: type __VLS_IsAny<T> = 0 extends 1 & T ? true : false
  • removed: type __VLS_IsFunction<T, K> = K extends keyof T ? __VLS_IsAny<T[K]> extends false ? unknown extends T[K] ? false : true : false : false
  • removed: type __VLS_NormalizeEmits<T> = __VLS_PrettifyGlobal<__VLS_UnionToIntersection<__VLS_ConstructorOverloads<T> & { [K in keyof T]: T[K] extends any[] ? { (...args: T[K]): void } : never }>>
  • removed: type __VLS_OverloadUnion<T> = Exclude<__VLS_OverloadUnionInner<(() => never) & T>, T extends () => never ? never : () => never>
  • removed: type __VLS_OverloadUnionInner<T, U = unknown> = U & T extends (...args: infer A) => infer R ? U extends T ? never : __VLS_OverloadUnionInner<T, Pick<T, keyof T> & U & ((...args: A) => R)> | ((...args: A) =>…
  • removed: type __VLS_PickNotAny<A, B> = __VLS_IsAny<A> extends true ? B : A
  • removed: type __VLS_PrettifyGlobal<T> = { [K in keyof T]: T[K] } & {}
  • removed: type __VLS_UnionToIntersection<U> = (U extends unknown ? (arg: U) => unknown : never) extends ((arg: infer P) => unknown) ? P : never
  • removed: type __VLS_WithComponent<N0 extends string, LocalComponents, N1 extends string, N2 extends string, N3 extends string> = N1 extends keyof LocalComponents ? N1 extends N0 ? Pick<LocalComponents, N0 extends keyof LocalComponents ? N0 : never> : { [K in N0]: LocalComponents[N1] } :…
  • removed: type __VLS_unknownDirective = (arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown) => void
  • removed: interface PrivateRuntimeConfig
  • removed: interface PublicRuntimeConfig
  • removed: property PrivateRuntimeConfig.content: ModulePrivateRuntimeConfig & ContentContext
  • removed: property PublicRuntimeConfig.content: ModulePublicRuntimeConfig
  • changed: interface NuxtHooks extends ModuleHooks → interface NuxtHooks
  • added: property NuxtHooks.'content:file:afterParse': (ctx: FileAfterParseHook) => Promise<void> | void
  • added: property NuxtHooks.'content:file:beforeParse': (ctx: FileBeforeParseHook) => Promise<void> | void
  • removed: interface TokenTypeMap
  • removed: property TokenTypeMap.column: 'column'
  • removed: property TokenTypeMap.columnSeparator: 'columnSeparator'
  • removed: property TokenTypeMap.emptyLine: 'emptyLine'
  • removed: property TokenTypeMap.newline: 'newline'
  • removed: property TokenTypeMap.quoteFence: 'quoteFence'
  • removed: property TokenTypeMap.quotedData: 'quotedData'
  • removed: property TokenTypeMap.quotedDataChunk: 'quotedDataChunk'
  • removed: property TokenTypeMap.row: 'row'
  • removed: interface NitroRuntimeHooks
  • removed: property NitroRuntimeHooks.'content:file:afterParse': (file: ParsedContent) => void
  • removed: property NitroRuntimeHooks.'content:file:beforeParse': (file: { _id: string; body: string }) => void
  • removed: interface GlobalComponents
  • removed: interface GlobalDirectives
  • added: interface ZodType
  • added: interface ZodTypeDef
  • added: method ZodType.editor(options: EditorOptions): this
  • added: property ZodTypeDef.editor?: EditorOptions
  • added: const _default: import('@nuxt/schema').NuxtModule<import('@nuxt/schema').ModuleOptions, import('@nuxt/schema').ModuleOptions, false>
  • added: default _default
  • added: const _default: any
  • added: default _default
  • added: const _default: import('h3').EventHandler<import('h3').EventHandlerRequest, Promise<string>>
  • added: default _default
  • added: function createDocumentGenerator(): Promise<(doc: PageCollectionItemBase, options: { domain: string }) => Promise<string | null>>
  • added: function prepareContentSections(sections: LLMsSection[]): void
  • added: interface ContentLLMSCollectionSection extends LLMsSection
  • added: property ContentLLMSCollectionSection.__nuxt_content_auto_generate?: boolean
  • added: property ContentLLMSCollectionSection.contentCollection?: string
  • added: property ContentLLMSCollectionSection.contentFilters?: Array<{ field: string; operator: SQLOperator; value?: string }>
  • removed: declare module 'nitropack'
  • removed: index ContentQueryBuilderParams[key: string]: any
  • removed: index ContentQueryBuilderWhere[key: string]: string | number | boolean | RegExp | ContentQueryBuilderWhere | Array<string | number | boolean | ContentQueryBuilderWhere> | undefined
  • removed: index ContentQuerySortFields[field: string]: -1 | 1
  • removed: index NavItem[key: string]: any
  • removed: index ParsedContentMeta[key: string]: any
  • removed: index QueryBuilderParams[key: string]: any
  • removed: index QueryBuilderWhere[key: string]: undefined | string | number | boolean | RegExp | QueryBuilderWhere | Array<string | number | boolean | QueryBuilderWhere>
  • removed: index SortFields[field: string]: -1 | 1
  • removed: interface ContentContext extends ModuleOptions
  • removed: interface ContentQueryBuilder<T = ParsedContentMeta, Y = Record<string, any>>
  • removed: interface ContentQueryBuilderParams
  • removed: interface ContentQueryBuilderWhere extends Partial<Record<keyof ParsedContentInternalMeta, string | number | boolean | RegExp | ContentQueryBuilderWhere>>
  • removed: interface ContentQueryCountResponse
  • removed: interface ContentQueryFindOneResponse<T>
  • removed: interface ContentQueryFindResponse<T>
  • removed: interface ContentQuerySortFields
  • removed: interface ContentQuerySortParams
  • removed: interface ContentQueryWithDirConfig
  • removed: interface ContentQueryWithSurround<T>
  • removed: interface ContentTransformer
  • removed: interface MarkdownHtmlNode extends MarkdownNode
  • removed: interface MarkdownNode
  • removed: interface MarkdownParsedContent extends ParsedContent
  • removed: interface ModuleHooks
  • removed: interface NavItem
  • removed: interface ParsedContent extends ParsedContentMeta
  • removed: interface ParsedContentInternalMeta
  • removed: interface ParsedContentMeta extends ParsedContentInternalMeta
  • removed: interface QueryBuilder<T = ParsedContentMeta>
  • removed: interface QueryBuilderParams
  • removed: interface QueryBuilderWhere extends Partial<Record<keyof ParsedContentInternalMeta, string | number | boolean | RegExp | QueryBuilderWhere>>
  • removed: interface SortFields
  • removed: interface SortParams
  • removed: interface Toc
  • removed: interface TocLink
  • removed: method ContentQueryBuilder.count(): Promise<ContentQueryCountResponse>
  • removed: method ContentQueryBuilder.find(): Promise<ContentQueryFindResponse<T> & Y>
  • removed: method ContentQueryBuilder.findOne(): Promise<ContentQueryFindOneResponse<T> & Y>
  • removed: method ContentQueryBuilder.limit(count: number): ContentQueryBuilder<T, Y>
  • removed: method ContentQueryBuilder.locale(locale: string): ContentQueryBuilder<T, Y>
  • removed: method ContentQueryBuilder.only<T, K extends ValidKey<T>>(keys: K): ContentQueryBuilder<Pick<T, Extract<K, keyof T>>, Y>
  • removed: method ContentQueryBuilder.only<T, K extends ValidKeys<T>>(keys: K): ContentQueryBuilder<Pick<T, Extract<K[number], keyof T>>, Y>
  • removed: method ContentQueryBuilder.skip(count: number): ContentQueryBuilder<T, Y>
  • removed: method ContentQueryBuilder.sort(options: ContentQuerySortOptions): ContentQueryBuilder<T, Y>
  • removed: method ContentQueryBuilder.where(query: ContentQueryBuilderWhere): ContentQueryBuilder<T, Y>
  • removed: method ContentQueryBuilder.withDirConfig(): ContentQueryBuilder<T, ContentQueryWithDirConfig>
  • removed: method ContentQueryBuilder.withSurround(query: string | ContentQueryBuilderWhere, options?: Partial<{ before: number; after: number }>): ContentQueryBuilder<T, ContentQueryWithSurround<T>>
  • removed: method ContentQueryBuilder.without<const K extends (keyof T | string)[]>(keys: K): ContentQueryBuilder<Omit<T, K[number]>, Y>
  • removed: method ContentQueryBuilder.without<const K extends keyof T | string>(keys: K): ContentQueryBuilder<Omit<T, K>, Y>
  • removed: method ContentTransformer.parse?(id: string, content: StorageValue, options: any): Promise<ParsedContent> | ParsedContent
  • removed: method ContentTransformer.transform?(content: ParsedContent, options: any): Promise<ParsedContent> | ParsedContent
  • removed: method ModuleHooks.'content:context'(ctx: ContentContext): void
  • removed: method QueryBuilder.count(): Promise<number>
  • removed: method QueryBuilder.find(): Promise<Array<T>>
  • removed: method QueryBuilder.findOne(): Promise<T>
  • removed: method QueryBuilder.findSurround(query: string | QueryBuilderWhere, options?: Partial<{ before: number; after: number }>): Promise<Array<T>>
  • removed: method QueryBuilder.limit(count: number): QueryBuilder<T>
  • removed: method QueryBuilder.locale(locale: string): QueryBuilder<T>
  • removed: method QueryBuilder.only<const K extends (keyof T)[]>(keys: K): QueryBuilder<Pick<T, K[number]>>
  • removed: method QueryBuilder.only<const K extends keyof T>(keys: K): QueryBuilder<Pick<T, K>>
  • removed: method QueryBuilder.skip(count: number): QueryBuilder<T>
  • removed: method QueryBuilder.sort(options: SortOptions): QueryBuilder<T>
  • removed: method QueryBuilder.where(query: QueryBuilderWhere): QueryBuilder<T>
  • removed: method QueryBuilder.without<const K extends (keyof T | string)[]>(keys: K): QueryBuilder<Omit<T, K[number]>>
  • removed: method QueryBuilder.without<const K extends keyof T | string>(keys: K): QueryBuilder<Omit<T, K>>
  • removed: property ContentContext.base: Readonly<string>
  • removed: property ContentContext.transformers: Array<string>
  • removed: property ContentQueryBuilder.params: () => ContentQueryBuilderParams
  • removed: property ContentQueryBuilderParams.first?: boolean
  • removed: property ContentQueryBuilderParams.limit?: number
  • removed: property ContentQueryBuilderParams.only?: string[]
  • removed: property ContentQueryBuilderParams.skip?: number
  • removed: property ContentQueryBuilderParams.sort?: ContentQuerySortOptions[]
  • removed: property ContentQueryBuilderParams.surround?: { query: string | ContentQueryBuilderWhere; before?: number; after?: number }
  • removed: property ContentQueryBuilderParams.where?: ContentQueryBuilderWhere[]
  • removed: property ContentQueryBuilderParams.without?: string[]
  • removed: property ContentQueryBuilderWhere.$and?: ContentQueryBuilderWhere[]
  • removed: property ContentQueryBuilderWhere.$contains?: Array<string | number | boolean> | string | number | boolean
  • removed: property ContentQueryBuilderWhere.$containsAny?: Array<string | number | boolean>
  • removed: property ContentQueryBuilderWhere.$eq?: string | number | boolean | RegExp
  • removed: property ContentQueryBuilderWhere.$exists?: boolean
  • removed: property ContentQueryBuilderWhere.$gt?: number | string
  • removed: property ContentQueryBuilderWhere.$gte?: number | string
  • removed: property ContentQueryBuilderWhere.$icontains?: string
  • removed: property ContentQueryBuilderWhere.$in?: Array<string | number | boolean>
  • removed: property ContentQueryBuilderWhere.$lt?: number | string
  • removed: property ContentQueryBuilderWhere.$lte?: number | string
  • removed: property ContentQueryBuilderWhere.$ne?: string | number | boolean | RegExp
  • removed: property ContentQueryBuilderWhere.$not?: string | number | boolean | RegExp | ContentQueryBuilderWhere
  • removed: property ContentQueryBuilderWhere.$or?: ContentQueryBuilderWhere[]
  • removed: property ContentQueryBuilderWhere.$regex?: RegExp | string
  • removed: property ContentQueryBuilderWhere.$type?: string
  • removed: property ContentQueryCountResponse.result: number
  • removed: property ContentQueryFindOneResponse.result: T | undefined
  • removed: property ContentQueryFindResponse.limit: number
  • removed: property ContentQueryFindResponse.result: Array<T>
  • removed: property ContentQueryFindResponse.skip: number
  • removed: property ContentQueryFindResponse.total: number
  • removed: property ContentQuerySortParams.$caseFirst?: 'upper' | 'lower' | 'false'
  • removed: property ContentQuerySortParams.$locale?: string
  • removed: property ContentQuerySortParams.$numeric?: boolean
  • removed: property ContentQuerySortParams.$sensitivity?: 'base' | 'accent' | 'case' | 'variant'
  • removed: property ContentQueryWithDirConfig.dirConfig: Record<string, any>
  • removed: property ContentQueryWithSurround.surround: Array<T | null>
  • removed: property ContentTransformer.extensions: string[]
  • removed: property ContentTransformer.name: string
  • removed: property MarkdownHtmlNode.type: 'html'
  • removed: property MarkdownHtmlNode.value: string
  • removed: property MarkdownNode.attributes?: Record<string, any>
  • removed: property MarkdownNode.children?: MarkdownNode[]
  • removed: property MarkdownNode.content?: any
  • removed: property MarkdownNode.fmAttributes?: Record<string, any>
  • removed: property MarkdownNode.props?: Record<string, any>
  • removed: property MarkdownNode.tag?: string
  • removed: property MarkdownNode.type: string
  • removed: property MarkdownNode.value?: string
  • removed: property MarkdownParsedContent._empty: boolean
  • removed: property MarkdownParsedContent._type: 'markdown'
  • removed: property MarkdownParsedContent.body: MarkdownRoot & { toc?: Toc }
  • removed: property MarkdownParsedContent.description: string
  • removed: property MarkdownParsedContent.excerpt?: MarkdownRoot
  • removed: property MarkdownRoot.children: MarkdownNode[]
  • removed: property MarkdownRoot.type: 'root'
  • removed: property ModuleOptions.api: { baseURL: string }
  • removed: property ModuleOptions.base: string
  • removed: property ModuleOptions.contentHead?: boolean
  • removed: property ModuleOptions.csv: false | { json?: boolean; delimeter?: string }
  • removed: property ModuleOptions.defaultLocale?: string
  • removed: property ModuleOptions.documentDriven: boolean | { host?: string; page?: boolean; navigation?: boolean; surround?: boolean; globals?: { [key: string]: QueryBuilderParams }; layoutFallbacks?: string[]; injectPage?: boolean; trailingSlash?: boolean }
  • removed: property ModuleOptions.highlight: false | { theme?: BuiltinTheme | { default: BuiltinTheme; [theme: string]: BuiltinTheme }; preload?: (BuiltinLanguage | LanguageRegistration)[]; langs?: (BuiltinLanguage | LanguageRegistration)[]; themes?: (BuiltinTheme | ThemeRegistrationAny)[] }
  • removed: property ModuleOptions.ignores: Array<string>
  • removed: property ModuleOptions.locales: Array<string>
  • removed: property ModuleOptions.markdown: { mdc?: boolean; toc?: { depth?: number; searchDepth?: number }; tags?: Record<string, string>; remarkPlugins?: Array<string | [string, MarkdownPlugin]> | Record<string, false | MarkdownPlugin>; rehypePlugins?: Array<string | [string, MarkdownPlugin]> | Record<string, false | MarkdownPlugin>; anchorLinks?: boolean | { depth?: number; exclude?: number[] } }
  • removed: property ModuleOptions.navigation: false | { fields: Array<string> }
  • removed: property ModuleOptions.respectPathCase: boolean
  • removed: property ModuleOptions.sources: Record<string, MountOptions> | Array<string | MountOptions>
  • removed: property ModuleOptions.yaml: false | Record<string, any>
  • removed: property NavItem._draft?: boolean
  • removed: property NavItem._id?: string
  • removed: property NavItem._path: string
  • removed: property NavItem.children?: NavItem[]
  • removed: property NavItem.title: string
  • removed: property ParsedContent.body: MarkdownRoot | null
  • removed: property ParsedContent.excerpt?: MarkdownRoot
  • removed: property ParsedContentInternalMeta._draft?: boolean
  • removed: property ParsedContentInternalMeta._extension?: 'md' | 'yaml' | 'yml' | 'json' | 'json5' | 'csv'
  • removed: property ParsedContentInternalMeta._file?: string
  • removed: property ParsedContentInternalMeta._id: string
  • removed: property ParsedContentInternalMeta._locale?: string
  • removed: property ParsedContentInternalMeta._partial?: boolean
  • removed: property ParsedContentInternalMeta._path?: string
  • removed: property ParsedContentInternalMeta._source?: string
  • removed: property ParsedContentInternalMeta._type?: 'markdown' | 'yaml' | 'json' | 'csv'
  • removed: property ParsedContentInternalMeta.title?: string
  • removed: property ParsedContentMeta.layout?: LayoutKey
  • removed: property QueryBuilder.params: () => QueryBuilderParams
  • removed: property QueryBuilderParams.first?: boolean
  • removed: property QueryBuilderParams.limit?: number
  • removed: property QueryBuilderParams.only?: string[]
  • removed: property QueryBuilderParams.skip?: number
  • removed: property QueryBuilderParams.sort?: SortOptions[]
  • removed: property QueryBuilderParams.surround?: { query: string | QueryBuilderWhere; before?: number; after?: number }
  • removed: property QueryBuilderParams.where?: QueryBuilderWhere[]
  • removed: property QueryBuilderParams.without?: string[]
  • removed: property QueryBuilderWhere.$and?: QueryBuilderWhere[]
  • removed: property QueryBuilderWhere.$contains?: Array<string | number | boolean> | string | number | boolean
  • removed: property QueryBuilderWhere.$containsAny?: Array<string | number | boolean>
  • removed: property QueryBuilderWhere.$eq?: string | number | boolean | RegExp
  • removed: property QueryBuilderWhere.$exists?: boolean
  • removed: property QueryBuilderWhere.$gt?: number
  • removed: property QueryBuilderWhere.$gte?: number
  • removed: property QueryBuilderWhere.$icontains?: string
  • removed: property QueryBuilderWhere.$in?: string | Array<string | number | boolean>
  • removed: property QueryBuilderWhere.$lt?: number
  • removed: property QueryBuilderWhere.$lte?: number
  • removed: property QueryBuilderWhere.$ne?: string | number | boolean | RegExp
  • removed: property QueryBuilderWhere.$not?: string | number | boolean | RegExp | QueryBuilderWhere
  • removed: property QueryBuilderWhere.$or?: QueryBuilderWhere[]
  • removed: property QueryBuilderWhere.$regex?: RegExp | string
  • removed: property QueryBuilderWhere.$type?: string
  • removed: property SortParams.$caseFirst?: 'upper' | 'lower' | 'false'
  • removed: property SortParams.$locale?: string
  • removed: property SortParams.$numeric?: boolean
  • removed: property SortParams.$sensitivity?: 'base' | 'accent' | 'case' | 'variant'
  • removed: property Toc.depth: number
  • removed: property Toc.links: TocLink[]
  • removed: property Toc.searchDepth: number
  • removed: property Toc.title: string
  • removed: property TocLink.children?: TocLink[]
  • removed: property TocLink.depth: number
  • removed: property TocLink.id: string
  • removed: property TocLink.text: string
  • removed: type ContentQueryFetcher<T> = (query: ContentQueryBuilder<T>) => Promise<ContentQueryResponse<T>>
  • removed: type ContentQueryResponse<T> = ContentQueryFindResponse<T> | ContentQueryFindOneResponse<T> | ContentQueryCountResponse
  • removed: type ContentQuerySortOptions = ContentQuerySortParams | ContentQuerySortFields
  • removed: type DatabaseFetcher<T> = (query: QueryBuilder<T>) => Promise<Array<T> | T>
  • removed: type MarkdownPlugin = Record<string, any>
  • removed: type MountOptions = { driver: 'fs' | 'http' | string; name?: string; prefix?: string; [options: string]: any }
  • removed: type QueryMatchOperator = (item: any, condition: any) => boolean
  • removed: type QueryPipe<T = any> = ((data: Array<T>, param: QueryBuilderParams) => Array<T>) | ((data: Array<T>, param: QueryBuilderParams) => void)
  • removed: type SortOptions = SortParams | SortFields
  • changed: index TransformContentOptions[key: string]: any → index TransformContentOptions[key: string]: unknown
  • changed: interface MarkdownRoot → interface MarkdownRoot extends MinimarkTree
  • changed: property MarkdownOptions.rehypePlugins: Record<string, false | (MarkdownPlugin & { instance: any })> → property MarkdownOptions.rehypePlugins: Record<string, false | MarkdownPlugin>
  • changed: property MarkdownOptions.remarkPlugins: Record<string, false | (MarkdownPlugin & { instance: any })> → property MarkdownOptions.remarkPlugins: Record<string, false | MarkdownPlugin>
  • changed: property MarkdownRoot.props?: Record<string, any> → property MarkdownRoot.props?: Record<string, unknown>
  • changed: property ModuleOptions.experimental: { clientDB?: boolean; stripQueryParameters?: boolean; advanceQuery?: boolean; cacheContents?: boolean; search?: { ignoredTags?: Array<string>; filterQuery?: QueryBuilderWhere; indexed?: boolean; options?: Options } } → property ModuleOptions.experimental?: { nativeSqlite?: boolean; sqliteConnector?: SQLiteConnector }
  • changed: property ModuleOptions.watch: false | { ws: Partial<ListenOptions> } → property ModuleOptions.watch?: { enabled?: boolean }
  • added: const ContentFileExtension: { readonly Markdown: 'md'; readonly Yaml: 'yaml'; readonly Yml: 'yml'; readonly Json: 'json'; readonly Csv: 'csv'; readonly Xml: 'xml' }
  • added: const ContentFileType: { readonly Markdown: 'markdown'; readonly Yaml: 'yaml'; readonly Json: 'json'; readonly Csv: 'csv' }
  • added: const _default: _nuxt_schema.NuxtModule<ModuleOptions, ModuleOptions, false>
  • added: const defineContentConfig: c12.DefineConfig<NuxtContentConfig, c12.ConfigLayerMeta>
  • added: const defineTransformer: (transformer: ContentTransformer) => ContentTransformer
  • added: const metaStandardSchema: Draft07
  • added: const pageStandardSchema: Draft07
  • added: const z: typeof z$1
  • added: declare module 'zod'
  • added: export = _default
  • added: export { MinimarkElement } from 'minimark'
  • added: export { MinimarkNode } from 'minimark'
  • added: export { MinimarkText } from 'minimark'
  • added: export { MinimarkTree } from 'minimark'
  • added: export { Toc } from '@nuxtjs/mdc'
  • added: export { TocLink } from '@nuxtjs/mdc'
  • added: function defineCollection<T>(collection: Collection<T>): DefinedCollection
  • added: function defineCollectionSource(source: CustomCollectionSource): ResolvedCustomCollectionSource
  • added: function property<T extends ContentStandardSchemaV1>(input: T): Property<T>
  • added: index ContentNavigationItem[key: string]: unknown
  • added: index ParsedContentv2[key: string]: unknown
  • added: index TransformedContent[key: string]: unknown
  • added: interface CollectionIndex
  • added: interface CollectionInfo
  • added: interface CollectionItemBase
  • added: interface CollectionQueryBuilder<T>
  • added: interface CollectionQueryGroup<T>
  • added: interface Collections
  • added: interface ContentConfig
  • added: interface ContentFile extends Record<string, unknown>
  • added: interface ContentNavigationItem
  • added: interface ContentStandardSchemaV1<Input = unknown, Output = Input> extends StandardSchemaV1<Input, Output>
  • added: interface CustomCollectionSource
  • added: interface D1DatabaseConfig
  • added: interface DataCollection<T>
  • added: interface DataCollectionItemBase extends CollectionItemBase
  • added: interface DatabaseAdapter
  • added: interface DefinedCollection
  • added: interface Draft07
  • added: interface Draft07Definition
  • added: interface Draft07DefinitionProperty
  • added: interface Draft07DefinitionPropertyAllOf
  • added: interface Draft07DefinitionPropertyAnyOf
  • added: interface Draft07DefinitionPropertyOneOf
  • added: interface DraftFile
  • added: interface DraftSyncData
  • added: interface DraftSyncFile
  • added: interface EditorOptions
  • added: interface FileAfterParseHook
  • added: interface FileBeforeParseHook
  • added: interface FileChangeMessagePayload
  • added: interface FileMessageData
  • added: interface FileSelectMessagePayload
  • added: interface LocalDevelopmentDatabase
  • added: interface MarkdownPlugin extends Record<string, unknown>
  • added: interface PageCollection<T>
  • added: interface PageCollectionItemBase extends CollectionItemBase
  • added: interface PageCollections
  • added: interface ParsedContentFile extends TransformedContent
  • added: interface ParsedContentv2
  • added: interface PreviewFile
  • added: interface PreviewOptions
  • added: interface PublicRuntimeConfig
  • added: interface ResolvedCollection extends DefinedCollection
  • added: interface ResolvedCollectionSource extends CollectionSource
  • added: interface ResolvedCustomCollectionSource extends ResolvedCollectionSource
  • added: interface RuntimeConfig
  • added: interface SqliteDatabaseConfig
  • added: interface SurroundOptions<T>
  • added: interface TransformedContent
  • added: method CollectionQueryBuilder.all(): Promise<T[]>
  • added: method CollectionQueryBuilder.andWhere(groupFactory: QueryGroupFunction<T>): CollectionQueryBuilder<T>
  • added: method CollectionQueryBuilder.count(field?: keyof T | '*', distinct?: boolean): Promise<number>
  • added: method CollectionQueryBuilder.first(): Promise<T | null>
  • added: method CollectionQueryBuilder.limit(limit: number): CollectionQueryBuilder<T>
  • added: method CollectionQueryBuilder.orWhere(groupFactory: QueryGroupFunction<T>): CollectionQueryBuilder<T>
  • added: method CollectionQueryBuilder.order(field: keyof T, direction: 'ASC' | 'DESC'): CollectionQueryBuilder<T>
  • added: method CollectionQueryBuilder.path(path: string): CollectionQueryBuilder<T>
  • added: method CollectionQueryBuilder.select<K extends keyof T>(...fields: K[]): CollectionQueryBuilder<Pick<T, K>>
  • added: method CollectionQueryBuilder.skip(skip: number): CollectionQueryBuilder<T>
  • added: method CollectionQueryBuilder.where(field: string, operator: SQLOperator, value?: unknown): CollectionQueryBuilder<T>
  • added: method CollectionQueryGroup.andWhere(groupFactory: QueryGroupFunction<T>): CollectionQueryGroup<T>
  • added: method CollectionQueryGroup.orWhere(groupFactory: QueryGroupFunction<T>): CollectionQueryGroup<T>
  • added: method CollectionQueryGroup.where(field: string, operator: SQLOperator, value?: unknown): CollectionQueryGroup<T>
  • added: method DatabaseAdapter.all<T>(sql: string, params?: DatabaseBindParams): Promise<T[]>
  • added: method DatabaseAdapter.exec(sql: string, params?: DatabaseBindParams): Promise<unknown>
  • added: method DatabaseAdapter.first<T>(sql: string, params?: DatabaseBindParams): Promise<T | null | undefined>
  • added: method LocalDevelopmentDatabase.close(): void
  • added: method LocalDevelopmentDatabase.deleteDevelopmentCache(id: string): Promise<void>
  • added: method LocalDevelopmentDatabase.dropContentTables(): void
  • added: method LocalDevelopmentDatabase.exec(sql: string): void
  • added: method LocalDevelopmentDatabase.fetchDevelopmentCache(): Promise<Record<string, CacheEntry>>
  • added: method LocalDevelopmentDatabase.fetchDevelopmentCacheForKey(key: string): Promise<CacheEntry | undefined>
  • added: method LocalDevelopmentDatabase.insertDevelopmentCache(id: string, value: string, checksum: string): Promise<void>
  • added: property CollectionIndex.columns: string[]
  • added: property CollectionIndex.name?: string
  • added: property CollectionIndex.unique?: boolean
  • added: property CollectionInfo.fields: Record<string, 'string' | 'number' | 'boolean' | 'date' | 'json'>
  • added: property CollectionInfo.name: string
  • added: property CollectionInfo.pascalName: string
  • added: property CollectionInfo.schema: Draft07
  • added: property CollectionInfo.source: ResolvedCollectionSource[]
  • added: property CollectionInfo.tableDefinition: string
  • added: property CollectionInfo.tableName: string
  • added: property CollectionInfo.type: CollectionType
  • added: property CollectionItemBase.extension: string
  • added: property CollectionItemBase.id: string
  • added: property CollectionItemBase.meta: Record<string, unknown>
  • added: property CollectionItemBase.stem: string
  • added: property ContentConfig.editor?: EditorOptions
  • added: property ContentConfig.inherit?: string
  • added: property ContentFile.body: string
  • added: property ContentFile.collectionType?: CollectionType
  • added: property ContentFile.dirname?: string
  • added: property ContentFile.extension?: string
  • added: property ContentFile.id: string
  • added: property ContentFile.path: string
  • added: property ContentNavigationItem.children?: ContentNavigationItem[]
  • added: property ContentNavigationItem.page?: false
  • added: property ContentNavigationItem.path: string
  • added: property ContentNavigationItem.stem?: string
  • added: property ContentNavigationItem.title: string
  • added: property ContentStandardSchemaV1.$content?: ContentConfig
  • added: property CustomCollectionSource.getItem: (path: string) => Promise<string>
  • added: property CustomCollectionSource.getKeys: () => Promise<string[]>
  • added: property CustomCollectionSource.prepare?: (opts: { rootDir: string }) => Promise<void>
  • added: property D1DatabaseConfig.binding?: string
  • added: property D1DatabaseConfig.bindingName: string
  • added: property D1DatabaseConfig.type: 'd1'
  • added: property DataCollection.indexes?: CollectionIndex[]
  • added: property DataCollection.schema: ContentStandardSchemaV1<T>
  • added: property DataCollection.source?: string | CollectionSource | CollectionSource[] | ResolvedCustomCollectionSource
  • added: property DataCollection.type: 'data'
  • added: property DefinedCollection.extendedSchema: Draft07
  • added: property DefinedCollection.fields: Record<string, 'string' | 'number' | 'boolean' | 'date' | 'json'>
  • added: property DefinedCollection.indexes?: CollectionIndex[]
  • added: property DefinedCollection.schema: Draft07
  • added: property DefinedCollection.source: ResolvedCollectionSource[] | undefined
  • added: property DefinedCollection.type: CollectionType
  • added: property Draft07.$ref: string
  • added: property Draft07.$schema: 'http://json-schema.org/draft-07/schema#'
  • added: property Draft07.definitions: Record<string, Draft07Definition>
  • added: property Draft07Definition.additionalProperties: boolean
  • added: property Draft07Definition.properties: Record<string, Draft07DefinitionProperty | Draft07DefinitionPropertyAnyOf | Draft07DefinitionPropertyAllOf | Draft07DefinitionPropertyOneOf>
  • added: property Draft07Definition.required: string[]
  • added: property Draft07Definition.type: string
  • added: property Draft07DefinitionProperty.$content?: { editor?: EditorOptions }
  • added: property Draft07DefinitionProperty.additionalProperties?: boolean | Record<string, Draft07DefinitionProperty>
  • added: property Draft07DefinitionProperty.default?: unknown
  • added: property Draft07DefinitionProperty.enum?: string[]
  • added: property Draft07DefinitionProperty.format?: string
  • added: property Draft07DefinitionProperty.items?: Draft07DefinitionProperty
  • added: property Draft07DefinitionProperty.maxLength?: number
  • added: property Draft07DefinitionProperty.properties?: Record<string, Draft07DefinitionProperty>
  • added: property Draft07DefinitionProperty.required?: string[]
  • added: property Draft07DefinitionProperty.type?: string
  • added: property Draft07DefinitionPropertyAllOf.allOf: Draft07DefinitionProperty[]
  • added: property Draft07DefinitionPropertyAnyOf.anyOf: Draft07DefinitionProperty[]
  • added: property Draft07DefinitionPropertyOneOf.oneOf: Draft07DefinitionProperty[]
  • added: property DraftFile.new?: boolean
  • added: property DraftFile.oldPath?: string
  • added: property DraftFile.parsed?: ParsedContentv2
  • added: property DraftFile.path: string
  • added: property DraftFile.pathMeta?: Record<string, unknown>
  • added: property DraftSyncData.additions: DraftFile[]
  • added: property DraftSyncData.deletions: DraftFile[]
  • added: property DraftSyncData.files: DraftSyncFile[]
  • added: property DraftSyncFile.parsed?: ParsedContentv2
  • added: property DraftSyncFile.path: string
  • added: property EditorOptions.description?: string
  • added: property EditorOptions.hidden?: boolean
  • added: property EditorOptions.iconLibraries?: string[]
  • added: property EditorOptions.input?: 'media' | 'icon' | 'textarea'
  • added: property EditorOptions.label?: string
  • added: property EditorOptions.tooltip?: string
  • added: property FileAfterParseHook.collection: ResolvedCollection
  • added: property FileAfterParseHook.content: ParsedContentFile
  • added: property FileAfterParseHook.file: ContentFile
  • added: property FileBeforeParseHook.collection: ResolvedCollection
  • added: property FileBeforeParseHook.file: ContentFile
  • added: property FileBeforeParseHook.parserOptions: ParserOptions
  • added: property FileChangeMessagePayload.additions: PreviewFile[]
  • added: property FileChangeMessagePayload.deletions: { path: string }[]
  • added: property FileMessageData.navigate: boolean
  • added: property FileMessageData.payload: FileChangeMessagePayload | FileSelectMessagePayload
  • added: property FileMessageData.type: FileMessageType
  • added: property FileSelectMessagePayload.path: string
  • added: property LocalDevelopmentDatabase.database?: Connector
  • added: property LocalDevelopmentDatabase.supportsTransactions: boolean
  • added: property MarkdownOptions.highlight?: { highlighter?: Highlighter; [key: string]: unknown }
  • added: property MarkdownPlugin.instance?: unknown
  • added: property MarkdownPlugin.options?: Record<string, unknown>
  • added: property ModuleOptions._localDatabase: SqliteDatabaseConfig | D1DatabaseConfig
  • added: property ModuleOptions.build: { transformers?: string[]; markdown?: { toc?: { depth?: number; searchDepth?: number }; contentHeading?: boolean; remarkPlugins?: Record<string, false | MarkdownPlugin>; rehypePlugins?: Record<string, false | MarkdownPlugin>; highlight?: false | { theme?: BuiltinTheme | { default: BuiltinTheme | ThemeRegistrationRaw | string; [theme: string]: BuiltinTheme | ThemeRegi…
  • added: property ModuleOptions.database: D1DatabaseConfig | SqliteDatabaseConfig | PostgreSQLDatabaseConfig | LibSQLDatabaseConfig | PGliteDatabaseConfig
  • added: property ModuleOptions.llms?: boolean
  • added: property ModuleOptions.preview?: PreviewOptions
  • added: property ModuleOptions.renderer: { alias?: Record<string, string>; anchorLinks?: boolean | Partial<Record<'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6', boolean>> }
  • added: property PageCollection.indexes?: CollectionIndex[]
  • added: property PageCollection.schema?: ContentStandardSchemaV1<T>
  • added: property PageCollection.source?: string | CollectionSource | CollectionSource[] | ResolvedCustomCollectionSource
  • added: property PageCollection.type: 'page'
  • added: property PageCollectionItemBase.body: MarkdownRoot
  • added: property PageCollectionItemBase.description: string
  • added: property PageCollectionItemBase.navigation?: boolean | { title: string; description: string; icon: string }
  • added: property PageCollectionItemBase.path: string
  • added: property PageCollectionItemBase.seo: { title?: string; description?: string; [key: string]: unknown }
  • added: property PageCollectionItemBase.title: string
  • added: property ParsedContentv2._draft?: boolean
  • added: property ParsedContentv2._extension?: 'md' | 'yaml' | 'yml' | 'json' | 'json5' | 'csv'
  • added: property ParsedContentv2._file?: string
  • added: property ParsedContentv2._id: string
  • added: property ParsedContentv2._locale?: string
  • added: property ParsedContentv2._partial?: boolean
  • added: property ParsedContentv2._path?: string
  • added: property ParsedContentv2._source?: string
  • added: property ParsedContentv2._type?: 'markdown' | 'yaml' | 'json' | 'csv'
  • added: property ParsedContentv2.body: Record<string, unknown> | null
  • added: property ParsedContentv2.excerpt?: Record<string, unknown>
  • added: property ParsedContentv2.layout?: string
  • added: property ParsedContentv2.title?: string
  • added: property PreviewFile.content: string
  • added: property PreviewFile.id: number
  • added: property PreviewFile.name: string
  • added: property PreviewFile.nameWithoutPrefix: string
  • added: property PreviewFile.parsed: ParsedContentv2
  • added: property PreviewFile.path: string
  • added: property PreviewFile.pathPreview: string
  • added: property PreviewFile.pathRoute: string
  • added: property PreviewFile.pathWithoutRoot: string
  • added: property PreviewFile.status: FileStatus
  • added: property PreviewFile.type: 'file'
  • added: property PreviewFile.updatedAt: string
  • added: property PreviewOptions.api?: string
  • added: property PreviewOptions.dev?: boolean
  • added: property PreviewOptions.gitInfo?: GitInfo
  • added: property PublicRuntimeConfig.preview: { api?: string; iframeMessagingAllowedOrigins?: string }
  • added: property ResolvedCollection.name: string
  • added: property ResolvedCollection.private: boolean
  • added: property ResolvedCollection.tableName: string
  • added: property ResolvedCollectionSource._resolved: true
  • added: property ResolvedCollectionSource.cwd: string
  • added: property ResolvedCollectionSource.getItem?: (path: string) => Promise<string>
  • added: property ResolvedCollectionSource.getKeys?: () => Promise<string[]>
  • added: property ResolvedCollectionSource.prepare?: (opts: { rootDir: string }) => Promise<void>
  • added: property ResolvedCustomCollectionSource._custom: true
  • added: property RuntimeConfig.content: { version: string; databaseVersion: string; database: D1DatabaseConfig | SqliteDatabaseConfig | PostgreSQLDatabaseConfig | PGliteDatabaseConfig | LibSQLDatabaseConfig; localDatabase: SqliteDatabaseConfig | PGliteDatabaseConfig | LibSQLDatabaseConfig; integrityCheck: boolean }
  • added: property SqliteDatabaseConfig.filename: string
  • added: property SqliteDatabaseConfig.type: 'sqlite'
  • added: property SurroundOptions.after?: number
  • added: property SurroundOptions.before?: number
  • added: property SurroundOptions.fields?: Array<T>
  • added: property TransformedContent.__metadata?: { components?: string[]; [key: string]: unknown }
  • added: property TransformedContent.id: string
  • added: type CacheEntry = { id: string; value: string; checksum: string }
  • added: type Collection<T> = PageCollection<T> | DataCollection<T>
  • added: type CollectionSource = { include: string; prefix?: string; exclude?: string[]; repository?: string | GitRepositoryType; cwd?: string; authToken?: string; authBasic?: GitBasicAuth }
  • added: type CollectionType = 'page' | 'data'
  • added: type ContentTransformer = { name: string; extensions: string[]; parse(file: ContentFile, options: Record<string, unknown>): Promise<TransformedContent> | TransformedContent; transform?(…
  • added: type DatabaseAdapterFactory<Options> = (otps?: Options) => DatabaseAdapter
  • added: type DatabaseBindParams = Primitive[]
  • added: type DatabaseBindable = number | string | boolean | null | undefined
  • added: type FileMessageType = 'nuxt-content:editor:file-selected' | 'nuxt-content:editor:file-changed' | 'nuxt-content:editor:media-changed' | 'nuxt-content:config:file-changed'
  • added: type FileStatus = 'created' | 'updated' | 'deleted' | 'renamed'
  • added: type GitBasicAuth = { username?: string; password?: string }
  • added: type GitRefType = { branch?: string; tag?: string }
  • added: type GitRepositoryType = { url: string; branch?: GitRefType['branch']; tag?: GitRefType['tag']; auth?: GitBasicAuth | GitTokenAuth }
  • added: type GitTokenAuth = { username?: string; token?: string }
  • added: type LibSQLDatabaseConfig = { type: 'libsql'; url: string; authToken?: string }
  • added: type MinimalElement = MinimarkElement
  • added: type MinimalNode = MinimarkNode
  • added: type MinimalText = MinimarkText
  • added: type MinimalTree = { type: 'minimal'; value: MinimalNode[] }
  • added: type PGliteDatabaseConfig = { type: 'pglite'; dataDir?: string }
  • added: type PostgreSQLDatabaseConfig = { type: 'postgresql' | 'postgres'; url: string }
  • added: type QueryGroupFunction<T> = (group: CollectionQueryGroup<T>) => CollectionQueryGroup<T>
  • added: type SQLOperator = '=' | '>=' | '<=' | '>' | '<' | '<>' | 'IN' | 'NOT IN' | 'BETWEEN' | 'NOT BETWEEN' | 'IS NULL' | 'IS NOT NULL' | 'LIKE' | 'NOT LIKE'
  • added: type SQLiteConnector = 'native' | 'sqlite3' | 'better-sqlite3' | 'bun'
  • added: function field(schema: PreviewFieldData): InputValue
  • added: function group(schema: PreviewFieldData): InputValue
  • added: type ConfigInputsTypes = Exclude<JSType, 'symbol' | 'function' | 'any' | 'bigint'> | 'default' | 'icon' | 'file' | 'media' | 'component' | 'textarea'
  • added: type PartialSchema = Pick<Schema, 'title' | 'description' | 'default' | 'required'> & { [key: string]: unknown }
  • added: type PickerTypes = 'media-picker' | 'icon-picker'
  • added: type PreviewFieldData = PartialSchema & { type?: keyof typeof supportedFields; icon?: string; fields?: { [key: string]: InputValue } }
  • added: const _default: import('h3').EventHandler<import('h3').EventHandlerRequest, Promise<{ version: RuntimeConfig; preview: unknown; gitInfo: any; collections: any; appConfigSchema…
  • added: default _default
  • added: const _default: import('h3').EventHandler<import('h3').EventHandlerRequest, Promise<any>>
  • added: default _default
  • added: const queryCollection: <T extends keyof Collections>(collection: T) => CollectionQueryBuilder<Collections[T]>
  • added: export { GenerateSearchSectionsOptions } from './internal/search'
  • added: export { SearchCollectionOptions } from './internal/search'
  • added: export { SearchResult } from './internal/search'
  • added: export { Section } from './internal/search'
  • added: function queryCollectionItemSurroundings<T extends keyof PageCollections>(collection: T, path: string, opts?: SurroundOptions<keyof PageCollections[T]>): ChainablePromise<T, ContentNavigationItem[]>
  • added: function queryCollectionNavigation<T extends keyof PageCollections>(collection: T, fields?: Array<keyof PageCollections[T]>): ChainablePromise<T, ContentNavigationItem[]>
  • added: function queryCollectionSearchSections<T extends keyof PageCollections, const K extends keyof PageCollections[T]>(collection: T, opts: Omit<GenerateSearchSectionsOptions, 'extraFields'> & { extraFields: K[] }): ChainablePromise<T, Array<Section & Pick<PageCollections[T], K>>>
  • added: function queryCollectionSearchSections<T extends keyof PageCollections>(collection: T, opts?: GenerateSearchSectionsOptions): ChainablePromise<T, Section[]>
  • added: function useSearchCollection<T extends keyof PageCollections>(collection: MaybeRefOrGetter<T | T[]>, opts?: GenerateSearchSectionsOptions & { immediate?: boolean }): { status: import('vue').Ref<'error' | 'ready' | 'idle' | 'loading', 'error' | 'ready' | 'idle' | 'loading'>; search: (query: string, searchOpts?: SearchCollectionOptions) => Promise<SearchResult[]>; init: () => Promise<any> }
  • removed: const _default: typeof ContentDoc & { new (): { $slots: { default: (context: { doc: ParsedContent; refresh: () => Promise<void> }) => VNode[] | undefined } } }
  • removed: declare global
  • removed: declare module 'vue'
  • removed: default _default
  • removed: const _default: typeof ContentList & { new (): { $slots: { default: (context: { list: ParsedContent[]; refresh: () => Promise<void> }) => VNode[] | undefined } } }
  • removed: default _default
  • removed: const _default: typeof ContentNavigation & { new (): { $slots: { default: ({ navigation }: { navigation: NavItem[] }) => VNode[] | undefined } } }
  • removed: default _default
  • added: const _default: typeof __VLS_export
  • added: default _default
  • changed: const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{ value: { type: ObjectConstructor; required: false; default: () => {} }; excerpt: { type: Boolean… → const _default: typeof __VLS_export
  • removed: const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{ use: { type: FunctionConstructor; default: undefined }; unwrap: { type: (StringConstructor | Boo…
  • removed: default _default
  • removed: const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{ value: { type: PropType<ParsedContent>; required: true } }>, {}, {}, {}, {}, import('vue').Compo…
  • removed: default _default
  • removed: const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicPro…
  • removed: default _default
  • removed: const _default: import('vue').DefineComponent<{}, { fallbackSlot: import('vue').Slot<any> | undefined; tags: import('vue').ComputedRef<string[]>; between: import('vue').Slot<a…
  • removed: default _default
  • removed: const contentStorage: Storage<StorageValue>
  • removed: function createDB(storage: Storage): { storage: Storage<StorageValue>; fetch: (query: NavItem<unknown>) => Promise<NavItem<unknown>>; query: (initialParams?: any) => ContentQueryBuilder<T> }
  • removed: function generateNavigation(query?: ContentQueryBuilderParams): Promise<Array<NavItem>>
  • removed: function useContentDatabase(): Promise<{ storage: Storage<StorageValue>; fetch: (query: NavItem<unknown>) => Promise<NavItem<unknown>>; query: (initialParams?: any) => ContentQueryBuilder<T> }>
  • removed: const useContent: <T extends ParsedContent, G extends object = Record<string, unknown>>() => { globals: import('vue').Ref<Record<string, G>, Record<string, G>>; navigation: impo…
  • removed: const useContentState: <G extends object = Record<string, unknown>>() => { pages: import('vue').Ref<Record<string, ParsedContent>, Record<string, ParsedContent>>; surrounds: import('…
  • removed: const useContentHead: (_content: ParsedContent | Ref<ParsedContent>, to?: RouteLocationNormalized | RouteLocationNormalizedLoaded) => void
  • removed: const useContentHelpers: () => { navBottomLink: (link: NavItem) => string | undefined; navDirFromPath: (path: string, tree: NavItem[]) => NavItem[] | undefined; navPageFromPath: (path:…
  • removed: const fetchContentNavigation: (queryBuilder?: QueryBuilder | QueryBuilderParams | ContentQueryBuilder) => Promise<Array<NavItem>>
  • removed: const useContentPreview: () => { isEnabled: () => boolean; getPreviewToken: () => string | undefined; setPreviewToken: (token: string | undefined) => void }
  • removed: const createQueryFetch: <T = ParsedContent>() => (query: ContentQueryBuilder<T>) => Promise<any>
  • removed: function queryContent<T = ParsedContent>(query: string, ...pathParts: string[]): ContentQueryBuilder<T>
  • removed: function queryContent<T = ParsedContent>(query?: ContentQueryBuilderParams): ContentQueryBuilder<T>
  • removed: const defineMiniSearchOptions: <DataItem>(options: MiniSearchOptions<DataItem>) => Ref<{ fields: string[]; idField?: string | undefined; storeFields?: string[] | undefined; extractField?: ((…
  • removed: const searchContent: <DataItem>(search: MaybeRefOrGetter<string>, options?: { miniSearch?: MaybeRefOrGetter<MiniSearchOptions<DataItem>> }) => Promise<import('vue').ComputedRef<imp…
  • removed: const useUnwrap: () => { unwrap: typeof unwrap; flatUnwrap: typeof flatUnwrap }
  • removed: const addPrerenderPath: (path: string) => void
  • removed: const navigationDisabled: () => never
  • removed: const shouldUseClientDB: () => boolean
  • removed: const useContentDisabled: () => ReturnType<typeof useContent>
  • removed: const withContentBase: (url: string) => string
  • removed: function useContentWebSocket(): { connect: (retry?: boolean) => void } | undefined
  • added: function compressTree(input: MDCRoot): MinimarkTree
  • added: function decompressTree(input: Tree): MDCRoot
  • added: function visit(tree: Tree, checker: (node: Node) => boolean, visitor: (node: Node) => Node | undefined): void
  • added: function fetchDatabase(event: H3Event | undefined, collection: string): Promise<string>
  • added: function fetchQuery<Item>(event: H3Event | undefined, collection: string, sql: string): Promise<Item[]>
  • added: function refineContentFields<T>(sql: string, doc: T): T
  • added: const connector: typeof bunSqliteConnector
  • added: default connector
  • added: default sqliteConnector
  • added: function loadDatabaseAdapter<T>(collection: T): DatabaseAdapter
  • added: default function loadDatabaseAdapter(config: RuntimeConfig['content']): Promise<DatabaseAdapter>
  • added: function checkAndImportDatabaseIntegrity(event: H3Event, collection: string, config: RuntimeConfig['content']): Promise<void>
  • added: function decompressSQLDump(base64Str: string, compressionType?: CompressionFormat): Promise<string[]>
  • added: const generateTitle: (path: string) => string
  • added: function generateNavigationTree<T extends PageCollectionItemBase>(queryBuilder: CollectionQueryBuilder<T>, extraFields?: Array<keyof T>): Promise<ContentNavigationItem[]>
  • added: const getCollectionByFilePath: (path: string, collections: Record<string, CollectionInfo>) => { collection: CollectionInfo | undefined; matchedSource: ResolvedCollectionSource | undefined }
  • added: const getCollectionByRoutePath: (routePath: string, collections: Record<string, CollectionInfo>) => { collection: CollectionInfo | undefined; matchedSource: ResolvedCollectionSource | undefin…
  • added: function generateCollectionInsert(collection: CollectionInfo, data: Record<string, unknown>): string
  • added: function generateRecordDeletion(collection: CollectionInfo, stem: string): string
  • added: function generateRecordSelectByColumn(collection: CollectionInfo, column: string, value: string): string
  • added: function generateRecordUpdate(collection: CollectionInfo, stem: string, data: Record<string, unknown>): string
  • added: const v2ToV3ParsedFile: (file: DraftSyncFile, collection: CollectionInfo, source: ResolvedCollectionSource) => Record<string, unknown> | undefined
  • added: const PreviewConfigFiles: { appConfig: string; appConfigV4: string; nuxtConfig: string }
  • added: function generateStemFromPath(path: string): string
  • added: function mergeDraft(dbFiles: DraftSyncFile[] | undefined, draftAdditions: DraftFile[], draftDeletions: DraftFile[]): DraftSyncFile[]
  • added: function withoutPrefixNumber(path: string, leadingSlash?: boolean): string
  • added: function withoutRoot(path: string): string
  • added: function initIframeCommunication(): void
  • added: function mountPreviewUI(): void
  • added: const officialProviderUrls: string[]
  • added: const createSingleton: <T, Params extends Array<unknown>>(fn: () => T) => (_args?: Params) => T
  • added: const defu: import('defu').DefuFn
  • added: const formatDate: (date: string | Date) => string
  • added: const formatDateTime: (datetime: string | Date) => string
  • added: export * from './files'
  • added: function deepAssign(obj: Record<string, unknown>, newObj: Record<string, unknown>): void
  • added: function deepDelete(obj: Record<string, unknown>, newObj: Record<string, unknown>): void
  • added: function parseSourceBase(source: CollectionSource): { fixed: any; dynamic: string }
  • added: const collectionQueryBuilder: <T extends keyof Collections>(collection: T, fetch: (collection: T, sql: string) => Promise<Collections[T][]>) => CollectionQueryBuilder<Collections[T]>
  • added: const collectionQueryGroup: <T extends keyof Collections>(collection: T) => CollectionQueryGroup<Collections[T]>
  • added: function describeProperty(schema: Draft07, property: string): { name: string; sqlType: string; type?: string; default?: unknown; nullable: boolean; maxLength?: number; enum?: string[]; json?: boolean }
  • added: function getCollectionFieldsTypes(schema: Draft07): Record<string, 'string' | 'number' | 'boolean' | 'json' | 'date'>
  • added: function getOrderedSchemaKeys(schema: Draft07): string[]
  • added: function _resetFTSState(): void
  • added: function buildFTSIndex<T extends PageCollectionItemBase>(db: DatabaseAdapter, collection: string, queryBuilder: CollectionQueryBuilder<T>, opts?: GenerateSearchSectionsOptions): Promise<void>
  • added: function generateSearchSections<T extends PageCollectionItemBase, const K extends keyof T>(queryBuilder: CollectionQueryBuilder<T>, opts: Omit<GenerateSearchSectionsOptions, 'extraFields'> & { extraFields: K[] }): Promise<Array<Section & Pick<T, K>>>
  • added: function generateSearchSections<T extends PageCollectionItemBase>(queryBuilder: CollectionQueryBuilder<T>, opts?: GenerateSearchSectionsOptions): Promise<Section[]>
  • added: function queryFTS(db: DatabaseAdapter, collections: string[], query: string, opts?: SearchCollectionOptions): Promise<SearchResult[]>
  • added: function resetFTSIndex(db: DatabaseAdapter): Promise<void>
  • added: type GenerateSearchSectionsOptions = { ignoredTags?: string[]; extraFields?: (string | symbol | number)[]; minHeading?: `h${1 | 2 | 3 | 4 | 5 | 6}`; maxHeading?: `h${1 | 2 | 3 | 4 | 5 | 6}` }
  • added: type SearchCollectionOptions = { limit?: number; fields?: ('title' | 'content')[]; minTermLength?: number; weights?: { title?: number; content?: number; heading?: number }; snippet?: { colum…
  • added: type SearchResult = { collection: string; id: string; title: string; titles: string[]; level: number; content: string; rank: number; snippets?: { title?: string; content?: string…
  • added: type Section = { id: string; title: string; titles: string[]; level: number; content: string }
  • added: const MAX_SQL_QUERY_LENGTH = 100000
  • added: function assertSafeQuery(sql: string, collection: string): boolean
  • added: function flattedData(data: ContentNavigationItem[]): ContentNavigationItem[]
  • added: function generateItemSurround<T extends PageCollectionItemBase>(queryBuilder: CollectionQueryBuilder<T>, path: string, opts?: SurroundOptions<keyof T>): Promise<ContentNavigationItem[]>
  • added: function pick(keys?: string[]): (obj: Record<string, unknown>) => {}
  • removed: const contentStorage: Storage
  • removed: function createDB(storage: Storage): ClientDB
  • removed: function generateNavigation(query?: QueryBuilderParams): Promise<Array<NavItem>>
  • removed: function useContentDatabase(): Promise<ClientDB>
  • removed: const fetchContentNavigation: (queryBuilder?: QueryBuilder | QueryBuilderParams | ContentQueryBuilder) => Promise<Array<NavItem>>
  • removed: const createQueryFetch: <T = ParsedContent>() => (query: QueryBuilder<T>) => Promise<any>
  • removed: function queryContent<T = ParsedContent>(query: string, ...pathParts: string[]): QueryBuilder<T>
  • removed: function queryContent<T = ParsedContent>(query?: QueryBuilderParams): QueryBuilder<T>
  • removed: const _default: import('#app/nuxt').Plugin<Record<string, unknown>> & import('#app/nuxt').ObjectPlugin<Record<string, unknown>>
  • removed: default _default
  • removed: const serverQueryContent: typeof legacyServerQueryContent
  • removed: export { parseContent } from '../server/storage'
  • removed: function serverQueryContent<T = ParsedContent>(event: H3Event, params?: QueryBuilderParams): QueryBuilder<T>
  • removed: function serverQueryContent<T = ParsedContent>(event: H3Event, query?: string, ...pathParts: string[]): QueryBuilder<T>
  • added: const queryCollection: <T extends keyof Collections>(event: H3Event, collection: T) => CollectionQueryBuilder<Collections[T]>
  • added: const queryCollectionItemSurroundings: typeof server.queryCollectionItemSurroundings
  • added: const queryCollectionNavigation: typeof server.queryCollectionNavigation
  • added: const queryCollectionSearchSections: typeof server.queryCollectionSearchSections
  • removed: const _default: import('#app/nuxt').Plugin<Record<string, unknown>> & import('#app/nuxt').ObjectPlugin<Record<string, unknown>>
  • removed: default _default
  • added: const previewWithApiPlugin: Plugin
  • added: default previewWithApiPlugin
  • added: const previewPlugin: Plugin
  • added: default previewPlugin
  • added: const _default: import('nuxt/app').Plugin<Record<string, unknown>> & import('nuxt/app').ObjectPlugin<Record<string, unknown>>
  • added: default _default
  • removed: const _default: import('nuxt/app').Plugin<Record<string, unknown>> & import('nuxt/app').ObjectPlugin<Record<string, unknown>>
  • removed: default _default
  • added: const _default: import('h3').EventHandler<import('h3').EventHandlerRequest, Promise<any>>
  • added: default _default
  • added: const _default: import('h3').EventHandler<import('h3').EventHandlerRequest, Promise<any>>
  • added: default _default
  • removed: function createMatch(opts?: MatchFactoryOptions): (item: any, conditions: any) => boolean
  • removed: function createPipelineFetcher<T>(getContentsList: () => Promise<T[]>): (query: ContentQueryBuilder<T>) => Promise<ContentQueryResponse<T>>
  • removed: function createPipelineFetcherLegacy<T>(getContentsList: () => Promise<T[]>): (query: QueryBuilder<T>) => Promise<T | T[]>
  • removed: const apply: (fn: (d: any) => any) => (data: any) => any
  • removed: const assertArray: (value: any, message?: string) => void
  • removed: const detectProperties: (keys: string[]) => { prefixes: string[]; properties: string[] }
  • removed: const ensureArray: <T>(value: T) => T extends Array<any> ? T : T[]
  • removed: const get: (obj: any, path: string) => any
  • removed: const omit: (keys?: string[]) => (obj: any) => any
  • removed: const pick: (keys?: string[]) => (obj: any) => any
  • removed: const sortList: (data: any[], params: SortOptions) => any[]
  • removed: const withKeys: (keys?: string[]) => (obj: any) => any
  • removed: const withoutKeys: (keys?: string[]) => (obj: any) => any
  • removed: function createQuery<T = ParsedContent>(fetcher: ContentQueryFetcher<T>, opts: QueryOptions & { legacy: false }): ContentQueryBuilder<T>
  • removed: function createQuery<T = ParsedContent>(fetcher: ContentQueryFetcher<T>, opts: QueryOptions & { legacy: true }): QueryBuilder<T>
  • added: const queryCollection: <T extends keyof Collections>(event: H3Event, collection: T) => CollectionQueryBuilder<Collections[T]>
  • added: export { GenerateSearchSectionsOptions } from './internal/search'
  • added: export { Section } from './internal/search'
  • added: function queryCollectionItemSurroundings<T extends keyof PageCollections>(event: H3Event, collection: T, path: string, opts?: SurroundOptions<keyof PageCollections[T]>): ChainablePromise<T, ContentNavigationItem[]>
  • added: function queryCollectionNavigation<T extends keyof PageCollections>(event: H3Event, collection: T, fields?: Array<keyof PageCollections[T]>): ChainablePromise<T, ContentNavigationItem[]>
  • added: function queryCollectionSearchSections<T extends keyof PageCollections, const K extends keyof PageCollections[T]>(event: H3Event, collection: T, opts: Omit<GenerateSearchSectionsOptions, 'extraFields'> & { extraFields: K[] }): ChainablePromise<T, Array<Section & Pick<PageCollections[T], K>>>
  • added: function queryCollectionSearchSections<T extends keyof PageCollections>(event: H3Event, collection: T, opts?: GenerateSearchSectionsOptions): ChainablePromise<T, Section[]>
  • removed: const _default: import('h3').EventHandler<import('h3').EventHandlerRequest, Promise<{ generatedAt: number; generateTime: number; contents: any; navigation: NavItem[] }>>
  • removed: default _default
  • removed: const _default: import('h3').EventHandler<import('h3').EventHandlerRequest, Promise<string | number | true | object>>
  • removed: default _default
  • removed: const _default: import('h3').EventHandler<import('h3').EventHandlerRequest, Promise<any>>
  • removed: default _default
  • removed: const _default: import('h3').EventHandler<import('h3').EventHandlerRequest, Promise<string | { id: string; title: string; titles: string[]; level: number; content: string }[]>>
  • removed: default _default
  • removed: function getContentIndex(event: H3Event): Promise<Record<string, string[]>>
  • removed: function getIndexedContentsList<T = ParsedContent>(event: H3Event, query: ContentQueryBuilder<T>): Promise<T[]>
  • removed: export { parseContent } from './storage'
  • removed: export { serverQueryContent } from './storage'
  • removed: function createNav(contents: ParsedContentMeta[], configs: Record<string, ParsedContentMeta>): any[]
  • removed: const _default: any
  • removed: default _default
  • removed: const getPreview: (event: H3Event) => { key: string | undefined }
  • removed: const isPreview: (event: H3Event) => boolean
  • removed: function serverSearchContent(event: H3Event, filterQuery?: QueryBuilderWhere): Promise<ParsedContent[]>
  • removed: function splitPageIntoSections(page: ParsedContent, { ignoredTags }: { ignoredTags: string[] }): Section[]
  • removed: const cacheParsedStorage: () => Storage<StorageValue>
  • removed: const cacheStorage: () => Storage<StorageValue>
  • removed: const cleanCachedContents: () => void
  • removed: const createServerQueryFetch: <T = ParsedContent>(event: H3Event) => (query: ContentQueryBuilder<T>) => Promise<ContentQueryResponse<T_1>>
  • removed: const getContent: (event: H3Event, id: string) => Promise<ParsedContent>
  • removed: const getContentsIds: (event: H3Event, prefix?: string) => Promise<string[]>
  • removed: const getContentsList: (event: H3Event, prefix?: string) => any
  • removed: const parseContent: (id: string, content: StorageValue, opts?: ParseContentOptions) => Promise<any>
  • removed: const sourceStorage: () => Storage<StorageValue>
  • removed: function chunksFromArray<T>(arr: T[], n: number): Generator<T[], void>
  • removed: function serverQueryContent<T = ParsedContent>(event: H3Event, params?: ContentQueryBuilderParams): ContentQueryBuilder<T>
  • removed: function serverQueryContent<T = ParsedContent>(event: H3Event, query?: string, ...pathParts: string[]): ContentQueryBuilder<T>
  • removed: const _default: ContentTransformer
  • removed: default _default
  • removed: function createTokenizer(parser: any, initialize: any, from: any): { previous: null; code: null; containerState: {}; events: never[]; parser: any; sliceStream: (token: any) => any; sliceSerialize: (token: any, expandTabs: any) => string; now: () => any; defineSkip: (value: any) => void; write: (slice: any) => never[] }
  • removed: const fromCSV: (value: any, encoding?: any, options?: any) => Node
  • removed: const _default: ContentTransformer
  • removed: default _default
  • removed: const parse: (options: any) => { previous: null; code: null; containerState: {}; events: never[]; parser: any; sliceStream: (token: any) => any; sliceSerialize: (token: any…
  • removed: declare module 'micromark-util-types'
  • removed: export { defineTransformer } from './utils'
  • removed: function transformContent(id: string, content: StorageValue, options?: TransformContentOptions): Promise<any>
  • removed: const _default: ContentTransformer
  • removed: default _default
  • removed: const _default: ContentTransformer
  • removed: default _default
  • removed: const _default: ContentTransformer
  • removed: const describeId: (id: string) => { _source: string | undefined; _path: string; _extension: string | undefined; _file: string; _basename: string }
  • removed: const generatePath: (path: string, { forceLeadingSlash, respectPathCase }?: { forceLeadingSlash?: boolean | undefined; respectPathCase?: boolean | undefined }) => string
  • removed: const generateTitle: (path: string) => string
  • removed: default _default
  • removed: function refineUrlPart(name: string): string
  • removed: const createSingleton: <T, Params extends Array<any>>(fn: (...arg: Params) => T) => (...args: Params) => T
  • removed: const defineTransformer: (transformer: ContentTransformer) => ContentTransformer
  • removed: const _default: ContentTransformer
  • removed: default _default
  • removed: function makeIgnored(ignores: string[]): (key: string) => boolean
  • removed: const _default: string[]
  • removed: default _default
  • added: function findPageBreadcrumb(navigation?: ContentNavigationItem[], path?: string | undefined | null, options?: FindPageBreadcrumbOptions): ContentNavigationItem[]
  • added: function findPageChildren(navigation?: ContentNavigationItem[], path?: string | undefined | null, options?: FindPageOptions): ContentNavigationItem[]
  • added: function findPageHeadline(navigation?: ContentNavigationItem[], path?: string | undefined | null, options?: FindPageOptions): string | undefined
  • added: function findPageSiblings(navigation?: ContentNavigationItem[], path?: string | undefined | null, options?: FindPageOptions): ContentNavigationItem[]
  • removed: function jsonParse(value: string): any
  • removed: function jsonStringify(value: any): string
  • removed: const decodeQueryParams: (encoded: string) => any
  • removed: const encodeQueryParams: (params: ContentQueryBuilderParams) => string
  • removed: const getContentQuery: (event: H3Event) => ContentQueryBuilderParams
  • removed: const getParser: (extension: string) => ContentTransformer
  • removed: const getTransformers: (extension: string) => ContentTransformer[]
  • removed: declare module '@nuxt/schema'
  • removed: export { ContentContext } from './module'
  • removed: export { ContentQueryBuilder } from './module'
  • removed: export { ContentQueryBuilderParams } from './module'
  • removed: export { ContentQueryBuilderWhere } from './module'
  • removed: export { ContentQueryCountResponse } from './module'
  • removed: export { ContentQueryFetcher } from './module'
  • removed: export { ContentQueryFindOneResponse } from './module'
  • removed: export { ContentQueryFindResponse } from './module'
  • removed: export { ContentQueryResponse } from './module'
  • removed: export { ContentQuerySortFields } from './module'
  • removed: export { ContentQuerySortOptions } from './module'
  • removed: export { ContentQuerySortParams } from './module'
  • removed: export { ContentQueryWithDirConfig } from './module'
  • removed: export { ContentQueryWithSurround } from './module'
  • removed: export { DatabaseFetcher } from './module'
  • removed: export { MarkdownHtmlNode } from './module'
  • removed: export { MarkdownNode } from './module'
  • removed: export { MarkdownParsedContent } from './module'
  • removed: export { ModuleHooks } from './module'
  • removed: export { MountOptions } from './module'
  • removed: export { NavItem } from './module'
  • removed: export { ParsedContent } from './module'
  • removed: export { ParsedContentInternalMeta } from './module'
  • removed: export { ParsedContentMeta } from './module'
  • removed: export { QueryBuilder } from './module'
  • removed: export { QueryBuilderParams } from './module'
  • removed: export { QueryBuilderWhere } from './module'
  • removed: export { QueryMatchOperator } from './module'
  • removed: export { QueryPipe } from './module'
  • removed: export { SortFields } from './module'
  • removed: export { SortOptions } from './module'
  • removed: export { SortParams } from './module'
  • removed: export { Toc } from './module'
  • removed: export { TocLink } from './module'
  • added: export { CacheEntry } from './module'
  • added: export { Collection } from './module'
  • added: export { CollectionIndex } from './module'
  • added: export { CollectionInfo } from './module'
  • added: export { CollectionItemBase } from './module'
  • added: export { CollectionQueryBuilder } from './module'
  • added: export { CollectionQueryGroup } from './module'
  • added: export { CollectionSource } from './module'
  • added: export { CollectionType } from './module'
  • added: export { Collections } from './module'
  • added: export { ContentConfig } from './module'
  • added: export { ContentFile } from './module'
  • added: export { ContentFileExtension } from './module'
  • added: export { ContentFileType } from './module'
  • added: export { ContentNavigationItem } from './module'
  • added: export { ContentStandardSchemaV1 } from './module'
  • added: export { CustomCollectionSource } from './module'
  • added: export { D1DatabaseConfig } from './module'
  • added: export { DataCollection } from './module'
  • added: export { DataCollectionItemBase } from './module'
  • added: export { DatabaseAdapter } from './module'
  • added: export { DatabaseAdapterFactory } from './module'
  • added: export { DatabaseBindParams } from './module'
  • added: export { DatabaseBindable } from './module'
  • added: export { DefinedCollection } from './module'
  • added: export { Draft07 } from './module'
  • added: export { Draft07Definition } from './module'
  • added: export { Draft07DefinitionProperty } from './module'
  • added: export { Draft07DefinitionPropertyAllOf } from './module'
  • added: export { Draft07DefinitionPropertyAnyOf } from './module'
  • added: export { Draft07DefinitionPropertyOneOf } from './module'
  • added: export { DraftFile } from './module'
  • added: export { DraftSyncData } from './module'
  • added: export { DraftSyncFile } from './module'
  • added: export { EditorOptions } from './module'
  • added: export { FileAfterParseHook } from './module'
  • added: export { FileBeforeParseHook } from './module'
  • added: export { FileChangeMessagePayload } from './module'
  • added: export { FileMessageData } from './module'
  • added: export { FileMessageType } from './module'
  • added: export { FileSelectMessagePayload } from './module'
  • added: export { FileStatus } from './module'
  • added: export { GitBasicAuth } from './module'
  • added: export { GitRefType } from './module'
  • added: export { GitRepositoryType } from './module'
  • added: export { GitTokenAuth } from './module'
  • added: export { LibSQLDatabaseConfig } from './module'
  • added: export { LocalDevelopmentDatabase } from './module'
  • added: export { MinimalElement } from './module'
  • added: export { MinimalNode } from './module'
  • added: export { MinimalText } from './module'
  • added: export { MinimalTree } from './module'
  • added: export { MinimarkElement } from 'minimark'
  • added: export { MinimarkNode } from 'minimark'
  • added: export { MinimarkText } from 'minimark'
  • added: export { MinimarkTree } from 'minimark'
  • added: export { PGliteDatabaseConfig } from './module'
  • added: export { PageCollection } from './module'
  • added: export { PageCollectionItemBase } from './module'
  • added: export { PageCollections } from './module'
  • added: export { ParsedContentFile } from './module'
  • added: export { ParsedContentv2 } from './module'
  • added: export { PostgreSQLDatabaseConfig } from './module'
  • added: export { PreviewFile } from './module'
  • added: export { PreviewOptions } from './module'
  • added: export { PublicRuntimeConfig } from './module'
  • added: export { QueryGroupFunction } from './module'
  • added: export { ResolvedCollection } from './module'
  • added: export { ResolvedCollectionSource } from './module'
  • added: export { ResolvedCustomCollectionSource } from './module'
  • added: export { RuntimeConfig } from './module'
  • added: export { SQLOperator } from './module'
  • added: export { SQLiteConnector } from './module'
  • added: export { SqliteDatabaseConfig } from './module'
  • added: export { SurroundOptions } from './module'
  • added: export { Toc } from '@nuxtjs/mdc'
  • added: export { TocLink } from '@nuxtjs/mdc'
  • added: export { TransformedContent } from './module'
  • added: export { defineCollection } from './module'
  • added: export { defineCollectionSource } from './module'
  • added: export { defineContentConfig } from './module'
  • added: export { defineTransformer } from './module'
  • added: export { metaStandardSchema } from './module'
  • added: export { pageStandardSchema } from './module'
  • added: export { property } from './module'
  • added: export { z } from './module'