@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 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(8008)).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);
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) {