@tinacms/schema-tools 0.0.0-e5c0e91-20250421003142 → 0.0.0-e96d36b-20251210035710
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +6 -1
- package/dist/index.js +2458 -2427
- package/dist/schema/resolveForm.d.ts +1 -1
- package/dist/types/index.d.ts +129 -21
- package/dist/util/normalizePath.d.ts +8 -0
- package/dist/validate/schema.d.ts +77 -12
- package/dist/validate/tinaCloudSchemaConfig.d.ts +37 -0
- package/package.json +6 -14
- package/dist/index.mjs +0 -2731
|
@@ -13,7 +13,7 @@ export declare const resolveForm: ({ collection, basename, template, schema, }:
|
|
|
13
13
|
fields: {
|
|
14
14
|
[key: string]: unknown;
|
|
15
15
|
name: string;
|
|
16
|
-
component: NonNullable<import("
|
|
16
|
+
component: NonNullable<import("..").TinaField<true>["ui"]>["component"];
|
|
17
17
|
type: string;
|
|
18
18
|
}[];
|
|
19
19
|
};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
import type { FC } from 'react';
|
|
2
2
|
import type React from 'react';
|
|
3
|
+
export declare const CONTENT_FORMATS: readonly ["mdx", "md", "markdown", "json", "yaml", "yml", "toml"];
|
|
4
|
+
export type ContentFormat = (typeof CONTENT_FORMATS)[number];
|
|
5
|
+
export type ContentFrontmatterFormat = 'yaml' | 'toml' | 'json';
|
|
6
|
+
export type Parser = {
|
|
7
|
+
type: 'mdx';
|
|
8
|
+
} | {
|
|
9
|
+
type: 'markdown';
|
|
10
|
+
/**
|
|
11
|
+
* Tina will escape entities like `<` and `[` by default. You can choose to turn
|
|
12
|
+
* off all escaping, or specify HTML, so `<div>` will not be turned into `\<div>`
|
|
13
|
+
*/
|
|
14
|
+
skipEscaping?: 'all' | 'html' | 'none';
|
|
15
|
+
} | {
|
|
16
|
+
/**
|
|
17
|
+
* Experimental: Returns the native Slate.js document as JSON. Ideal to retain the pure editor content structure.
|
|
18
|
+
*/
|
|
19
|
+
type: 'slatejson';
|
|
20
|
+
};
|
|
3
21
|
type Meta = {
|
|
4
22
|
active?: boolean;
|
|
5
23
|
dirty?: boolean;
|
|
@@ -107,10 +125,35 @@ export type UIField<Type, List extends boolean> = {
|
|
|
107
125
|
* @deprecated use `defaultItem` at the collection level instead
|
|
108
126
|
*/
|
|
109
127
|
defaultValue?: List extends true ? Type[] : Type;
|
|
128
|
+
/**
|
|
129
|
+
* The color format for the color picker component.
|
|
130
|
+
* Can be 'hex' or 'rgb'.
|
|
131
|
+
*/
|
|
132
|
+
colorFormat?: 'hex' | 'rgb';
|
|
133
|
+
/**
|
|
134
|
+
* The widget style for the color picker component.
|
|
135
|
+
* Can be 'sketch' or 'block'.
|
|
136
|
+
*/
|
|
137
|
+
widget?: 'sketch' | 'block';
|
|
138
|
+
/**
|
|
139
|
+
* The width of the color picker component.
|
|
140
|
+
* Accepts CSS width values (e.g., '350px').
|
|
141
|
+
*/
|
|
142
|
+
width?: string;
|
|
143
|
+
/**
|
|
144
|
+
* Preset colors for the color picker component.
|
|
145
|
+
* An array of color strings (e.g., ['#D0021B', '#F5A623']).
|
|
146
|
+
*/
|
|
147
|
+
colors?: string[];
|
|
110
148
|
};
|
|
111
149
|
type FieldGeneric<Type, List extends boolean | undefined, ExtraFieldUIProps = {}> = List extends true ? {
|
|
112
150
|
list: true;
|
|
113
151
|
ui?: UIField<Type, true> & ExtraFieldUIProps;
|
|
152
|
+
/**
|
|
153
|
+
* Defines where new items will be added in the list.
|
|
154
|
+
* If not specified, defaults to `append`.
|
|
155
|
+
*/
|
|
156
|
+
addItemBehavior?: 'append' | 'prepend';
|
|
114
157
|
} : List extends false ? {
|
|
115
158
|
list?: false;
|
|
116
159
|
ui?: UIField<Type, false> & ExtraFieldUIProps;
|
|
@@ -150,14 +193,24 @@ type DateFormatProps = {
|
|
|
150
193
|
* dateFormat: 'YYYY MM DD'
|
|
151
194
|
* ```
|
|
152
195
|
*/
|
|
153
|
-
dateFormat?: string;
|
|
154
|
-
timeFormat?: string;
|
|
196
|
+
dateFormat?: string | boolean;
|
|
197
|
+
timeFormat?: string | boolean;
|
|
155
198
|
};
|
|
156
199
|
export type DateTimeField = (FieldGeneric<string, undefined, DateFormatProps> | FieldGeneric<string, true, DateFormatProps> | FieldGeneric<string, false, DateFormatProps>) & BaseField & {
|
|
157
200
|
type: 'datetime';
|
|
158
201
|
};
|
|
159
202
|
export type ImageField = (FieldGeneric<string, undefined> | FieldGeneric<string, true> | FieldGeneric<string, false>) & BaseField & {
|
|
160
203
|
type: 'image';
|
|
204
|
+
/**
|
|
205
|
+
* A function that returns the upload directory path based on the form values.
|
|
206
|
+
* This is used to organize uploaded images into specific folders.
|
|
207
|
+
*
|
|
208
|
+
* @example
|
|
209
|
+
* ```ts
|
|
210
|
+
* uploadDir: (formValues) => `uploads/${formValues.category}`
|
|
211
|
+
* ```
|
|
212
|
+
*/
|
|
213
|
+
uploadDir?: (formValues: Record<string, any>) => string;
|
|
161
214
|
};
|
|
162
215
|
type ReferenceFieldOptions = {
|
|
163
216
|
optionComponent?: OptionComponent;
|
|
@@ -212,16 +265,7 @@ export type RichTextField<WithNamespace extends boolean = false> = (FieldGeneric
|
|
|
212
265
|
*
|
|
213
266
|
* Specify `"markdown"` if you're having problems with Tina parsing your content.
|
|
214
267
|
*/
|
|
215
|
-
parser?:
|
|
216
|
-
type: 'markdown';
|
|
217
|
-
/**
|
|
218
|
-
* Tina will escape entities like `<` and `[` by default. You can choose to turn
|
|
219
|
-
* off all escaping, or specify HTML, so `<div>` will not be turned into `\<div>`
|
|
220
|
-
*/
|
|
221
|
-
skipEscaping?: 'all' | 'html' | 'none';
|
|
222
|
-
} | {
|
|
223
|
-
type: 'mdx';
|
|
224
|
-
};
|
|
268
|
+
parser?: Parser;
|
|
225
269
|
};
|
|
226
270
|
export type RichTextTemplate<WithNamespace extends boolean = false> = Template<WithNamespace> & {
|
|
227
271
|
inline?: boolean;
|
|
@@ -363,7 +407,6 @@ interface AuthHooks {
|
|
|
363
407
|
type AuthOptions = AuthHooks & AuthProvider;
|
|
364
408
|
export interface Config<CMSCallback = undefined, FormifyCallback = undefined, DocumentCreatorCallback = undefined, Store = undefined, SearchClient = undefined> {
|
|
365
409
|
contentApiUrlOverride?: string;
|
|
366
|
-
oauth2?: boolean;
|
|
367
410
|
authProvider?: AuthProvider;
|
|
368
411
|
admin?: {
|
|
369
412
|
/**
|
|
@@ -378,7 +421,7 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
|
|
|
378
421
|
/**
|
|
379
422
|
* The Schema is used to define the shape of the content.
|
|
380
423
|
*
|
|
381
|
-
* https://tina.io/docs/
|
|
424
|
+
* https://tina.io/docs/r/the-config-file/
|
|
382
425
|
*/
|
|
383
426
|
schema: Schema;
|
|
384
427
|
/**
|
|
@@ -415,11 +458,27 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
|
|
|
415
458
|
* ```
|
|
416
459
|
* [more info](https://vercel.com/docs/concepts/deployments/generated-urls#url-with-git-branch)
|
|
417
460
|
*/
|
|
418
|
-
previewUrl
|
|
461
|
+
previewUrl?: (context: {
|
|
419
462
|
branch: string;
|
|
420
463
|
}) => {
|
|
421
464
|
url: string;
|
|
422
465
|
};
|
|
466
|
+
/**
|
|
467
|
+
* Opt out of update checks - this will prevent the CMS for checking for new versions
|
|
468
|
+
* If true, the CMS will not check for updates.
|
|
469
|
+
* Defaults to false if not specified.
|
|
470
|
+
*/
|
|
471
|
+
optOutOfUpdateCheck?: boolean;
|
|
472
|
+
/**
|
|
473
|
+
* Regular expression pattern that folder names must match when creating new folders.
|
|
474
|
+
* Only applies to newly created folders, not existing ones.
|
|
475
|
+
*
|
|
476
|
+
* @example "^[a-z0-9-]+$" - allows lowercase letters, numbers, and hyphens only
|
|
477
|
+
* @example "^[A-Za-z0-9_-]+$" - allows letters, numbers, underscores, and hyphens
|
|
478
|
+
*/
|
|
479
|
+
regexValidation?: {
|
|
480
|
+
folderNameRegex?: string;
|
|
481
|
+
};
|
|
423
482
|
};
|
|
424
483
|
/**
|
|
425
484
|
* Configurations for the autogenerated GraphQL HTTP client
|
|
@@ -499,7 +558,7 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
|
|
|
499
558
|
} | {
|
|
500
559
|
/**
|
|
501
560
|
* Use Git-backed assets for media, these values will
|
|
502
|
-
* [Learn more](https://tina.io/docs/
|
|
561
|
+
* [Learn more](https://tina.io/docs/r/repo-based-media/)
|
|
503
562
|
*/
|
|
504
563
|
tina: {
|
|
505
564
|
/**
|
|
@@ -519,6 +578,54 @@ export interface Config<CMSCallback = undefined, FormifyCallback = undefined, Do
|
|
|
519
578
|
loadCustomStore?: never;
|
|
520
579
|
accept?: string | string[];
|
|
521
580
|
};
|
|
581
|
+
/**
|
|
582
|
+
* Configuration for repository-related UI features.
|
|
583
|
+
*
|
|
584
|
+
* This allows you to configure how the CMS displays repository information
|
|
585
|
+
* and generates links to view file history in your Git provider (e.g., GitHub, GitLab).
|
|
586
|
+
*
|
|
587
|
+
* @example
|
|
588
|
+
*
|
|
589
|
+
* repoProvider: {
|
|
590
|
+
* defaultBranchName: 'main',
|
|
591
|
+
* historyUrl: ({ relativePath, branch }) => ({
|
|
592
|
+
* url: `https://github.com/owner/repo/commits/${branch}/${relativePath}`
|
|
593
|
+
* })
|
|
594
|
+
* }
|
|
595
|
+
* */
|
|
596
|
+
repoProvider?: {
|
|
597
|
+
/**
|
|
598
|
+
* The default branch name to use when in local mode or when no branch is specified.
|
|
599
|
+
* When not in local mode, TinaCMS will use the branch selected in the editor.
|
|
600
|
+
*
|
|
601
|
+
* This is typically your main/master branch name (e.g., "main", "master").
|
|
602
|
+
*/
|
|
603
|
+
defaultBranchName?: string;
|
|
604
|
+
/**
|
|
605
|
+
* A function that generates a URL to view the commit history for a specific file.
|
|
606
|
+
*
|
|
607
|
+
* This URL is used to link to your Git provider's history view (e.g., GitHub's commits page).
|
|
608
|
+
* The function receives the file's relative path and current branch, and should return
|
|
609
|
+
* a URL object with the full URL to the history page.
|
|
610
|
+
*
|
|
611
|
+
* @param context - Context object containing file and branch information
|
|
612
|
+
* @param context.relativePath - The relative path of the file from the repository root
|
|
613
|
+
* @param context.branch - The current branch name
|
|
614
|
+
* @returns An object with a `url` property containing the full URL to the history page
|
|
615
|
+
*
|
|
616
|
+
* @example
|
|
617
|
+
*s
|
|
618
|
+
* historyUrl: ({ relativePath, branch }) => ({
|
|
619
|
+
* url: `https://github.com/tinacms/tinacms/commits/${branch}/examples/next-2024/${relativePath}`
|
|
620
|
+
* })
|
|
621
|
+
* */
|
|
622
|
+
historyUrl?: (context: {
|
|
623
|
+
relativePath: string;
|
|
624
|
+
branch: string;
|
|
625
|
+
}) => {
|
|
626
|
+
url: string;
|
|
627
|
+
};
|
|
628
|
+
};
|
|
522
629
|
search?: ({
|
|
523
630
|
/**
|
|
524
631
|
* An instance of a search client like Algolia
|
|
@@ -574,7 +681,7 @@ export interface Schema<WithNamespace extends boolean = false> {
|
|
|
574
681
|
/**
|
|
575
682
|
* Collections represent a type of content (EX, blog post, page, author, etc). We recommend using singular naming in a collection (Ex: use post and not posts).
|
|
576
683
|
*
|
|
577
|
-
* https://tina.io/docs/
|
|
684
|
+
* https://tina.io/docs/r/content-modelling-collections/
|
|
578
685
|
*/
|
|
579
686
|
collections: Collection<WithNamespace>[];
|
|
580
687
|
/**
|
|
@@ -588,7 +695,7 @@ interface BaseCollection {
|
|
|
588
695
|
name: string;
|
|
589
696
|
path: string;
|
|
590
697
|
indexes?: IndexType[];
|
|
591
|
-
format?:
|
|
698
|
+
format?: ContentFormat;
|
|
592
699
|
ui?: UICollection;
|
|
593
700
|
/**
|
|
594
701
|
* @deprecated - use `ui.defaultItem` on the each `template` instead
|
|
@@ -597,7 +704,7 @@ interface BaseCollection {
|
|
|
597
704
|
/**
|
|
598
705
|
* This format will be used to parse the markdown frontmatter
|
|
599
706
|
*/
|
|
600
|
-
frontmatterFormat?:
|
|
707
|
+
frontmatterFormat?: ContentFrontmatterFormat;
|
|
601
708
|
/**
|
|
602
709
|
* The delimiters used to parse the frontmatter.
|
|
603
710
|
*/
|
|
@@ -613,7 +720,7 @@ type TemplateCollection<WithNamespace extends boolean = false> = {
|
|
|
613
720
|
/**
|
|
614
721
|
* In most cases, just using fields is enough, however templates can be used when there are multiple variants of the same collection or object. For example in a "page" collection there might be a need for a marketing page template and a content page template, both under the collection "page".
|
|
615
722
|
*
|
|
616
|
-
* https://tina.io/docs/
|
|
723
|
+
* https://tina.io/docs/r/content-modelling-templates/
|
|
617
724
|
*/
|
|
618
725
|
templates: Template<WithNamespace>[];
|
|
619
726
|
fields?: undefined;
|
|
@@ -622,7 +729,7 @@ type FieldCollection<WithNamespace extends boolean = false> = {
|
|
|
622
729
|
/**
|
|
623
730
|
* Fields define the shape of the content and the user input.
|
|
624
731
|
*
|
|
625
|
-
* https://tina.io/docs/
|
|
732
|
+
* https://tina.io/docs/r/string-fields/
|
|
626
733
|
*/
|
|
627
734
|
fields: TinaField<WithNamespace>[];
|
|
628
735
|
templates?: undefined;
|
|
@@ -679,6 +786,7 @@ export interface UICollection<Form = any, CMS = any, TinaForm = any> {
|
|
|
679
786
|
allowedActions?: {
|
|
680
787
|
create?: boolean;
|
|
681
788
|
delete?: boolean;
|
|
789
|
+
createFolder?: boolean;
|
|
682
790
|
createNestedFolder?: boolean;
|
|
683
791
|
};
|
|
684
792
|
/**
|
|
@@ -1 +1,9 @@
|
|
|
1
1
|
export declare const normalizePath: (filepath: string) => string;
|
|
2
|
+
/**
|
|
3
|
+
* Returns the given path such that:
|
|
4
|
+
* - The path separator is converted from '\' to '/' if necessary.
|
|
5
|
+
* - Duplicate '/' are removed
|
|
6
|
+
* - Leading and trailing '/' are cleared
|
|
7
|
+
* @param filepath Filepath to convert to its canonical form
|
|
8
|
+
*/
|
|
9
|
+
export declare const canonicalPath: (filepath: string) => string;
|
|
@@ -3,21 +3,21 @@ export declare const CollectionBaseSchema: z.ZodObject<{
|
|
|
3
3
|
label: z.ZodOptional<z.ZodString>;
|
|
4
4
|
name: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
5
5
|
path: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
6
|
-
format: z.ZodOptional<z.ZodEnum<["
|
|
6
|
+
format: z.ZodOptional<z.ZodEnum<["mdx", "md", "markdown", "json", "yaml", "yml", "toml"]>>;
|
|
7
7
|
isAuthCollection: z.ZodOptional<z.ZodBoolean>;
|
|
8
8
|
isDetached: z.ZodOptional<z.ZodBoolean>;
|
|
9
9
|
}, "strip", z.ZodTypeAny, {
|
|
10
10
|
name?: string;
|
|
11
11
|
label?: string;
|
|
12
12
|
path?: string;
|
|
13
|
-
format?: "
|
|
13
|
+
format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
|
|
14
14
|
isDetached?: boolean;
|
|
15
15
|
isAuthCollection?: boolean;
|
|
16
16
|
}, {
|
|
17
17
|
name?: string;
|
|
18
18
|
label?: string;
|
|
19
19
|
path?: string;
|
|
20
|
-
format?: "
|
|
20
|
+
format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
|
|
21
21
|
isDetached?: boolean;
|
|
22
22
|
isAuthCollection?: boolean;
|
|
23
23
|
}>;
|
|
@@ -26,7 +26,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
26
26
|
label: z.ZodOptional<z.ZodString>;
|
|
27
27
|
name: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
28
28
|
path: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
29
|
-
format: z.ZodOptional<z.ZodEnum<["
|
|
29
|
+
format: z.ZodOptional<z.ZodEnum<["mdx", "md", "markdown", "json", "yaml", "yml", "toml"]>>;
|
|
30
30
|
isAuthCollection: z.ZodOptional<z.ZodBoolean>;
|
|
31
31
|
isDetached: z.ZodOptional<z.ZodBoolean>;
|
|
32
32
|
}, {
|
|
@@ -70,7 +70,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
70
70
|
fields?: import("..").TinaField[];
|
|
71
71
|
label?: string;
|
|
72
72
|
path?: string;
|
|
73
|
-
format?: "
|
|
73
|
+
format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
|
|
74
74
|
isDetached?: boolean;
|
|
75
75
|
isAuthCollection?: boolean;
|
|
76
76
|
}, {
|
|
@@ -83,7 +83,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
83
83
|
fields?: import("..").TinaField[];
|
|
84
84
|
label?: string;
|
|
85
85
|
path?: string;
|
|
86
|
-
format?: "
|
|
86
|
+
format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
|
|
87
87
|
isDetached?: boolean;
|
|
88
88
|
isAuthCollection?: boolean;
|
|
89
89
|
}>, {
|
|
@@ -96,7 +96,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
96
96
|
fields?: import("..").TinaField[];
|
|
97
97
|
label?: string;
|
|
98
98
|
path?: string;
|
|
99
|
-
format?: "
|
|
99
|
+
format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
|
|
100
100
|
isDetached?: boolean;
|
|
101
101
|
isAuthCollection?: boolean;
|
|
102
102
|
}, {
|
|
@@ -109,7 +109,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
109
109
|
fields?: import("..").TinaField[];
|
|
110
110
|
label?: string;
|
|
111
111
|
path?: string;
|
|
112
|
-
format?: "
|
|
112
|
+
format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
|
|
113
113
|
isDetached?: boolean;
|
|
114
114
|
isAuthCollection?: boolean;
|
|
115
115
|
}>, "many">;
|
|
@@ -187,6 +187,29 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
187
187
|
searchClient?: any;
|
|
188
188
|
indexBatchSize?: number;
|
|
189
189
|
}>>;
|
|
190
|
+
ui: z.ZodOptional<z.ZodObject<{
|
|
191
|
+
previewUrl: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
192
|
+
optOutOfUpdateCheck: z.ZodOptional<z.ZodBoolean>;
|
|
193
|
+
regexValidation: z.ZodOptional<z.ZodObject<{
|
|
194
|
+
folderNameRegex: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
195
|
+
}, "strip", z.ZodTypeAny, {
|
|
196
|
+
folderNameRegex?: string;
|
|
197
|
+
}, {
|
|
198
|
+
folderNameRegex?: string;
|
|
199
|
+
}>>;
|
|
200
|
+
}, "strip", z.ZodTypeAny, {
|
|
201
|
+
previewUrl?: (...args: unknown[]) => unknown;
|
|
202
|
+
optOutOfUpdateCheck?: boolean;
|
|
203
|
+
regexValidation?: {
|
|
204
|
+
folderNameRegex?: string;
|
|
205
|
+
};
|
|
206
|
+
}, {
|
|
207
|
+
previewUrl?: (...args: unknown[]) => unknown;
|
|
208
|
+
optOutOfUpdateCheck?: boolean;
|
|
209
|
+
regexValidation?: {
|
|
210
|
+
folderNameRegex?: string;
|
|
211
|
+
};
|
|
212
|
+
}>>;
|
|
190
213
|
}, "strip", z.ZodTypeAny, {
|
|
191
214
|
search?: {
|
|
192
215
|
maxSearchIndexFieldLength?: number;
|
|
@@ -198,6 +221,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
198
221
|
searchClient?: any;
|
|
199
222
|
indexBatchSize?: number;
|
|
200
223
|
};
|
|
224
|
+
ui?: {
|
|
225
|
+
previewUrl?: (...args: unknown[]) => unknown;
|
|
226
|
+
optOutOfUpdateCheck?: boolean;
|
|
227
|
+
regexValidation?: {
|
|
228
|
+
folderNameRegex?: string;
|
|
229
|
+
};
|
|
230
|
+
};
|
|
201
231
|
client?: {
|
|
202
232
|
referenceDepth?: number;
|
|
203
233
|
};
|
|
@@ -220,6 +250,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
220
250
|
searchClient?: any;
|
|
221
251
|
indexBatchSize?: number;
|
|
222
252
|
};
|
|
253
|
+
ui?: {
|
|
254
|
+
previewUrl?: (...args: unknown[]) => unknown;
|
|
255
|
+
optOutOfUpdateCheck?: boolean;
|
|
256
|
+
regexValidation?: {
|
|
257
|
+
folderNameRegex?: string;
|
|
258
|
+
};
|
|
259
|
+
};
|
|
223
260
|
client?: {
|
|
224
261
|
referenceDepth?: number;
|
|
225
262
|
};
|
|
@@ -243,7 +280,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
243
280
|
fields?: import("..").TinaField[];
|
|
244
281
|
label?: string;
|
|
245
282
|
path?: string;
|
|
246
|
-
format?: "
|
|
283
|
+
format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
|
|
247
284
|
isDetached?: boolean;
|
|
248
285
|
isAuthCollection?: boolean;
|
|
249
286
|
}[];
|
|
@@ -258,6 +295,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
258
295
|
searchClient?: any;
|
|
259
296
|
indexBatchSize?: number;
|
|
260
297
|
};
|
|
298
|
+
ui?: {
|
|
299
|
+
previewUrl?: (...args: unknown[]) => unknown;
|
|
300
|
+
optOutOfUpdateCheck?: boolean;
|
|
301
|
+
regexValidation?: {
|
|
302
|
+
folderNameRegex?: string;
|
|
303
|
+
};
|
|
304
|
+
};
|
|
261
305
|
client?: {
|
|
262
306
|
referenceDepth?: number;
|
|
263
307
|
};
|
|
@@ -281,7 +325,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
281
325
|
fields?: import("..").TinaField[];
|
|
282
326
|
label?: string;
|
|
283
327
|
path?: string;
|
|
284
|
-
format?: "
|
|
328
|
+
format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
|
|
285
329
|
isDetached?: boolean;
|
|
286
330
|
isAuthCollection?: boolean;
|
|
287
331
|
}[];
|
|
@@ -296,6 +340,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
296
340
|
searchClient?: any;
|
|
297
341
|
indexBatchSize?: number;
|
|
298
342
|
};
|
|
343
|
+
ui?: {
|
|
344
|
+
previewUrl?: (...args: unknown[]) => unknown;
|
|
345
|
+
optOutOfUpdateCheck?: boolean;
|
|
346
|
+
regexValidation?: {
|
|
347
|
+
folderNameRegex?: string;
|
|
348
|
+
};
|
|
349
|
+
};
|
|
299
350
|
client?: {
|
|
300
351
|
referenceDepth?: number;
|
|
301
352
|
};
|
|
@@ -319,7 +370,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
319
370
|
fields?: import("..").TinaField[];
|
|
320
371
|
label?: string;
|
|
321
372
|
path?: string;
|
|
322
|
-
format?: "
|
|
373
|
+
format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
|
|
323
374
|
isDetached?: boolean;
|
|
324
375
|
isAuthCollection?: boolean;
|
|
325
376
|
}[];
|
|
@@ -334,6 +385,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
334
385
|
searchClient?: any;
|
|
335
386
|
indexBatchSize?: number;
|
|
336
387
|
};
|
|
388
|
+
ui?: {
|
|
389
|
+
previewUrl?: (...args: unknown[]) => unknown;
|
|
390
|
+
optOutOfUpdateCheck?: boolean;
|
|
391
|
+
regexValidation?: {
|
|
392
|
+
folderNameRegex?: string;
|
|
393
|
+
};
|
|
394
|
+
};
|
|
337
395
|
client?: {
|
|
338
396
|
referenceDepth?: number;
|
|
339
397
|
};
|
|
@@ -357,7 +415,7 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
357
415
|
fields?: import("..").TinaField[];
|
|
358
416
|
label?: string;
|
|
359
417
|
path?: string;
|
|
360
|
-
format?: "
|
|
418
|
+
format?: "mdx" | "md" | "markdown" | "json" | "yaml" | "yml" | "toml";
|
|
361
419
|
isDetached?: boolean;
|
|
362
420
|
isAuthCollection?: boolean;
|
|
363
421
|
}[];
|
|
@@ -372,6 +430,13 @@ export declare const TinaCloudSchemaZod: z.ZodEffects<z.ZodObject<{
|
|
|
372
430
|
searchClient?: any;
|
|
373
431
|
indexBatchSize?: number;
|
|
374
432
|
};
|
|
433
|
+
ui?: {
|
|
434
|
+
previewUrl?: (...args: unknown[]) => unknown;
|
|
435
|
+
optOutOfUpdateCheck?: boolean;
|
|
436
|
+
regexValidation?: {
|
|
437
|
+
folderNameRegex?: string;
|
|
438
|
+
};
|
|
439
|
+
};
|
|
375
440
|
client?: {
|
|
376
441
|
referenceDepth?: number;
|
|
377
442
|
};
|
|
@@ -77,6 +77,29 @@ export declare const tinaConfigZod: z.ZodObject<{
|
|
|
77
77
|
searchClient?: any;
|
|
78
78
|
indexBatchSize?: number;
|
|
79
79
|
}>>;
|
|
80
|
+
ui: z.ZodOptional<z.ZodObject<{
|
|
81
|
+
previewUrl: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
82
|
+
optOutOfUpdateCheck: z.ZodOptional<z.ZodBoolean>;
|
|
83
|
+
regexValidation: z.ZodOptional<z.ZodObject<{
|
|
84
|
+
folderNameRegex: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
85
|
+
}, "strip", z.ZodTypeAny, {
|
|
86
|
+
folderNameRegex?: string;
|
|
87
|
+
}, {
|
|
88
|
+
folderNameRegex?: string;
|
|
89
|
+
}>>;
|
|
90
|
+
}, "strip", z.ZodTypeAny, {
|
|
91
|
+
previewUrl?: (...args: unknown[]) => unknown;
|
|
92
|
+
optOutOfUpdateCheck?: boolean;
|
|
93
|
+
regexValidation?: {
|
|
94
|
+
folderNameRegex?: string;
|
|
95
|
+
};
|
|
96
|
+
}, {
|
|
97
|
+
previewUrl?: (...args: unknown[]) => unknown;
|
|
98
|
+
optOutOfUpdateCheck?: boolean;
|
|
99
|
+
regexValidation?: {
|
|
100
|
+
folderNameRegex?: string;
|
|
101
|
+
};
|
|
102
|
+
}>>;
|
|
80
103
|
}, "strip", z.ZodTypeAny, {
|
|
81
104
|
search?: {
|
|
82
105
|
maxSearchIndexFieldLength?: number;
|
|
@@ -88,6 +111,13 @@ export declare const tinaConfigZod: z.ZodObject<{
|
|
|
88
111
|
searchClient?: any;
|
|
89
112
|
indexBatchSize?: number;
|
|
90
113
|
};
|
|
114
|
+
ui?: {
|
|
115
|
+
previewUrl?: (...args: unknown[]) => unknown;
|
|
116
|
+
optOutOfUpdateCheck?: boolean;
|
|
117
|
+
regexValidation?: {
|
|
118
|
+
folderNameRegex?: string;
|
|
119
|
+
};
|
|
120
|
+
};
|
|
91
121
|
client?: {
|
|
92
122
|
referenceDepth?: number;
|
|
93
123
|
};
|
|
@@ -110,6 +140,13 @@ export declare const tinaConfigZod: z.ZodObject<{
|
|
|
110
140
|
searchClient?: any;
|
|
111
141
|
indexBatchSize?: number;
|
|
112
142
|
};
|
|
143
|
+
ui?: {
|
|
144
|
+
previewUrl?: (...args: unknown[]) => unknown;
|
|
145
|
+
optOutOfUpdateCheck?: boolean;
|
|
146
|
+
regexValidation?: {
|
|
147
|
+
folderNameRegex?: string;
|
|
148
|
+
};
|
|
149
|
+
};
|
|
113
150
|
client?: {
|
|
114
151
|
referenceDepth?: number;
|
|
115
152
|
};
|
package/package.json
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tinacms/schema-tools",
|
|
3
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.0.0-e96d36b-20251210035710",
|
|
4
5
|
"main": "dist/index.js",
|
|
5
|
-
"
|
|
6
|
-
"exports": {
|
|
7
|
-
".": {
|
|
8
|
-
"types": "./dist/index.d.ts",
|
|
9
|
-
"import": "./dist/index.mjs",
|
|
10
|
-
"require": "./dist/index.js"
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
|
-
"typings": "dist/index.d.ts",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
14
7
|
"files": [
|
|
15
8
|
"dist"
|
|
16
9
|
],
|
|
@@ -26,17 +19,16 @@
|
|
|
26
19
|
"@types/jest": "^29.5.14",
|
|
27
20
|
"@types/micromatch": "^4.0.9",
|
|
28
21
|
"@types/react": "^18.3.18",
|
|
29
|
-
"@types/yup": "^0.29.14",
|
|
30
22
|
"jest": "^29.7.0",
|
|
31
23
|
"react": "^18.3.1",
|
|
32
24
|
"ts-jest": "^29.2.5",
|
|
33
25
|
"typescript": "^5.7.3",
|
|
34
|
-
"yup": "^
|
|
35
|
-
"@tinacms/scripts": "1.
|
|
26
|
+
"yup": "^1.6.1",
|
|
27
|
+
"@tinacms/scripts": "1.4.2"
|
|
36
28
|
},
|
|
37
29
|
"peerDependencies": {
|
|
38
30
|
"react": ">=16.14.0",
|
|
39
|
-
"yup": "^0.
|
|
31
|
+
"yup": "^1.0.0"
|
|
40
32
|
},
|
|
41
33
|
"publishConfig": {
|
|
42
34
|
"registry": "https://registry.npmjs.org"
|