@zenstackhq/cli 3.3.0-beta.4 → 3.3.0-beta.5
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 +27 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +27 -3
- package/dist/index.js.map +1 -1
- package/package.json +12 -11
package/dist/index.cjs
CHANGED
|
@@ -28,6 +28,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
));
|
|
29
29
|
|
|
30
30
|
// src/index.ts
|
|
31
|
+
var import_config = require("dotenv/config");
|
|
31
32
|
var import_language5 = require("@zenstackhq/language");
|
|
32
33
|
var import_colors10 = __toESM(require("colors"), 1);
|
|
33
34
|
var import_commander = require("commander");
|
|
@@ -1059,6 +1060,21 @@ function evaluateUrl(value) {
|
|
|
1059
1060
|
}
|
|
1060
1061
|
}
|
|
1061
1062
|
__name(evaluateUrl, "evaluateUrl");
|
|
1063
|
+
function redactDatabaseUrl(url) {
|
|
1064
|
+
try {
|
|
1065
|
+
const parsedUrl = new URL(url);
|
|
1066
|
+
if (parsedUrl.password) {
|
|
1067
|
+
parsedUrl.password = "***";
|
|
1068
|
+
}
|
|
1069
|
+
if (parsedUrl.username) {
|
|
1070
|
+
parsedUrl.username = "***";
|
|
1071
|
+
}
|
|
1072
|
+
return parsedUrl.toString();
|
|
1073
|
+
} catch {
|
|
1074
|
+
return url;
|
|
1075
|
+
}
|
|
1076
|
+
}
|
|
1077
|
+
__name(redactDatabaseUrl, "redactDatabaseUrl");
|
|
1062
1078
|
function createDialect(provider, databaseUrl, outputPath) {
|
|
1063
1079
|
switch (provider) {
|
|
1064
1080
|
case "sqlite": {
|
|
@@ -1075,14 +1091,14 @@ function createDialect(provider, databaseUrl, outputPath) {
|
|
|
1075
1091
|
});
|
|
1076
1092
|
}
|
|
1077
1093
|
case "postgresql":
|
|
1078
|
-
console.log(import_colors9.default.gray(`Connecting to PostgreSQL database at: ${databaseUrl}`));
|
|
1094
|
+
console.log(import_colors9.default.gray(`Connecting to PostgreSQL database at: ${redactDatabaseUrl(databaseUrl)}`));
|
|
1079
1095
|
return new import_postgres.PostgresDialect({
|
|
1080
1096
|
pool: new import_pg.Pool({
|
|
1081
1097
|
connectionString: databaseUrl
|
|
1082
1098
|
})
|
|
1083
1099
|
});
|
|
1084
1100
|
case "mysql":
|
|
1085
|
-
console.log(import_colors9.default.gray(`Connecting to MySQL database at: ${databaseUrl}`));
|
|
1101
|
+
console.log(import_colors9.default.gray(`Connecting to MySQL database at: ${redactDatabaseUrl(databaseUrl)}`));
|
|
1086
1102
|
return new import_mysql.MysqlDialect({
|
|
1087
1103
|
pool: (0, import_mysql2.createPool)(databaseUrl)
|
|
1088
1104
|
});
|
|
@@ -1117,6 +1133,14 @@ function startServer(client, schema, options) {
|
|
|
1117
1133
|
console.log(`ZenStack proxy server is running on port: ${options.port}`);
|
|
1118
1134
|
console.log(`You can visit ZenStack Studio at: ${import_colors9.default.blue("https://studio.zenstack.dev")}`);
|
|
1119
1135
|
});
|
|
1136
|
+
server.on("error", (err) => {
|
|
1137
|
+
if (err.code === "EADDRINUSE") {
|
|
1138
|
+
console.error(import_colors9.default.red(`Port ${options.port} is already in use. Please choose a different port using -p option.`));
|
|
1139
|
+
} else {
|
|
1140
|
+
throw new CliError(`Failed to start the server: ${err.message}`);
|
|
1141
|
+
}
|
|
1142
|
+
process.exit(1);
|
|
1143
|
+
});
|
|
1120
1144
|
process.on("SIGTERM", async () => {
|
|
1121
1145
|
server.close(() => {
|
|
1122
1146
|
console.log("\nZenStack proxy server closed");
|
|
@@ -1434,7 +1458,7 @@ Arguments following -- are passed to the seed script. E.g.: "zen db seed -- --us
|
|
|
1434
1458
|
program.command("init").description("Initialize an existing project for ZenStack").argument("[path]", "project path", ".").addOption(noVersionCheckOption).action(initAction);
|
|
1435
1459
|
program.command("check").description("Check a ZModel schema for syntax or semantic errors").addOption(schemaOption).addOption(noVersionCheckOption).action(checkAction);
|
|
1436
1460
|
program.command("format").description("Format a ZModel schema file").addOption(schemaOption).addOption(noVersionCheckOption).action(formatAction);
|
|
1437
|
-
program.command("proxy").alias("studio").description("Start the ZenStack proxy server").addOption(schemaOption).addOption(new import_commander.Option("-p, --port <port>", "port to run the proxy server on").default(
|
|
1461
|
+
program.command("proxy").alias("studio").description("Start the ZenStack proxy server").addOption(schemaOption).addOption(new import_commander.Option("-p, --port <port>", "port to run the proxy server on").default(2311)).addOption(new import_commander.Option("-o, --output <path>", "output directory for `zen generate` command")).addOption(new import_commander.Option("-d, --databaseUrl <url>", "database connection URL")).addOption(new import_commander.Option("-l, --logLevel <level>", "Query log levels (e.g., query, error)")).addOption(noVersionCheckOption).action(proxyAction);
|
|
1438
1462
|
program.addHelpCommand("help [command]", "Display help for a command");
|
|
1439
1463
|
program.hook("preAction", async (_thisCommand, actionCommand) => {
|
|
1440
1464
|
if (actionCommand.getOptionValue("versionCheck") !== false) {
|