@stacksjs/buddy 0.70.134 → 0.70.136

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.
@@ -59,6 +59,13 @@ export declare function applyEnvironmentToSites(sites: Record<string, any>, envi
59
59
  * port declaration is left alone.
60
60
  */
61
61
  export declare function scrubLoopbackSitePortsForFirewall(tsCloudConfig: any): any;
62
+ /**
63
+ * Mail tenancy is an explicit deployment capability. The merged Stacks config
64
+ * always contains framework email defaults, so checking `emailConfig` alone
65
+ * would register the framework's own default domain for every application that
66
+ * does not provide `config/email.ts`.
67
+ */
68
+ export declare function hasExplicitEmailConfig(projectRoot?: unknown): boolean;
62
69
  /**
63
70
  * Everything is MERGE-based so a shared mail server keeps every other tenant's
64
71
  * domains, keys, users, and forward rules untouched. Best-effort — a hiccup is
@@ -12,7 +12,7 @@ import { Action } from "@stacksjs/enums";
12
12
  import { path as p } from "@stacksjs/path";
13
13
  import { ExitCode } from "@stacksjs/types";
14
14
  import { getErrorCode, getErrorMessage } from "@stacksjs/utils";
15
- import { ensureAppKey, ensureEnvIsSet, ensurePantryDependencies, ensurePantryInstalled } from "./setup";
15
+ import { ensureAppKey, ensureEnvIsSet } from "./setup";
16
16
  const log = {
17
17
  info: (...args) => console.log("\u2139", ...args),
18
18
  success: (...args) => console.log("\u2713", ...args),
@@ -92,8 +92,6 @@ async function findPantryMailBinary() {
92
92
  }
93
93
  async function ensureDeployPrerequisites(verbose = !1) {
94
94
  const cwd = p.projectPath();
95
- await ensurePantryInstalled();
96
- await ensurePantryDependencies(cwd);
97
95
  await ensureEnvIsSet({ cwd, verbose });
98
96
  await ensureAppKey(cwd);
99
97
  }
@@ -844,6 +842,9 @@ function resolveMailboxes(mailboxes, domain) {
844
842
  }
845
843
  return out;
846
844
  }
845
+ export function hasExplicitEmailConfig(projectRoot = p.projectPath()) {
846
+ return existsSync(join(projectRoot, "config", "email.ts"));
847
+ }
847
848
  async function resolveAttachTargetBox(owner, environment) {
848
849
  const token = process.env.HCLOUD_TOKEN;
849
850
  if (!token)
@@ -865,6 +866,8 @@ async function resolveAttachTargetBox(owner, environment) {
865
866
  return { serverId: chosen.id, serverName: chosen.name, publicIp: chosen.public_net?.ipv4?.ip };
866
867
  }
867
868
  export async function provisionMailTenant(ip, logger) {
869
+ if (!hasExplicitEmailConfig())
870
+ return null;
868
871
  const cfg = emailConfig || {};
869
872
  if (cfg.server?.enabled === !1)
870
873
  return null;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@stacksjs/buddy",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "0.70.134",
5
+ "version": "0.70.136",
6
6
  "description": "Meet Buddy. The Stacks runtime.",
7
7
  "author": "Chris Breuer",
8
8
  "contributors": [
@@ -92,51 +92,51 @@
92
92
  "prepublishOnly": "bun run build"
93
93
  },
94
94
  "dependencies": {
95
- "@stacksjs/actions": "^0.70.134",
96
- "@stacksjs/ai": "^0.70.134",
97
- "@stacksjs/alias": "^0.70.134",
98
- "@stacksjs/arrays": "^0.70.134",
99
- "@stacksjs/auth": "^0.70.134",
100
- "@stacksjs/build": "^0.70.134",
101
- "@stacksjs/cache": "^0.70.134",
102
- "@stacksjs/cli": "^0.70.134",
95
+ "@stacksjs/actions": "^0.70.136",
96
+ "@stacksjs/ai": "^0.70.136",
97
+ "@stacksjs/alias": "^0.70.136",
98
+ "@stacksjs/arrays": "^0.70.136",
99
+ "@stacksjs/auth": "^0.70.136",
100
+ "@stacksjs/build": "^0.70.136",
101
+ "@stacksjs/cache": "^0.70.136",
102
+ "@stacksjs/cli": "^0.70.136",
103
103
  "@stacksjs/clapp": "^0.2.10",
104
- "@stacksjs/cloud": "^0.70.134",
105
- "@stacksjs/collections": "^0.70.134",
106
- "@stacksjs/config": "^0.70.134",
107
- "@stacksjs/database": "^0.70.134",
108
- "@stacksjs/desktop": "^0.70.134",
109
- "@stacksjs/dns": "^0.70.134",
110
- "@stacksjs/email": "^0.70.134",
111
- "@stacksjs/enums": "^0.70.134",
112
- "@stacksjs/error-handling": "^0.70.134",
113
- "@stacksjs/events": "^0.70.134",
114
- "@stacksjs/git": "^0.70.134",
104
+ "@stacksjs/cloud": "^0.70.136",
105
+ "@stacksjs/collections": "^0.70.136",
106
+ "@stacksjs/config": "^0.70.136",
107
+ "@stacksjs/database": "^0.70.136",
108
+ "@stacksjs/desktop": "^0.70.136",
109
+ "@stacksjs/dns": "^0.70.136",
110
+ "@stacksjs/email": "^0.70.136",
111
+ "@stacksjs/enums": "^0.70.136",
112
+ "@stacksjs/error-handling": "^0.70.136",
113
+ "@stacksjs/events": "^0.70.136",
114
+ "@stacksjs/git": "^0.70.136",
115
115
  "@stacksjs/gitit": "^0.2.5",
116
- "@stacksjs/health": "^0.70.134",
116
+ "@stacksjs/health": "^0.70.136",
117
117
  "@stacksjs/dnsx": "^0.2.3",
118
118
  "@stacksjs/httx": "^0.1.10",
119
- "@stacksjs/lint": "^0.70.134",
120
- "@stacksjs/logging": "^0.70.134",
121
- "@stacksjs/notifications": "^0.70.134",
122
- "@stacksjs/objects": "^0.70.134",
123
- "@stacksjs/orm": "^0.70.134",
124
- "@stacksjs/path": "^0.70.134",
125
- "@stacksjs/payments": "^0.70.134",
126
- "@stacksjs/realtime": "^0.70.134",
127
- "@stacksjs/router": "^0.70.134",
119
+ "@stacksjs/lint": "^0.70.136",
120
+ "@stacksjs/logging": "^0.70.136",
121
+ "@stacksjs/notifications": "^0.70.136",
122
+ "@stacksjs/objects": "^0.70.136",
123
+ "@stacksjs/orm": "^0.70.136",
124
+ "@stacksjs/path": "^0.70.136",
125
+ "@stacksjs/payments": "^0.70.136",
126
+ "@stacksjs/realtime": "^0.70.136",
127
+ "@stacksjs/router": "^0.70.136",
128
128
  "@stacksjs/rpx": "^0.11.29",
129
- "@stacksjs/search-engine": "^0.70.134",
130
- "@stacksjs/security": "^0.70.134",
131
- "@stacksjs/server": "^0.70.134",
132
- "@stacksjs/storage": "^0.70.134",
133
- "@stacksjs/strings": "^0.70.134",
134
- "@stacksjs/testing": "^0.70.134",
135
- "@stacksjs/tunnel": "^0.70.134",
136
- "@stacksjs/types": "^0.70.134",
137
- "@stacksjs/ui": "^0.70.134",
138
- "@stacksjs/utils": "^0.70.134",
139
- "@stacksjs/validation": "^0.70.134",
129
+ "@stacksjs/search-engine": "^0.70.136",
130
+ "@stacksjs/security": "^0.70.136",
131
+ "@stacksjs/server": "^0.70.136",
132
+ "@stacksjs/storage": "^0.70.136",
133
+ "@stacksjs/strings": "^0.70.136",
134
+ "@stacksjs/testing": "^0.70.136",
135
+ "@stacksjs/tunnel": "^0.70.136",
136
+ "@stacksjs/types": "^0.70.136",
137
+ "@stacksjs/ui": "^0.70.136",
138
+ "@stacksjs/utils": "^0.70.136",
139
+ "@stacksjs/validation": "^0.70.136",
140
140
  "@stacksjs/ts-cloud": "^0.7.47"
141
141
  },
142
142
  "devDependencies": {