@sanity/codegen 6.1.1 → 7.0.0

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.
@@ -11,7 +11,7 @@ import * as t from '@babel/types'
11
11
  import {TransformOptions} from '@babel/core'
12
12
  import {WorkerChannel} from '@sanity/worker-channels'
13
13
  import {WorkerChannelReporter} from '@sanity/worker-channels'
14
- import * as z from 'zod'
14
+ import * as z from 'zod/mini'
15
15
 
16
16
  /**
17
17
  * @deprecated use TypeGenConfig
@@ -22,23 +22,25 @@ export declare type CodegenConfig = TypeGenConfig
22
22
  /**
23
23
  * @public
24
24
  */
25
- export declare const configDefinition: z.ZodObject<
25
+ export declare const configDefinition: z.ZodMiniObject<
26
26
  {
27
- formatGeneratedCode: z.ZodDefault<
28
- z.ZodUnion<
27
+ formatGeneratedCode: z.ZodMiniDefault<
28
+ z.ZodMiniUnion<
29
29
  readonly [
30
- z.ZodBoolean,
31
- z.ZodEnum<{
30
+ z.ZodMiniBoolean<boolean>,
31
+ z.ZodMiniEnum<{
32
32
  oxfmt: 'oxfmt'
33
33
  prettier: 'prettier'
34
34
  }>,
35
35
  ]
36
36
  >
37
37
  >
38
- generates: z.ZodDefault<z.ZodString>
39
- overloadClientMethods: z.ZodDefault<z.ZodBoolean>
40
- path: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>>
41
- schema: z.ZodDefault<z.ZodString>
38
+ generates: z.ZodMiniDefault<z.ZodMiniString<string>>
39
+ overloadClientMethods: z.ZodMiniDefault<z.ZodMiniBoolean<boolean>>
40
+ path: z.ZodMiniDefault<
41
+ z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>
42
+ >
43
+ schema: z.ZodMiniDefault<z.ZodMiniString<string>>
42
44
  },
43
45
  z.core.$strip
44
46
  >
@@ -1,24 +1,27 @@
1
1
  import { readFile } from 'node:fs/promises';
2
2
  import json5 from 'json5';
3
- import * as z from 'zod';
3
+ import * as z from 'zod/mini';
4
4
  /**
5
5
  * @public
6
6
  */ export const configDefinition = z.object({
7
- formatGeneratedCode: z.union([
7
+ formatGeneratedCode: z._default(z.union([
8
8
  z.boolean(),
9
9
  z.enum([
10
10
  'oxfmt',
11
11
  'prettier'
12
12
  ])
13
- ]).default(true),
14
- generates: z.string().default('./sanity.types.ts'),
15
- overloadClientMethods: z.boolean().default(true),
16
- path: z.string().or(z.array(z.string())).default([
13
+ ]), true),
14
+ generates: z._default(z.string(), './sanity.types.ts'),
15
+ overloadClientMethods: z._default(z.boolean(), true),
16
+ path: z._default(z.union([
17
+ z.string(),
18
+ z.array(z.string())
19
+ ]), [
17
20
  './src/**/*.{ts,tsx,js,jsx,mjs,cjs,astro,vue,svelte}',
18
21
  './app/**/*.{ts,tsx,js,jsx,mjs,cjs,astro,vue,svelte}',
19
22
  './sanity/**/*.{ts,tsx,js,jsx,mjs,cjs}'
20
23
  ]),
21
- schema: z.string().default('./schema.json')
24
+ schema: z._default(z.string(), './schema.json')
22
25
  });
23
26
  /**
24
27
  * Read, parse and process a config file
@@ -29,7 +32,7 @@ import * as z from 'zod';
29
32
  const json = json5.parse(content);
30
33
  return configDefinition.parseAsync(json);
31
34
  } catch (error) {
32
- if (error instanceof z.ZodError) {
35
+ if (typeof error === 'object' && error !== null && 'issues' in error && Array.isArray(error.issues)) {
33
36
  throw new Error(`Error in config file\n ${error.issues.map((err)=>err.message).join('\n')}`, {
34
37
  cause: error
35
38
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/readConfig.ts"],"sourcesContent":["import {readFile} from 'node:fs/promises'\n\nimport json5 from 'json5'\nimport * as z from 'zod'\n\n/**\n * The formatter to use for generated code.\n * - `false` - Do not format generated code.\n * - `true` | `'prettier'` - Format with prettier.\n * - `'oxfmt'` - Format with oxfmt. Throws if oxfmt is not installed.\n * @public\n */\nexport type FormatGeneratedCode = 'oxfmt' | 'prettier' | boolean\n\n/**\n * @public\n */\nexport const configDefinition = z.object({\n formatGeneratedCode: z.union([z.boolean(), z.enum(['oxfmt', 'prettier'])]).default(true),\n generates: z.string().default('./sanity.types.ts'),\n overloadClientMethods: z.boolean().default(true),\n path: z\n .string()\n .or(z.array(z.string()))\n .default([\n './src/**/*.{ts,tsx,js,jsx,mjs,cjs,astro,vue,svelte}',\n './app/**/*.{ts,tsx,js,jsx,mjs,cjs,astro,vue,svelte}',\n './sanity/**/*.{ts,tsx,js,jsx,mjs,cjs}',\n ]),\n schema: z.string().default('./schema.json'),\n})\n\n/** @public */\nexport type TypeGenConfig = z.infer<typeof configDefinition>\n\n/**\n * @deprecated use TypeGenConfig\n * @public\n */\nexport type CodegenConfig = TypeGenConfig\n\n/**\n * Read, parse and process a config file\n * @internal\n */\nexport async function readConfig(path: string): Promise<TypeGenConfig> {\n try {\n const content = await readFile(path, 'utf8')\n const json = json5.parse(content)\n return configDefinition.parseAsync(json)\n } catch (error) {\n if (error instanceof z.ZodError) {\n throw new Error(\n `Error in config file\\n ${error.issues.map((err) => err.message).join('\\n')}`,\n {cause: error},\n )\n }\n if (typeof error === 'object' && error !== null && 'code' in error && error.code === 'ENOENT') {\n return configDefinition.parse({})\n }\n\n throw error\n }\n}\n"],"names":["readFile","json5","z","configDefinition","object","formatGeneratedCode","union","boolean","enum","default","generates","string","overloadClientMethods","path","or","array","schema","readConfig","content","json","parse","parseAsync","error","ZodError","Error","issues","map","err","message","join","cause","code"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,mBAAkB;AAEzC,OAAOC,WAAW,QAAO;AACzB,YAAYC,OAAO,MAAK;AAWxB;;CAEC,GACD,OAAO,MAAMC,mBAAmBD,EAAEE,MAAM,CAAC;IACvCC,qBAAqBH,EAAEI,KAAK,CAAC;QAACJ,EAAEK,OAAO;QAAIL,EAAEM,IAAI,CAAC;YAAC;YAAS;SAAW;KAAE,EAAEC,OAAO,CAAC;IACnFC,WAAWR,EAAES,MAAM,GAAGF,OAAO,CAAC;IAC9BG,uBAAuBV,EAAEK,OAAO,GAAGE,OAAO,CAAC;IAC3CI,MAAMX,EACHS,MAAM,GACNG,EAAE,CAACZ,EAAEa,KAAK,CAACb,EAAES,MAAM,KACnBF,OAAO,CAAC;QACP;QACA;QACA;KACD;IACHO,QAAQd,EAAES,MAAM,GAAGF,OAAO,CAAC;AAC7B,GAAE;AAWF;;;CAGC,GACD,OAAO,eAAeQ,WAAWJ,IAAY;IAC3C,IAAI;QACF,MAAMK,UAAU,MAAMlB,SAASa,MAAM;QACrC,MAAMM,OAAOlB,MAAMmB,KAAK,CAACF;QACzB,OAAOf,iBAAiBkB,UAAU,CAACF;IACrC,EAAE,OAAOG,OAAO;QACd,IAAIA,iBAAiBpB,EAAEqB,QAAQ,EAAE;YAC/B,MAAM,IAAIC,MACR,CAAC,uBAAuB,EAAEF,MAAMG,MAAM,CAACC,GAAG,CAAC,CAACC,MAAQA,IAAIC,OAAO,EAAEC,IAAI,CAAC,OAAO,EAC7E;gBAACC,OAAOR;YAAK;QAEjB;QACA,IAAI,OAAOA,UAAU,YAAYA,UAAU,QAAQ,UAAUA,SAASA,MAAMS,IAAI,KAAK,UAAU;YAC7F,OAAO5B,iBAAiBiB,KAAK,CAAC,CAAC;QACjC;QAEA,MAAME;IACR;AACF"}
1
+ {"version":3,"sources":["../src/readConfig.ts"],"sourcesContent":["import {readFile} from 'node:fs/promises'\n\nimport json5 from 'json5'\nimport * as z from 'zod/mini'\n\n/**\n * The formatter to use for generated code.\n * - `false` - Do not format generated code.\n * - `true` | `'prettier'` - Format with prettier.\n * - `'oxfmt'` - Format with oxfmt. Throws if oxfmt is not installed.\n * @public\n */\nexport type FormatGeneratedCode = 'oxfmt' | 'prettier' | boolean\n\n/**\n * @public\n */\nexport const configDefinition = z.object({\n formatGeneratedCode: z._default(z.union([z.boolean(), z.enum(['oxfmt', 'prettier'])]), true),\n generates: z._default(z.string(), './sanity.types.ts'),\n overloadClientMethods: z._default(z.boolean(), true),\n path: z._default(z.union([z.string(), z.array(z.string())]), [\n './src/**/*.{ts,tsx,js,jsx,mjs,cjs,astro,vue,svelte}',\n './app/**/*.{ts,tsx,js,jsx,mjs,cjs,astro,vue,svelte}',\n './sanity/**/*.{ts,tsx,js,jsx,mjs,cjs}',\n ]),\n schema: z._default(z.string(), './schema.json'),\n})\n\n/** @public */\nexport type TypeGenConfig = z.infer<typeof configDefinition>\n\n/**\n * @deprecated use TypeGenConfig\n * @public\n */\nexport type CodegenConfig = TypeGenConfig\n\n/**\n * Read, parse and process a config file\n * @internal\n */\nexport async function readConfig(path: string): Promise<TypeGenConfig> {\n try {\n const content = await readFile(path, 'utf8')\n const json = json5.parse(content)\n return configDefinition.parseAsync(json)\n } catch (error) {\n if (\n typeof error === 'object' &&\n error !== null &&\n 'issues' in error &&\n Array.isArray(error.issues)\n ) {\n throw new Error(\n `Error in config file\\n ${error.issues.map((err: {message: string}) => err.message).join('\\n')}`,\n {cause: error},\n )\n }\n if (typeof error === 'object' && error !== null && 'code' in error && error.code === 'ENOENT') {\n return configDefinition.parse({})\n }\n\n throw error\n }\n}\n"],"names":["readFile","json5","z","configDefinition","object","formatGeneratedCode","_default","union","boolean","enum","generates","string","overloadClientMethods","path","array","schema","readConfig","content","json","parse","parseAsync","error","Array","isArray","issues","Error","map","err","message","join","cause","code"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,mBAAkB;AAEzC,OAAOC,WAAW,QAAO;AACzB,YAAYC,OAAO,WAAU;AAW7B;;CAEC,GACD,OAAO,MAAMC,mBAAmBD,EAAEE,MAAM,CAAC;IACvCC,qBAAqBH,EAAEI,QAAQ,CAACJ,EAAEK,KAAK,CAAC;QAACL,EAAEM,OAAO;QAAIN,EAAEO,IAAI,CAAC;YAAC;YAAS;SAAW;KAAE,GAAG;IACvFC,WAAWR,EAAEI,QAAQ,CAACJ,EAAES,MAAM,IAAI;IAClCC,uBAAuBV,EAAEI,QAAQ,CAACJ,EAAEM,OAAO,IAAI;IAC/CK,MAAMX,EAAEI,QAAQ,CAACJ,EAAEK,KAAK,CAAC;QAACL,EAAES,MAAM;QAAIT,EAAEY,KAAK,CAACZ,EAAES,MAAM;KAAI,GAAG;QAC3D;QACA;QACA;KACD;IACDI,QAAQb,EAAEI,QAAQ,CAACJ,EAAES,MAAM,IAAI;AACjC,GAAE;AAWF;;;CAGC,GACD,OAAO,eAAeK,WAAWH,IAAY;IAC3C,IAAI;QACF,MAAMI,UAAU,MAAMjB,SAASa,MAAM;QACrC,MAAMK,OAAOjB,MAAMkB,KAAK,CAACF;QACzB,OAAOd,iBAAiBiB,UAAU,CAACF;IACrC,EAAE,OAAOG,OAAO;QACd,IACE,OAAOA,UAAU,YACjBA,UAAU,QACV,YAAYA,SACZC,MAAMC,OAAO,CAACF,MAAMG,MAAM,GAC1B;YACA,MAAM,IAAIC,MACR,CAAC,uBAAuB,EAAEJ,MAAMG,MAAM,CAACE,GAAG,CAAC,CAACC,MAA2BA,IAAIC,OAAO,EAAEC,IAAI,CAAC,OAAO,EAChG;gBAACC,OAAOT;YAAK;QAEjB;QACA,IAAI,OAAOA,UAAU,YAAYA,UAAU,QAAQ,UAAUA,SAASA,MAAMU,IAAI,KAAK,UAAU;YAC7F,OAAO5B,iBAAiBgB,KAAK,CAAC,CAAC;QACjC;QAEA,MAAME;IACR;AACF"}
@@ -41,5 +41,5 @@
41
41
  ]
42
42
  }
43
43
  },
44
- "version": "6.1.1"
44
+ "version": "7.0.0"
45
45
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/codegen",
3
- "version": "6.1.1",
3
+ "version": "7.0.0",
4
4
  "description": "Codegen toolkit for Sanity.io",
5
5
  "keywords": [
6
6
  "sanity",
@@ -38,14 +38,15 @@
38
38
  "babel.config.json"
39
39
  ],
40
40
  "dependencies": {
41
- "@babel/core": "^7.29.0",
42
- "@babel/generator": "^7.29.1",
43
- "@babel/preset-env": "^7.29.2",
44
- "@babel/preset-react": "^7.28.5",
45
- "@babel/preset-typescript": "^7.28.5",
46
- "@babel/register": "^7.28.6",
47
- "@babel/traverse": "^7.29.0",
48
- "@babel/types": "^7.29.0",
41
+ "@babel/core": "^7.29.7",
42
+ "@babel/generator": "^7.29.7",
43
+ "@babel/preset-env": "^7.29.7",
44
+ "@babel/preset-react": "^7.29.7",
45
+ "@babel/preset-typescript": "^7.29.7",
46
+ "@babel/register": "^7.29.7",
47
+ "@babel/traverse": "^7.29.7",
48
+ "@babel/types": "^7.29.7",
49
+ "@sanity/telemetry": "^1.1.0",
49
50
  "@sanity/worker-channels": "^2.0.0",
50
51
  "chokidar": "^3.6.0",
51
52
  "debug": "^4.4.3",
@@ -54,18 +55,17 @@
54
55
  "groq-js": "^1.30.1",
55
56
  "json5": "^2.2.3",
56
57
  "lodash-es": "^4.18.1",
57
- "prettier": "^3.8.1",
58
+ "prettier": "^3.8.3",
58
59
  "reselect": "^5.1.1",
59
60
  "tsconfig-paths": "^4.2.0",
60
61
  "zod": "^4.3.6"
61
62
  },
62
63
  "devDependencies": {
63
64
  "@eslint/compat": "^2.0.3",
64
- "@sanity/cli-core": "^1.3.1",
65
- "@sanity/cli-test": "^0.3.1",
66
- "@sanity/eslint-config-cli": "^1.1.0",
65
+ "@sanity/cli-core": "^2.0.0",
66
+ "@sanity/cli-test": "^1.0.0",
67
+ "@sanity/eslint-config-cli": "^1.1.1",
67
68
  "@sanity/pkg-utils": "^10.4.18",
68
- "@sanity/telemetry": "^0.9.0",
69
69
  "@swc/cli": "^0.7.9",
70
70
  "@swc/core": "^1.15.8",
71
71
  "@types/babel__core": "^7.20.5",
@@ -74,7 +74,7 @@
74
74
  "@types/babel__traverse": "^7.28.0",
75
75
  "@types/debug": "^4.1.13",
76
76
  "@types/lodash-es": "^4.17.12",
77
- "@types/node": "^20.19.39",
77
+ "@types/node": "^24.13.0",
78
78
  "@vitest/coverage-istanbul": "^4.1.5",
79
79
  "eslint": "^9.39.4",
80
80
  "husky": "^9.1.7",
@@ -85,12 +85,12 @@
85
85
  "rimraf": "^5.0.10",
86
86
  "tinyglobby": "^0.2.16",
87
87
  "typescript": "^5.9.3",
88
+ "vite": "^7.3.2",
88
89
  "vitest": "^4.1.5"
89
90
  },
90
91
  "peerDependencies": {
91
92
  "@oclif/core": "^4.8.0",
92
- "@sanity/cli-core": "^1",
93
- "@sanity/telemetry": "^0.9.0",
93
+ "@sanity/cli-core": "^2",
94
94
  "oxfmt": "*"
95
95
  },
96
96
  "peerDependenciesMeta": {