@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.
@@ -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 schemaFilter = parsedUrl.searchParams.get("schema")?.split(",") ?? [];
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
- async run(argv = process.argv) {
114
- await this.program.parseAsync(argv);
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.join(__dirname2, "config", "drizzle.config.js");
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 args = process.argv.slice(3).filter((arg) => !arg.startsWith("--enable-nest-module-generate"));
156
- const spawnArgs = ["--yes", "drizzle-kit", "introspect", "--config", configPath, ...args];
157
- const result = spawnSync("npx", spawnArgs, { stdio: "inherit", env });
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/fullstack-cli",
3
- "version": "1.1.12-alpha.6",
3
+ "version": "1.1.12-alpha.7",
4
4
  "description": "CLI tool for fullstack template management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",