@protobase/cli 0.16.1 → 0.17.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/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  //#region package.json
2
- var version = "0.16.1";
2
+ var version = "0.17.0";
3
3
  //#endregion
4
4
  export { version };
package/dist/serve/env.js CHANGED
@@ -1,18 +1,23 @@
1
1
  //#region src/serve/env.ts
2
2
  const defaultPort = 8787;
3
+ const readBoolean = (env, name, fallback) => {
4
+ const value = env[name];
5
+ if (!value) return fallback;
6
+ if (value !== "true" && value !== "false") throw new Error(`${name} must be true or false, not "${value}"`);
7
+ return value === "true";
8
+ };
3
9
  const readServeEnv = (env) => {
4
10
  const port = env.PORT ? Number(env.PORT) : defaultPort;
5
11
  if (!Number.isInteger(port) || port < 0 || port > 65535) throw new Error(`PORT must be a port number, not "${env.PORT}"`);
6
12
  const minutes = env.PROTOBASE_FILES_CLEANUP_MINUTES ? Number(env.PROTOBASE_FILES_CLEANUP_MINUTES) : 60;
7
13
  if (!Number.isInteger(minutes) || minutes < 0) throw new Error(`PROTOBASE_FILES_CLEANUP_MINUTES must be a whole number of minutes, not "${env.PROTOBASE_FILES_CLEANUP_MINUTES}"`);
8
- const jobs = env.PROTOBASE_JOBS ?? "on";
9
- if (jobs !== "on" && jobs !== "off") throw new Error(`PROTOBASE_JOBS must be on or off, not "${jobs}"`);
10
14
  return {
11
15
  port,
12
16
  databaseUrl: env.DATABASE_URL || void 0,
13
- requestLog: Boolean(env.REQUEST_LOG),
17
+ requestLog: readBoolean(env, "REQUEST_LOG", false),
14
18
  filesCleanupMinutes: minutes,
15
- runJobs: jobs === "on",
19
+ runJobs: readBoolean(env, "PROTOBASE_JOBS", true),
20
+ startupChecks: readBoolean(env, "PROTOBASE_STARTUP_CHECKS", true),
16
21
  ...env.PROTOBASE_JOBS_DRAIN_TOKEN && { drainToken: env.PROTOBASE_JOBS_DRAIN_TOKEN }
17
22
  };
18
23
  };
@@ -16,15 +16,15 @@ const listen = (server, port) => new Promise((resolve, reject) => {
16
16
  const closeServer = (server) => new Promise((resolve, reject) => server.close((error) => error ? reject(error) : resolve()));
17
17
  const startServe = async ({ project, env, createDb = (url) => createPgDb(pg, url), site, ui, reporter }) => {
18
18
  if (!project.db && !env.databaseUrl) throw new Error("No database: set DATABASE_URL or export `db` from protobase.config.ts");
19
- if (project.auth) await checkAuthSchema(project.auth);
19
+ if (env.startupChecks && project.auth) await checkAuthSchema(project.auth);
20
20
  const ownDb = project.db ? void 0 : createDb(env.databaseUrl);
21
21
  const db = project.db ?? ownDb;
22
22
  const { resources } = configExports(project.config);
23
23
  const startJobsAndListen = async () => {
24
- await checkChanges(db, resources.map((resource) => resource.toModel()), project.events);
25
- if (project.webhooks) await checkWebhooksSchema(db, project.webhooks);
24
+ if (env.startupChecks) await checkChanges(db, resources.map((resource) => resource.toModel()), project.events);
25
+ if (env.startupChecks && project.webhooks) await checkWebhooksSchema(db, project.webhooks);
26
26
  const { admin, jobs: definitions } = projectAdmin(project, project.config, db, ui, reporter);
27
- if (definitions.length > 0) await checkJobsSchema(db);
27
+ if (env.startupChecks && definitions.length > 0) await checkJobsSchema(db);
28
28
  const jobs = definitions.length > 0 ? await startJobs({
29
29
  db,
30
30
  jobs: definitions,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@protobase/cli",
3
- "version": "0.16.1",
3
+ "version": "0.17.0",
4
4
  "description": "The protobase command: scaffold, doctor, dev, build and serve a Protobase project.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -34,11 +34,11 @@
34
34
  "dependencies": {
35
35
  "@hono/node-server": "^2.1.3",
36
36
  "@hono/vite-dev-server": "^0.26.1",
37
- "@protobase/layout": "0.16.1",
38
- "@protobase/query": "0.16.1",
39
- "@protobase/schema": "0.16.1",
40
- "@protobase/server": "0.16.1",
41
- "@protobase/ui": "0.16.1",
37
+ "@protobase/layout": "0.17.0",
38
+ "@protobase/query": "0.17.0",
39
+ "@protobase/schema": "0.17.0",
40
+ "@protobase/server": "0.17.0",
41
+ "@protobase/ui": "0.17.0",
42
42
  "@react-email/render": "^2.1.0",
43
43
  "@scalar/hono-api-reference": "^0.12.10",
44
44
  "@tailwindcss/vite": "^4.3.3",