@tinacms/graphql 0.0.0-d9672bc-20250218033222 → 0.0.0-d9ccf29-20251222052725

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.
@@ -1,8 +1,3 @@
1
- /**
2
-
3
-
4
-
5
- */
6
- import { parseMDX, stringifyMDX } from '@tinacms/mdx';
1
+ import { parseMDX, serializeMDX } from '@tinacms/mdx';
7
2
  export { parseMDX };
8
- export { stringifyMDX };
3
+ export { serializeMDX };
package/dist/resolve.d.ts CHANGED
@@ -1,6 +1,3 @@
1
- /**
2
-
3
- */
4
1
  import type { GraphQLConfig } from './types';
5
2
  import type { Database } from './database';
6
3
  export declare const resolve: ({ config, query, variables, database, silenceErrors, verbose, isAudit, ctxUser, }: {
@@ -0,0 +1,31 @@
1
+ import type { TinaSchema } from '@tinacms/schema-tools';
2
+ import type { GraphQLResolveInfo } from 'graphql';
3
+ import type { Resolver } from './index';
4
+ export declare function handleAuthenticate({ tinaSchema, resolver, sub, password, ctxUser, }: {
5
+ tinaSchema: TinaSchema;
6
+ resolver: Resolver;
7
+ sub?: string;
8
+ password: string;
9
+ info: GraphQLResolveInfo;
10
+ ctxUser?: {
11
+ sub?: string;
12
+ };
13
+ }): Promise<any>;
14
+ export declare function handleAuthorize({ tinaSchema, resolver, sub, ctxUser, }: {
15
+ tinaSchema: TinaSchema;
16
+ resolver: Resolver;
17
+ sub?: string;
18
+ info: GraphQLResolveInfo;
19
+ ctxUser?: {
20
+ sub?: string;
21
+ };
22
+ }): Promise<any>;
23
+ export declare function handleUpdatePassword({ tinaSchema, resolver, password, ctxUser, }: {
24
+ tinaSchema: TinaSchema;
25
+ resolver: Resolver;
26
+ password: string;
27
+ info: GraphQLResolveInfo;
28
+ ctxUser?: {
29
+ sub?: string;
30
+ };
31
+ }): Promise<boolean>;
@@ -15,6 +15,7 @@ export declare class TinaGraphQLError extends Error implements GraphQLError {
15
15
  constructor(message: string, extensions?: Record<string, any>);
16
16
  }
17
17
  export type TypeFetchErrorArgs = {
18
+ /** @deprecated */
18
19
  stack?: string;
19
20
  file?: string;
20
21
  includeAuditMessage?: boolean;
@@ -22,7 +23,6 @@ export type TypeFetchErrorArgs = {
22
23
  collection?: string;
23
24
  };
24
25
  export declare class TinaFetchError extends Error {
25
- stack?: string;
26
26
  collection?: string;
27
27
  file?: string;
28
28
  originalError: Error;
@@ -30,16 +30,9 @@ export declare class TinaFetchError extends Error {
30
30
  }
31
31
  export declare class TinaQueryError extends TinaFetchError {
32
32
  stack?: string;
33
- collection?: string;
34
- file?: string;
35
- originalError: Error;
36
33
  constructor(args: TypeFetchErrorArgs);
37
34
  }
38
35
  export declare class TinaParseDocumentError extends TinaFetchError {
39
- stack?: string;
40
- collection?: string;
41
- file?: string;
42
- originalError: Error;
43
36
  constructor(args: TypeFetchErrorArgs);
44
37
  toString(): string;
45
38
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  */
4
4
  import { Database } from '../database';
5
- import type { Collectable, Collection, TinaField, Template, TinaSchema } from '@tinacms/schema-tools';
5
+ import type { Collectable, Collection, Template, TinaField, TinaSchema } from '@tinacms/schema-tools';
6
6
  import type { GraphQLConfig } from '../types';
7
7
  interface ResolverConfig {
8
8
  config?: GraphQLConfig;
@@ -40,6 +40,17 @@ export declare const transformDocumentIntoPayload: (fullPath: string, rawData: {
40
40
  __typename: string;
41
41
  id: string;
42
42
  }>;
43
+ /**
44
+ * Updates a property in an object using a JSONPath.
45
+ * @param obj - The object to update.
46
+ * @param path - The JSONPath string.
47
+ * @param newValue - The new value to set at the specified path.
48
+ * @returns the updated object.
49
+ */
50
+ export declare const updateObjectWithJsonPath: (obj: any, path: string, oldValue: any, newValue: any) => {
51
+ object: any;
52
+ updated: boolean;
53
+ };
43
54
  /**
44
55
  * The resolver provides functions for all possible types of lookup
45
56
  * values and retrieves them from the database
@@ -51,7 +62,7 @@ export declare class Resolver {
51
62
  tinaSchema: TinaSchema;
52
63
  isAudit: boolean;
53
64
  constructor(init: ResolverConfig);
54
- resolveCollection: (args: any, collectionName: string, hasDocuments?: boolean) => Promise<{
65
+ resolveCollection: (_args: any, collectionName: string, hasDocuments?: boolean) => Promise<{
55
66
  fields: TinaField<true>[];
56
67
  templates?: undefined;
57
68
  label?: string;
@@ -63,10 +74,10 @@ export declare class Resolver {
63
74
  name: string;
64
75
  }[];
65
76
  }[];
66
- format?: "json" | "md" | "markdown" | "mdx" | "yaml" | "yml" | "toml";
77
+ format?: import("@tinacms/schema-tools").ContentFormat;
67
78
  ui?: import("@tinacms/schema-tools").UICollection;
68
79
  defaultItem?: import("@tinacms/schema-tools").DefaultItem<Record<string, any>>;
69
- frontmatterFormat?: "yaml" | "toml" | "json";
80
+ frontmatterFormat?: import("@tinacms/schema-tools").ContentFrontmatterFormat;
70
81
  frontmatterDelimiters?: [string, string] | string;
71
82
  match?: {
72
83
  include?: string;
@@ -91,10 +102,10 @@ export declare class Resolver {
91
102
  name: string;
92
103
  }[];
93
104
  }[];
94
- format?: "json" | "md" | "markdown" | "mdx" | "yaml" | "yml" | "toml";
105
+ format?: import("@tinacms/schema-tools").ContentFormat;
95
106
  ui?: import("@tinacms/schema-tools").UICollection;
96
107
  defaultItem?: import("@tinacms/schema-tools").DefaultItem<Record<string, any>>;
97
- frontmatterFormat?: "yaml" | "toml" | "json";
108
+ frontmatterFormat?: import("@tinacms/schema-tools").ContentFrontmatterFormat;
98
109
  frontmatterDelimiters?: [string, string] | string;
99
110
  match?: {
100
111
  include?: string;
@@ -179,6 +190,194 @@ export declare class Resolver {
179
190
  }[] | {
180
191
  _template: string;
181
192
  }[]>;
193
+ resolveAddPendingDocument: ({ collectionName, relativePath, templateName, }: {
194
+ collectionName: string;
195
+ relativePath: string;
196
+ templateName: string;
197
+ }) => Promise<{
198
+ _sys: {
199
+ title: any;
200
+ basename: string;
201
+ filename: string;
202
+ extension: string;
203
+ hasReferences: boolean;
204
+ path: string;
205
+ relativePath: string;
206
+ breadcrumbs: string[];
207
+ collection: Collection<true>;
208
+ template: string | number;
209
+ };
210
+ _values: {
211
+ _collection: any;
212
+ _template: any;
213
+ };
214
+ _rawData: {
215
+ _collection: any;
216
+ _template: any;
217
+ };
218
+ _collection: any;
219
+ _template: any;
220
+ __typename: string;
221
+ id: string;
222
+ }>;
223
+ /**
224
+ * Returns top-level fields which are not defined in the collection, so their
225
+ * values are not eliminated from Tina when new values are saved
226
+ */
227
+ resolveLegacyValues: (oldDoc: any, collection: Collection<true>) => {};
228
+ private getCollectionWithName;
229
+ resolveRetrievedDocument: ({ collectionName, relativePath, }: {
230
+ collectionName: string;
231
+ relativePath: string;
232
+ }) => Promise<{
233
+ _sys: {
234
+ title: any;
235
+ basename: string;
236
+ filename: string;
237
+ extension: string;
238
+ hasReferences: boolean;
239
+ path: string;
240
+ relativePath: string;
241
+ breadcrumbs: string[];
242
+ collection: Collection<true>;
243
+ template: string | number;
244
+ };
245
+ _values: {
246
+ _collection: any;
247
+ _template: any;
248
+ };
249
+ _rawData: {
250
+ _collection: any;
251
+ _template: any;
252
+ };
253
+ _collection: any;
254
+ _template: any;
255
+ __typename: string;
256
+ id: string;
257
+ }>;
258
+ resolveCreateFolder: ({ collectionName, relativePath, }: {
259
+ collectionName: string;
260
+ relativePath: string;
261
+ }) => Promise<{
262
+ _sys: {
263
+ title: any;
264
+ basename: string;
265
+ filename: string;
266
+ extension: string;
267
+ hasReferences: boolean;
268
+ path: string;
269
+ relativePath: string;
270
+ breadcrumbs: string[];
271
+ collection: Collection<true>;
272
+ template: string | number;
273
+ };
274
+ _values: {
275
+ _collection: any;
276
+ _template: any;
277
+ };
278
+ _rawData: {
279
+ _collection: any;
280
+ _template: any;
281
+ };
282
+ _collection: any;
283
+ _template: any;
284
+ __typename: string;
285
+ id: string;
286
+ }>;
287
+ resolveCreateDocument: ({ collectionName, relativePath, body, }: {
288
+ collectionName: string;
289
+ relativePath: string;
290
+ body: Record<string, unknown>;
291
+ }) => Promise<{
292
+ _sys: {
293
+ title: any;
294
+ basename: string;
295
+ filename: string;
296
+ extension: string;
297
+ hasReferences: boolean;
298
+ path: string;
299
+ relativePath: string;
300
+ breadcrumbs: string[];
301
+ collection: Collection<true>;
302
+ template: string | number;
303
+ };
304
+ _values: {
305
+ _collection: any;
306
+ _template: any;
307
+ };
308
+ _rawData: {
309
+ _collection: any;
310
+ _template: any;
311
+ };
312
+ _collection: any;
313
+ _template: any;
314
+ __typename: string;
315
+ id: string;
316
+ }>;
317
+ resolveUpdateDocument: ({ collectionName, relativePath, newRelativePath, newBody, }: {
318
+ collectionName: string;
319
+ relativePath: string;
320
+ newRelativePath?: string;
321
+ newBody?: Record<string, unknown>;
322
+ }) => Promise<{
323
+ _sys: {
324
+ title: any;
325
+ basename: string;
326
+ filename: string;
327
+ extension: string;
328
+ hasReferences: boolean;
329
+ path: string;
330
+ relativePath: string;
331
+ breadcrumbs: string[];
332
+ collection: Collection<true>;
333
+ template: string | number;
334
+ };
335
+ _values: {
336
+ _collection: any;
337
+ _template: any;
338
+ };
339
+ _rawData: {
340
+ _collection: any;
341
+ _template: any;
342
+ };
343
+ _collection: any;
344
+ _template: any;
345
+ __typename: string;
346
+ id: string;
347
+ }>;
348
+ resolveDeleteDocument: ({ collectionName, relativePath, }: {
349
+ collectionName: string;
350
+ relativePath: string;
351
+ }) => Promise<{
352
+ _sys: {
353
+ title: any;
354
+ basename: string;
355
+ filename: string;
356
+ extension: string;
357
+ hasReferences: boolean;
358
+ path: string;
359
+ relativePath: string;
360
+ breadcrumbs: string[];
361
+ collection: Collection<true>;
362
+ template: string | number;
363
+ };
364
+ _values: {
365
+ _collection: any;
366
+ _template: any;
367
+ };
368
+ _rawData: {
369
+ _collection: any;
370
+ _template: any;
371
+ };
372
+ _collection: any;
373
+ _template: any;
374
+ __typename: string;
375
+ id: string;
376
+ }>;
377
+ private resolveAndValidateCollection;
378
+ /**
379
+ * @deprecated - To be removed in next major version.
380
+ */
182
381
  createResolveDocument: ({ collection, realPath, args, isAddPendingDocument, }: {
183
382
  collection: Collection<true>;
184
383
  realPath: string;
@@ -210,6 +409,9 @@ export declare class Resolver {
210
409
  __typename: string;
211
410
  id: string;
212
411
  }>;
412
+ /**
413
+ * @deprecated - To be removed in next major version.
414
+ */
213
415
  updateResolveDocument: ({ collection, realPath, args, isAddPendingDocument, isCollectionSpecific, }: {
214
416
  collection: Collection<true>;
215
417
  realPath: string;
@@ -243,10 +445,8 @@ export declare class Resolver {
243
445
  id: string;
244
446
  }>;
245
447
  /**
246
- * Returns top-level fields which are not defined in the collection, so their
247
- * values are not eliminated from Tina when new values are saved
448
+ * @deprecated
248
449
  */
249
- resolveLegacyValues: (oldDoc: any, collection: Collection<true>) => {};
250
450
  resolveDocument: ({ args, collection: collectionName, isMutation, isCreation, isDeletion, isFolderCreation, isAddPendingDocument, isCollectionSpecific, isUpdateName, }: {
251
451
  args: unknown;
252
452
  collection?: string;
@@ -1,10 +1,10 @@
1
1
  /**
2
2
 
3
3
  */
4
- import type { GraphQLConfig } from '../types';
5
4
  import type { Schema } from '@tinacms/schema-tools';
5
+ import type { GraphQLConfig } from '../types';
6
6
  /**
7
- * Strips away the Tina Cloud Asset URL from an `image` value
7
+ * Strips away the TinaCloud Asset URL from an `image` value
8
8
  *
9
9
  * @param {string | string[]} value
10
10
  * @param {GraphQLConfig} config
@@ -12,7 +12,7 @@ import type { Schema } from '@tinacms/schema-tools';
12
12
  */
13
13
  export declare const resolveMediaCloudToRelative: (value: string | string[], config: GraphQLConfig, schema: Schema<true>) => string | string[];
14
14
  /**
15
- * Adds Tina Cloud Asset URL to an `image` value
15
+ * Adds TinaCloud Asset URL to an `image` value
16
16
  *
17
17
  * @param {string | string[]} value
18
18
  * @param {GraphQLConfig} config
@@ -1,6 +1,3 @@
1
- /**
2
-
3
- */
4
1
  import { TinaSchema, Schema } from '@tinacms/schema-tools';
5
2
  export declare const createSchema: ({ schema, flags, }: {
6
3
  schema: Schema;
@@ -1,6 +1,3 @@
1
- /**
2
-
3
- */
4
1
  import { type Schema, type Collection } from '@tinacms/schema-tools';
5
2
  export declare const validateSchema: (schema: Schema) => Promise<{
6
3
  collections: Collection<true>[];
package/package.json CHANGED
@@ -1,16 +1,18 @@
1
1
  {
2
2
  "name": "@tinacms/graphql",
3
- "version": "0.0.0-d9672bc-20250218033222",
3
+ "type": "module",
4
+ "version": "0.0.0-d9ccf29-20251222052725",
4
5
  "main": "dist/index.js",
5
- "module": "dist/index.mjs",
6
- "typings": "dist/index.d.ts",
6
+ "module": "./dist/index.js",
7
7
  "files": [
8
8
  "package.json",
9
9
  "dist"
10
10
  ],
11
11
  "exports": {
12
- "import": "./dist/index.mjs",
13
- "require": "./dist/index.js"
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js"
15
+ }
14
16
  },
15
17
  "license": "SEE LICENSE IN LICENSE",
16
18
  "buildConfig": {
@@ -26,26 +28,23 @@
26
28
  "@iarna/toml": "^2.2.5",
27
29
  "abstract-level": "^1.0.4",
28
30
  "date-fns": "^2.30.0",
29
- "fast-glob": "^3.3.2",
30
- "fs-extra": "^11.2.0",
31
+ "es-toolkit": "^1.42.0",
32
+ "fast-glob": "^3.3.3",
33
+ "fs-extra": "^11.3.0",
31
34
  "glob-parent": "^6.0.2",
32
35
  "graphql": "15.8.0",
33
36
  "gray-matter": "^4.0.3",
34
- "isomorphic-git": "^1.27.1",
37
+ "isomorphic-git": "^1.29.0",
35
38
  "js-sha1": "^0.6.0",
36
39
  "js-yaml": "^3.14.1",
37
40
  "jsonpath-plus": "10.1.0",
38
- "lodash.clonedeep": "^4.5.0",
39
- "lodash.set": "^4.3.2",
40
- "lodash.uniqby": "^4.7.0",
41
41
  "many-level": "^2.0.0",
42
42
  "micromatch": "4.0.8",
43
43
  "normalize-path": "^3.0.0",
44
- "readable-stream": "^4.5.2",
45
- "scmp": "^2.1.0",
46
- "yup": "^0.32.11",
47
- "@tinacms/mdx": "0.0.0-d9672bc-20250218033222",
48
- "@tinacms/schema-tools": "0.0.0-d9672bc-20250218033222"
44
+ "readable-stream": "^4.7.0",
45
+ "yup": "^1.6.1",
46
+ "@tinacms/schema-tools": "2.1.0",
47
+ "@tinacms/mdx": "2.0.1"
49
48
  },
50
49
  "publishConfig": {
51
50
  "registry": "https://registry.npmjs.org"
@@ -60,30 +59,25 @@
60
59
  "@types/express": "^4.17.21",
61
60
  "@types/fs-extra": "^9.0.13",
62
61
  "@types/js-yaml": "^3.12.10",
63
- "@types/lodash.camelcase": "^4.3.9",
64
- "@types/lodash.upperfirst": "^4.3.9",
65
62
  "@types/lru-cache": "^5.1.1",
66
63
  "@types/mdast": "^3.0.15",
67
64
  "@types/micromatch": "^4.0.9",
68
- "@types/node": "^22.9.0",
65
+ "@types/node": "^22.13.1",
69
66
  "@types/normalize-path": "^3.0.2",
70
67
  "@types/ws": "^7.4.7",
71
- "@types/yup": "^0.29.14",
72
68
  "jest-file-snapshot": "^0.5.0",
73
69
  "memory-level": "^1.0.0",
74
- "nodemon": "3.1.4",
75
- "typescript": "^5.6.3",
76
- "vite": "^4.3.9",
77
- "vitest": "^0.32.2",
78
- "zod": "^3.23.8",
79
- "@tinacms/schema-tools": "0.0.0-d9672bc-20250218033222",
80
- "@tinacms/scripts": "1.3.1"
70
+ "typescript": "^5.7.3",
71
+ "vite": "^4.5.9",
72
+ "vitest": "^0.32.4",
73
+ "zod": "^3.24.2",
74
+ "@tinacms/schema-tools": "2.1.0",
75
+ "@tinacms/scripts": "1.4.2"
81
76
  },
82
77
  "scripts": {
83
78
  "types": "pnpm tsc",
84
79
  "build": "tinacms-scripts build",
85
80
  "docs": "pnpm typedoc",
86
- "serve": "pnpm nodemon dist/server.js",
87
81
  "test": "vitest run",
88
82
  "test-watch": "vitest"
89
83
  }