@lark-apaas/fullstack-cli 1.1.12-alpha.6 → 1.1.12-alpha.7
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/config/drizzle.config.js +6 -2
- package/dist/index.js +20 -7
- package/package.json +1 -1
|
@@ -3,12 +3,16 @@ import { defineConfig } from "drizzle-kit";
|
|
|
3
3
|
var outputDir = process.env.__DRIZZLE_OUT_DIR__ || "./server/database/.introspect";
|
|
4
4
|
var schemaPath = process.env.__DRIZZLE_SCHEMA_PATH__ || "./server/database/schema.ts";
|
|
5
5
|
var parsedUrl = new URL(process.env.SUDA_DATABASE_URL || "");
|
|
6
|
-
var
|
|
6
|
+
var envSchemaFilter = process.env.DRIZZLE_SCHEMA_FILTER;
|
|
7
|
+
var urlSchemaFilter = parsedUrl.searchParams.get("schema");
|
|
8
|
+
var schemaFilter = (envSchemaFilter ?? urlSchemaFilter ?? "").split(",").map((s) => s.trim()).filter(Boolean);
|
|
7
9
|
parsedUrl.searchParams.delete("schema");
|
|
10
|
+
var envTablesFilter = process.env.DRIZZLE_TABLES_FILTER;
|
|
11
|
+
var tablesFilter = (envTablesFilter ?? "*").split(",").map((s) => s.trim()).filter(Boolean);
|
|
8
12
|
var config = {
|
|
9
13
|
schema: schemaPath,
|
|
10
14
|
out: outputDir,
|
|
11
|
-
tablesFilter
|
|
15
|
+
tablesFilter,
|
|
12
16
|
schemaFilter,
|
|
13
17
|
dialect: "postgresql",
|
|
14
18
|
dbCredentials: {
|
package/dist/index.js
CHANGED
|
@@ -110,8 +110,8 @@ Command "${ctx.commandName}" completed in ${elapsed}ms`);
|
|
|
110
110
|
return this;
|
|
111
111
|
}
|
|
112
112
|
/** 运行 CLI */
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
run(argv = process.argv) {
|
|
114
|
+
this.program.parse(argv);
|
|
115
115
|
}
|
|
116
116
|
};
|
|
117
117
|
|
|
@@ -141,20 +141,33 @@ async function run(options = {}) {
|
|
|
141
141
|
console.log("[gen-db-schema] Starting...");
|
|
142
142
|
const __filename = fileURLToPath(import.meta.url);
|
|
143
143
|
const __dirname2 = path.dirname(__filename);
|
|
144
|
-
const configPath = path.
|
|
144
|
+
const configPath = path.resolve(__dirname2, "../../config/drizzle.config.js");
|
|
145
145
|
if (!fs.existsSync(configPath)) {
|
|
146
146
|
console.error("[gen-db-schema] Error: drizzle config not found in CLI package");
|
|
147
147
|
process.exit(1);
|
|
148
148
|
}
|
|
149
|
+
const resolveDrizzleKitBin = () => {
|
|
150
|
+
const pkgJsonPath = require2.resolve("drizzle-kit/package.json");
|
|
151
|
+
const pkgJsonRaw = fs.readFileSync(pkgJsonPath, "utf8");
|
|
152
|
+
const pkgJson = JSON.parse(pkgJsonRaw);
|
|
153
|
+
const binField = pkgJson.bin;
|
|
154
|
+
const binRelPath = typeof binField === "string" ? binField : binField?.["drizzle-kit"];
|
|
155
|
+
if (!binRelPath) {
|
|
156
|
+
throw new Error("Unable to resolve drizzle-kit binary from package.json");
|
|
157
|
+
}
|
|
158
|
+
return path.resolve(path.dirname(pkgJsonPath), binRelPath);
|
|
159
|
+
};
|
|
149
160
|
try {
|
|
150
161
|
const env = {
|
|
151
162
|
...process.env,
|
|
152
163
|
__DRIZZLE_OUT_DIR__: OUT_DIR,
|
|
153
|
-
__DRIZZLE_SCHEMA_PATH__: SCHEMA_FILE
|
|
164
|
+
__DRIZZLE_SCHEMA_PATH__: SCHEMA_FILE,
|
|
165
|
+
DRIZZLE_SCHEMA_FILTER: options.schemaFilter ?? process.env.DRIZZLE_SCHEMA_FILTER,
|
|
166
|
+
DRIZZLE_TABLES_FILTER: options.tablesFilter ?? process.env.DRIZZLE_TABLES_FILTER
|
|
154
167
|
};
|
|
155
|
-
const
|
|
156
|
-
const spawnArgs = [
|
|
157
|
-
const result = spawnSync(
|
|
168
|
+
const drizzleKitBin = resolveDrizzleKitBin();
|
|
169
|
+
const spawnArgs = [drizzleKitBin, "introspect", "--config", configPath];
|
|
170
|
+
const result = spawnSync(process.execPath, spawnArgs, { stdio: "inherit", env, cwd: process.cwd() });
|
|
158
171
|
if (result.error) {
|
|
159
172
|
console.error("[gen-db-schema] Execution failed:", result.error);
|
|
160
173
|
throw result.error;
|