nango 0.35.18 → 0.35.20

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/action.ejs CHANGED
@@ -1,39 +1,5 @@
1
- <%
2
- const isArrayInterfaceNames = Array.isArray(interfaceNames);
3
- const isArrayMappings = Array.isArray(mappings);
4
- const isArrayInputs = Array.isArray(inputs);
1
+ import type { NangoAction<%= interfaceNames.length > 0 ? ', ' + interfaceNames.join(', ') : '' %>} from './<%= interfaceFileName %>';
5
2
 
6
- const formattedInterfaceNames = isArrayInterfaceNames ? interfaceNames.join(', ') : interfaceNames;
7
- const javascriptPrimitives = ['string', 'number', 'boolean', 'bigint', 'symbol', 'undefined', 'object', 'null'];
8
- const filteredInputs = isArrayInputs ? inputs.filter(input => !javascriptPrimitives.includes(input)) : inputs;
9
-
10
- const formattedInputs = isArrayInputs ? filteredInputs.join(', ') : (javascriptPrimitives.includes(inputs) ? '' : inputs);
11
-
12
- let returnTypes = 'void';
13
- if (isArrayMappings && mappings.length > 0) {
14
- if (mappings.length === 1) {
15
- returnTypes = `${mappings[0].name}[]`;
16
- } else {
17
- returnTypes = '{' + mappings.map(mapping => `${mapping.name}: ${mapping.type}[]`).join(', ') + '}';
18
- }
19
- } else if (typeof mappings === 'object') {
20
- returnTypes = `${mappings.name}`;
21
- }
22
-
23
- let paramInputs = 'object';
24
- let optionalInput = '?';
25
- if (inputs) {
26
- optionalInput = '';
27
-
28
- if (isArrayInputs) {
29
- paramInputs = `${inputs}[];`
30
- } else {
31
- paramInputs = inputs;
32
- }
33
- }
34
- %>
35
- import type { NangoAction<%= formattedInterfaceNames ? ', ' + formattedInterfaceNames : '' %><%= formattedInputs ? ', ' + formattedInputs : '' %> } from './<%= interfaceFileName %>';
36
-
37
- export default async function runAction(nango: NangoAction, input<%= optionalInput %>: <%= paramInputs %>): Promise<<%= returnTypes %>> {
3
+ export default async function runAction(nango: NangoAction, input?: object): Promise<<%= mappings.length > 0 ? '{' : 'void' %><% for (let i = 0; i < mappings.length; i++) { %><%= mappings[i].name %>: <%= mappings[i].type %>[]<% if (i !== mappings.length - 1) { %>, <% } %><% } %><%= mappings.length > 0 ? '}' : '' %>> {
38
4
  // Integration code goes here
39
5
  }
package/dist/index.js CHANGED
@@ -83,6 +83,7 @@ program
83
83
  .option('-e [environment]', 'The Nango environment, defaults to dev.', 'dev')
84
84
  .option('-l, --lastSyncDate [lastSyncDate]', 'Optional (for syncs only): last sync date to retrieve records greater than this date')
85
85
  .option('-i, --input [input]', 'Optional (for actions only): input to pass to the action script')
86
+ .option('-m, --metadata [metadata]', 'Optional (for syncs only): metadata to stub for the sync script')
86
87
  .action(async function (sync, connectionId) {
87
88
  const { autoConfirm, debug, e: environment } = this.opts();
88
89
  await verifyNecessaryFiles(autoConfirm, debug);
@@ -106,6 +107,7 @@ program
106
107
  .arguments('environment')
107
108
  .option('-v, --version [version]', 'Optional: Set a version of this deployment to tag this integration with. Can be used for rollbacks.')
108
109
  .option('-s, --sync [syncName]', 'Optional deploy only this sync name.')
110
+ .option('-a, --action [actionName]', 'Optional deploy only this action name.')
109
111
  .option('--no-compile-interfaces', `Don't compile the ${nangoConfigFile}`, true)
110
112
  .action(async function (environment) {
111
113
  const options = this.opts();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
@@ -108,7 +108,7 @@ interface OAuth1Credentials extends CredentialsCommon {
108
108
  }
109
109
  type AuthCredentials = OAuth2Credentials | OAuth1Credentials | BasicApiCredentials | ApiKeyCredentials | AppCredentials;
110
110
  interface Metadata {
111
- [key: string]: string | Record<string, string>;
111
+ [key: string]: string | Record<string, any>;
112
112
  }
113
113
  interface Connection {
114
114
  id?: number;
@@ -137,6 +137,8 @@ interface NangoProps {
137
137
  dryRun?: boolean;
138
138
  track_deletes?: boolean;
139
139
  attributes?: object | undefined;
140
+ logMessages?: unknown[] | undefined;
141
+ stubbedMetadata?: Metadata | undefined;
140
142
  }
141
143
  interface UserLogParameters {
142
144
  level?: LogLevel;
@@ -171,10 +173,13 @@ export declare class NangoAction {
171
173
  getEnvironmentVariables(): Promise<EnvironmentVariable[] | null>;
172
174
  getFlowAttributes<A = object>(): A | null;
173
175
  paginate<T = any>(config: ProxyConfiguration): AsyncGenerator<T[], undefined, void>;
176
+ triggerAction(providerConfigKey: string, connectionId: string, actionName: string, input?: unknown): Promise<object>;
174
177
  }
175
178
  export declare class NangoSync extends NangoAction {
176
179
  lastSyncDate?: Date;
177
180
  track_deletes: boolean;
181
+ logMessages?: unknown[] | undefined;
182
+ stubbedMetadata?: Metadata | undefined;
178
183
  constructor(config: NangoProps);
179
184
  /**
180
185
  * Set Sync Last Sync Date
@@ -188,5 +193,6 @@ export declare class NangoSync extends NangoAction {
188
193
  batchSend<T = any>(results: T[], model: string): Promise<boolean | null>;
189
194
  batchSave<T = any>(results: T[], model: string): Promise<boolean | null>;
190
195
  batchDelete<T = any>(results: T[], model: string): Promise<boolean | null>;
196
+ getMetadata<T = Metadata>(): Promise<T>;
191
197
  }
192
198
  export {};
package/dist/sync.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { Metadata } from '@nangohq/shared';
1
2
  import type { DeployOptions, GlobalOptions } from './types.js';
2
3
  interface RunArgs extends GlobalOptions {
3
4
  sync: string;
@@ -5,6 +6,7 @@ interface RunArgs extends GlobalOptions {
5
6
  lastSyncDate?: string;
6
7
  useServerLastSyncDate?: boolean;
7
8
  input?: object;
9
+ metadata?: Metadata;
8
10
  }
9
11
  export declare const version: (debug: boolean) => void;
10
12
  export declare const generate: (debug?: boolean, inParentDirectory?: boolean) => Promise<void>;
package/dist/sync.ejs CHANGED
@@ -1,7 +1,4 @@
1
- <%
2
- const formattedInterfaceNames = Array.isArray(interfaceNames) ? interfaceNames.join(', ') : interfaceNames;
3
- %>
4
- import type { NangoSync<%= formattedInterfaceNames ? ', ' + formattedInterfaceNames : '' %> } from './<%= interfaceFileName %>';
1
+ import type { NangoSync, <%= interfaceNames.join(', ') %> } from './<%= interfaceFileName %>';
5
2
 
6
3
  export default async function fetchData(nango: NangoSync): Promise<void> {
7
4
  // Integration code goes here
package/dist/sync.js CHANGED
@@ -55,7 +55,7 @@ export const generate = async (debug = false, inParentDirectory = false) => {
55
55
  const typesContent = fs.readFileSync(`${getNangoRootPath()}/${NangoSyncTypesFileLocation}`, 'utf8');
56
56
  fs.writeFileSync(`${dirPrefix}/${TYPES_FILE_NAME}`, typesContent, { flag: 'a' });
57
57
  const config = await getConfig(dirPrefix, debug);
58
- const flowConfig = `export const NangoFlows = ${JSON.stringify(config, null, 2)}; \n`;
58
+ const flowConfig = `export const NangoFlows = ${JSON.stringify(config, null, 2)} as const; \n`;
59
59
  fs.writeFileSync(`${dirPrefix}/${TYPES_FILE_NAME}`, flowConfig, { flag: 'a' });
60
60
  if (debug) {
61
61
  printDebug(`NangoSync types written to ${TYPES_FILE_NAME}`);
@@ -248,7 +248,7 @@ const createModelFile = async (notify = false) => {
248
248
  const typesContent = fs.readFileSync(`${getNangoRootPath()}/${NangoSyncTypesFileLocation}`, 'utf8');
249
249
  fs.writeFileSync(`./${TYPES_FILE_NAME}`, typesContent, { flag: 'a' });
250
250
  const config = await getConfig();
251
- const flowConfig = `export const NangoFlows = ${JSON.stringify(config, null, 2)}; \n`;
251
+ const flowConfig = `export const NangoFlows = ${JSON.stringify(config, null, 2)} as const; \n`;
252
252
  fs.writeFileSync(`./${TYPES_FILE_NAME}`, flowConfig, { flag: 'a' });
253
253
  if (notify) {
254
254
  console.log(chalk.green(`The ${nangoConfigFile} was updated. The interface file (${TYPES_FILE_NAME}) was updated to reflect the updated config`));
@@ -296,7 +296,7 @@ async function parseSecretKey(environment, debug = false) {
296
296
  }
297
297
  }
298
298
  export const deploy = async (options, environment, debug = false) => {
299
- const { env, version, sync: optionalSyncName, autoConfirm } = options;
299
+ const { env, version, sync: optionalSyncName, action: optionalActionName, autoConfirm } = options;
300
300
  await verifyNecessaryFiles(autoConfirm);
301
301
  await parseSecretKey(environment, debug);
302
302
  if (!process.env['NANGO_HOSTPORT']) {
@@ -316,9 +316,10 @@ export const deploy = async (options, environment, debug = false) => {
316
316
  printDebug(`NANGO_HOSTPORT is set to ${process.env['NANGO_HOSTPORT']}.`);
317
317
  printDebug(`Environment is set to ${environment}`);
318
318
  }
319
+ const singleDeployMode = Boolean(optionalSyncName || optionalActionName);
319
320
  await tsc(debug);
320
321
  const config = await getConfig('', debug);
321
- const postData = packageIntegrationData(config, debug, optionalSyncName, version);
322
+ const postData = packageIntegrationData(config, debug, version, optionalSyncName, optionalActionName);
322
323
  if (!postData) {
323
324
  return;
324
325
  }
@@ -327,7 +328,7 @@ export const deploy = async (options, environment, debug = false) => {
327
328
  if (process.env['NANGO_DEPLOY_AUTO_CONFIRM'] !== 'true' && !autoConfirm) {
328
329
  const confirmationUrl = process.env['NANGO_HOSTPORT'] + `/sync/deploy/confirmation`;
329
330
  try {
330
- const response = await axios.post(confirmationUrl, { syncs: postData, reconcile: false, debug }, { headers: enrichHeaders(), httpsAgent: httpsAgent() });
331
+ const response = await axios.post(confirmationUrl, { syncs: postData, reconcile: false, debug, singleDeployMode }, { headers: enrichHeaders(), httpsAgent: httpsAgent() });
331
332
  console.log(JSON.stringify(response.data, null, 2));
332
333
  const { newSyncs, deletedSyncs } = response.data;
333
334
  for (const sync of newSyncs) {
@@ -341,7 +342,7 @@ export const deploy = async (options, environment, debug = false) => {
341
342
  }
342
343
  const confirmation = await promptly.confirm('Do you want to continue y/n?');
343
344
  if (confirmation) {
344
- await deploySyncs(url, { syncs: postData, nangoYamlBody, reconcile: true, debug });
345
+ await deploySyncs(url, { syncs: postData, nangoYamlBody, reconcile: true, debug, singleDeployMode });
345
346
  }
346
347
  else {
347
348
  console.log(chalk.red('Syncs/Actions were not deployed. Exiting'));
@@ -366,7 +367,7 @@ export const deploy = async (options, environment, debug = false) => {
366
367
  if (debug) {
367
368
  printDebug(`Auto confirm is set so deploy will start without confirmation`);
368
369
  }
369
- await deploySyncs(url, { syncs: postData, nangoYamlBody, reconcile: true, debug });
370
+ await deploySyncs(url, { syncs: postData, nangoYamlBody, reconcile: true, debug, singleDeployMode });
370
371
  }
371
372
  };
372
373
  async function deploySyncs(url, body) {
@@ -439,7 +440,7 @@ export const adminDeploy = async (environmentName, debug = false) => {
439
440
  };
440
441
  export const dryRun = async (options, environment, debug = false) => {
441
442
  let syncName = '';
442
- let connectionId, suppliedLastSyncDate, actionInput;
443
+ let connectionId, suppliedLastSyncDate, actionInput, stubbedMetadata;
443
444
  await parseSecretKey(environment, debug);
444
445
  if (!process.env['NANGO_HOSTPORT']) {
445
446
  if (debug) {
@@ -451,7 +452,7 @@ export const dryRun = async (options, environment, debug = false) => {
451
452
  printDebug(`NANGO_HOSTPORT is set to ${process.env['NANGO_HOSTPORT']}`);
452
453
  }
453
454
  if (Object.keys(options).length > 0) {
454
- ({ sync: syncName, connectionId, lastSyncDate: suppliedLastSyncDate, input: actionInput } = options);
455
+ ({ sync: syncName, connectionId, lastSyncDate: suppliedLastSyncDate, input: actionInput, metadata: stubbedMetadata } = options);
455
456
  }
456
457
  if (!syncName) {
457
458
  console.log(chalk.red('Sync name is required'));
@@ -511,6 +512,7 @@ export const dryRun = async (options, environment, debug = false) => {
511
512
  catch (e) {
512
513
  normalizedInput = actionInput;
513
514
  }
515
+ const logMessages = [];
514
516
  const syncRun = new syncRunService({
515
517
  integrationService,
516
518
  writeToDb: false,
@@ -523,7 +525,9 @@ export const dryRun = async (options, environment, debug = false) => {
523
525
  syncName,
524
526
  syncType: SyncType.INITIAL,
525
527
  loadLocation: './',
526
- debug
528
+ debug,
529
+ logMessages,
530
+ stubbedMetadata
527
531
  });
528
532
  try {
529
533
  const secretKey = process.env['NANGO_SECRET_KEY'];
@@ -531,6 +535,29 @@ export const dryRun = async (options, environment, debug = false) => {
531
535
  if (results) {
532
536
  console.log(JSON.stringify(results, null, 2));
533
537
  }
538
+ if (syncRun.logMessages && syncRun.logMessages.length > 0) {
539
+ const logMessages = syncRun.logMessages;
540
+ let index = 0;
541
+ const batchCount = 10;
542
+ const displayBatch = () => {
543
+ for (let i = 0; i < batchCount && index < logMessages.length; i++, index++) {
544
+ const logs = logMessages[index];
545
+ console.log(chalk.yellow(JSON.stringify(logs, null, 2)));
546
+ }
547
+ };
548
+ console.log(chalk.yellow('The following log messages were generated:'));
549
+ displayBatch();
550
+ while (index < syncRun.logMessages.length) {
551
+ const remaining = syncRun.logMessages.length - index;
552
+ const confirmation = await promptly.confirm(`There are ${remaining} logs messages remaining. Would you like to see the next 10 log messages? (y/n)`);
553
+ if (confirmation) {
554
+ displayBatch();
555
+ }
556
+ else {
557
+ break;
558
+ }
559
+ }
560
+ }
534
561
  process.exit(0);
535
562
  }
536
563
  catch (e) {
@@ -790,16 +817,24 @@ export const dockerRun = async (debug = false) => {
790
817
  child?.on('error', reject);
791
818
  });
792
819
  };
793
- function packageIntegrationData(config, debug, version = '', optionalSyncName = '') {
820
+ function packageIntegrationData(config, debug, version = '', optionalSyncName = '', optionalActionName = '') {
794
821
  const postData = [];
795
822
  for (const integration of config) {
796
823
  const { providerConfigKey } = integration;
797
- let { syncs } = integration;
798
- const { actions } = integration;
824
+ let { syncs, actions } = integration;
825
+ let flows = [...syncs, ...actions];
799
826
  if (optionalSyncName) {
800
827
  syncs = syncs.filter((sync) => sync.name === optionalSyncName);
828
+ flows = syncs;
829
+ }
830
+ if (optionalActionName) {
831
+ actions = actions.filter((action) => action.name === optionalActionName);
832
+ flows = actions;
833
+ }
834
+ if (optionalSyncName && optionalActionName) {
835
+ flows = [...syncs, ...actions];
801
836
  }
802
- for (const sync of [...syncs, ...actions]) {
837
+ for (const sync of flows) {
803
838
  const { name: syncName, runs = '', returns: models, models: model_schema, type = SyncConfigType.SYNC } = sync;
804
839
  const { path: integrationFilePath, result: integrationFileResult } = localFileService.checkForIntegrationDistFile(syncName, './');
805
840
  const metadata = {};
package/dist/sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../lib/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../lib/sync.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -9,4 +9,5 @@ export interface DeployOptions extends GlobalOptions {
9
9
  staging?: boolean;
10
10
  version?: string;
11
11
  sync?: string;
12
+ action?: string;
12
13
  }
@@ -15,7 +15,7 @@ services:
15
15
  - nango
16
16
 
17
17
  nango-server:
18
- image: nangohq/nango-server:0.35.18
18
+ image: nangohq/nango-server:0.35.20
19
19
  container_name: nango-server
20
20
  environment:
21
21
  - TEMPORAL_ADDRESS=temporal:7233
@@ -47,7 +47,7 @@ services:
47
47
  - nango
48
48
 
49
49
  nango-worker:
50
- image: nangohq/nango-worker:0.35.18
50
+ image: nangohq/nango-worker:0.35.20
51
51
  container_name: nango-worker
52
52
  restart: always
53
53
  ports:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nango",
3
- "version": "0.35.18",
3
+ "version": "0.35.20",
4
4
  "description": "Nango's CLI tool.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -23,7 +23,7 @@
23
23
  "dependencies": {
24
24
  "@babel/traverse": "^7.22.5",
25
25
  "@inquirer/prompts": "^2.3.0",
26
- "@nangohq/shared": "0.35.18",
26
+ "@nangohq/shared": "0.35.20",
27
27
  "@vercel/ncc": "^0.36.1",
28
28
  "axios": "^1.2.0",
29
29
  "byots": "^5.0.0-dev.20221103.1.34",
@@ -1,5 +0,0 @@
1
- import type { NangoSync, <%= interfaceNames.join(', ') %> } from './<%= interfaceFileName %>';
2
-
3
- export default async function fetchData(nango: NangoSync): Promise<{<% for (let i = 0; i < mappings.length; i++) { %><%= mappings[i].name %>: <%= mappings[i].type %>[]<% if (i !== mappings.length - 1) { %>, <% } %><% } %>}> {
4
- // Integration code goes here, be sure to follow the return signature type
5
- }
@@ -1,61 +0,0 @@
1
- import type { NangoSync, <%= interfaceNames.join(', ') %> } from './<%= interfaceFileName %>';
2
-
3
- export default async function fetchData(nango: NangoSync): Promise<{<% for (let i = 0; i < mappings.length; i++) { %><%= mappings[i].name %>: <%= mappings[i].type %>[]<% if (i !== mappings.length - 1) { %>, <% } %><% } %>}> {
4
-
5
- const repos = await paginate(nango, '/user/repos');
6
-
7
- for (let repo of repos) {
8
- let issues = await paginate(nango, `/repos/${repo.owner.login}/${repo.name}/issues`);
9
-
10
- // Filter out pull requests
11
- issues = issues.filter(issue => !('pull_request' in issue));
12
-
13
- const mappedIssues: GithubIssue[] = issues.map(issue => ({
14
- id: issue.id,
15
- owner: repo.owner.login,
16
- repo: repo.name,
17
- issue_number: issue.number,
18
- title: issue.title,
19
- state: issue.state,
20
- author: issue.user.login,
21
- author_id: issue.user.id,
22
- body: issue.body,
23
- date_created: issue.created_at,
24
- date_last_modified: issue.updated_at
25
- }));
26
-
27
- if (mappedIssues.length > 0) {
28
- await nango.batchSave<GithubIssue>(mappedIssues, 'GithubIssue');
29
- await nango.log(`Sent ${mappedIssues.length} issues from ${repo.owner.login}/${repo.name}`);
30
- }
31
- }
32
-
33
- // Return empty array with the model key to indicate success
34
- return { GithubIssue: [] };
35
- }
36
-
37
- async function paginate(nango: NangoSync, endpoint: string) {
38
- const MAX_PAGE = 100;
39
-
40
- let results: any[] = [];
41
- let page = 1;
42
- while (true) {
43
- const resp = await nango.get({
44
- endpoint: endpoint,
45
- params: {
46
- limit: `${MAX_PAGE}`,
47
- page: `${page}`
48
- }
49
- });
50
-
51
- results = results.concat(resp.data);
52
-
53
- if (resp.data.length == MAX_PAGE) {
54
- page += 1;
55
- } else {
56
- break;
57
- }
58
- }
59
-
60
- return results;
61
- }