@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.js
CHANGED
|
@@ -12,6 +12,7 @@ var __export = (target, all) => {
|
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
// src/index.ts
|
|
15
|
+
import "dotenv/config";
|
|
15
16
|
import { ZModelLanguageMetaData as ZModelLanguageMetaData2 } from "@zenstackhq/language";
|
|
16
17
|
import colors10 from "colors";
|
|
17
18
|
import { Command, CommanderError, Option } from "commander";
|
|
@@ -1040,6 +1041,21 @@ function evaluateUrl(value) {
|
|
|
1040
1041
|
}
|
|
1041
1042
|
}
|
|
1042
1043
|
__name(evaluateUrl, "evaluateUrl");
|
|
1044
|
+
function redactDatabaseUrl(url) {
|
|
1045
|
+
try {
|
|
1046
|
+
const parsedUrl = new URL(url);
|
|
1047
|
+
if (parsedUrl.password) {
|
|
1048
|
+
parsedUrl.password = "***";
|
|
1049
|
+
}
|
|
1050
|
+
if (parsedUrl.username) {
|
|
1051
|
+
parsedUrl.username = "***";
|
|
1052
|
+
}
|
|
1053
|
+
return parsedUrl.toString();
|
|
1054
|
+
} catch {
|
|
1055
|
+
return url;
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1058
|
+
__name(redactDatabaseUrl, "redactDatabaseUrl");
|
|
1043
1059
|
function createDialect(provider, databaseUrl, outputPath) {
|
|
1044
1060
|
switch (provider) {
|
|
1045
1061
|
case "sqlite": {
|
|
@@ -1056,14 +1072,14 @@ function createDialect(provider, databaseUrl, outputPath) {
|
|
|
1056
1072
|
});
|
|
1057
1073
|
}
|
|
1058
1074
|
case "postgresql":
|
|
1059
|
-
console.log(colors9.gray(`Connecting to PostgreSQL database at: ${databaseUrl}`));
|
|
1075
|
+
console.log(colors9.gray(`Connecting to PostgreSQL database at: ${redactDatabaseUrl(databaseUrl)}`));
|
|
1060
1076
|
return new PostgresDialect({
|
|
1061
1077
|
pool: new PgPool({
|
|
1062
1078
|
connectionString: databaseUrl
|
|
1063
1079
|
})
|
|
1064
1080
|
});
|
|
1065
1081
|
case "mysql":
|
|
1066
|
-
console.log(colors9.gray(`Connecting to MySQL database at: ${databaseUrl}`));
|
|
1082
|
+
console.log(colors9.gray(`Connecting to MySQL database at: ${redactDatabaseUrl(databaseUrl)}`));
|
|
1067
1083
|
return new MysqlDialect({
|
|
1068
1084
|
pool: createMysqlPool(databaseUrl)
|
|
1069
1085
|
});
|
|
@@ -1098,6 +1114,14 @@ function startServer(client, schema, options) {
|
|
|
1098
1114
|
console.log(`ZenStack proxy server is running on port: ${options.port}`);
|
|
1099
1115
|
console.log(`You can visit ZenStack Studio at: ${colors9.blue("https://studio.zenstack.dev")}`);
|
|
1100
1116
|
});
|
|
1117
|
+
server.on("error", (err) => {
|
|
1118
|
+
if (err.code === "EADDRINUSE") {
|
|
1119
|
+
console.error(colors9.red(`Port ${options.port} is already in use. Please choose a different port using -p option.`));
|
|
1120
|
+
} else {
|
|
1121
|
+
throw new CliError(`Failed to start the server: ${err.message}`);
|
|
1122
|
+
}
|
|
1123
|
+
process.exit(1);
|
|
1124
|
+
});
|
|
1101
1125
|
process.on("SIGTERM", async () => {
|
|
1102
1126
|
server.close(() => {
|
|
1103
1127
|
console.log("\nZenStack proxy server closed");
|
|
@@ -1414,7 +1438,7 @@ Arguments following -- are passed to the seed script. E.g.: "zen db seed -- --us
|
|
|
1414
1438
|
program.command("init").description("Initialize an existing project for ZenStack").argument("[path]", "project path", ".").addOption(noVersionCheckOption).action(initAction);
|
|
1415
1439
|
program.command("check").description("Check a ZModel schema for syntax or semantic errors").addOption(schemaOption).addOption(noVersionCheckOption).action(checkAction);
|
|
1416
1440
|
program.command("format").description("Format a ZModel schema file").addOption(schemaOption).addOption(noVersionCheckOption).action(formatAction);
|
|
1417
|
-
program.command("proxy").alias("studio").description("Start the ZenStack proxy server").addOption(schemaOption).addOption(new Option("-p, --port <port>", "port to run the proxy server on").default(
|
|
1441
|
+
program.command("proxy").alias("studio").description("Start the ZenStack proxy server").addOption(schemaOption).addOption(new Option("-p, --port <port>", "port to run the proxy server on").default(2311)).addOption(new Option("-o, --output <path>", "output directory for `zen generate` command")).addOption(new Option("-d, --databaseUrl <url>", "database connection URL")).addOption(new Option("-l, --logLevel <level>", "Query log levels (e.g., query, error)")).addOption(noVersionCheckOption).action(proxyAction);
|
|
1418
1442
|
program.addHelpCommand("help [command]", "Display help for a command");
|
|
1419
1443
|
program.hook("preAction", async (_thisCommand, actionCommand) => {
|
|
1420
1444
|
if (actionCommand.getOptionValue("versionCheck") !== false) {
|