@zenstackhq/sdk 3.8.0-beta.2 → 3.8.0-beta.3
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.cjs +37 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -1
- package/dist/index.d.mts +15 -1
- package/dist/index.mjs +37 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -7
package/dist/index.cjs
CHANGED
|
@@ -441,16 +441,16 @@ var PrismaSchemaGenerator = class {
|
|
|
441
441
|
async generate() {
|
|
442
442
|
const prisma = new PrismaModel();
|
|
443
443
|
for (const decl of this.zmodel.declarations) switch (decl.$type) {
|
|
444
|
-
case _zenstackhq_language_ast.DataSource:
|
|
444
|
+
case _zenstackhq_language_ast.DataSource.$type:
|
|
445
445
|
this.generateDataSource(prisma, decl);
|
|
446
446
|
break;
|
|
447
|
-
case _zenstackhq_language_ast.Enum:
|
|
447
|
+
case _zenstackhq_language_ast.Enum.$type:
|
|
448
448
|
this.generateEnum(prisma, decl);
|
|
449
449
|
break;
|
|
450
|
-
case _zenstackhq_language_ast.DataModel:
|
|
450
|
+
case _zenstackhq_language_ast.DataModel.$type:
|
|
451
451
|
this.generateModel(prisma, decl);
|
|
452
452
|
break;
|
|
453
|
-
case _zenstackhq_language_ast.GeneratorDecl:
|
|
453
|
+
case _zenstackhq_language_ast.GeneratorDecl.$type:
|
|
454
454
|
this.generateGenerator(prisma, decl);
|
|
455
455
|
break;
|
|
456
456
|
}
|
|
@@ -564,7 +564,7 @@ var PrismaSchemaGenerator = class {
|
|
|
564
564
|
return new AttributeArg$2(arg.name, this.makeAttributeArgValue(arg.value));
|
|
565
565
|
}
|
|
566
566
|
makeAttributeArgValue(node) {
|
|
567
|
-
if ((0, _zenstackhq_language_ast.isLiteralExpr)(node)) return new AttributeArgValue((0, ts_pattern.match)(node.$type).with(_zenstackhq_language_ast.StringLiteral, () => "String").with(_zenstackhq_language_ast.NumberLiteral, () => "Number").with(_zenstackhq_language_ast.BooleanLiteral, () => "Boolean").exhaustive(), node.value);
|
|
567
|
+
if ((0, _zenstackhq_language_ast.isLiteralExpr)(node)) return new AttributeArgValue((0, ts_pattern.match)(node.$type).with(_zenstackhq_language_ast.StringLiteral.$type, () => "String").with(_zenstackhq_language_ast.NumberLiteral.$type, () => "Number").with(_zenstackhq_language_ast.BooleanLiteral.$type, () => "Boolean").exhaustive(), node.value);
|
|
568
568
|
else if ((0, _zenstackhq_language_ast.isArrayExpr)(node)) return new AttributeArgValue("Array", new Array(...node.items.map((item) => this.makeAttributeArgValue(item))));
|
|
569
569
|
else if ((0, _zenstackhq_language_ast.isReferenceExpr)(node)) return new AttributeArgValue("FieldReference", new FieldReference(node.target.ref.name, node.args.map((arg) => new FieldReferenceArg(arg.name, this.exprToText(arg.value)))));
|
|
570
570
|
else if ((0, _zenstackhq_language_ast.isInvocationExpr)(node)) return new AttributeArgValue("FunctionCall", this.makeFunctionCall(node));
|
|
@@ -1205,6 +1205,37 @@ var TsSchemaGenerator = class {
|
|
|
1205
1205
|
}
|
|
1206
1206
|
};
|
|
1207
1207
|
//#endregion
|
|
1208
|
+
//#region src/tsconfig-utils.ts
|
|
1209
|
+
/**
|
|
1210
|
+
* Detects the file extension that should be appended to relative imports in
|
|
1211
|
+
* generated TypeScript, by inspecting the nearest `tsconfig.json` to the given
|
|
1212
|
+
* directory.
|
|
1213
|
+
*
|
|
1214
|
+
* Returns `'.js'` when the project uses native ESM module resolution
|
|
1215
|
+
* (`node16`/`nodenext`), which requires explicit extensions on relative imports.
|
|
1216
|
+
* Returns `undefined` for `bundler`/`node` resolution (where extensionless
|
|
1217
|
+
* imports are the idiomatic, maximally-compatible form) or when no tsconfig is
|
|
1218
|
+
* found.
|
|
1219
|
+
*/
|
|
1220
|
+
function detectImportFileExtension(fromDir) {
|
|
1221
|
+
const configPath = typescript.findConfigFile(fromDir, typescript.sys.fileExists, "tsconfig.json");
|
|
1222
|
+
if (!configPath) return;
|
|
1223
|
+
const configFile = typescript.readConfigFile(configPath, typescript.sys.readFile);
|
|
1224
|
+
if (configFile.error) return;
|
|
1225
|
+
const parsed = typescript.parseJsonConfigFileContent(configFile.config, typescript.sys, node_path.default.dirname(configPath));
|
|
1226
|
+
let moduleResolution = parsed.options.moduleResolution;
|
|
1227
|
+
if (moduleResolution === void 0) switch (parsed.options.module) {
|
|
1228
|
+
case typescript.ModuleKind.Node16:
|
|
1229
|
+
case typescript.ModuleKind.Node18:
|
|
1230
|
+
case typescript.ModuleKind.Node20:
|
|
1231
|
+
case typescript.ModuleKind.NodeNext:
|
|
1232
|
+
moduleResolution = typescript.ModuleResolutionKind.NodeNext;
|
|
1233
|
+
break;
|
|
1234
|
+
default: break;
|
|
1235
|
+
}
|
|
1236
|
+
if (moduleResolution === typescript.ModuleResolutionKind.Node16 || moduleResolution === typescript.ModuleResolutionKind.NodeNext) return ".js";
|
|
1237
|
+
}
|
|
1238
|
+
//#endregion
|
|
1208
1239
|
Object.defineProperty(exports, "ModelUtils", {
|
|
1209
1240
|
enumerable: true,
|
|
1210
1241
|
get: function() {
|
|
@@ -1213,5 +1244,6 @@ Object.defineProperty(exports, "ModelUtils", {
|
|
|
1213
1244
|
});
|
|
1214
1245
|
exports.PrismaSchemaGenerator = PrismaSchemaGenerator;
|
|
1215
1246
|
exports.TsSchemaGenerator = TsSchemaGenerator;
|
|
1247
|
+
exports.detectImportFileExtension = detectImportFileExtension;
|
|
1216
1248
|
|
|
1217
1249
|
//# sourceMappingURL=index.cjs.map
|