@cedarjs/internal 6.0.0-rc.312 → 6.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.
- package/dist/build/api.d.ts +1 -1
- package/dist/build/api.d.ts.map +1 -1
- package/dist/build/api.js +5 -9
- package/dist/build/esbuild-plugin-api-graphql.js +2 -4
- package/dist/build/import-extensions.d.ts +47 -0
- package/dist/build/import-extensions.d.ts.map +1 -0
- package/dist/build/import-extensions.js +59 -0
- package/dist/generate/graphqlCodeGen.d.ts.map +1 -1
- package/dist/generate/graphqlCodeGen.js +36 -10
- package/package.json +12 -12
package/dist/build/api.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BuildOptions } from 'esbuild';
|
|
2
2
|
export { applySrcAlias } from './src-alias.js';
|
|
3
|
-
export {
|
|
3
|
+
export { applyImportExtensions } from './import-extensions.js';
|
|
4
4
|
export declare const buildApi: () => Promise<import("esbuild").BuildResult<BuildOptions>>;
|
|
5
5
|
export declare const rebuildApi: () => Promise<import("esbuild").BuildResult<BuildOptions>>;
|
|
6
6
|
export declare const cleanApiBuild: () => Promise<void>;
|
package/dist/build/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/build/api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,YAAY,EAAe,MAAM,SAAS,CAAA;AA6CtE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/build/api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,YAAY,EAAe,MAAM,SAAS,CAAA;AA6CtE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAI9D,eAAO,MAAM,QAAQ,4DAIpB,CAAA;AAED,eAAO,MAAM,UAAU,4DAStB,CAAA;AAED,eAAO,MAAM,aAAa,qBAGzB,CAAA;AAyVD,eAAO,MAAM,gBAAgB,iHAiE5B,CAAA;AAcD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAoDf"}
|
package/dist/build/api.js
CHANGED
|
@@ -30,13 +30,13 @@ import { applyDirectoryNamedImport } from "./directory-named-import.js";
|
|
|
30
30
|
import { cedarApiGraphqlPlugin } from "./esbuild-plugin-api-graphql.js";
|
|
31
31
|
import { applyOtelWrapping } from "./esbuild-plugin-cedar-otel-wrapping.js";
|
|
32
32
|
import { applyHandlerAlsWrapping } from "./esbuild-plugin-handler-als-wrapping.js";
|
|
33
|
-
import { applyEsmExtensions } from "./esm-extensions.js";
|
|
34
33
|
import { applyImportDir } from "./import-dir.js";
|
|
34
|
+
import { applyImportExtensions } from "./import-extensions.js";
|
|
35
35
|
import { applyJobPathInjector } from "./job-path-injector.js";
|
|
36
36
|
import { applySrcAlias } from "./src-alias.js";
|
|
37
37
|
import { applyTsconfigPaths } from "./tsconfig-paths.js";
|
|
38
38
|
import { applySrcAlias as applySrcAlias2 } from "./src-alias.js";
|
|
39
|
-
import {
|
|
39
|
+
import { applyImportExtensions as applyImportExtensions2 } from "./import-extensions.js";
|
|
40
40
|
let BUILD_CTX = null;
|
|
41
41
|
const buildApi = async () => {
|
|
42
42
|
BUILD_CTX?.dispose();
|
|
@@ -95,9 +95,7 @@ const runCedarBabelTransformsPlugin = {
|
|
|
95
95
|
}
|
|
96
96
|
code = transformedCode.code;
|
|
97
97
|
}
|
|
98
|
-
|
|
99
|
-
code = applyEsmExtensions(code, args.path);
|
|
100
|
-
}
|
|
98
|
+
code = applyImportExtensions(code, args.path);
|
|
101
99
|
const functionsDir = normalizePath(cedarPaths.api.functions);
|
|
102
100
|
if (normalizedPath.startsWith(functionsDir + "/")) {
|
|
103
101
|
code = applyHandlerAlsWrapping(code, {
|
|
@@ -222,9 +220,7 @@ function createCedarViteApiPlugin() {
|
|
|
222
220
|
if (cedarConfig.experimental?.opentelemetry?.enabled && cedarConfig.experimental?.opentelemetry?.wrapApi) {
|
|
223
221
|
outputCode = applyOtelWrapping(outputCode, id, cedarPaths.api.src) ?? outputCode;
|
|
224
222
|
}
|
|
225
|
-
|
|
226
|
-
outputCode = applyEsmExtensions(outputCode, id);
|
|
227
|
-
}
|
|
223
|
+
outputCode = applyImportExtensions(outputCode, id);
|
|
228
224
|
const functionsDir = normalizePath(cedarPaths.api.functions);
|
|
229
225
|
if (normalizedId.startsWith(functionsDir + "/")) {
|
|
230
226
|
outputCode = applyHandlerAlsWrapping(outputCode, {
|
|
@@ -369,7 +365,7 @@ function getEsbuildOptions(files) {
|
|
|
369
365
|
};
|
|
370
366
|
}
|
|
371
367
|
export {
|
|
372
|
-
|
|
368
|
+
applyImportExtensions2 as applyImportExtensions,
|
|
373
369
|
applySrcAlias2 as applySrcAlias,
|
|
374
370
|
buildApi,
|
|
375
371
|
buildApiWithVite,
|
|
@@ -14,8 +14,8 @@ import { applyAutoImports } from "./auto-import.js";
|
|
|
14
14
|
import { applyDirectoryNamedImport } from "./directory-named-import.js";
|
|
15
15
|
import { applyOtelWrapping } from "./esbuild-plugin-cedar-otel-wrapping.js";
|
|
16
16
|
import { applyHandlerAlsWrapping } from "./esbuild-plugin-handler-als-wrapping.js";
|
|
17
|
-
import { applyEsmExtensions } from "./esm-extensions.js";
|
|
18
17
|
import { applyImportDir } from "./import-dir.js";
|
|
18
|
+
import { applyImportExtensions } from "./import-extensions.js";
|
|
19
19
|
import { applySrcAlias } from "./src-alias.js";
|
|
20
20
|
import { applyTsconfigPaths } from "./tsconfig-paths.js";
|
|
21
21
|
const cedarApiGraphqlPlugin = {
|
|
@@ -55,9 +55,7 @@ const cedarApiGraphqlPlugin = {
|
|
|
55
55
|
}
|
|
56
56
|
code = transformedCode.code;
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
code = applyEsmExtensions(code, args.path);
|
|
60
|
-
}
|
|
58
|
+
code = applyImportExtensions(code, args.path);
|
|
61
59
|
if (cedarConfig.experimental?.opentelemetry?.enabled && cedarConfig.experimental?.opentelemetry?.wrapApi) {
|
|
62
60
|
code = applyOtelWrapping(code, args.path, getPaths().api.src) ?? code;
|
|
63
61
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rewrites relative import specifiers so they point at the compiled `.js`
|
|
3
|
+
* output files instead of the TypeScript/JSX source files:
|
|
4
|
+
*
|
|
5
|
+
* - Extensionless imports (`from '../lib/db'`) get `.js` appended so that
|
|
6
|
+
* Node's ESM resolver can locate the compiled output at runtime. Node's
|
|
7
|
+
* CJS resolver appends the extension itself, so for CJS output this
|
|
8
|
+
* rewrite is behavior-neutral.
|
|
9
|
+
* - Explicit TypeScript-extension imports (`from './hello.ts'`, allowed by
|
|
10
|
+
* `allowImportingTsExtensions` in the project tsconfig) are rewritten to
|
|
11
|
+
* `.js`, since the file on disk after compilation is `hello.js`. This is
|
|
12
|
+
* required for both CJS and ESM output — neither Node resolver maps a
|
|
13
|
+
* `.ts` specifier to a `.js` file.
|
|
14
|
+
*
|
|
15
|
+
* Handles static imports/re-exports (`from '../lib/db'`), side-effect
|
|
16
|
+
* imports (`import '../lib/setup'`), dynamic imports (`import('../lib/db')`),
|
|
17
|
+
* and `require('../lib/db')` calls (emitted when a custom api/babel.config.js
|
|
18
|
+
* lowers ESM to CommonJS before this function runs).
|
|
19
|
+
*
|
|
20
|
+
* Always outputs `.js` because both build pipelines compile every source
|
|
21
|
+
* file (`.ts`, `.tsx`, `.jsx`) to `.js` output. For a source file
|
|
22
|
+
* `api/src/lib/db.ts` or `api/src/lib/db.tsx`, the output is always
|
|
23
|
+
* `api/dist/lib/db.js`, so all import specifiers must use `.js` at runtime.
|
|
24
|
+
*
|
|
25
|
+
* For the standalone esbuild build path (`runCedarBabelTransformsPlugin`)
|
|
26
|
+
* this replaces the `resolvePath` hook in `babel-plugin-module-resolver`,
|
|
27
|
+
* which is not part of `getApiSideBabelPluginsForVite()`.
|
|
28
|
+
*
|
|
29
|
+
* It is a plain function called inline — not an esbuild plugin — following
|
|
30
|
+
* the same pattern as `applySrcAlias`, `applyTsconfigPaths`, etc.
|
|
31
|
+
*
|
|
32
|
+
* Also handles Cedar SDL files whose names include a compound extension:
|
|
33
|
+
* `contacts.sdl.ts` compiles to `contacts.sdl.js`, so an import specifier
|
|
34
|
+
* `../graphql/contacts.sdl` (generated by applyImportDir's glob expansion)
|
|
35
|
+
* is rewritten to `../graphql/contacts.sdl.js`.
|
|
36
|
+
*
|
|
37
|
+
* Example: in `api/src/functions/graphql.ts` importing `../lib/db`, this
|
|
38
|
+
* rewrites it to `../lib/db.js` when `api/src/lib/db.ts` (or `db.tsx`)
|
|
39
|
+
* exists on disk.
|
|
40
|
+
*
|
|
41
|
+
* Files under the generated data directory (`.cedar/` or `.redwood/`) are
|
|
42
|
+
* excluded from rewriting: generated artifacts such as the gqlorm backend
|
|
43
|
+
* (`.cedar/gqlorm/backend.ts`) are never compiled to `.js`, so an explicit
|
|
44
|
+
* `.ts` import pointing there must stay `.ts` at runtime.
|
|
45
|
+
*/
|
|
46
|
+
export declare function applyImportExtensions(code: string, fromFile: string): string;
|
|
47
|
+
//# sourceMappingURL=import-extensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-extensions.d.ts","sourceRoot":"","sources":["../../src/build/import-extensions.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+G5E"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { getPaths } from "@cedarjs/project-config";
|
|
4
|
+
function applyImportExtensions(code, fromFile) {
|
|
5
|
+
const fromDir = path.dirname(fromFile);
|
|
6
|
+
const generatedBase = getPaths().generated.base;
|
|
7
|
+
const rewriteImportPath = (importPath, preservePrefix, preserveSuffix) => {
|
|
8
|
+
const existingExt = path.extname(importPath);
|
|
9
|
+
const absImport = path.join(fromDir, importPath);
|
|
10
|
+
const relativeToGeneratedBase = path.relative(generatedBase, absImport);
|
|
11
|
+
if (relativeToGeneratedBase === "" || !relativeToGeneratedBase.startsWith("..") && !path.isAbsolute(relativeToGeneratedBase)) {
|
|
12
|
+
return preservePrefix + importPath + preserveSuffix;
|
|
13
|
+
}
|
|
14
|
+
if ((existingExt === ".ts" || existingExt === ".tsx") && fs.existsSync(absImport)) {
|
|
15
|
+
const base2 = importPath.slice(0, -existingExt.length);
|
|
16
|
+
return preservePrefix + base2 + ".js" + preserveSuffix;
|
|
17
|
+
}
|
|
18
|
+
if (existingExt && existingExt !== ".js" && existingExt !== ".jsx") {
|
|
19
|
+
if (fs.existsSync(absImport + ".ts") || fs.existsSync(absImport + ".js") || fs.existsSync(absImport + ".tsx") || fs.existsSync(absImport + ".jsx")) {
|
|
20
|
+
return preservePrefix + importPath + ".js" + preserveSuffix;
|
|
21
|
+
}
|
|
22
|
+
return preservePrefix + importPath + preserveSuffix;
|
|
23
|
+
}
|
|
24
|
+
const base = existingExt ? importPath.slice(0, -existingExt.length) : importPath;
|
|
25
|
+
const absBase = path.join(fromDir, base);
|
|
26
|
+
if (fs.existsSync(absBase + ".ts") || fs.existsSync(absBase + ".js") || fs.existsSync(absBase + ".tsx") || fs.existsSync(absBase + ".jsx")) {
|
|
27
|
+
return preservePrefix + base + ".js" + preserveSuffix;
|
|
28
|
+
}
|
|
29
|
+
return preservePrefix + importPath + preserveSuffix;
|
|
30
|
+
};
|
|
31
|
+
let result = code.replace(
|
|
32
|
+
/\bfrom\s+(['"])(\.\.?\/[^'"]+)\1/g,
|
|
33
|
+
(match, quote, importPath) => {
|
|
34
|
+
return `from ${rewriteImportPath(importPath, quote, quote)}`;
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
result = result.replace(
|
|
38
|
+
/(^[ \t]*|;\s*)import\s+(['"])(\.\.?\/[^'"]+)\2/gm,
|
|
39
|
+
(match, prefix, quote, importPath) => {
|
|
40
|
+
return `${prefix}import ${rewriteImportPath(importPath, quote, quote)}`;
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
result = result.replace(
|
|
44
|
+
/\bimport\s*\(\s*(['"])(\.\.?\/[^'"]+)\1\s*\)/g,
|
|
45
|
+
(match, quote, importPath) => {
|
|
46
|
+
return `import(${rewriteImportPath(importPath, quote, quote)})`;
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
result = result.replace(
|
|
50
|
+
/\brequire\s*\(\s*(['"])(\.\.?\/[^'"]+)\1\s*\)/g,
|
|
51
|
+
(match, quote, importPath) => {
|
|
52
|
+
return `require(${rewriteImportPath(importPath, quote, quote)})`;
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
applyImportExtensions
|
|
59
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphqlCodeGen.d.ts","sourceRoot":"","sources":["../../src/generate/graphqlCodeGen.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAmB9D,KAAK,aAAa,GAAG;IACnB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;CAC9C,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAa,OAAO,CAAC,aAAa,CAiFvE,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAa,OAAO,CAAC,aAAa,CAwDvE,CAAA;AAmCD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM;SACD,MAAM;GAQ5D;
|
|
1
|
+
{"version":3,"file":"graphqlCodeGen.d.ts","sourceRoot":"","sources":["../../src/generate/graphqlCodeGen.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAmB9D,KAAK,aAAa,GAAG;IACnB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;CAC9C,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAa,OAAO,CAAC,aAAa,CAiFvE,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAa,OAAO,CAAC,aAAa,CAwDvE,CAAA;AAmCD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM;SACD,MAAM;GAQ5D;AA2OD,eAAO,MAAM,iBAAiB,4RAe7B,CAAA"}
|
|
@@ -171,15 +171,37 @@ function getLoadDocumentsOptions(filename) {
|
|
|
171
171
|
};
|
|
172
172
|
return loadTypedefsConfig;
|
|
173
173
|
}
|
|
174
|
-
|
|
174
|
+
class PrismaModelsFormatError extends Error {
|
|
175
|
+
}
|
|
176
|
+
const MODEL_REEXPORT_RE = /^export type \* from '\.\/models\/(\w+)\.\w+'/gm;
|
|
177
|
+
function readPrismaModelNames(clientPath) {
|
|
178
|
+
const ext = path.extname(clientPath);
|
|
179
|
+
const modelsPath = path.join(path.dirname(clientPath), `models${ext}`);
|
|
180
|
+
const source = fs.readFileSync(modelsPath, "utf8");
|
|
181
|
+
const modelNames = {};
|
|
182
|
+
for (const match of source.matchAll(MODEL_REEXPORT_RE)) {
|
|
183
|
+
modelNames[match[1]] = match[1];
|
|
184
|
+
}
|
|
185
|
+
if (Object.keys(modelNames).length === 0) {
|
|
186
|
+
throw new PrismaModelsFormatError(
|
|
187
|
+
`Could not read any Prisma model names from ${modelsPath}. Expected lines like \`export type * from './models/Post.ts'\`. This is most likely a change in what Prisma generates. Please open an issue at https://github.com/cedarjs/cedar/issues.`
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
return modelNames;
|
|
191
|
+
}
|
|
192
|
+
async function readGeneratedPrismaModelNames() {
|
|
175
193
|
const cacheBuster = `?t=${Date.now()}`;
|
|
176
194
|
const { clientPath, error } = await resolveGeneratedPrismaClient();
|
|
177
195
|
if (!clientPath) {
|
|
178
196
|
throw new Error(error);
|
|
179
197
|
}
|
|
198
|
+
if (/\.[mc]?ts$/.test(clientPath)) {
|
|
199
|
+
return readPrismaModelNames(clientPath);
|
|
200
|
+
}
|
|
180
201
|
const fileUrl = pathToFileURL(clientPath).href + cacheBuster;
|
|
181
202
|
const freshPrisma = await import(fileUrl);
|
|
182
|
-
|
|
203
|
+
const modelName = getModelName(freshPrisma);
|
|
204
|
+
return modelName ?? {};
|
|
183
205
|
}
|
|
184
206
|
function isModelNameRecord(value) {
|
|
185
207
|
if (typeof value !== "object" || value === null) {
|
|
@@ -206,23 +228,27 @@ function getModelName(mod) {
|
|
|
206
228
|
}
|
|
207
229
|
async function getPrismaClient() {
|
|
208
230
|
try {
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
if (modelName) {
|
|
231
|
+
const modelName = await readGeneratedPrismaModelNames();
|
|
232
|
+
if (Object.keys(modelName).length > 0) {
|
|
212
233
|
return { ModelName: modelName };
|
|
213
234
|
}
|
|
214
|
-
} catch {
|
|
235
|
+
} catch (e) {
|
|
236
|
+
if (e instanceof PrismaModelsFormatError) {
|
|
237
|
+
throw e;
|
|
238
|
+
}
|
|
215
239
|
}
|
|
216
240
|
const pm = getPackageManager();
|
|
217
241
|
const pmExec = pm === "npm" ? "npx" : pm;
|
|
218
242
|
execa.sync(pmExec, ["cedar", "prisma", "generate"]);
|
|
219
243
|
try {
|
|
220
|
-
const
|
|
221
|
-
|
|
222
|
-
if (modelName) {
|
|
244
|
+
const modelName = await readGeneratedPrismaModelNames();
|
|
245
|
+
if (Object.keys(modelName).length > 0) {
|
|
223
246
|
return { ModelName: modelName };
|
|
224
247
|
}
|
|
225
|
-
} catch {
|
|
248
|
+
} catch (e) {
|
|
249
|
+
if (e instanceof PrismaModelsFormatError) {
|
|
250
|
+
throw e;
|
|
251
|
+
}
|
|
226
252
|
}
|
|
227
253
|
return { ModelName: {} };
|
|
228
254
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cedarjs/internal",
|
|
3
|
-
"version": "6.0.0
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/cedarjs/cedar.git",
|
|
@@ -118,17 +118,17 @@
|
|
|
118
118
|
},
|
|
119
119
|
"dependencies": {
|
|
120
120
|
"@babel/core": "^7.26.10",
|
|
121
|
-
"@babel/parser": "7.29.
|
|
121
|
+
"@babel/parser": "7.29.8",
|
|
122
122
|
"@babel/plugin-transform-typescript": "^7.26.8",
|
|
123
|
-
"@babel/traverse": "7.29.
|
|
124
|
-
"@cedarjs/api": "6.0.0
|
|
125
|
-
"@cedarjs/babel-config": "6.0.0
|
|
126
|
-
"@cedarjs/cli-helpers": "6.0.0
|
|
127
|
-
"@cedarjs/graphql-server": "6.0.0
|
|
128
|
-
"@cedarjs/project-config": "6.0.0
|
|
129
|
-
"@cedarjs/router": "6.0.0
|
|
130
|
-
"@cedarjs/structure": "6.0.0
|
|
131
|
-
"@cedarjs/utils": "6.0.0
|
|
123
|
+
"@babel/traverse": "7.29.8",
|
|
124
|
+
"@cedarjs/api": "6.0.0",
|
|
125
|
+
"@cedarjs/babel-config": "6.0.0",
|
|
126
|
+
"@cedarjs/cli-helpers": "6.0.0",
|
|
127
|
+
"@cedarjs/graphql-server": "6.0.0",
|
|
128
|
+
"@cedarjs/project-config": "6.0.0",
|
|
129
|
+
"@cedarjs/router": "6.0.0",
|
|
130
|
+
"@cedarjs/structure": "6.0.0",
|
|
131
|
+
"@cedarjs/utils": "6.0.0",
|
|
132
132
|
"@graphql-codegen/add": "6.0.1",
|
|
133
133
|
"@graphql-codegen/cli": "6.3.1",
|
|
134
134
|
"@graphql-codegen/client-preset": "5.3.0",
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
"vite-tsconfig-paths": "^6.1.1"
|
|
167
167
|
},
|
|
168
168
|
"devDependencies": {
|
|
169
|
-
"@cedarjs/framework-tools": "6.0.0
|
|
169
|
+
"@cedarjs/framework-tools": "6.0.0",
|
|
170
170
|
"@jridgewell/trace-mapping": "0.3.31",
|
|
171
171
|
"@oxc-project/types": "^0.144.0",
|
|
172
172
|
"concurrently": "9.2.4",
|