@vxil/cli 0.9.0 → 0.10.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @vxil/cli
2
2
 
3
- The [Vxil](https://vxil.com) CLI — config-as-code for backend building blocks you enable in one line. The package is `@vxil/cli` and it installs the `vxil` command — the bare `vxil` name on npm is blocked, so always install the scoped package.
3
+ The [Vxil](https://vxil.com) CLI — config-as-code for backend building blocks you enable in one line. The package is `@vxil/cli` and it installs the `vxil` command — the bare `vxil` name on npm is blocked, so always install the scoped package. It needs Node.js 24 or newer.
4
4
 
5
5
  ```bash
6
6
  npx @vxil/cli quickstart # create a tenant + scaffold vxil.config.ts
package/dist/vxil.js CHANGED
@@ -4416,7 +4416,8 @@ function lowerAllTriggerBindings(def, name) {
4416
4416
  }
4417
4417
  var CONFIG_FILENAMES = ["vxil.config.ts", "vxil.config.mjs", "vxil.config.js"];
4418
4418
  var VXIL_CONFIG_PKG_VERSION = "0.6.0";
4419
- var VXIL_SDK_PKG_VERSION = "0.9.0";
4419
+ var VXIL_SDK_PKG_VERSION = "0.10.0";
4420
+ var VXIL_CLI_PKG_VERSION = "0.10.0";
4420
4421
  function ensureScaffoldPackageJson(cwd, opts = {}) {
4421
4422
  const file = resolve(cwd, "package.json");
4422
4423
  const wanted = {
@@ -7053,6 +7054,10 @@ function scopesForFunctionAudience(aud, scopes) {
7053
7054
  }
7054
7055
  var TENANT_SLUG_RE = /^[a-z0-9][a-z0-9-]{1,62}$/;
7055
7056
  var FUNCTION_SOURCE_MAX_BYTES = 512e3;
7057
+ var FUNCTIONS_RUNTIME = {
7058
+ compatibilityDate: "2025-09-01",
7059
+ compatibilityFlags: []
7060
+ };
7056
7061
 
7057
7062
  // ../runtime/src/hash.ts
7058
7063
  async function sha256Hex(input) {
@@ -7680,7 +7685,10 @@ async function bundleFunction(entryPath, opts = {}) {
7680
7685
  format: "esm",
7681
7686
  platform: "browser",
7682
7687
  // Workers runtime (Web-standard globals; no node builtins)
7683
- target: "es2022",
7688
+ // The runtime runs ES2024 natively (2026-09-25: was es2022 — every
7689
+ // template function bundled byte-identical at both, so nothing redeployed;
7690
+ // a function using post-ES2022 syntax now ships it as written).
7691
+ target: "es2024",
7684
7692
  write: false,
7685
7693
  legalComments: "none",
7686
7694
  minify: min,
@@ -19914,6 +19922,12 @@ function listTemplates() {
19914
19922
  }
19915
19923
  try {
19916
19924
  switch (cmd) {
19925
+ case "--version":
19926
+ case "-v":
19927
+ case "version": {
19928
+ console.log(VXIL_CLI_PKG_VERSION);
19929
+ break;
19930
+ }
19917
19931
  case "init": {
19918
19932
  initProject();
19919
19933
  break;
@@ -21279,7 +21293,7 @@ export default defineConfig(${JSON.stringify({ features: featBlocks, cms: { coll
21279
21293
  }
21280
21294
  default:
21281
21295
  console.log(`vxil \u2014 a Supabase-grade code-first CLI for the whole platform
21282
- init [--template <id>] \xB7 templates \xB7 try (keyless sandbox) \xB7 quickstart [--features a,b] [--invite <code>] [--env <label>] [--dev [--ttl <h>]] [--no-push] \xB7 login \xB7 link <slug> [--key <k> [--tenant <id>]] [--as dev|<name>] [--env <label>] [--mint]
21296
+ --version \xB7 init [--template <id>] \xB7 templates \xB7 try (keyless sandbox) \xB7 quickstart [--features a,b] [--invite <code>] [--env <label>] [--dev [--ttl <h>]] [--no-push] \xB7 login \xB7 link <slug> [--key <k> [--tenant <id>]] [--as dev|<name>] [--env <label>] [--mint]
21283
21297
  keys mint --name <n> --scopes <a,b,c> [--env live|test] [--store] \xB7 keys list \xB7 keys revoke <key_id> [--yes] \u2014 a NARROW scoped key for a server (shown once; needs a vxil login session)
21284
21298
  keys perms <key_id> [--allow <a,b> | --clear-allow] [--deny <c> | --clear-deny] \u2014 a key's MCP tool permissions (admin+)
21285
21299
  account [show] \xB7 account set [--locale <code>] [--display-name <n>] \xB7 account password \xB7 logout \xB7 invites [list] \xB7 invites generate [--count <n>] \xB7 invites accept <token|url>
@@ -21919,8 +21933,9 @@ Type ${t.tenantSlug ? `the tenant slug '${t.tenantSlug}'` : "'yes'"} to run it a
21919
21933
  });
21920
21934
  const mfOptions = (source) => ({
21921
21935
  modules: [{ type: "ESModule", path: "fn.mjs", contents: source }],
21922
- compatibilityDate: "2025-09-01",
21923
- // parity with the deploy pipeline's metadata
21936
+ // the deploy pipeline's runtime settings (@vxil/types FUNCTIONS_RUNTIME)
21937
+ compatibilityDate: FUNCTIONS_RUNTIME.compatibilityDate,
21938
+ compatibilityFlags: [...FUNCTIONS_RUNTIME.compatibilityFlags],
21924
21939
  outboundService: (req) => outbound(req)
21925
21940
  });
21926
21941
  const first = await bundleFunction(entry, { projectRoot: cwd, minify: false });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vxil/cli",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "private": false,
5
5
  "description": "The vxil CLI — init, quickstart, push, gen, secrets, keys, migrate, doctor, diff, functions, payments; installs the `vxil` command (npm i -g @vxil/cli).",
6
6
  "license": "MIT",
@@ -26,7 +26,7 @@
26
26
  "dist"
27
27
  ],
28
28
  "engines": {
29
- "node": ">=22"
29
+ "node": ">=24"
30
30
  },
31
31
  "publishConfig": {
32
32
  "access": "public"
@@ -47,12 +47,12 @@
47
47
  "devDependencies": {
48
48
  "miniflare": "^4.20260611.0",
49
49
  "@vxil/config": "0.6.0",
50
+ "@vxil/feature-configs": "0.6.0",
50
51
  "@vxil/types": "0.0.1",
51
- "@vxil/runtime": "0.0.1",
52
- "@vxil/feature-configs": "0.6.0"
52
+ "@vxil/runtime": "0.0.1"
53
53
  },
54
54
  "scripts": {
55
- "build": "pnpm --filter @vxil/feature-configs run build && pnpm --filter @vxil/config run build && esbuild bin/vxil.ts --bundle --platform=node --format=esm --target=node22 --outfile=dist/vxil.js --banner:js='#!/usr/bin/env node' --external:esbuild --external:miniflare && esbuild src/config-entry.ts --bundle --platform=node --format=esm --target=node22 --outfile=dist/config.js && pnpm exec tsx scripts/build-config-dts.ts",
55
+ "build": "pnpm --filter @vxil/feature-configs run build && pnpm --filter @vxil/config run build && esbuild bin/vxil.ts --bundle --platform=node --format=esm --target=node24 --outfile=dist/vxil.js --banner:js='#!/usr/bin/env node' --external:esbuild --external:miniflare && esbuild src/config-entry.ts --bundle --platform=node --format=esm --target=node24 --outfile=dist/config.js && pnpm exec tsx scripts/build-config-dts.ts",
56
56
  "postbuild": "chmod +x dist/vxil.js"
57
57
  }
58
58
  }