@hs-x/cli 0.3.7 → 0.4.1
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 +120 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +38 -10
- package/dist/cli/index.js.map +1 -1
- package/dist/command-catalog.d.ts +2 -2
- package/dist/command-catalog.d.ts.map +1 -1
- package/dist/command-catalog.js +1 -0
- package/dist/command-catalog.js.map +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +268 -16
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +177 -20
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/control-plane-read.d.ts +28 -0
- package/dist/commands/control-plane-read.d.ts.map +1 -1
- package/dist/commands/control-plane-read.js +134 -28
- package/dist/commands/control-plane-read.js.map +1 -1
- package/dist/commands/deploy.d.ts +5 -0
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +605 -102
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.d.ts +19 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +1335 -83
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +27 -10
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +145 -35
- package/dist/commands/help-command.js.map +1 -1
- package/dist/commands/project.d.ts +107 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +586 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +15 -5
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/validate.d.ts +19 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +26 -7
- package/dist/commands/validate.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/dev/account-selection.d.ts +16 -0
- package/dist/dev/account-selection.d.ts.map +1 -0
- package/dist/dev/account-selection.js +22 -0
- package/dist/dev/account-selection.js.map +1 -0
- package/dist/dev/browser-log-bridge.d.ts +32 -0
- package/dist/dev/browser-log-bridge.d.ts.map +1 -0
- package/dist/dev/browser-log-bridge.js +156 -0
- package/dist/dev/browser-log-bridge.js.map +1 -0
- package/dist/dev/compat-shim.d.ts +3 -3
- package/dist/dev/compat-shim.d.ts.map +1 -1
- package/dist/dev/compat-shim.js +7 -6
- package/dist/dev/compat-shim.js.map +1 -1
- package/dist/dev/component-selection.d.ts +25 -0
- package/dist/dev/component-selection.d.ts.map +1 -0
- package/dist/dev/component-selection.js +79 -0
- package/dist/dev/component-selection.js.map +1 -0
- package/dist/dev/console-capture.d.ts +18 -0
- package/dist/dev/console-capture.d.ts.map +1 -0
- package/dist/dev/console-capture.js +57 -0
- package/dist/dev/console-capture.js.map +1 -0
- package/dist/dev/event-bus.d.ts +1 -1
- package/dist/dev/event-bus.js +1 -1
- package/dist/dev/frontend-log-relay.d.ts +27 -0
- package/dist/dev/frontend-log-relay.d.ts.map +1 -0
- package/dist/dev/frontend-log-relay.js +102 -0
- package/dist/dev/frontend-log-relay.js.map +1 -0
- package/dist/dev/keyboard.d.ts +1 -0
- package/dist/dev/keyboard.d.ts.map +1 -1
- package/dist/dev/keyboard.js +9 -3
- package/dist/dev/keyboard.js.map +1 -1
- package/dist/dev/log-server.js +3 -0
- package/dist/dev/log-server.js.map +1 -1
- package/dist/dev/managed-session.d.ts +124 -0
- package/dist/dev/managed-session.d.ts.map +1 -0
- package/dist/dev/managed-session.js +597 -0
- package/dist/dev/managed-session.js.map +1 -0
- package/dist/dev/port-process.d.ts +21 -0
- package/dist/dev/port-process.d.ts.map +1 -0
- package/dist/dev/port-process.js +145 -0
- package/dist/dev/port-process.js.map +1 -0
- package/dist/dev/session-manager.d.ts +11 -1
- package/dist/dev/session-manager.d.ts.map +1 -1
- package/dist/dev/session-manager.js +62 -12
- package/dist/dev/session-manager.js.map +1 -1
- package/dist/dev/stream-event-format.d.ts +14 -0
- package/dist/dev/stream-event-format.d.ts.map +1 -0
- package/dist/dev/stream-event-format.js +262 -0
- package/dist/dev/stream-event-format.js.map +1 -0
- package/dist/dev/stream-filter.d.ts.map +1 -1
- package/dist/dev/stream-filter.js +16 -1
- package/dist/dev/stream-filter.js.map +1 -1
- package/dist/dev/stream-renderer.d.ts +4 -2
- package/dist/dev/stream-renderer.d.ts.map +1 -1
- package/dist/dev/stream-renderer.js +224 -84
- package/dist/dev/stream-renderer.js.map +1 -1
- package/dist/errors-registry.d.ts.map +1 -1
- package/dist/errors-registry.js +213 -0
- package/dist/errors-registry.js.map +1 -1
- package/dist/hubspot-app-logs.d.ts +38 -5
- package/dist/hubspot-app-logs.d.ts.map +1 -1
- package/dist/hubspot-app-logs.js +88 -17
- package/dist/hubspot-app-logs.js.map +1 -1
- package/dist/hubspot-auth.d.ts +19 -1
- package/dist/hubspot-auth.d.ts.map +1 -1
- package/dist/hubspot-auth.js +240 -85
- package/dist/hubspot-auth.js.map +1 -1
- package/dist/hubspot-developer-client.d.ts +87 -0
- package/dist/hubspot-developer-client.d.ts.map +1 -1
- package/dist/hubspot-developer-client.js +232 -1
- package/dist/hubspot-developer-client.js.map +1 -1
- package/dist/hubspot-project-archive.d.ts +21 -0
- package/dist/hubspot-project-archive.d.ts.map +1 -0
- package/dist/hubspot-project-archive.js +281 -0
- package/dist/hubspot-project-archive.js.map +1 -0
- package/dist/hubspot-project.d.ts +32 -0
- package/dist/hubspot-project.d.ts.map +1 -0
- package/dist/hubspot-project.js +269 -0
- package/dist/hubspot-project.js.map +1 -0
- package/dist/local-project-picker.js +1 -1
- package/dist/local-project-picker.js.map +1 -1
- package/dist/output-context.js +1 -1
- package/dist/output-context.js.map +1 -1
- package/dist/services/hubspot-dev-client.js +3 -0
- package/dist/services/hubspot-dev-client.js.map +1 -1
- package/package.json +14 -12
|
@@ -3,6 +3,225 @@ import { HttpClientRequest, Schema, schemas } from '@hs-x/types';
|
|
|
3
3
|
import { controlPlaneAuthHeaders } from './control-plane-fetch.js';
|
|
4
4
|
import { executeCliHttp } from './effect-http.js';
|
|
5
5
|
import { discoverHubSpotAccounts } from './hubspot-auth.js';
|
|
6
|
+
export class DirectHubSpotAccountResolutionError extends Error {
|
|
7
|
+
code;
|
|
8
|
+
hint;
|
|
9
|
+
name = 'DirectHubSpotAccountResolutionError';
|
|
10
|
+
constructor(code, message, hint) {
|
|
11
|
+
super(`${message} ${hint}`);
|
|
12
|
+
this.code = code;
|
|
13
|
+
this.hint = hint;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const directCredentials = new WeakMap();
|
|
17
|
+
/**
|
|
18
|
+
* Resolve a HubSpot developer account without contacting the HS-X control
|
|
19
|
+
* plane. Flags win over environment variables, which win over the account
|
|
20
|
+
* selected by `--account`, `.hsaccount` / `hs account use`, the HubSpot CLI
|
|
21
|
+
* default, or a sole configured account.
|
|
22
|
+
*
|
|
23
|
+
* The returned object is always safe to render. It reports whether deploy auth
|
|
24
|
+
* is ready but never exposes the credential itself.
|
|
25
|
+
*/
|
|
26
|
+
export async function resolveDirectHubSpotAccount({ argv, cwd = process.cwd(), env = process.env, home, }) {
|
|
27
|
+
const useEnvironmentConfig = hasFlag(argv, '--use-env');
|
|
28
|
+
const configPath = resolveFlag(argv, '--config');
|
|
29
|
+
const flagDeveloperAccountId = resolveFlag(argv, '--developer-account-id');
|
|
30
|
+
const envDeveloperAccountId = nonEmpty(env.HSX_HUBSPOT_DEVELOPER_ACCOUNT_ID) ??
|
|
31
|
+
(useEnvironmentConfig ? nonEmpty(env.HUBSPOT_ACCOUNT_ID) : undefined);
|
|
32
|
+
const requestedAccount = resolveFlag(argv, '--account');
|
|
33
|
+
let developerAccountId = flagDeveloperAccountId ?? envDeveloperAccountId;
|
|
34
|
+
const flagPersonalAccessKey = resolveFlag(argv, '--pak');
|
|
35
|
+
const envPersonalAccessKey = nonEmpty(env.HSX_HUBSPOT_PAK) ??
|
|
36
|
+
(useEnvironmentConfig ? nonEmpty(env.HUBSPOT_PERSONAL_ACCESS_KEY) : undefined);
|
|
37
|
+
let personalAccessKey = flagPersonalAccessKey ?? envPersonalAccessKey;
|
|
38
|
+
const flagDeveloperApiKey = resolveFlag(argv, '--developer-api-key');
|
|
39
|
+
const envDeveloperApiKey = nonEmpty(env.HSX_HUBSPOT_DEVELOPER_API_KEY) ??
|
|
40
|
+
(useEnvironmentConfig ? nonEmpty(env.HUBSPOT_DEVELOPER_API_KEY) : undefined);
|
|
41
|
+
let developerApiKey = flagDeveloperApiKey ?? envDeveloperApiKey;
|
|
42
|
+
// An explicit account id outranks the ambient account identity, but ambient
|
|
43
|
+
// credentials are scoped to that ambient identity. If the ids differ, only
|
|
44
|
+
// an explicitly supplied credential or the exact configured account may be
|
|
45
|
+
// used for the selected target.
|
|
46
|
+
if (flagDeveloperAccountId &&
|
|
47
|
+
envDeveloperAccountId &&
|
|
48
|
+
flagDeveloperAccountId !== envDeveloperAccountId) {
|
|
49
|
+
if (!flagPersonalAccessKey)
|
|
50
|
+
personalAccessKey = undefined;
|
|
51
|
+
if (!flagDeveloperApiKey)
|
|
52
|
+
developerApiKey = undefined;
|
|
53
|
+
}
|
|
54
|
+
let discovered;
|
|
55
|
+
if (configPath || requestedAccount || !developerAccountId || !personalAccessKey) {
|
|
56
|
+
try {
|
|
57
|
+
discovered = await discoverHubSpotAccounts(cwd, {
|
|
58
|
+
...(home ? { home } : {}),
|
|
59
|
+
...(configPath ? { configPath } : {}),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (cause) {
|
|
63
|
+
throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_ACCOUNT_CONFIG', `Unable to read the active HubSpot CLI account configuration: ${errorMessage(cause)}`, 'Fix the HubSpot CLI configuration or select an account with --developer-account-id and provide --pak.');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const requestedMatch = requestedAccount
|
|
67
|
+
? discovered?.accounts.find((candidate) => candidate.name === requestedAccount || String(candidate.portalId) === requestedAccount)
|
|
68
|
+
: undefined;
|
|
69
|
+
if (requestedAccount && !requestedMatch) {
|
|
70
|
+
const available = discovered?.accounts.length
|
|
71
|
+
? ` Available accounts: ${discovered.accounts
|
|
72
|
+
.map((account) => `${account.name} (${account.portalId})`)
|
|
73
|
+
.join(', ')}.`
|
|
74
|
+
: '';
|
|
75
|
+
throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_ACCOUNT_NOT_FOUND', `HubSpot account "${requestedAccount}" was not found.${available}`, 'Pass an account name/id from `hs account list`, or authenticate it with `hs account auth`.');
|
|
76
|
+
}
|
|
77
|
+
if (requestedMatch &&
|
|
78
|
+
flagDeveloperAccountId &&
|
|
79
|
+
String(requestedMatch.portalId) !== flagDeveloperAccountId) {
|
|
80
|
+
throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_ACCOUNT_CONFLICT', `--account selected ${requestedMatch.name} (${requestedMatch.portalId}), but --developer-account-id selected ${flagDeveloperAccountId}.`, 'Remove one selector or make both refer to the same HubSpot developer account.');
|
|
81
|
+
}
|
|
82
|
+
if (requestedMatch && !flagDeveloperAccountId) {
|
|
83
|
+
const requestedId = String(requestedMatch.portalId);
|
|
84
|
+
developerAccountId = requestedId;
|
|
85
|
+
// --account is an explicit one-run identity override. Prefer that exact
|
|
86
|
+
// config account's PAK; only reuse ambient credential material when its
|
|
87
|
+
// identity is absent or agrees. Never pair the selected account with a PAK
|
|
88
|
+
// known to belong to a different ambient account.
|
|
89
|
+
if (!flagPersonalAccessKey) {
|
|
90
|
+
personalAccessKey =
|
|
91
|
+
requestedMatch.personalAccessKey ??
|
|
92
|
+
(!envDeveloperAccountId || envDeveloperAccountId === requestedId
|
|
93
|
+
? envPersonalAccessKey
|
|
94
|
+
: undefined);
|
|
95
|
+
}
|
|
96
|
+
if (!flagDeveloperApiKey && envDeveloperAccountId && envDeveloperAccountId !== requestedId) {
|
|
97
|
+
developerApiKey = undefined;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const idMatch = developerAccountId
|
|
101
|
+
? discovered?.accounts.find((candidate) => String(candidate.portalId) === developerAccountId)
|
|
102
|
+
: undefined;
|
|
103
|
+
if (configPath && developerAccountId && !idMatch) {
|
|
104
|
+
const available = discovered?.accounts.length
|
|
105
|
+
? ` Available accounts: ${discovered.accounts
|
|
106
|
+
.map((account) => `${account.name} (${account.portalId})`)
|
|
107
|
+
.join(', ')}.`
|
|
108
|
+
: '';
|
|
109
|
+
throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_ACCOUNT_NOT_FOUND', `HubSpot account "${developerAccountId}" was not found in explicit config ${configPath}.${available}`, 'Select an account present in that file or pass a different --config path.');
|
|
110
|
+
}
|
|
111
|
+
const defaultMatch = discovered?.accounts.find((candidate) => candidate.isDefault);
|
|
112
|
+
const soleMatch = discovered?.accounts.length === 1 ? discovered.accounts[0] : undefined;
|
|
113
|
+
// Once an explicit flag/env id exists, only that same configured account may
|
|
114
|
+
// supply its PAK. Falling back to an unrelated default would make a plan name
|
|
115
|
+
// one account while the request authenticates as another.
|
|
116
|
+
const selectedAccount = requestedMatch ?? (developerAccountId ? idMatch : (defaultMatch ?? soleMatch));
|
|
117
|
+
developerAccountId ??= selectedAccount ? String(selectedAccount.portalId) : undefined;
|
|
118
|
+
personalAccessKey ??= selectedAccount?.personalAccessKey;
|
|
119
|
+
if (!developerAccountId) {
|
|
120
|
+
throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_ACCOUNT_REQUIRED', 'No HubSpot developer account could be selected.', 'Pass --account <name-or-id> or --developer-account-id <id>, run `hs account use`, or authenticate with `hs account auth`.');
|
|
121
|
+
}
|
|
122
|
+
const source = flagDeveloperAccountId
|
|
123
|
+
? 'flags'
|
|
124
|
+
: requestedMatch
|
|
125
|
+
? 'hubspot-cli'
|
|
126
|
+
: envDeveloperAccountId
|
|
127
|
+
? 'environment'
|
|
128
|
+
: 'hubspot-cli';
|
|
129
|
+
const selectedBy = flagDeveloperAccountId
|
|
130
|
+
? '--developer-account-id'
|
|
131
|
+
: requestedMatch
|
|
132
|
+
? '--account'
|
|
133
|
+
: envDeveloperAccountId
|
|
134
|
+
? 'environment'
|
|
135
|
+
: defaultMatch
|
|
136
|
+
? 'default'
|
|
137
|
+
: 'sole-account';
|
|
138
|
+
const namedAccount = discovered?.accounts.find((account) => String(account.portalId) === developerAccountId) ??
|
|
139
|
+
selectedAccount;
|
|
140
|
+
const resolution = {
|
|
141
|
+
account: {
|
|
142
|
+
id: developerAccountId,
|
|
143
|
+
name: namedAccount && String(namedAccount.portalId) === developerAccountId
|
|
144
|
+
? namedAccount.name
|
|
145
|
+
: undefined,
|
|
146
|
+
source,
|
|
147
|
+
selectedBy,
|
|
148
|
+
authReady: Boolean(personalAccessKey),
|
|
149
|
+
...(discovered?.defaultSource || discovered?.source
|
|
150
|
+
? { configSource: discovered.defaultSource ?? discovered?.source }
|
|
151
|
+
: {}),
|
|
152
|
+
...(discovered?.defaultSource ? { defaultSource: discovered.defaultSource } : {}),
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
directCredentials.set(resolution, { personalAccessKey, developerApiKey });
|
|
156
|
+
return resolution;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Resolve render-safe metadata and capture its credential-bound client factory
|
|
160
|
+
* in one pass. Resolution itself succeeds with `authReady: false`; client
|
|
161
|
+
* construction preserves the existing typed authentication failure.
|
|
162
|
+
*/
|
|
163
|
+
export async function resolveDirectHubSpotContext(input) {
|
|
164
|
+
const resolution = await resolveDirectHubSpotAccount(input);
|
|
165
|
+
return {
|
|
166
|
+
account: resolution.account,
|
|
167
|
+
createClient: () => createDirectHubSpotDeveloperClientFromResolution(resolution),
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
function createDirectHubSpotDeveloperClientFromResolution(resolution) {
|
|
171
|
+
const credentials = directCredentials.get(resolution);
|
|
172
|
+
const personalAccessKey = credentials?.personalAccessKey;
|
|
173
|
+
if (!personalAccessKey) {
|
|
174
|
+
throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_AUTH_REQUIRED', `HubSpot account ${resolution.account.name ?? resolution.account.id} does not have deploy authentication available.`, 'Pass --pak, set HSX_HUBSPOT_PAK, or authenticate the account with `hs account auth`.');
|
|
175
|
+
}
|
|
176
|
+
return createHubSpotDeveloperClient({
|
|
177
|
+
developerAccountId: resolution.account.id,
|
|
178
|
+
personalAccessKey,
|
|
179
|
+
...(credentials.developerApiKey ? { developerApiKey: credentials.developerApiKey } : {}),
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Construct a HubSpot developer client from flags/env/the official HubSpot CLI
|
|
184
|
+
* config only. Unlike the deploy client below, this path never requests an
|
|
185
|
+
* HS-X control-plane lease, even when stale HSX_CONTROL_PLANE_URL or
|
|
186
|
+
* HSX_ACCOUNT_ID variables exist in the shell.
|
|
187
|
+
*/
|
|
188
|
+
export async function createDirectHubSpotDeveloperClient(input) {
|
|
189
|
+
const context = await resolveDirectHubSpotContext(input);
|
|
190
|
+
return context.createClient();
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Run an account-scoped local-dev-lib operation with the same safely resolved
|
|
194
|
+
* credentials as the direct developer client. Credential material never
|
|
195
|
+
* leaves this module or reaches the callback; the callback receives only
|
|
196
|
+
* render-safe account metadata.
|
|
197
|
+
*/
|
|
198
|
+
export async function withDirectHubSpotEnvironment(input, operation) {
|
|
199
|
+
const resolution = await resolveDirectHubSpotAccount(input);
|
|
200
|
+
const credentials = directCredentials.get(resolution);
|
|
201
|
+
if (!credentials?.personalAccessKey) {
|
|
202
|
+
throw new DirectHubSpotAccountResolutionError('HSX_E_DIRECT_HUBSPOT_AUTH_REQUIRED', `HubSpot account ${resolution.account.name ?? resolution.account.id} does not have authentication available.`, 'Pass --pak, set HSX_HUBSPOT_PAK, or authenticate the account with `hs account auth`.');
|
|
203
|
+
}
|
|
204
|
+
const priorAccountId = process.env.HUBSPOT_ACCOUNT_ID;
|
|
205
|
+
const priorPak = process.env.HUBSPOT_PERSONAL_ACCESS_KEY;
|
|
206
|
+
const priorUseEnv = process.env.USE_ENVIRONMENT_HUBSPOT_CONFIG;
|
|
207
|
+
process.env.HUBSPOT_ACCOUNT_ID = resolution.account.id;
|
|
208
|
+
process.env.HUBSPOT_PERSONAL_ACCESS_KEY = credentials.personalAccessKey;
|
|
209
|
+
process.env.USE_ENVIRONMENT_HUBSPOT_CONFIG = 'true';
|
|
210
|
+
try {
|
|
211
|
+
return await operation(resolution.account);
|
|
212
|
+
}
|
|
213
|
+
finally {
|
|
214
|
+
restoreProcessEnv('HUBSPOT_ACCOUNT_ID', priorAccountId);
|
|
215
|
+
restoreProcessEnv('HUBSPOT_PERSONAL_ACCESS_KEY', priorPak);
|
|
216
|
+
restoreProcessEnv('USE_ENVIRONMENT_HUBSPOT_CONFIG', priorUseEnv);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
function restoreProcessEnv(name, value) {
|
|
220
|
+
if (value === undefined)
|
|
221
|
+
delete process.env[name];
|
|
222
|
+
else
|
|
223
|
+
process.env[name] = value;
|
|
224
|
+
}
|
|
6
225
|
export async function createDeployHubSpotDeveloperClient({ argv, local, allowedOperations, cwd = process.cwd(), }) {
|
|
7
226
|
if (local) {
|
|
8
227
|
if (hasFlag(argv, '--control-plane-url') || hasFlag(argv, '--account-id')) {
|
|
@@ -173,7 +392,10 @@ function createLocalHubSpotDeployAdapter() {
|
|
|
173
392
|
return { buildId: deterministicNumber(`build:${projectName}`, 10_000) };
|
|
174
393
|
},
|
|
175
394
|
async deployProjectV2(_accountId, projectName, buildId) {
|
|
176
|
-
return {
|
|
395
|
+
return {
|
|
396
|
+
buildResultType: 'DEPLOY_QUEUED',
|
|
397
|
+
id: deterministicNumber(`deploy:${projectName}:${buildId}`, 10_000),
|
|
398
|
+
};
|
|
177
399
|
},
|
|
178
400
|
async getBuildStatus(_accountId, projectName, buildId) {
|
|
179
401
|
return { projectName, buildId, status: 'SUCCESS' };
|
|
@@ -184,6 +406,9 @@ function createLocalHubSpotDeployAdapter() {
|
|
|
184
406
|
async fetchProject(_accountId, projectName) {
|
|
185
407
|
return { id: deterministicNumber(`project:${projectName}`, 10_000), name: projectName };
|
|
186
408
|
},
|
|
409
|
+
async fetchProjectBuilds(_accountId, projectName) {
|
|
410
|
+
return { projectName, results: [], paging: {} };
|
|
411
|
+
},
|
|
187
412
|
async createProject(_accountId, projectName) {
|
|
188
413
|
return { id: deterministicNumber(`project:${projectName}`, 10_000), name: projectName };
|
|
189
414
|
},
|
|
@@ -314,6 +539,12 @@ function resolveFlag(argv, flag) {
|
|
|
314
539
|
const value = found.slice(prefix.length);
|
|
315
540
|
return value.length > 0 ? value : undefined;
|
|
316
541
|
}
|
|
542
|
+
function nonEmpty(value) {
|
|
543
|
+
return value && value.length > 0 ? value : undefined;
|
|
544
|
+
}
|
|
545
|
+
function errorMessage(cause) {
|
|
546
|
+
return cause instanceof Error ? cause.message : String(cause);
|
|
547
|
+
}
|
|
317
548
|
function isRecord(value) {
|
|
318
549
|
return typeof value === 'object' && value !== null;
|
|
319
550
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubspot-developer-client.js","sourceRoot":"","sources":["../src/hubspot-developer-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAI5D,MAAM,CAAC,KAAK,UAAU,kCAAkC,CAAC,EACvD,IAAI,EACJ,KAAK,EACL,iBAAiB,EACjB,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAMpB;IACC,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,OAAO,CAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC;YAC1E,MAAM,+BAA+B,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,4BAA4B,CAAC;YAClC,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,wBAAwB,CAAC,IAAI,OAAO,CAAC;YAClF,OAAO,EAAE,+BAA+B,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,+BAA+B,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;IAClF,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,4BAA4B,CAAC;YAClC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC,CAAC;IACL,CAAC;IAED,IAAI,kBAAkB,GACpB,WAAW,CAAC,IAAI,EAAE,wBAAwB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;IAC9F,IAAI,iBAAiB,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAClF,MAAM,eAAe,GACnB,WAAW,CAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IAExF,gFAAgF;IAChF,+EAA+E;IAC/E,6EAA6E;IAC7E,8EAA8E;IAC9E,wBAAwB;IACxB,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,OAAO,GACX,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;YAC7D,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,OAAO,EAAE,CAAC;YACZ,kBAAkB,KAAK,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChD,iBAAiB,KAAK,OAAO,CAAC,iBAAiB,CAAC;QAClD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,sKAAsK,CACvK,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAC;IACJ,CAAC;IAED,OAAO,4BAA4B,CAAC;QAClC,kBAAkB;QAClB,iBAAiB;QACjB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC;IAC7D,gCAAgC;IAChC,uBAAuB;CACxB,CAAC,CAAC;AAEH,KAAK,UAAU,+BAA+B,CAC5C,IAAuB,EACvB,iBAA4C,EAC5C,GAAW;IAEX,MAAM,eAAe,GACnB,WAAW,CAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAChF,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAClF,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,gBAAgB,CAAC;IAC7F,MAAM,KAAK,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAW,CAAC;IAEvF,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IAEjC,6EAA6E;IAC7E,6EAA6E;IAC7E,mEAAmE;IACnE,iEAAiE;IACjE,IAAI,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,EAAE;gBAAE,OAAO,KAAK,CAAC,KAAK,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAMD,KAAK,UAAU,gBAAgB,CAAC,KAM/B;IACC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC;QAChC,GAAG,EAAE,IAAI,GAAG,CACV,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,EACnE,KAAK,CAAC,eAAe,CACtB;QACD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAM,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC;QACpD,IAAI,EAAE;YACJ,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC;YAChD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;SAC3C;KACF,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5F,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAChF,OAAO,EACL,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAChD,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,kDAAkD,QAAQ,CAAC,MAAM,EAAE;KAC1E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,yBAAyB,CAAC,KAMxC;IACC,IAAI,kBAAkB,GACpB,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,wBAAwB,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;IAC/C,IAAI,iBAAiB,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACxF,MAAM,eAAe,GACnB,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IAC9F,IAAI,WAA+B,CAAC;IAEpC,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,OAAO,GACX,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;YAC7D,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;YAC/B,kBAAkB,KAAK,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChD,iBAAiB,KAAK,OAAO,CAAC,iBAAiB,CAAC;YAChD,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,IAAI,CAAC,kBAAkB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC;QAChC,GAAG,EAAE,IAAI,GAAG,CACV,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,kBAAkB,EACrE,KAAK,CAAC,eAAe,CACtB;QACD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAM,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC;QACpD,IAAI,EAAE;YACJ,kBAAkB;YAClB,WAAW,EAAE,WAAW,IAAI,6BAA6B,kBAAkB,EAAE;YAC7E,UAAU,EAAE,KAAK;YACjB,iBAAiB;YACjB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD;KACF,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6DAA6D,KAAK,CAAC,SAAS,yCAAyC,kBAAkB,MAAM,CAC9I,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAKzB;IACC,MAAM,OAAO,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;IAC7C,IAAI,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CACzE,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CACtC,CAAC;IACF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC;QACxE,OAAO,GAAG,OAAO,CAAC,IAAI,CACpB,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,EACrC,iBAAiB,CAAC,QAAQ,CACxB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EACxE,OAAO,CAAC,cAAc,CAAC,CACxB,CACF,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,+BAA+B;IACtC,OAAO;QACL,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW;YACzC,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,SAAS,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;QAC1E,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO;YACpD,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,UAAU,WAAW,IAAI,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;QACvF,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO;YACnD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACrD,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ;YACrD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW;YACxC,OAAO,EAAE,EAAE,EAAE,mBAAmB,CAAC,WAAW,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC1F,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW;YACzC,OAAO,EAAE,EAAE,EAAE,mBAAmB,CAAC,WAAW,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC1F,CAAC;QACD,KAAK,CAAC,8BAA8B,CAAC,UAAU,EAAE,SAAS;YACxD,OAAO;gBACL,yBAAyB,EAAE;oBACzB;wBACE,aAAa,EAAE,WAAW,SAAS,EAAE;wBACrC,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;wBAC7B,YAAY,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;wBAC5B,iBAAiB,EAAE,EAAE;qBACtB;iBACF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM;YAC5D,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM;YAC5C,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACvC,CAAC;QACD,KAAK,CAAC,iBAAiB;YACrB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,EAAE,CAAC;QAC5E,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO;YACxC,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;gBAClD,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU;YACzC,OAAO;gBACL,UAAU;gBACV,OAAO,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;aAC9E,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO;YAClD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACtF,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO;YAChE,OAAO;gBACL,UAAU;gBACV,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ;gBAC9B,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnD,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,WAAW;YACf,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO;YAC5C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,EAAE,EAAE,OAAO,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM;wBAC9D,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,iBAAiB;wBAClD,yBAAyB,EAAE,iBAAiB;wBAC5C,QAAQ,EAAE,UAAU;wBACpB,OAAO,EAAE,iBAAiB;wBAC1B,QAAQ,EAAE,EAAE;wBACZ,KAAK,EAAE,kBAAkB;wBACzB,yBAAyB,EAAE,iBAAiB;wBAC5C,QAAQ,EAAE,EAAE;wBACZ,KAAK;qBACN;iBACF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK;YACzD,OAAO;gBACL,GAAG,EAAE;oBACH,iBAAiB,EAAE,UAAU;oBAC7B,EAAE,EAAE,KAAK;oBACT,yBAAyB,EAAE,iBAAiB;oBAC5C,KAAK;oBACL,KAAK,EAAE,kBAAkB;iBAC1B;gBACD,aAAa,EAAE,2BAA2B;aAC3C,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO;YACpC,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,CAAC,OAAO,CAAC,UAAU;oBACpB,CAAC,CAAC;wBACE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;4BAChD,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAChE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACjE,CAAC,CAAC;qBACJ;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,MAAc;IACxD,IAAI,IAAI,GAAG,aAAa,CAAC;IACzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC;AACvC,CAAC;AAED,SAAS,OAAO,CAAC,IAAuB,EAAE,IAAY;IACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,IAAuB,EAAE,IAAY;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7B,IAAI,WAAW,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACrC,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC"}
|
|
1
|
+
{"version":3,"file":"hubspot-developer-client.js","sourceRoot":"","sources":["../src/hubspot-developer-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type HubSpotProjectArchiveSourceErrorReason = 'symbolic-link' | 'unsupported-entry' | 'outside-project' | 'source-changed';
|
|
2
|
+
/** A local source-tree violation that must fail before any HubSpot mutation. */
|
|
3
|
+
export declare class HubSpotProjectArchiveSourceError extends Error {
|
|
4
|
+
readonly reason: HubSpotProjectArchiveSourceErrorReason;
|
|
5
|
+
readonly hint: string;
|
|
6
|
+
readonly relativePath?: string | undefined;
|
|
7
|
+
readonly name = "HubSpotProjectArchiveSourceError";
|
|
8
|
+
readonly code: "HSX_E_INPUT_INVALID";
|
|
9
|
+
constructor(reason: HubSpotProjectArchiveSourceErrorReason, message: string, hint: string, relativePath?: string | undefined);
|
|
10
|
+
}
|
|
11
|
+
export interface HubSpotProjectArchiveOptions {
|
|
12
|
+
readonly sourceOnly: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Fingerprint rendered before consent. The staged copy must match it exactly
|
|
15
|
+
* before any client is constructed or remote project operation is attempted.
|
|
16
|
+
*/
|
|
17
|
+
readonly expectedSourceFingerprint?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function writeLocalHubSpotProjectArchive(root: string, projectName: string, options?: HubSpotProjectArchiveOptions): Promise<string>;
|
|
20
|
+
export declare function fingerprintHubSpotArchiveSource(projectRoot: string, sourceOnly: boolean): Promise<string>;
|
|
21
|
+
//# sourceMappingURL=hubspot-project-archive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hubspot-project-archive.d.ts","sourceRoot":"","sources":["../src/hubspot-project-archive.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,sCAAsC,GAC9C,eAAe,GACf,mBAAmB,GACnB,iBAAiB,GACjB,gBAAgB,CAAC;AAErB,gFAAgF;AAChF,qBAAa,gCAAiC,SAAQ,KAAK;IAKvD,QAAQ,CAAC,MAAM,EAAE,sCAAsC;IAEvD,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM;IAPhC,SAAkB,IAAI,sCAAsC;IAC5D,QAAQ,CAAC,IAAI,EAAG,qBAAqB,CAAU;gBAGpC,MAAM,EAAE,sCAAsC,EACvD,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,YAAA;CAIjC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CAC7C;AAED,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,4BAAoD,GAC5D,OAAO,CAAC,MAAM,CAAC,CAuDjB;AAED,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,MAAM,CAAC,CAmCjB"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { createReadStream } from 'node:fs';
|
|
3
|
+
import { cp, lstat, mkdtemp, open, readFile, readdir, rm, writeFile, } from 'node:fs/promises';
|
|
4
|
+
import { tmpdir } from 'node:os';
|
|
5
|
+
import { isAbsolute, join, relative, resolve } from 'node:path';
|
|
6
|
+
import { Zip, ZipDeflate, ZipPassThrough } from 'fflate';
|
|
7
|
+
/** A local source-tree violation that must fail before any HubSpot mutation. */
|
|
8
|
+
export class HubSpotProjectArchiveSourceError extends Error {
|
|
9
|
+
reason;
|
|
10
|
+
hint;
|
|
11
|
+
relativePath;
|
|
12
|
+
name = 'HubSpotProjectArchiveSourceError';
|
|
13
|
+
code = 'HSX_E_INPUT_INVALID';
|
|
14
|
+
constructor(reason, message, hint, relativePath) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.reason = reason;
|
|
17
|
+
this.hint = hint;
|
|
18
|
+
this.relativePath = relativePath;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export async function writeLocalHubSpotProjectArchive(root, projectName, options = { sourceOnly: false }) {
|
|
22
|
+
// Scan the full copied tree even for source-only uploads: staging copies
|
|
23
|
+
// hsproject.json before patching the project name, so a link anywhere in the
|
|
24
|
+
// copied input must be rejected before cp/writeFile can follow it.
|
|
25
|
+
const fullSourceFingerprint = await fingerprintHubSpotArchiveSource(root, false);
|
|
26
|
+
const sourceFingerprint = options.sourceOnly
|
|
27
|
+
? await fingerprintHubSpotArchiveSource(root, true)
|
|
28
|
+
: fullSourceFingerprint;
|
|
29
|
+
if (options.expectedSourceFingerprint &&
|
|
30
|
+
sourceFingerprint !== options.expectedSourceFingerprint) {
|
|
31
|
+
throw sourceChangedError();
|
|
32
|
+
}
|
|
33
|
+
const outDir = await mkdtemp(join(tmpdir(), 'hs-x-hubspot-project-'));
|
|
34
|
+
const archivePath = join(outDir, `${projectName.replace(/[^a-zA-Z0-9._-]+/g, '-')}-hubspot-project.zip`);
|
|
35
|
+
const stageDir = join(outDir, 'project');
|
|
36
|
+
try {
|
|
37
|
+
await cp(root, stageDir, {
|
|
38
|
+
recursive: true,
|
|
39
|
+
dereference: false,
|
|
40
|
+
verbatimSymlinks: true,
|
|
41
|
+
filter(source) {
|
|
42
|
+
return !isExcludedHubSpotArchivePath(root, source);
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
// Bind the private staged copy to the complete source snapshot. A regular
|
|
46
|
+
// file edit or a file-to-link swap during cp changes this fingerprint; a
|
|
47
|
+
// copied link throws before patching or zip can touch its target.
|
|
48
|
+
const stagedFullFingerprint = await fingerprintHubSpotArchiveSource(stageDir, false);
|
|
49
|
+
if (stagedFullFingerprint !== fullSourceFingerprint) {
|
|
50
|
+
throw sourceChangedError();
|
|
51
|
+
}
|
|
52
|
+
await patchHubSpotProjectName(stageDir, projectName);
|
|
53
|
+
const archiveRoot = options.sourceOnly ? await hubSpotProjectSourceRoot(stageDir) : stageDir;
|
|
54
|
+
const stagedArchiveFingerprint = await fingerprintHubSpotArchiveSource(stageDir, options.sourceOnly);
|
|
55
|
+
await writeZipArchive(archiveRoot, archivePath);
|
|
56
|
+
if ((await fingerprintHubSpotArchiveSource(stageDir, options.sourceOnly)) !==
|
|
57
|
+
stagedArchiveFingerprint) {
|
|
58
|
+
throw sourceChangedError();
|
|
59
|
+
}
|
|
60
|
+
return archivePath;
|
|
61
|
+
}
|
|
62
|
+
catch (cause) {
|
|
63
|
+
await rm(outDir, { recursive: true, force: true });
|
|
64
|
+
throw cause;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export async function fingerprintHubSpotArchiveSource(projectRoot, sourceOnly) {
|
|
68
|
+
const projectRootMetadata = await lstat(projectRoot);
|
|
69
|
+
if (projectRootMetadata.isSymbolicLink()) {
|
|
70
|
+
throw symbolicLinkError(projectRoot, projectRoot);
|
|
71
|
+
}
|
|
72
|
+
if (!projectRootMetadata.isDirectory()) {
|
|
73
|
+
throw unsupportedEntryError(projectRoot, projectRoot);
|
|
74
|
+
}
|
|
75
|
+
const archiveRoot = sourceOnly ? await hubSpotProjectSourceRoot(projectRoot) : projectRoot;
|
|
76
|
+
const hash = createHash('sha256');
|
|
77
|
+
async function visit(directory) {
|
|
78
|
+
const entries = await readdir(directory, { withFileTypes: true });
|
|
79
|
+
entries.sort((left, right) => compareArchiveNames(left.name, right.name));
|
|
80
|
+
for (const entry of entries) {
|
|
81
|
+
const path = join(directory, entry.name);
|
|
82
|
+
if (isExcludedHubSpotArchivePath(projectRoot, path))
|
|
83
|
+
continue;
|
|
84
|
+
const archivePath = relative(archiveRoot, path).replaceAll('\\', '/');
|
|
85
|
+
if (entry.isDirectory()) {
|
|
86
|
+
hash.update(`directory\0${archivePath}\0`);
|
|
87
|
+
await visit(path);
|
|
88
|
+
}
|
|
89
|
+
else if (entry.isSymbolicLink()) {
|
|
90
|
+
throw symbolicLinkError(projectRoot, path);
|
|
91
|
+
}
|
|
92
|
+
else if (entry.isFile()) {
|
|
93
|
+
hash.update(`file\0${archivePath}\0`);
|
|
94
|
+
hash.update(await readFile(path));
|
|
95
|
+
hash.update('\0');
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
throw unsupportedEntryError(projectRoot, path);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
await visit(archiveRoot);
|
|
103
|
+
return `sha256:${hash.digest('hex')}`;
|
|
104
|
+
}
|
|
105
|
+
async function hubSpotProjectSourceRoot(root) {
|
|
106
|
+
const config = await readHubSpotProjectConfig(root);
|
|
107
|
+
const srcDir = typeof config.srcDir === 'string' ? config.srcDir : 'src';
|
|
108
|
+
const projectRoot = resolve(root);
|
|
109
|
+
const sourceRoot = resolve(projectRoot, srcDir);
|
|
110
|
+
const sourceRelativePath = relative(projectRoot, sourceRoot);
|
|
111
|
+
if (sourceRelativePath === '..' ||
|
|
112
|
+
sourceRelativePath.startsWith('../') ||
|
|
113
|
+
sourceRelativePath.startsWith('..\\') ||
|
|
114
|
+
isAbsolute(sourceRelativePath)) {
|
|
115
|
+
throw new HubSpotProjectArchiveSourceError('outside-project', 'HubSpot project srcDir must stay inside the project root.', 'Move the source directory inside the project and update hsproject.json, then review a fresh deploy plan.');
|
|
116
|
+
}
|
|
117
|
+
return sourceRoot;
|
|
118
|
+
}
|
|
119
|
+
async function patchHubSpotProjectName(root, projectName) {
|
|
120
|
+
const path = join(root, 'hsproject.json');
|
|
121
|
+
const raw = await readFile(path, 'utf8').catch(() => undefined);
|
|
122
|
+
if (!raw)
|
|
123
|
+
return;
|
|
124
|
+
const parsed = JSON.parse(raw);
|
|
125
|
+
if (!isRecord(parsed))
|
|
126
|
+
return;
|
|
127
|
+
await writeFile(path, `${JSON.stringify({ ...parsed, name: projectName }, null, 2)}\n`);
|
|
128
|
+
}
|
|
129
|
+
async function readHubSpotProjectConfig(root) {
|
|
130
|
+
const raw = await readFile(join(root, 'hsproject.json'), 'utf8').catch(() => '{}');
|
|
131
|
+
const parsed = JSON.parse(raw);
|
|
132
|
+
return isRecord(parsed) ? parsed : {};
|
|
133
|
+
}
|
|
134
|
+
function isExcludedHubSpotArchivePath(projectRoot, path) {
|
|
135
|
+
const projectRelativePath = relative(projectRoot, path);
|
|
136
|
+
const segments = projectRelativePath.split(/[\\/]/);
|
|
137
|
+
return segments.includes('node_modules') || segments.includes('.hs-x');
|
|
138
|
+
}
|
|
139
|
+
// ZIP stores timestamps in local DOS time. A local constructor keeps the
|
|
140
|
+
// encoded date at the ZIP epoch in every timezone and makes repeated archives
|
|
141
|
+
// byte-for-byte reproducible.
|
|
142
|
+
const DETERMINISTIC_ZIP_MTIME = new Date(1980, 0, 1, 0, 0, 0, 0);
|
|
143
|
+
const DETERMINISTIC_FILE_ATTRIBUTES = 0o644 << 16;
|
|
144
|
+
const DETERMINISTIC_DIRECTORY_ATTRIBUTES = (0o755 << 16) | 0x10;
|
|
145
|
+
async function writeZipArchive(root, archivePath) {
|
|
146
|
+
const entries = await collectHubSpotArchiveEntries(root);
|
|
147
|
+
const output = await open(archivePath, 'wx');
|
|
148
|
+
let pendingWrite = Promise.resolve();
|
|
149
|
+
let zipError;
|
|
150
|
+
const zip = new Zip((error, chunk) => {
|
|
151
|
+
if (error) {
|
|
152
|
+
zipError ??= error;
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
pendingWrite = pendingWrite.then(() => writeAll(output, chunk));
|
|
156
|
+
});
|
|
157
|
+
async function flushOutput() {
|
|
158
|
+
await pendingWrite;
|
|
159
|
+
if (zipError)
|
|
160
|
+
throw zipError;
|
|
161
|
+
}
|
|
162
|
+
try {
|
|
163
|
+
for (const entry of entries) {
|
|
164
|
+
if (entry.kind === 'directory') {
|
|
165
|
+
const directory = new ZipPassThrough(`${entry.archivePath}/`);
|
|
166
|
+
directory.mtime = DETERMINISTIC_ZIP_MTIME;
|
|
167
|
+
directory.os = 3;
|
|
168
|
+
directory.attrs = DETERMINISTIC_DIRECTORY_ATTRIBUTES;
|
|
169
|
+
zip.add(directory);
|
|
170
|
+
directory.push(new Uint8Array(), true);
|
|
171
|
+
await flushOutput();
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
const file = new ZipDeflate(entry.archivePath, { level: 6 });
|
|
175
|
+
file.mtime = DETERMINISTIC_ZIP_MTIME;
|
|
176
|
+
file.os = 3;
|
|
177
|
+
file.attrs = DETERMINISTIC_FILE_ATTRIBUTES;
|
|
178
|
+
zip.add(file);
|
|
179
|
+
for await (const chunk of createReadStream(entry.absolutePath)) {
|
|
180
|
+
file.push(chunk);
|
|
181
|
+
await flushOutput();
|
|
182
|
+
}
|
|
183
|
+
file.push(new Uint8Array(), true);
|
|
184
|
+
await flushOutput();
|
|
185
|
+
}
|
|
186
|
+
zip.end();
|
|
187
|
+
await flushOutput();
|
|
188
|
+
}
|
|
189
|
+
catch (cause) {
|
|
190
|
+
zip.terminate();
|
|
191
|
+
if (cause instanceof HubSpotProjectArchiveSourceError)
|
|
192
|
+
throw cause;
|
|
193
|
+
throw new Error('Unable to create HubSpot project zip archive.', { cause });
|
|
194
|
+
}
|
|
195
|
+
finally {
|
|
196
|
+
await output.close();
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
async function collectHubSpotArchiveEntries(root) {
|
|
200
|
+
const rootMetadata = await lstat(root);
|
|
201
|
+
if (rootMetadata.isSymbolicLink())
|
|
202
|
+
throw symbolicLinkError(root, root);
|
|
203
|
+
if (!rootMetadata.isDirectory())
|
|
204
|
+
throw unsupportedEntryError(root, root);
|
|
205
|
+
const entries = [];
|
|
206
|
+
async function visit(directory) {
|
|
207
|
+
const names = await readdir(directory);
|
|
208
|
+
names.sort(compareArchiveNames);
|
|
209
|
+
for (const name of names) {
|
|
210
|
+
const absolutePath = join(directory, name);
|
|
211
|
+
if (isExcludedHubSpotArchivePath(root, absolutePath))
|
|
212
|
+
continue;
|
|
213
|
+
const metadata = await lstat(absolutePath);
|
|
214
|
+
const archivePath = relative(root, absolutePath).replaceAll('\\', '/');
|
|
215
|
+
if (metadata.isSymbolicLink()) {
|
|
216
|
+
throw symbolicLinkError(root, absolutePath);
|
|
217
|
+
}
|
|
218
|
+
if (metadata.isDirectory()) {
|
|
219
|
+
entries.push({ kind: 'directory', absolutePath, archivePath });
|
|
220
|
+
await visit(absolutePath);
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
if (metadata.isFile()) {
|
|
224
|
+
entries.push({ kind: 'file', absolutePath, archivePath });
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
throw unsupportedEntryError(root, absolutePath);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
await visit(root);
|
|
231
|
+
return entries;
|
|
232
|
+
}
|
|
233
|
+
function compareArchiveNames(left, right) {
|
|
234
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
235
|
+
}
|
|
236
|
+
async function writeAll(output, chunk) {
|
|
237
|
+
let offset = 0;
|
|
238
|
+
while (offset < chunk.byteLength) {
|
|
239
|
+
const { bytesWritten } = await output.write(chunk, offset, chunk.byteLength - offset, null);
|
|
240
|
+
if (bytesWritten === 0)
|
|
241
|
+
throw new Error('Archive output stopped accepting bytes.');
|
|
242
|
+
offset += bytesWritten;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
function symbolicLinkError(projectRoot, path) {
|
|
246
|
+
const relativePath = safeProjectRelativePath(projectRoot, path);
|
|
247
|
+
return new HubSpotProjectArchiveSourceError('symbolic-link', `HubSpot deploy sources cannot contain symbolic links: ${relativePath}.`, 'Replace the link with a regular file or directory whose bytes live inside the project, then review a fresh deploy plan.', relativePath);
|
|
248
|
+
}
|
|
249
|
+
function sourceChangedError() {
|
|
250
|
+
return new HubSpotProjectArchiveSourceError('source-changed', 'HubSpot project sources changed after the deploy preview.', 'Wait for local edits or generators to settle, then review a fresh plan before consenting.');
|
|
251
|
+
}
|
|
252
|
+
function unsupportedEntryError(projectRoot, path) {
|
|
253
|
+
const relativePath = safeProjectRelativePath(projectRoot, path);
|
|
254
|
+
return new HubSpotProjectArchiveSourceError('unsupported-entry', `HubSpot deploy sources must contain only regular files and directories: ${relativePath}.`, 'Remove the FIFO, socket, or device entry, replace it with a regular file if needed, then review a fresh deploy plan.', relativePath);
|
|
255
|
+
}
|
|
256
|
+
const MAX_DIAGNOSTIC_PATH_LENGTH = 240;
|
|
257
|
+
function safeProjectRelativePath(projectRoot, path) {
|
|
258
|
+
const relativePath = relative(resolve(projectRoot), resolve(path));
|
|
259
|
+
if (relativePath === '..' ||
|
|
260
|
+
relativePath.startsWith('../') ||
|
|
261
|
+
relativePath.startsWith('..\\') ||
|
|
262
|
+
isAbsolute(relativePath)) {
|
|
263
|
+
return '<outside project root>';
|
|
264
|
+
}
|
|
265
|
+
const normalized = (relativePath || '.').replaceAll('\\', '/');
|
|
266
|
+
const escaped = Array.from(normalized, (character) => {
|
|
267
|
+
const codePoint = character.codePointAt(0) ?? 0;
|
|
268
|
+
return codePoint <= 0x1f || (codePoint >= 0x7f && codePoint <= 0x9f)
|
|
269
|
+
? `\\x${codePoint.toString(16).padStart(2, '0')}`
|
|
270
|
+
: character;
|
|
271
|
+
}).join('');
|
|
272
|
+
if (escaped.length <= MAX_DIAGNOSTIC_PATH_LENGTH)
|
|
273
|
+
return escaped;
|
|
274
|
+
const tailLength = 80;
|
|
275
|
+
const headLength = MAX_DIAGNOSTIC_PATH_LENGTH - tailLength - 1;
|
|
276
|
+
return `${escaped.slice(0, headLength)}…${escaped.slice(-tailLength)}`;
|
|
277
|
+
}
|
|
278
|
+
function isRecord(value) {
|
|
279
|
+
return typeof value === 'object' && value !== null;
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=hubspot-project-archive.js.map
|