@zenstackhq/cli 3.3.0-beta.4 → 3.3.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/index.cjs +32 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +32 -14
- 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";
|
|
@@ -1021,25 +1022,34 @@ async function run9(options) {
|
|
|
1021
1022
|
}
|
|
1022
1023
|
__name(run9, "run");
|
|
1023
1024
|
function evaluateUrl(value) {
|
|
1024
|
-
const
|
|
1025
|
+
const envMatch = value.trim().match(/^env\s*\(\s*['"]([^'"]+)['"]\s*\)$/);
|
|
1026
|
+
if (envMatch) {
|
|
1027
|
+
const varName = envMatch[1];
|
|
1025
1028
|
const envValue = process.env[varName];
|
|
1026
1029
|
if (!envValue) {
|
|
1027
1030
|
throw new CliError(`Environment variable ${varName} is not set`);
|
|
1028
1031
|
}
|
|
1029
1032
|
return envValue;
|
|
1030
|
-
}
|
|
1033
|
+
} else {
|
|
1034
|
+
return value;
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
1037
|
+
__name(evaluateUrl, "evaluateUrl");
|
|
1038
|
+
function redactDatabaseUrl(url) {
|
|
1031
1039
|
try {
|
|
1032
|
-
const
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
if (
|
|
1037
|
-
|
|
1040
|
+
const parsedUrl = new URL(url);
|
|
1041
|
+
if (parsedUrl.password) {
|
|
1042
|
+
parsedUrl.password = "***";
|
|
1043
|
+
}
|
|
1044
|
+
if (parsedUrl.username) {
|
|
1045
|
+
parsedUrl.username = "***";
|
|
1038
1046
|
}
|
|
1039
|
-
|
|
1047
|
+
return parsedUrl.toString();
|
|
1048
|
+
} catch {
|
|
1049
|
+
return url;
|
|
1040
1050
|
}
|
|
1041
1051
|
}
|
|
1042
|
-
__name(
|
|
1052
|
+
__name(redactDatabaseUrl, "redactDatabaseUrl");
|
|
1043
1053
|
function createDialect(provider, databaseUrl, outputPath) {
|
|
1044
1054
|
switch (provider) {
|
|
1045
1055
|
case "sqlite": {
|
|
@@ -1056,14 +1066,14 @@ function createDialect(provider, databaseUrl, outputPath) {
|
|
|
1056
1066
|
});
|
|
1057
1067
|
}
|
|
1058
1068
|
case "postgresql":
|
|
1059
|
-
console.log(colors9.gray(`Connecting to PostgreSQL database at: ${databaseUrl}`));
|
|
1069
|
+
console.log(colors9.gray(`Connecting to PostgreSQL database at: ${redactDatabaseUrl(databaseUrl)}`));
|
|
1060
1070
|
return new PostgresDialect({
|
|
1061
1071
|
pool: new PgPool({
|
|
1062
1072
|
connectionString: databaseUrl
|
|
1063
1073
|
})
|
|
1064
1074
|
});
|
|
1065
1075
|
case "mysql":
|
|
1066
|
-
console.log(colors9.gray(`Connecting to MySQL database at: ${databaseUrl}`));
|
|
1076
|
+
console.log(colors9.gray(`Connecting to MySQL database at: ${redactDatabaseUrl(databaseUrl)}`));
|
|
1067
1077
|
return new MysqlDialect({
|
|
1068
1078
|
pool: createMysqlPool(databaseUrl)
|
|
1069
1079
|
});
|
|
@@ -1098,6 +1108,14 @@ function startServer(client, schema, options) {
|
|
|
1098
1108
|
console.log(`ZenStack proxy server is running on port: ${options.port}`);
|
|
1099
1109
|
console.log(`You can visit ZenStack Studio at: ${colors9.blue("https://studio.zenstack.dev")}`);
|
|
1100
1110
|
});
|
|
1111
|
+
server.on("error", (err) => {
|
|
1112
|
+
if (err.code === "EADDRINUSE") {
|
|
1113
|
+
console.error(colors9.red(`Port ${options.port} is already in use. Please choose a different port using -p option.`));
|
|
1114
|
+
} else {
|
|
1115
|
+
throw new CliError(`Failed to start the server: ${err.message}`);
|
|
1116
|
+
}
|
|
1117
|
+
process.exit(1);
|
|
1118
|
+
});
|
|
1101
1119
|
process.on("SIGTERM", async () => {
|
|
1102
1120
|
server.close(() => {
|
|
1103
1121
|
console.log("\nZenStack proxy server closed");
|
|
@@ -1122,7 +1140,7 @@ import fs13 from "fs";
|
|
|
1122
1140
|
import * as os2 from "os";
|
|
1123
1141
|
|
|
1124
1142
|
// src/constants.ts
|
|
1125
|
-
var TELEMETRY_TRACKING_TOKEN = "
|
|
1143
|
+
var TELEMETRY_TRACKING_TOKEN = "74944eb779d7d3b4ce185be843fde9fc";
|
|
1126
1144
|
|
|
1127
1145
|
// src/utils/is-ci.ts
|
|
1128
1146
|
import { env } from "process";
|
|
@@ -1414,7 +1432,7 @@ Arguments following -- are passed to the seed script. E.g.: "zen db seed -- --us
|
|
|
1414
1432
|
program.command("init").description("Initialize an existing project for ZenStack").argument("[path]", "project path", ".").addOption(noVersionCheckOption).action(initAction);
|
|
1415
1433
|
program.command("check").description("Check a ZModel schema for syntax or semantic errors").addOption(schemaOption).addOption(noVersionCheckOption).action(checkAction);
|
|
1416
1434
|
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(
|
|
1435
|
+
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
1436
|
program.addHelpCommand("help [command]", "Display help for a command");
|
|
1419
1437
|
program.hook("preAction", async (_thisCommand, actionCommand) => {
|
|
1420
1438
|
if (actionCommand.getOptionValue("versionCheck") !== false) {
|