nango 0.69.43 → 0.69.44
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/cli.d.ts +0 -9
- package/dist/cli.js +0 -210
- package/dist/cli.js.map +1 -1
- package/dist/index.js +70 -228
- package/dist/index.js.map +1 -1
- package/dist/migrations/toZeroYaml.js +2 -2
- package/dist/migrations/toZeroYaml.js.map +1 -1
- package/dist/services/docs.service.js +4 -6
- package/dist/services/docs.service.js.map +1 -1
- package/dist/services/dryrun.service.d.ts +1 -3
- package/dist/services/dryrun.service.js +22 -73
- package/dist/services/dryrun.service.js.map +1 -1
- package/dist/services/model.service.js +8 -0
- package/dist/services/model.service.js.map +1 -1
- package/dist/services/test.service.js +2 -2
- package/dist/services/test.service.js.map +1 -1
- package/dist/services/test.service.unit.cli-test.js +8 -1
- package/dist/services/test.service.unit.cli-test.js.map +1 -1
- package/dist/services/verification.service.d.ts +4 -9
- package/dist/services/verification.service.js +14 -80
- package/dist/services/verification.service.js.map +1 -1
- package/dist/sync.unit.cli-test.js +0 -326
- package/dist/sync.unit.cli-test.js.map +1 -1
- package/dist/templates/sync-test-template.ejs +42 -10
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/zeroYaml/compile.d.ts +2 -2
- package/dist/zeroYaml/compile.js +6 -6
- package/dist/zeroYaml/compile.js.map +1 -1
- package/dist/zeroYaml/compile.unit.cli-test.js +3 -3
- package/dist/zeroYaml/compile.unit.cli-test.js.map +1 -1
- package/dist/zeroYaml/definitions.d.ts +17 -13
- package/dist/zeroYaml/definitions.js +98 -56
- package/dist/zeroYaml/definitions.js.map +1 -1
- package/dist/zeroYaml/deploy.js +5 -9
- package/dist/zeroYaml/deploy.js.map +1 -1
- package/dist/zeroYaml/dev.js +2 -2
- package/dist/zeroYaml/dev.js.map +1 -1
- package/dist/zeroYaml/init.js +2 -2
- package/dist/zeroYaml/init.js.map +1 -1
- package/dist/zeroYaml/json-schema.d.ts +14 -0
- package/dist/zeroYaml/json-schema.js +44 -0
- package/dist/zeroYaml/json-schema.js.map +1 -0
- package/example/package.json +1 -1
- package/package.json +7 -7
- package/dist/services/deploy.service.d.ts +0 -33
- package/dist/services/deploy.service.js +0 -467
- package/dist/services/deploy.service.js.map +0 -1
- package/dist/services/deploy.service.unit.cli-test.d.ts +0 -1
- package/dist/services/deploy.service.unit.cli-test.js +0 -88
- package/dist/services/deploy.service.unit.cli-test.js.map +0 -1
|
@@ -1,467 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import { AxiosError } from 'axios';
|
|
4
|
-
import chalk from 'chalk';
|
|
5
|
-
import promptly from 'promptly';
|
|
6
|
-
import { compileAllFiles, compileSingleFile, getFileToCompile, resolveTsFileLocation } from './compile.service.js';
|
|
7
|
-
import verificationService from './verification.service.js';
|
|
8
|
-
import { enrichHeaders, http, isCI, parseSecretKey, printDebug, resolveHostport } from '../utils.js';
|
|
9
|
-
import { parse } from './config.service.js';
|
|
10
|
-
import { loadSchemaJson } from './model.service.js';
|
|
11
|
-
import { NANGO_VERSION } from '../version.js';
|
|
12
|
-
class DeployService {
|
|
13
|
-
async prep({ fullPath, options, environment, debug = false }) {
|
|
14
|
-
const { env, version, sync: optionalSyncName, action: optionalActionName, integration: integrationId, autoConfirm, allowDestructive } = options;
|
|
15
|
-
await verificationService.necessaryFilesExist({ fullPath, autoConfirm, checkDist: false });
|
|
16
|
-
await parseSecretKey(environment, debug);
|
|
17
|
-
const deployHost = resolveHostport(env);
|
|
18
|
-
if (debug) {
|
|
19
|
-
printDebug(`NANGO_HOSTPORT is set to ${deployHost}.`);
|
|
20
|
-
printDebug(`Environment is set to ${environment}`);
|
|
21
|
-
if (integrationId) {
|
|
22
|
-
printDebug(`Deploying integration '${integrationId}' only`);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
const parsing = parse(fullPath, debug);
|
|
26
|
-
if (parsing.isErr()) {
|
|
27
|
-
console.log(chalk.red(parsing.error.message));
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
const parser = parsing.value;
|
|
31
|
-
// Check if the integrationId exists in the parsed config
|
|
32
|
-
if (integrationId && parser.parsed.integrations.every((integration) => integration.providerConfigKey !== integrationId)) {
|
|
33
|
-
console.log(chalk.red(`Integration with ID "${integrationId}" not found in configuration.`));
|
|
34
|
-
process.exit(1);
|
|
35
|
-
}
|
|
36
|
-
const hasSingleScript = Boolean(optionalSyncName || optionalActionName);
|
|
37
|
-
const integrationIdMode = Boolean(integrationId);
|
|
38
|
-
const singleDeployMode = hasSingleScript || integrationIdMode;
|
|
39
|
-
let successfulCompile = false;
|
|
40
|
-
// case where both integrationId and sync/action are specified
|
|
41
|
-
if (hasSingleScript && integrationIdMode) {
|
|
42
|
-
const scriptName = String(optionalSyncName || optionalActionName);
|
|
43
|
-
const type = optionalSyncName ? 'syncs' : 'actions';
|
|
44
|
-
const allMatchingIntegrations = parser.parsed.integrations.filter((integration) => {
|
|
45
|
-
const scripts = type === 'syncs' ? integration.syncs : integration.actions;
|
|
46
|
-
return scripts.some((script) => script.name === scriptName);
|
|
47
|
-
});
|
|
48
|
-
// Check if the specified integration has this script
|
|
49
|
-
const matchingIntegration = allMatchingIntegrations.find((integration) => integration.providerConfigKey === integrationId);
|
|
50
|
-
if (!matchingIntegration) {
|
|
51
|
-
console.log(chalk.red(`The ${type.slice(0, -1)} "${scriptName}" does not exist in integration "${integrationId}".`));
|
|
52
|
-
process.exit(1);
|
|
53
|
-
}
|
|
54
|
-
if (debug) {
|
|
55
|
-
printDebug(`Compiling only the ${type.slice(0, -1)} "${scriptName}" from integration "${integrationId}"`);
|
|
56
|
-
}
|
|
57
|
-
const parentFilePath = resolveTsFileLocation({ fullPath, scriptName, providerConfigKey: integrationId, type });
|
|
58
|
-
successfulCompile = await compileSingleFile({
|
|
59
|
-
fullPath,
|
|
60
|
-
file: getFileToCompile({
|
|
61
|
-
fullPath,
|
|
62
|
-
filePath: path.join(parentFilePath, `${scriptName}.ts`)
|
|
63
|
-
}),
|
|
64
|
-
parsed: parser.parsed,
|
|
65
|
-
debug
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
// single script mode without integration ID
|
|
69
|
-
else if (hasSingleScript) {
|
|
70
|
-
const scriptName = String(optionalSyncName || optionalActionName);
|
|
71
|
-
const type = optionalSyncName ? 'syncs' : 'actions';
|
|
72
|
-
const providerConfigKey = parser.parsed.integrations.find((integration) => {
|
|
73
|
-
if (optionalSyncName) {
|
|
74
|
-
return integration.syncs.find((sync) => sync.name === scriptName);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
return integration.actions.find((action) => action.name === scriptName);
|
|
78
|
-
}
|
|
79
|
-
})?.providerConfigKey;
|
|
80
|
-
if (providerConfigKey) {
|
|
81
|
-
const parentFilePath = resolveTsFileLocation({ fullPath, scriptName, providerConfigKey, type });
|
|
82
|
-
successfulCompile = await compileSingleFile({
|
|
83
|
-
fullPath,
|
|
84
|
-
file: getFileToCompile({
|
|
85
|
-
fullPath,
|
|
86
|
-
filePath: path.join(parentFilePath, `${scriptName}.ts`)
|
|
87
|
-
}),
|
|
88
|
-
parsed: parser.parsed,
|
|
89
|
-
debug
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
else if (integrationIdMode) {
|
|
94
|
-
// Only compile files for the specified integration
|
|
95
|
-
const { success } = await compileAllFiles({
|
|
96
|
-
fullPath,
|
|
97
|
-
debug,
|
|
98
|
-
providerConfigKey: integrationId
|
|
99
|
-
});
|
|
100
|
-
successfulCompile = success;
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
// Compile all files
|
|
104
|
-
const { success } = await compileAllFiles({ fullPath, debug });
|
|
105
|
-
successfulCompile = success;
|
|
106
|
-
}
|
|
107
|
-
if (!successfulCompile) {
|
|
108
|
-
console.log(chalk.red('Compilation was not fully successful. Please make sure all files compile before deploying'));
|
|
109
|
-
process.exit(1);
|
|
110
|
-
}
|
|
111
|
-
const postData = this.package({
|
|
112
|
-
parsed: parser.parsed,
|
|
113
|
-
fullPath,
|
|
114
|
-
debug,
|
|
115
|
-
version,
|
|
116
|
-
optionalSyncName,
|
|
117
|
-
optionalActionName,
|
|
118
|
-
integrationId
|
|
119
|
-
});
|
|
120
|
-
if (!postData) {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
const nangoYamlBody = parser.yaml;
|
|
124
|
-
const sdkVersion = `${NANGO_VERSION}-yaml`;
|
|
125
|
-
const url = deployHost + `/sync/deploy`;
|
|
126
|
-
const bodyDeploy = {
|
|
127
|
-
...postData,
|
|
128
|
-
reconcile: true,
|
|
129
|
-
debug,
|
|
130
|
-
nangoYamlBody,
|
|
131
|
-
singleDeployMode,
|
|
132
|
-
sdkVersion
|
|
133
|
-
};
|
|
134
|
-
const shouldConfirm = process.env['NANGO_DEPLOY_AUTO_CONFIRM'] !== 'true' && !autoConfirm;
|
|
135
|
-
const confirmationUrl = deployHost + `/sync/deploy/confirmation`;
|
|
136
|
-
try {
|
|
137
|
-
const bodyConfirmation = {
|
|
138
|
-
...postData,
|
|
139
|
-
reconcile: false,
|
|
140
|
-
debug,
|
|
141
|
-
singleDeployMode,
|
|
142
|
-
sdkVersion
|
|
143
|
-
};
|
|
144
|
-
const response = await http.post(confirmationUrl, bodyConfirmation, { headers: enrichHeaders() });
|
|
145
|
-
if (shouldConfirm) {
|
|
146
|
-
// Show response in term
|
|
147
|
-
console.log(JSON.stringify(response.data, null, 2));
|
|
148
|
-
}
|
|
149
|
-
const { newSyncs, deletedSyncs, deletedModels } = response.data;
|
|
150
|
-
for (const sync of newSyncs) {
|
|
151
|
-
const syncMessage = sync.connections === 0 || sync.auto_start === false
|
|
152
|
-
? 'The sync will be added to your Nango instance if you deploy.'
|
|
153
|
-
: `Nango will start syncing the corresponding data for ${sync.connections} existing connections.`;
|
|
154
|
-
console.log(chalk.yellow(`Sync "${sync.name}" is new. ${syncMessage}`));
|
|
155
|
-
}
|
|
156
|
-
let deletedSyncsConnectionsCount = 0;
|
|
157
|
-
for (const sync of deletedSyncs) {
|
|
158
|
-
console.log(chalk.red(`Sync "${sync.name}" has been removed. It will stop running and the corresponding data will be deleted for ${sync.connections} existing connections.`));
|
|
159
|
-
deletedSyncsConnectionsCount += sync.connections;
|
|
160
|
-
}
|
|
161
|
-
if (deletedModels.length > 0) {
|
|
162
|
-
console.log(chalk.red(`The following models have been removed: ${deletedModels.join(', ')}. WARNING: Renaming a model is the equivalent of deleting the old model and creating a new one. Records from the old model won't be transferred to the new model. Consider running a full sync to transfer records.`));
|
|
163
|
-
}
|
|
164
|
-
// force confirmation :
|
|
165
|
-
// - if auto-confirm flag is not set
|
|
166
|
-
// - OR if there are deleted syncs with connections (and allow-destructive flag is not set)
|
|
167
|
-
// - OR if there are deleted models (and allow-destructive flag is not set)
|
|
168
|
-
// If CI, fail the deploy
|
|
169
|
-
const shouldConfirmDestructive = (deletedSyncsConnectionsCount > 0 || deletedModels.length > 0) && !allowDestructive;
|
|
170
|
-
if (shouldConfirm || shouldConfirmDestructive) {
|
|
171
|
-
let confirmationMsg = `Are you sure you want to continue y/n?`;
|
|
172
|
-
if (!shouldConfirm && shouldConfirmDestructive) {
|
|
173
|
-
confirmationMsg += ' (set --allow-destructive flag to skip this confirmation)';
|
|
174
|
-
}
|
|
175
|
-
if (isCI) {
|
|
176
|
-
console.log(chalk.red(`Syncs/Actions were not deployed. Confirm the deploy by passing the --auto-confirm flag${shouldConfirmDestructive ? ' and --allow-destructive flag' : ''}. Exiting`));
|
|
177
|
-
process.exit(1);
|
|
178
|
-
}
|
|
179
|
-
const confirmation = await promptly.confirm(confirmationMsg);
|
|
180
|
-
if (!confirmation) {
|
|
181
|
-
console.log(chalk.red('Syncs/Actions were not deployed. Exiting'));
|
|
182
|
-
process.exit(0);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
else {
|
|
186
|
-
if (debug) {
|
|
187
|
-
const flags = [];
|
|
188
|
-
if (!shouldConfirm) {
|
|
189
|
-
flags.push('Auto confirm flag');
|
|
190
|
-
}
|
|
191
|
-
if (!shouldConfirmDestructive) {
|
|
192
|
-
flags.push('Allow destructive flag');
|
|
193
|
-
}
|
|
194
|
-
printDebug(`${flags.join(' and ')} ${flags.length > 1 ? 'are' : 'is'} set, so deploy will start without confirmation`);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
catch (err) {
|
|
199
|
-
console.log(chalk.red(`Error deploying the syncs/actions with the following error`));
|
|
200
|
-
let errorObject = err;
|
|
201
|
-
if (err instanceof AxiosError) {
|
|
202
|
-
if (err.response?.data?.error) {
|
|
203
|
-
errorObject = err.response.data.error;
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
errorObject = { message: err.message, stack: err.stack, code: err.code, status: err.status, url, method: err.config?.method };
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
console.log(chalk.red(JSON.stringify(errorObject, null, 2)));
|
|
210
|
-
process.exit(1);
|
|
211
|
-
}
|
|
212
|
-
await this.deploy(url, bodyDeploy);
|
|
213
|
-
}
|
|
214
|
-
async deploy(url, body) {
|
|
215
|
-
await http
|
|
216
|
-
.post(url, body, { headers: enrichHeaders() })
|
|
217
|
-
.then((response) => {
|
|
218
|
-
const results = response.data;
|
|
219
|
-
if (results.length === 0) {
|
|
220
|
-
console.log(chalk.green(`Successfully removed the syncs/actions.`));
|
|
221
|
-
}
|
|
222
|
-
else {
|
|
223
|
-
const nameAndVersions = results.map((result) => `${result.sync_name || result.name}@v${result.version}`);
|
|
224
|
-
console.log(chalk.green(`Successfully deployed the functions: ${nameAndVersions.join(', ')}!`));
|
|
225
|
-
}
|
|
226
|
-
})
|
|
227
|
-
.catch((err) => {
|
|
228
|
-
const errorMessage = err instanceof AxiosError ? JSON.stringify(err.response?.data, null, 2) : JSON.stringify(err, ['message', 'name', 'stack'], 2);
|
|
229
|
-
console.log(chalk.red(`Error deploying the functions with the following error: ${errorMessage}`));
|
|
230
|
-
process.exit(1);
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
async internalDeploy({ fullPath, environment, options, debug = false }) {
|
|
234
|
-
const { env, integration } = options;
|
|
235
|
-
await verificationService.necessaryFilesExist({ fullPath, autoConfirm: true, checkDist: false });
|
|
236
|
-
await parseSecretKey('dev', debug);
|
|
237
|
-
const deployHost = resolveHostport(env);
|
|
238
|
-
if (debug) {
|
|
239
|
-
printDebug(`NANGO_HOSTPORT is set to ${deployHost}.`);
|
|
240
|
-
printDebug(`Environment is set to ${environment}`);
|
|
241
|
-
if (integration) {
|
|
242
|
-
printDebug(`Deploying for integration: '${integration}' only`);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
const parsing = parse(fullPath, debug);
|
|
246
|
-
if (parsing.isErr()) {
|
|
247
|
-
console.log(chalk.red(parsing.error.message));
|
|
248
|
-
return;
|
|
249
|
-
}
|
|
250
|
-
const parser = parsing.value;
|
|
251
|
-
if (integration && parser.parsed.integrations.every((int) => int.providerConfigKey === integration)) {
|
|
252
|
-
console.log(chalk.red(`Integration with ID "${integration}" not found in configuration.`));
|
|
253
|
-
process.exit(1);
|
|
254
|
-
}
|
|
255
|
-
let successfulCompile = false;
|
|
256
|
-
if (integration) {
|
|
257
|
-
// Only compile files for the specified integration
|
|
258
|
-
const { success } = await compileAllFiles({
|
|
259
|
-
fullPath,
|
|
260
|
-
debug,
|
|
261
|
-
providerConfigKey: integration
|
|
262
|
-
});
|
|
263
|
-
successfulCompile = success;
|
|
264
|
-
}
|
|
265
|
-
else {
|
|
266
|
-
// Compile all files
|
|
267
|
-
const { success } = await compileAllFiles({ fullPath, debug });
|
|
268
|
-
successfulCompile = success;
|
|
269
|
-
}
|
|
270
|
-
if (!successfulCompile) {
|
|
271
|
-
console.log(chalk.red('Compilation was not fully successful. Please make sure all files compile before deploying'));
|
|
272
|
-
process.exit(1);
|
|
273
|
-
}
|
|
274
|
-
const postData = this.package({
|
|
275
|
-
parsed: parser.parsed,
|
|
276
|
-
fullPath,
|
|
277
|
-
debug,
|
|
278
|
-
integrationId: integration
|
|
279
|
-
});
|
|
280
|
-
if (!postData) {
|
|
281
|
-
return;
|
|
282
|
-
}
|
|
283
|
-
const nangoYamlBody = parser.yaml;
|
|
284
|
-
const url = deployHost + `/sync/deploy/internal?customEnvironment=${environment}`;
|
|
285
|
-
const bodyDeploy = { ...postData, reconcile: true, debug, nangoYamlBody, singleDeployMode: false };
|
|
286
|
-
await this.deploy(url, bodyDeploy);
|
|
287
|
-
}
|
|
288
|
-
package({ parsed, fullPath, debug, version = '', optionalSyncName, optionalActionName, integrationId }) {
|
|
289
|
-
if (integrationId) {
|
|
290
|
-
if (debug) {
|
|
291
|
-
printDebug(`Packaging for integration: ${integrationId} only`);
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
const hasBothFilters = integrationId && (optionalSyncName || optionalActionName);
|
|
295
|
-
if (hasBothFilters && debug) {
|
|
296
|
-
const scriptType = optionalSyncName ? 'sync' : 'action';
|
|
297
|
-
const scriptName = optionalSyncName || optionalActionName;
|
|
298
|
-
printDebug(`Packaging only ${scriptType} "${scriptName}" from integration "${integrationId}"`);
|
|
299
|
-
}
|
|
300
|
-
const postData = [];
|
|
301
|
-
const onEventScriptsByProvider = optionalActionName || optionalSyncName ? undefined : []; // only load on-event scripts if we're not deploying a single sync or action
|
|
302
|
-
const filteredIntegrations = integrationId
|
|
303
|
-
? parsed.integrations.filter((integration) => integration.providerConfigKey === integrationId)
|
|
304
|
-
: parsed.integrations;
|
|
305
|
-
for (const integration of filteredIntegrations) {
|
|
306
|
-
const { providerConfigKey, onEventScripts, postConnectionScripts } = integration;
|
|
307
|
-
if (onEventScriptsByProvider) {
|
|
308
|
-
const scripts = [];
|
|
309
|
-
for (const event of Object.keys(onEventScripts)) {
|
|
310
|
-
for (const scriptName of onEventScripts[event]) {
|
|
311
|
-
const files = loadScriptFiles({ scriptName: scriptName, providerConfigKey, fullPath, type: 'on-events' });
|
|
312
|
-
if (!files) {
|
|
313
|
-
console.log(chalk.red(`No function files found for "${scriptName}"`));
|
|
314
|
-
return null;
|
|
315
|
-
}
|
|
316
|
-
scripts.push({ name: scriptName, fileBody: files, event });
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
// for backward compatibility we also load post-connection-creation scripts
|
|
320
|
-
for (const scriptName of postConnectionScripts || []) {
|
|
321
|
-
const files = loadScriptFiles({ scriptName: scriptName, providerConfigKey, fullPath, type: 'post-connection-scripts' });
|
|
322
|
-
if (files) {
|
|
323
|
-
scripts.push({ name: scriptName, fileBody: files, event: 'post-connection-creation' });
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
if (scripts.length > 0) {
|
|
327
|
-
onEventScriptsByProvider.push({ providerConfigKey, scripts });
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
if (!optionalActionName) {
|
|
331
|
-
for (const sync of integration.syncs) {
|
|
332
|
-
if (optionalSyncName && optionalSyncName !== sync.name) {
|
|
333
|
-
continue;
|
|
334
|
-
}
|
|
335
|
-
const metadata = {};
|
|
336
|
-
if (sync.description) {
|
|
337
|
-
metadata['description'] = sync.description;
|
|
338
|
-
}
|
|
339
|
-
if (sync.scopes) {
|
|
340
|
-
metadata['scopes'] = sync.scopes;
|
|
341
|
-
}
|
|
342
|
-
const files = loadScriptFiles({ scriptName: sync.name, providerConfigKey, fullPath, type: 'syncs' });
|
|
343
|
-
if (!files) {
|
|
344
|
-
console.log(chalk.red(`No script files found for "${sync.name}"`));
|
|
345
|
-
return null;
|
|
346
|
-
}
|
|
347
|
-
if (debug) {
|
|
348
|
-
printDebug(`Function files found for ${sync.name}`);
|
|
349
|
-
}
|
|
350
|
-
const body = {
|
|
351
|
-
syncName: sync.name,
|
|
352
|
-
providerConfigKey,
|
|
353
|
-
models: sync.output || [],
|
|
354
|
-
version: version || sync.version,
|
|
355
|
-
runs: sync.runs,
|
|
356
|
-
track_deletes: sync.track_deletes,
|
|
357
|
-
auto_start: sync.auto_start,
|
|
358
|
-
attributes: {},
|
|
359
|
-
metadata: metadata,
|
|
360
|
-
input: sync.input || undefined,
|
|
361
|
-
sync_type: sync.sync_type,
|
|
362
|
-
type: sync.type,
|
|
363
|
-
fileBody: files,
|
|
364
|
-
endpoints: sync.endpoints,
|
|
365
|
-
webhookSubscriptions: sync.webhookSubscriptions
|
|
366
|
-
};
|
|
367
|
-
postData.push(body);
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
if (!optionalSyncName) {
|
|
371
|
-
for (const action of integration.actions) {
|
|
372
|
-
if (optionalActionName && optionalActionName !== action.name) {
|
|
373
|
-
continue;
|
|
374
|
-
}
|
|
375
|
-
const metadata = {};
|
|
376
|
-
if (action.description) {
|
|
377
|
-
metadata['description'] = action.description;
|
|
378
|
-
}
|
|
379
|
-
if (action.scopes) {
|
|
380
|
-
metadata['scopes'] = action.scopes;
|
|
381
|
-
}
|
|
382
|
-
const files = loadScriptFiles({ scriptName: action.name, providerConfigKey, fullPath, type: 'actions' });
|
|
383
|
-
if (!files) {
|
|
384
|
-
console.log(chalk.red(`No script files found for "${action.name}"`));
|
|
385
|
-
return null;
|
|
386
|
-
}
|
|
387
|
-
if (debug) {
|
|
388
|
-
printDebug(`Function files found for "${action.name}"`);
|
|
389
|
-
}
|
|
390
|
-
const body = {
|
|
391
|
-
syncName: action.name,
|
|
392
|
-
providerConfigKey,
|
|
393
|
-
models: action.output || [],
|
|
394
|
-
version: version || action.version,
|
|
395
|
-
runs: null,
|
|
396
|
-
metadata: metadata,
|
|
397
|
-
input: action.input || undefined,
|
|
398
|
-
type: action.type,
|
|
399
|
-
fileBody: files,
|
|
400
|
-
endpoints: action.endpoint ? [action.endpoint] : [],
|
|
401
|
-
track_deletes: false
|
|
402
|
-
};
|
|
403
|
-
postData.push(body);
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
if (debug && onEventScriptsByProvider) {
|
|
408
|
-
for (const onEventScriptByProvider of onEventScriptsByProvider) {
|
|
409
|
-
const { providerConfigKey, scripts } = onEventScriptByProvider;
|
|
410
|
-
for (const script of scripts) {
|
|
411
|
-
const { name } = script;
|
|
412
|
-
printDebug(`on-events function found for ${providerConfigKey} with name ${name}`);
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
const jsonSchema = loadSchemaJson({ fullPath });
|
|
417
|
-
if (!jsonSchema) {
|
|
418
|
-
return null;
|
|
419
|
-
}
|
|
420
|
-
return { flowConfigs: postData, onEventScriptsByProvider, jsonSchema };
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
function loadScriptFiles({ fullPath, scriptName, providerConfigKey, type }) {
|
|
424
|
-
const js = loadScriptJsFile({ fullPath, scriptName, providerConfigKey });
|
|
425
|
-
if (!js) {
|
|
426
|
-
return null;
|
|
427
|
-
}
|
|
428
|
-
const ts = loadScriptTsFile({ fullPath, scriptName, providerConfigKey, type });
|
|
429
|
-
if (!ts) {
|
|
430
|
-
return null;
|
|
431
|
-
}
|
|
432
|
-
return { js, ts };
|
|
433
|
-
}
|
|
434
|
-
function loadScriptJsFile({ scriptName, providerConfigKey, fullPath }) {
|
|
435
|
-
const filePath = path.join(fullPath, 'dist', `${scriptName}.js`);
|
|
436
|
-
const fileNameWithProviderConfigKey = filePath.replace(`.js`, `-${providerConfigKey}.js`);
|
|
437
|
-
try {
|
|
438
|
-
let realPath;
|
|
439
|
-
if (fs.existsSync(fileNameWithProviderConfigKey)) {
|
|
440
|
-
realPath = fs.realpathSync(fileNameWithProviderConfigKey);
|
|
441
|
-
}
|
|
442
|
-
else {
|
|
443
|
-
realPath = fs.realpathSync(filePath);
|
|
444
|
-
}
|
|
445
|
-
const content = fs.readFileSync(realPath, 'utf8');
|
|
446
|
-
return content;
|
|
447
|
-
}
|
|
448
|
-
catch (err) {
|
|
449
|
-
console.error(chalk.red(`Error loading file ${filePath}`), err instanceof Error ? err.message : err);
|
|
450
|
-
return null;
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
function loadScriptTsFile({ fullPath, scriptName, providerConfigKey, type }) {
|
|
454
|
-
const dir = resolveTsFileLocation({ fullPath, scriptName, providerConfigKey, type });
|
|
455
|
-
const filePath = path.join(dir, `${scriptName}.ts`);
|
|
456
|
-
try {
|
|
457
|
-
const tsIntegrationFileContents = fs.readFileSync(filePath, 'utf8');
|
|
458
|
-
return tsIntegrationFileContents;
|
|
459
|
-
}
|
|
460
|
-
catch (err) {
|
|
461
|
-
console.error(chalk.red(`Error loading file ${filePath}`), err);
|
|
462
|
-
return null;
|
|
463
|
-
}
|
|
464
|
-
}
|
|
465
|
-
const deployService = new DeployService();
|
|
466
|
-
export default deployService;
|
|
467
|
-
//# sourceMappingURL=deploy.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.service.js","sourceRoot":"","sources":["../../lib/services/deploy.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
|
-
import { beforeAll, describe, expect, it } from 'vitest';
|
|
3
|
-
import { compileAllFiles } from './compile.service.js';
|
|
4
|
-
import { parse } from './config.service.js';
|
|
5
|
-
import deployService from './deploy.service.js';
|
|
6
|
-
import { copyDirectoryAndContents, fixturesPath, getTestDirectory, removeVersion } from '../tests/helpers.js';
|
|
7
|
-
describe('package', () => {
|
|
8
|
-
let dir;
|
|
9
|
-
beforeAll(async () => {
|
|
10
|
-
dir = await getTestDirectory('deploy-nested');
|
|
11
|
-
await fs.promises.rm(dir, { recursive: true, force: true });
|
|
12
|
-
await fs.promises.mkdir(dir, { recursive: true });
|
|
13
|
-
await copyDirectoryAndContents(`${fixturesPath}/nango-yaml/v2/nested-integrations/hubspot`, `${dir}/hubspot`);
|
|
14
|
-
await copyDirectoryAndContents(`${fixturesPath}/nango-yaml/v2/nested-integrations/github`, `${dir}/github`);
|
|
15
|
-
await fs.promises.copyFile(`${fixturesPath}/nango-yaml/v2/nested-integrations/nango.yaml`, `${dir}/nango.yaml`);
|
|
16
|
-
// Compile only once
|
|
17
|
-
const result = await compileAllFiles({ fullPath: dir, debug: false });
|
|
18
|
-
expect(result).toEqual({
|
|
19
|
-
success: true,
|
|
20
|
-
failedFiles: []
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
it('should package correctly', () => {
|
|
24
|
-
const parsing = parse(dir);
|
|
25
|
-
if (parsing.isErr()) {
|
|
26
|
-
throw parsing.error;
|
|
27
|
-
}
|
|
28
|
-
const res = deployService.package({ parsed: parsing.value.parsed, debug: false, fullPath: dir });
|
|
29
|
-
expect(removeVersion(JSON.stringify(res.jsonSchema, null, 2))).toMatchSnapshot();
|
|
30
|
-
expect(res?.flowConfigs.map((flow) => {
|
|
31
|
-
return {
|
|
32
|
-
...flow,
|
|
33
|
-
fileBody: {
|
|
34
|
-
ts: flow.fileBody.ts,
|
|
35
|
-
// Remove tsup comments
|
|
36
|
-
js: flow.fileBody.js.replaceAll(/\/\/.*/g, '')
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
})).toMatchSnapshot();
|
|
40
|
-
});
|
|
41
|
-
it('should filter by integrationId when specified', () => {
|
|
42
|
-
const parsing = parse(dir);
|
|
43
|
-
if (parsing.isErr()) {
|
|
44
|
-
throw parsing.error;
|
|
45
|
-
}
|
|
46
|
-
// Test with hubspot only provided
|
|
47
|
-
const resHubspot = deployService.package({
|
|
48
|
-
parsed: parsing.value.parsed,
|
|
49
|
-
debug: false,
|
|
50
|
-
fullPath: dir,
|
|
51
|
-
integrationId: 'hubspot'
|
|
52
|
-
});
|
|
53
|
-
// Verify only hubspot integrations are included
|
|
54
|
-
expect(resHubspot).not.toBeNull();
|
|
55
|
-
expect(resHubspot.flowConfigs.length).toBeGreaterThan(0);
|
|
56
|
-
expect(resHubspot.flowConfigs.every((flow) => flow.providerConfigKey === 'hubspot')).toBe(true);
|
|
57
|
-
// Verify no github integrations are included
|
|
58
|
-
expect(resHubspot.flowConfigs.some((flow) => flow.providerConfigKey === 'github')).toBe(false);
|
|
59
|
-
// Test with github
|
|
60
|
-
const resGithub = deployService.package({
|
|
61
|
-
parsed: parsing.value.parsed,
|
|
62
|
-
debug: false,
|
|
63
|
-
fullPath: dir,
|
|
64
|
-
integrationId: 'github'
|
|
65
|
-
});
|
|
66
|
-
// Verify only github integrations are included
|
|
67
|
-
expect(resGithub).not.toBeNull();
|
|
68
|
-
expect(resGithub.flowConfigs.length).toBeGreaterThan(0);
|
|
69
|
-
expect(resGithub.flowConfigs.every((flow) => flow.providerConfigKey === 'github')).toBe(true);
|
|
70
|
-
// Verify no hubspot integrations are included
|
|
71
|
-
expect(resGithub.flowConfigs.some((flow) => flow.providerConfigKey === 'hubspot')).toBe(false);
|
|
72
|
-
// Test with no integrationId (should include all)
|
|
73
|
-
const resAll = deployService.package({
|
|
74
|
-
parsed: parsing.value.parsed,
|
|
75
|
-
debug: false,
|
|
76
|
-
fullPath: dir
|
|
77
|
-
});
|
|
78
|
-
expect(resAll).not.toBeNull();
|
|
79
|
-
expect(resAll.flowConfigs.length).toBeGreaterThan(0);
|
|
80
|
-
// Verify both hubspot and github integrations are included
|
|
81
|
-
const providerKeys = new Set(resAll.flowConfigs.map((flow) => flow.providerConfigKey));
|
|
82
|
-
expect(providerKeys.size).toBe(2);
|
|
83
|
-
expect(providerKeys.has('hubspot')).toBe(true);
|
|
84
|
-
expect(providerKeys.has('github')).toBe(true);
|
|
85
|
-
expect(resAll.flowConfigs.length).toBe(resHubspot.flowConfigs.length + resGithub.flowConfigs.length);
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
//# sourceMappingURL=deploy.service.unit.cli-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.service.unit.cli-test.js","sourceRoot":"","sources":["../../lib/services/deploy.service.unit.cli-test.ts"],"names":[],"mappings":"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"}
|