nango 0.16.49-beta → 0.17.6

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/index.js CHANGED
@@ -4,36 +4,24 @@
4
4
  */
5
5
  import { Command } from 'commander';
6
6
  import axios from 'axios';
7
- import chalk from 'chalk';
8
- import figlet from 'figlet';
9
- import fs from 'fs';
10
- import path, { dirname } from 'path';
11
- import { fileURLToPath } from 'url';
12
- import yaml from 'js-yaml';
13
- import ejs from 'ejs';
14
- import * as dotenv from 'dotenv';
15
- import { loadSimplifiedConfig, checkForIntegrationFile } from '@nangohq/shared';
16
- import { init, run, tsc, tscWatch, configWatch, dockerRun } from './sync.js';
17
- import { checkEnvVars, enrichHeaders, httpsAgent, getConnection, configFile, NANGO_INTEGRATIONS_LOCATION, buildInterfaces, setCloudHost, setStagingHost } from './utils.js';
7
+ import https from 'https';
18
8
  const program = new Command();
19
9
  let hostport = process.env['NANGO_HOSTPORT'] || 'http://localhost:3003';
20
- const __filename = fileURLToPath(import.meta.url);
21
- const __dirname = dirname(__filename);
10
+ let cloudHost = 'https://api.nango.dev';
11
+ let stagingHost = 'https://nango-cloud-staging.onrender.com';
22
12
  if (hostport.slice(-1) === '/') {
23
13
  hostport = hostport.slice(0, -1);
24
14
  }
25
- dotenv.config();
26
15
  // Test from the package root (/packages/cli) with 'node dist/index.js'
27
16
  program
28
17
  .name('nango')
29
18
  .description(`A CLI tool to configure Nango:\n- By defaults, the CLI assumes that you are running Nango on localhost:3003\n- For Nango Cloud: Set the NANGO_HOSTPORT & NANGO_SECRET_KEY env variables\n- For Self-Hosting: set the NANGO_HOSTPORT env variable`);
30
- program.addHelpText('before', chalk.green(figlet.textSync('Nango CLI')));
31
19
  program
32
20
  .command('config:list')
33
21
  .description('List all provider configurations.')
34
22
  .action(async function () {
35
23
  checkEnvVars();
36
- const url = hostport + '/config';
24
+ let url = hostport + '/config';
37
25
  await axios
38
26
  .get(url, { headers: enrichHeaders(), httpsAgent: httpsAgent() })
39
27
  .then((res) => {
@@ -51,7 +39,7 @@ program
51
39
  .argument('<provider_config_key>', 'The unique key of the provider configuration (chosen by you upon creating this provider configuration).')
52
40
  .action(async function () {
53
41
  checkEnvVars();
54
- const url = hostport + `/config/${this.args[0]}`;
42
+ let url = hostport + `/config/${this.args[0]}`;
55
43
  await axios
56
44
  .get(url, { headers: enrichHeaders(), httpsAgent: httpsAgent() })
57
45
  .then((res) => {
@@ -71,14 +59,14 @@ program
71
59
  .argument('<oauth_scopes>', 'The OAuth Scopes obtained from the API provider (comma-separated).')
72
60
  .action(async function () {
73
61
  checkEnvVars();
74
- const body = {
62
+ let body = {
75
63
  provider_config_key: this.args[0],
76
64
  provider: this.args[1],
77
65
  oauth_client_id: this.args[2],
78
66
  oauth_client_secret: this.args[3],
79
67
  oauth_scopes: this.args[4]
80
68
  };
81
- const url = hostport + `/config`;
69
+ let url = hostport + `/config`;
82
70
  await axios
83
71
  .post(url, body, { headers: enrichHeaders(), httpsAgent: httpsAgent() })
84
72
  .then((_) => {
@@ -98,14 +86,14 @@ program
98
86
  .argument('<oauth_scopes>', 'The OAuth Scopes obtained from the API provider (comma-separated).')
99
87
  .action(async function () {
100
88
  checkEnvVars();
101
- const body = {
89
+ let body = {
102
90
  provider_config_key: this.args[0],
103
91
  provider: this.args[1],
104
92
  oauth_client_id: this.args[2],
105
93
  oauth_client_secret: this.args[3],
106
94
  oauth_scopes: this.args[4]
107
95
  };
108
- const url = hostport + `/config`;
96
+ let url = hostport + `/config`;
109
97
  await axios
110
98
  .put(url, body, { headers: enrichHeaders(), httpsAgent: httpsAgent() })
111
99
  .then((_) => {
@@ -121,7 +109,7 @@ program
121
109
  .argument('<provider_config_key>', 'The unique key of the provider configuration (chosen by you upon creating this provider configuration).')
122
110
  .action(async function () {
123
111
  checkEnvVars();
124
- const url = hostport + `/config/${this.args[0]}`;
112
+ let url = hostport + `/config/${this.args[0]}`;
125
113
  await axios
126
114
  .delete(url, { headers: enrichHeaders(), httpsAgent: httpsAgent() })
127
115
  .then((_) => {
@@ -138,15 +126,15 @@ program
138
126
  .argument('<connection_id>', 'The ID of the Connection.')
139
127
  .action(async function () {
140
128
  checkEnvVars();
141
- const [providerConfigKey, connectionId] = this.args;
142
- if (!providerConfigKey) {
143
- console.log(chalk.red('Please provide a provider config key.'));
144
- }
145
- if (!connectionId) {
146
- console.log(chalk.red('Please provide a connection ID.'));
147
- }
148
- const connection = await getConnection(providerConfigKey, connectionId);
149
- console.log(connection);
129
+ let url = hostport + `/connection/${this.args[1]}`;
130
+ await axios
131
+ .get(url, { params: { provider_config_key: this.args[0] }, headers: enrichHeaders(), httpsAgent: httpsAgent() })
132
+ .then((res) => {
133
+ console.log(res.data);
134
+ })
135
+ .catch((err) => {
136
+ console.log(`❌ ${err.response?.data.error || JSON.stringify(err)}`);
137
+ });
150
138
  });
151
139
  program
152
140
  .command('token:get')
@@ -155,7 +143,7 @@ program
155
143
  .argument('<connection_id>', 'The ID of the Connection.')
156
144
  .action(async function () {
157
145
  checkEnvVars();
158
- const url = hostport + `/connection/${this.args[1]}`;
146
+ let url = hostport + `/connection/${this.args[1]}`;
159
147
  await axios
160
148
  .get(url, { params: { provider_config_key: this.args[0] }, headers: enrichHeaders(), httpsAgent: httpsAgent() })
161
149
  .then((response) => {
@@ -179,7 +167,7 @@ program
179
167
  .description('List connections without credentials.')
180
168
  .action(async function () {
181
169
  checkEnvVars();
182
- const url = hostport + `/connection`;
170
+ let url = hostport + `/connection`;
183
171
  await axios
184
172
  .get(url, { headers: enrichHeaders(), httpsAgent: httpsAgent() })
185
173
  .then((res) => {
@@ -196,7 +184,7 @@ program
196
184
  .argument('<connection_id>', 'The ID of the Connection.')
197
185
  .action(async function () {
198
186
  checkEnvVars();
199
- const url = hostport + `/connection/${this.args[1]}`;
187
+ let url = hostport + `/connection/${this.args[1]}`;
200
188
  await axios
201
189
  .delete(url, { params: { provider_config_key: this.args[0] }, headers: enrichHeaders(), httpsAgent: httpsAgent() })
202
190
  .then((_) => {
@@ -206,173 +194,41 @@ program
206
194
  console.log(`❌ ${err.response?.data.error || JSON.stringify(err)}`);
207
195
  });
208
196
  });
209
- program
210
- .command('init')
211
- .alias('i')
212
- .description('Initialize a new Nango project')
213
- .action(() => {
214
- init();
215
- });
216
- program
217
- .command('generate')
218
- .alias('g')
219
- .description('Generate a new Nango integration')
220
- .action(() => {
221
- const templateContents = fs.readFileSync(path.resolve(__dirname, './integration.ejs'), 'utf8');
222
- const cwd = process.cwd();
223
- const configContents = fs.readFileSync(path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/${configFile}`), 'utf8');
224
- const configData = yaml.load(configContents);
225
- const { integrations } = configData;
226
- const { models } = configData;
227
- const interfaceDefinitions = buildInterfaces(models);
228
- fs.writeFileSync(`${NANGO_INTEGRATIONS_LOCATION}/models.ts`, interfaceDefinitions.join('\n'));
229
- for (let i = 0; i < Object.keys(integrations).length; i++) {
230
- const providerConfigKey = Object.keys(integrations)[i];
231
- const syncObject = integrations[providerConfigKey];
232
- const syncNames = Object.keys(syncObject);
233
- for (let k = 0; k < syncNames.length; k++) {
234
- const syncName = syncNames[k];
235
- const syncData = syncObject[syncName];
236
- const { returns: models } = syncData;
237
- const syncNameCamel = syncName
238
- .split('-')
239
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
240
- .join('');
241
- const rendered = ejs.render(templateContents, {
242
- syncName: syncNameCamel,
243
- interfaceNames: models.map((model) => {
244
- const singularModel = model?.charAt(model.length - 1) === 's' ? model.slice(0, -1) : model;
245
- return `${singularModel.charAt(0).toUpperCase()}${singularModel.slice(1)}`;
246
- }),
247
- mappings: models.map((model) => {
248
- const singularModel = model.charAt(model.length - 1) === 's' ? model.slice(0, -1) : model;
249
- return {
250
- name: model,
251
- type: `${singularModel.charAt(0).toUpperCase()}${singularModel.slice(1)}`
252
- };
253
- })
254
- });
255
- if (!fs.existsSync(`${NANGO_INTEGRATIONS_LOCATION}/${syncName}.ts`)) {
256
- fs.writeFileSync(`${NANGO_INTEGRATIONS_LOCATION}/${syncName}.ts`, rendered);
257
- }
258
- }
259
- }
260
- console.log(chalk.green(`Integration files have been created`));
261
- });
262
- program
263
- .command('tsc')
264
- .description('Compile the integration files to JavaScript')
265
- .action(() => {
266
- tsc();
267
- });
268
- program
269
- .command('tsc:watch')
270
- .description('Watch tsc files while developing. Set --no-compile-interfaces to disable watching the config file')
271
- .option('--no-compile-interfaces', `Watch the ${configFile} and recompile the interfaces on change`, true)
272
- .action(async function () {
273
- const { compileInterfaces } = this.opts();
274
- if (compileInterfaces) {
275
- configWatch();
197
+ program.parseAsync(process.argv);
198
+ function enrichHeaders(headers = {}) {
199
+ if ((process.env['NANGO_HOSTPORT'] === cloudHost || process.env['NANGO_HOSTPORT'] === stagingHost) && process.env['NANGO_SECRET_KEY']) {
200
+ // For Nango Cloud (unified)
201
+ headers['Authorization'] = 'Bearer ' + process.env['NANGO_SECRET_KEY'];
276
202
  }
277
- tscWatch();
278
- });
279
- program
280
- .command('docker:run')
281
- .description('Run the docker container locally')
282
- .action(() => {
283
- dockerRun();
284
- });
285
- program
286
- .command('dev')
287
- .alias('develop')
288
- .alias('watch')
289
- .description('Work locally to add integration code')
290
- .action(() => {
291
- configWatch();
292
- tscWatch();
293
- dockerRun();
294
- });
295
- program
296
- .command('deploy')
297
- .alias('d')
298
- .description('Deploy a Nango integration')
299
- .option('--staging', 'Deploy to the staging instance')
300
- .option('-v, --version [version]', 'Optional: Set a version of this deployment to tag this integraion with. Can be used for rollbacks.')
301
- .option('-s, --sync [syncName]', 'Optional deploy only this sync name.')
302
- .action(async function () {
303
- const { staging, version } = this.opts();
304
- if (!process.env['NANGO_HOSTPORT']) {
305
- console.log(chalk.red(`NANGO_HOSTPORT environment variable is not set`));
306
- return;
203
+ else if (process.env['NANGO_SECRET_KEY']) {
204
+ // For Nango OSS
205
+ headers['Authorization'] = 'Basic ' + Buffer.from(process.env['NANGO_SECRET_KEY'] + ':').toString('base64');
307
206
  }
308
- if (!process.env['NANGO_SECRET_KEY']) {
309
- console.log(chalk.red(`NANGO_SECRET_KEY environment variable is not set`));
310
- return;
207
+ headers['Accept-Encoding'] = 'application/json';
208
+ return headers;
209
+ }
210
+ function httpsAgent() {
211
+ return new https.Agent({
212
+ rejectUnauthorized: false
213
+ });
214
+ }
215
+ function checkEnvVars() {
216
+ if (hostport === 'http://localhost:3003') {
217
+ console.log(`Assuming you are running Nango on localhost:3003 because you did not set the NANGO_HOSTPORT env var.\n\n`);
311
218
  }
312
- if (staging) {
313
- setStagingHost();
219
+ else if (hostport === cloudHost || hostport === stagingHost) {
220
+ if (!process.env['NANGO_SECRET_KEY']) {
221
+ console.log(`Assuming you are using Nango Cloud but your are lacking the NANGO_SECRET_KEY env var.`);
222
+ }
223
+ else if (hostport === cloudHost) {
224
+ console.log(`Assuming you are using Nango Cloud (because you set the NANGO_HOSTPORT env var to https://api.nango.dev).`);
225
+ }
226
+ else if (hostport === stagingHost) {
227
+ console.log(`Assuming you are using Nango Cloud (because you set the NANGO_HOSTPORT env var to https://api.staging.nango.dev).`);
228
+ }
314
229
  }
315
230
  else {
316
- setCloudHost();
317
- }
318
- checkEnvVars();
319
- tsc();
320
- const cwd = process.cwd();
321
- const config = await loadSimplifiedConfig(path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/${configFile}`));
322
- if (!config) {
323
- throw new Error(`Error loading the ${configFile} file`);
324
- }
325
- const postData = [];
326
- for (const integration of config) {
327
- const { providerConfigKey, syncs } = integration;
328
- for (const sync of syncs) {
329
- const { name: syncName, runs, returns: models } = sync;
330
- const { path: integrationFilePath, result: integrationFileResult } = checkForIntegrationFile(syncName, path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}`));
331
- if (!integrationFileResult) {
332
- console.log(chalk.red(`No integration file found for ${syncName} at ${integrationFilePath}. Skipping...`));
333
- continue;
334
- }
335
- const body = {
336
- syncName,
337
- providerConfigKey,
338
- models,
339
- version,
340
- runs,
341
- fileBody: fs.readFileSync(integrationFilePath, 'utf8')
342
- };
343
- postData.push(body);
344
- }
231
+ console.log(`Assuming you are self-hosting Nango (becauses you set the NANGO_HOSTPORT env var to ${hostport}).`);
345
232
  }
346
- const url = hostport + `/sync/deploy`;
347
- await axios
348
- .post(url, postData, { headers: enrichHeaders(), httpsAgent: httpsAgent() })
349
- .then((_) => {
350
- console.log(chalk.green(`Successfully deployed the syncs!`));
351
- })
352
- .catch((_err) => {
353
- console.log(chalk.red(`Error deploying the syncs`));
354
- });
355
- });
356
- program
357
- .command('sync:config.check')
358
- .alias('scc')
359
- .description('Verify the parsed sync config and output the object for verification')
360
- .action(async () => {
361
- const cwd = process.cwd();
362
- const config = await loadSimplifiedConfig(path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/${configFile}`));
363
- console.log(chalk.green(JSON.stringify(config, null, 2)));
364
- });
365
- program
366
- .command('sync:run')
367
- .alias('sr')
368
- .description('Run the sync process to help with debugging')
369
- .option('-s, --sync <syncName>', 'The name of the sync (e.g. account-sync).')
370
- .option('-p, --provider <provider_config_key>', 'The unique key of the provider configuration (chosen by you upon creating this provider configuration).')
371
- .option('-c, --connection <connection_id>', 'The ID of the Connection.')
372
- .option('-l, --lastSyncDate [lastSyncDate]', 'Optional: last sync date to retrieve records greater than this date')
373
- .action(async function () {
374
- checkEnvVars();
375
- run(this.args, this.opts());
376
- });
377
- program.parse();
233
+ }
378
234
  //# sourceMappingURL=index.js.map
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nango",
3
- "version": "0.16.49-beta",
3
+ "version": "0.17.6",
4
4
  "description": "Nango's CLI tool.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -13,44 +13,18 @@
13
13
  "directory": "packages/cli"
14
14
  },
15
15
  "license": "SEE LICENSE IN LICENSE FILE IN GIT REPOSITORY",
16
- "scripts": {
17
- "build": "tsc",
18
- "copyfiles": "copyfiles -u 1 lib/*.ejs dist",
19
- "postbuild": "npm run copyfiles",
20
- "dev": "npm run copyfiles && tsc -w"
21
- },
22
16
  "dependencies": {
23
- "@nangohq/shared": "0.17.41-beta",
24
17
  "axios": "^1.2.0",
25
- "byots": "^5.0.0-dev.20221103.1.34",
26
- "chokidar": "^3.5.3",
27
- "commander": "^10.0.1",
28
- "copyfiles": "^2.4.1",
29
- "dotenv": "^16.0.3",
30
- "ejs": "^3.1.9",
31
- "esbuild": "^0.17.19",
32
- "figlet": "^1.6.0",
33
- "js-yaml": "^4.1.0",
34
- "memfs": "^3.5.1",
35
- "ora": "^6.3.1",
36
- "ts-node": "^10.9.1",
37
- "typescript": "^5.0.4",
38
- "webpack": "^5.82.1"
18
+ "commander": "^9.4.0"
39
19
  },
40
20
  "devDependencies": {
41
- "@types/commander": "^2.12.2",
42
- "@types/ejs": "^3.1.2",
43
- "@types/figlet": "^1.5.6",
44
- "@types/glob": "^8.1.0",
45
- "@types/node": "^20.1.4"
21
+ "@types/commander": "^2.12.2"
46
22
  },
47
23
  "engines": {
48
24
  "node": ">=16.7"
49
25
  },
50
26
  "files": [
51
27
  "dist/**/*",
52
- "docker/**/*",
53
- "tsconfig.dev.json",
54
28
  "!**/*.json",
55
29
  "README.md"
56
30
  ]
package/dist/entry.js DELETED
@@ -1,89 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
- Object.defineProperty(exports, "__esModule", { value: true });
54
- var node_1 = require("@nangohq/node");
55
- // TODO this will be a local interface created by the config yaml file
56
- //import { ticket } from '@nangohq/models';
57
- var GithubTicketSync = /** @class */ (function (_super) {
58
- __extends(GithubTicketSync, _super);
59
- function GithubTicketSync() {
60
- return _super !== null && _super.apply(this, arguments) || this;
61
- }
62
- //async fetchData(nango: NangoHelper): { [ticket.name]: [ticket.type] } {
63
- GithubTicketSync.prototype.fetchData = function (nango) {
64
- return __awaiter(this, void 0, void 0, function () {
65
- var issues, tickets;
66
- return __generator(this, function (_a) {
67
- switch (_a.label) {
68
- case 0: return [4 /*yield*/, nango.get({
69
- endpoint: 'repos/NangoHQ/nango/issues'
70
- })];
71
- case 1:
72
- issues = _a.sent();
73
- tickets = issues.map(function (issue) { return ({
74
- id: issue.id,
75
- title: issue.title,
76
- description: issue.body,
77
- status: issue.state,
78
- author: {
79
- avatar_url: issue.user.avatar_url
80
- }
81
- }); });
82
- return [2 /*return*/, tickets];
83
- }
84
- });
85
- });
86
- };
87
- return GithubTicketSync;
88
- }(node_1.NangoSync));
89
- exports.default = GithubSync;
@@ -1,30 +0,0 @@
1
- import { NangoSync, NangoHelper } from '@nangohq/node';
2
- import { <%= interfaceNames.join(', ') %> } from './models';
3
-
4
- class <%= syncName %> extends NangoSync {
5
- override async fetchData(nango: NangoHelper): Promise<{<% for (let i = 0; i < mappings.length; i++) { %><%= mappings[i].name %>: <%= mappings[i].type %>[]<% if (i !== mappings.length - 1) { %>, <% } %><% } %>}> {
6
- /**
7
- * Rest of the integration code goes below.
8
- *
9
- * Example:
10
- * const response = await nango.get({
11
- * endpoint: 'repos/NangoHQ/nango/issues'
12
- * });
13
- *
14
- * const issues = response.data.map((ghIssue) => {
15
- * const issue: Issue = {
16
- * id: ghIssue.id,
17
- * title: ghIssue.title,
18
- * body: ghIssue.body,
19
- * status: ghIssue.status
20
- * };
21
- *
22
- * return issue;
23
- * });
24
- *
25
- * return { issues };
26
- */
27
- }
28
- }
29
-
30
- export default <%= syncName %>;
@@ -1,35 +0,0 @@
1
- const tableName = '<%= tableName %>'';
2
-
3
- exports.up = function (knex, _) {
4
- return knex.schema.withSchema('nango').createTable(tableName, function (table) {
5
- return knex.schema.withSchema('nango').createTable(tableName, function (table) {
6
- table.increments('id').primary();
7
- <% data.forEach(function(model) { %>
8
- <% Object.keys(model).forEach(function(prop) { %>
9
- <% if (prop === 'id') { return; } %>
10
- <% const type = model[prop]; %>
11
- <% switch (type) { %>
12
- <% case 'integer': %>
13
- table.integer('<%= prop %>');
14
- <% break; %>
15
- <% case 'char': %>
16
- table.string('<%= prop %>', 255);
17
- <% break; %>
18
- <% case 'text': %>
19
- table.text('<%= prop %>');
20
- <% break; %>
21
- <% case 'timestamp': %>
22
- table.timestamp('<%= prop %>');
23
- <% break; %>
24
- <% default: %>
25
- throw new Error(`Unknown type <%= type %> for column <%= prop %>`);
26
- <% } %>
27
- <% }); %>
28
- <% }); %>
29
- });
30
- };
31
-
32
- exports.down = function (knex, _) {
33
- return knex.schema.withSchema('nango').dropTable(tableName);
34
- };
35
-
package/dist/sync.d.ts DELETED
@@ -1,19 +0,0 @@
1
- interface RunArgs {
2
- sync: string;
3
- provider: string;
4
- connection: string;
5
- lastSyncDate?: string;
6
- }
7
- export declare const init: () => void;
8
- export declare const verifyAndChangeDistFilesToJs: () => void;
9
- export declare const run: (args: string[], options: RunArgs) => Promise<void>;
10
- export declare const tsc: () => void;
11
- export declare const tscWatch: () => void;
12
- export declare const configWatch: () => void;
13
- /**
14
- * Docker Run
15
- * @desc spawn a child process to run the docker compose located in the cli
16
- * Look into https://www.npmjs.com/package/docker-compose to avoid dependency maybe?
17
- */
18
- export declare const dockerRun: () => void;
19
- export {};
package/dist/sync.js DELETED
@@ -1,252 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import yaml from 'js-yaml';
4
- import chalk from 'chalk';
5
- import chokidar from 'chokidar';
6
- import * as tsNode from 'ts-node';
7
- import glob from 'glob';
8
- import * as dotenv from 'dotenv';
9
- import { spawn } from 'child_process';
10
- import { Nango, loadNangoConfig, getIntegrationClass, getServerBaseUrl, getLastSyncDate, syncDataService } from '@nangohq/shared';
11
- import { getConnection, configFile, NANGO_INTEGRATIONS_LOCATION, buildInterfaces } from './utils.js';
12
- dotenv.config();
13
- export const init = () => {
14
- const data = {
15
- integrations: {
16
- 'github-prod': {
17
- 'github-users': {
18
- runs: 'every hour',
19
- returns: ['users']
20
- },
21
- 'github-issues': {
22
- runs: 'every half hour',
23
- returns: ['issues']
24
- }
25
- },
26
- 'asana-dev': {
27
- 'asana-projects': {
28
- runs: 'every hour',
29
- returns: ['projects']
30
- }
31
- }
32
- },
33
- models: {
34
- issues: {
35
- id: 'integer',
36
- title: 'char',
37
- description: 'char',
38
- status: 'char',
39
- author: {
40
- avatar_url: 'char'
41
- }
42
- },
43
- projects: {
44
- id: 'integer',
45
- type: 'char'
46
- },
47
- users: {
48
- id: 'integer',
49
- name: 'char'
50
- }
51
- }
52
- };
53
- const yamlData = yaml.dump(data);
54
- if (!fs.existsSync(NANGO_INTEGRATIONS_LOCATION)) {
55
- fs.mkdirSync(NANGO_INTEGRATIONS_LOCATION);
56
- }
57
- fs.writeFileSync(`${NANGO_INTEGRATIONS_LOCATION}/${configFile}`, yamlData);
58
- console.log(chalk.green(`${configFile} file has been created`));
59
- };
60
- export const verifyAndChangeDistFilesToJs = () => {
61
- const cwd = process.cwd();
62
- const distFiles = fs.readdirSync(path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/dist`));
63
- distFiles.forEach((file) => {
64
- if (file.endsWith('.mjs')) {
65
- fs.renameSync(path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/dist/${file}`), path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/dist/${file.replace('.mjs', '.js')}`));
66
- }
67
- });
68
- };
69
- export const run = async (args, options) => {
70
- verifyAndChangeDistFilesToJs();
71
- let syncName, providerConfigKey, connectionId, suppliedLastSyncDate;
72
- if (args.length > 0) {
73
- [syncName, providerConfigKey, connectionId, suppliedLastSyncDate] = args;
74
- }
75
- if (Object.keys(options).length > 0) {
76
- ({ sync: syncName, provider: providerConfigKey, connection: connectionId, lastSyncDate: suppliedLastSyncDate } = options);
77
- }
78
- if (!syncName) {
79
- console.log(chalk.red('Sync name is required'));
80
- return;
81
- }
82
- if (!providerConfigKey) {
83
- console.log(chalk.red('Provider config key is required'));
84
- return;
85
- }
86
- if (!connectionId) {
87
- console.log(chalk.red('Connection id is required'));
88
- return;
89
- }
90
- const cwd = process.cwd();
91
- const config = await loadNangoConfig(null, syncName, path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/${configFile}`));
92
- if (!config) {
93
- throw new Error(`Error loading the ${configFile} file`);
94
- }
95
- let lastSyncDate;
96
- if (suppliedLastSyncDate) {
97
- lastSyncDate = new Date(suppliedLastSyncDate);
98
- }
99
- if (config?.integrations?.[providerConfigKey]?.[syncName] &&
100
- fs.existsSync(path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/dist/${syncName}.js`))) {
101
- const syncData = config?.integrations[providerConfigKey]?.[syncName];
102
- // to load a module without having to edit the type in the package.json
103
- // edit the file to be a mjs then rename it back
104
- fs.renameSync(path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/dist/${syncName}.js`), path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/dist/${syncName}.mjs`));
105
- const integrationClass = await getIntegrationClass(syncName, path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/dist/${syncName}.mjs`) + `?v=${Math.random().toString(36).substring(3)}`);
106
- const nango = new Nango({
107
- host: getServerBaseUrl(),
108
- connectionId: String(connectionId),
109
- providerConfigKey: String(providerConfigKey),
110
- isSync: true
111
- });
112
- try {
113
- const nangoConnection = (await getConnection(providerConfigKey, connectionId));
114
- if (!lastSyncDate) {
115
- lastSyncDate = (await getLastSyncDate(nangoConnection?.id, syncName));
116
- }
117
- if (lastSyncDate instanceof Date && !isNaN(lastSyncDate.getTime())) {
118
- nango.setLastSyncDate(lastSyncDate);
119
- }
120
- const userDefinedResults = await integrationClass.fetchData(nango);
121
- console.log(JSON.stringify(userDefinedResults, null, 2));
122
- fs.renameSync(path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/dist/${syncName}.mjs`), path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/dist/${syncName}.js`));
123
- const { returns: models } = syncData;
124
- for (const model of models) {
125
- if (userDefinedResults[model]) {
126
- const { isUnique, nonUniqueKey } = syncDataService.verifyUniqueKeysAreUnique(userDefinedResults[model]);
127
- if (!isUnique) {
128
- console.log(chalk.red(`The ${model} model does not have unique id keys! The repeated key is ${nonUniqueKey}. Please resolve this before running the sync on the server.`));
129
- }
130
- }
131
- }
132
- process.exit(0);
133
- }
134
- catch (error) {
135
- console.error(error);
136
- fs.renameSync(path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/dist/${syncName}.mjs`), path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/dist/${syncName}.js`));
137
- process.exit(1);
138
- }
139
- }
140
- else {
141
- console.log(chalk.red('Sync not found'));
142
- }
143
- };
144
- export const tsc = () => {
145
- const cwd = process.cwd();
146
- const tsconfig = fs.readFileSync('./node_modules/nango/tsconfig.dev.json', 'utf8');
147
- const distDir = path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/dist`);
148
- if (!fs.existsSync(distDir)) {
149
- fs.mkdirSync(distDir);
150
- }
151
- const rawNangoIntegrationLocation = NANGO_INTEGRATIONS_LOCATION.replace('./', '');
152
- const compiler = tsNode.create({
153
- compilerOptions: JSON.parse(tsconfig).compilerOptions
154
- });
155
- const integrationFiles = glob.sync(path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/*.ts`));
156
- for (const filePath of integrationFiles) {
157
- try {
158
- const result = compiler.compile(fs.readFileSync(filePath, 'utf8'), filePath);
159
- const jsFilePath = path.join(path.dirname(filePath), path.basename(filePath, '.ts') + '.js');
160
- const distJSFilePath = jsFilePath.replace(rawNangoIntegrationLocation, `${rawNangoIntegrationLocation}/dist`);
161
- fs.writeFileSync(distJSFilePath, result);
162
- console.log(chalk.green(`Compiled ${filePath} successfully`));
163
- }
164
- catch (error) {
165
- console.error(`Error compiling ${filePath}:`);
166
- console.error(error);
167
- }
168
- }
169
- };
170
- export const tscWatch = () => {
171
- const cwd = process.cwd();
172
- const tsconfig = fs.readFileSync('./node_modules/nango/tsconfig.dev.json', 'utf8');
173
- const watchPath = [`${NANGO_INTEGRATIONS_LOCATION}/*.ts`, `${NANGO_INTEGRATIONS_LOCATION}/${configFile}`];
174
- const rawNangoIntegrationLocation = NANGO_INTEGRATIONS_LOCATION.replace('./', '');
175
- const watcher = chokidar.watch(watchPath, {
176
- ignoreInitial: false,
177
- ignored: (filePath) => {
178
- return filePath === `${rawNangoIntegrationLocation}/models.ts`;
179
- }
180
- });
181
- const distDir = path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/dist`);
182
- if (!fs.existsSync(distDir)) {
183
- fs.mkdirSync(distDir);
184
- }
185
- watcher.on('add', (filePath) => {
186
- if (filePath === `${rawNangoIntegrationLocation}/${configFile}`) {
187
- return;
188
- }
189
- compileFile(filePath);
190
- });
191
- watcher.on('change', (filePath) => {
192
- if (filePath === `${rawNangoIntegrationLocation}/${configFile}`) {
193
- // config file changed, re-compile each ts file
194
- const integrationFiles = glob.sync(path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/*.ts`));
195
- for (const file of integrationFiles) {
196
- compileFile(file);
197
- }
198
- return;
199
- }
200
- compileFile(filePath);
201
- });
202
- function compileFile(filePath) {
203
- const compiler = tsNode.create({
204
- compilerOptions: JSON.parse(tsconfig).compilerOptions
205
- });
206
- try {
207
- const result = compiler.compile(fs.readFileSync(filePath, 'utf8'), filePath);
208
- const jsFilePath = path.join(path.dirname(filePath), path.basename(filePath, '.ts') + '.js');
209
- const distJSFilePath = jsFilePath.replace(rawNangoIntegrationLocation, `${rawNangoIntegrationLocation}/dist`);
210
- fs.writeFileSync(distJSFilePath, result);
211
- console.log(chalk.green(`Compiled ${filePath} successfully`));
212
- }
213
- catch (error) {
214
- console.error(`Error compiling ${filePath}:`);
215
- console.error(error);
216
- return;
217
- }
218
- }
219
- };
220
- export const configWatch = () => {
221
- const watchPath = `${NANGO_INTEGRATIONS_LOCATION}/${configFile}`;
222
- const watcher = chokidar.watch(watchPath, { ignoreInitial: true });
223
- watcher.on('add', (filePath) => {
224
- buildInterface(filePath);
225
- });
226
- watcher.on('change', (filePath) => {
227
- buildInterface(filePath);
228
- });
229
- function buildInterface(filePath) {
230
- const cwd = process.cwd();
231
- const configContents = fs.readFileSync(path.resolve(cwd, `${NANGO_INTEGRATIONS_LOCATION}/${configFile}`), 'utf8');
232
- const configData = yaml.load(configContents);
233
- const { models } = configData;
234
- const interfaces = buildInterfaces(models);
235
- fs.writeFileSync(`${NANGO_INTEGRATIONS_LOCATION}/models.ts`, interfaces.join('\n'));
236
- console.log(chalk.green(`${filePath} was updated. The interface file (${NANGO_INTEGRATIONS_LOCATION}/models.ts) was updated to reflect the updated config`));
237
- }
238
- };
239
- /**
240
- * Docker Run
241
- * @desc spawn a child process to run the docker compose located in the cli
242
- * Look into https://www.npmjs.com/package/docker-compose to avoid dependency maybe?
243
- */
244
- export const dockerRun = () => {
245
- const cwd = process.cwd();
246
- spawn('docker', ['compose', '-f', 'node_modules/nango/docker/docker-compose.yaml', '--project-directory', '.', 'up', '--build'], {
247
- cwd,
248
- detached: false,
249
- stdio: 'inherit'
250
- });
251
- };
252
- //# sourceMappingURL=sync.js.map
package/dist/sync.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../lib/sync.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts DELETED
@@ -1,13 +0,0 @@
1
- /// <reference types="node" />
2
- import https from 'https';
3
- import type { NangoModel } from '@nangohq/shared';
4
- export declare const configFile = "nango.yaml";
5
- export declare const NANGO_INTEGRATIONS_LOCATION: string;
6
- export declare function setCloudHost(): void;
7
- export declare function setStagingHost(): void;
8
- export declare function checkEnvVars(): void;
9
- export declare function getConnection(providerConfigKey: string, connectionId: string): Promise<any>;
10
- export declare function enrichHeaders(headers?: Record<string, string | number | boolean>): Record<string, string | number | boolean>;
11
- export declare function httpsAgent(): https.Agent;
12
- export declare function getFieldType(rawField: string | NangoModel): string;
13
- export declare function buildInterfaces(models: NangoModel): (string | undefined)[];
package/dist/utils.js DELETED
@@ -1,136 +0,0 @@
1
- import https from 'https';
2
- import axios from 'axios';
3
- import * as dotenv from 'dotenv';
4
- dotenv.config();
5
- export const configFile = 'nango.yaml';
6
- export const NANGO_INTEGRATIONS_LOCATION = process.env['NANGO_INTEGRATIONS_LOCATION'] || './nango-integrations';
7
- let hostport = process.env['NANGO_HOSTPORT'] || 'http://localhost:3003';
8
- const cloudHost = 'https://api.nango.dev';
9
- const stagingHost = 'https://nango-cloud-staging.onrender.com';
10
- if (hostport.slice(-1) === '/') {
11
- hostport = hostport.slice(0, -1);
12
- }
13
- export function setCloudHost() {
14
- process.env['NANGO_HOSTPORT'] = cloudHost;
15
- }
16
- export function setStagingHost() {
17
- process.env['NANGO_HOSTPORT'] = stagingHost;
18
- }
19
- export function checkEnvVars() {
20
- if (hostport === 'http://localhost:3003') {
21
- console.log(`Assuming you are running Nango on localhost:3003 because you did not set the NANGO_HOSTPORT env var.\n\n`);
22
- }
23
- else if (hostport === cloudHost || hostport === stagingHost) {
24
- if (!process.env['NANGO_SECRET_KEY']) {
25
- console.log(`Assuming you are using Nango Cloud but your are lacking the NANGO_SECRET_KEY env var.`);
26
- }
27
- else if (hostport === cloudHost) {
28
- console.log(`Assuming you are using Nango Cloud (because you set the NANGO_HOSTPORT env var to https://api.nango.dev).`);
29
- }
30
- else if (hostport === stagingHost) {
31
- console.log(`Assuming you are using Nango Cloud (because you set the NANGO_HOSTPORT env var to https://api.staging.nango.dev).`);
32
- }
33
- }
34
- else {
35
- console.log(`Assuming you are self-hosting Nango (becauses you set the NANGO_HOSTPORT env var to ${hostport}).`);
36
- }
37
- }
38
- export async function getConnection(providerConfigKey, connectionId) {
39
- checkEnvVars();
40
- const url = hostport + `/connection/${connectionId}`;
41
- return await axios
42
- .get(url, { params: { provider_config_key: providerConfigKey }, headers: enrichHeaders(), httpsAgent: httpsAgent() })
43
- .then((res) => {
44
- return res.data;
45
- })
46
- .catch((err) => {
47
- console.log(`❌ ${err.response?.data.error || JSON.stringify(err)}`);
48
- });
49
- }
50
- export function enrichHeaders(headers = {}) {
51
- if ((process.env['NANGO_HOSTPORT'] === cloudHost || process.env['NANGO_HOSTPORT'] === stagingHost) && process.env['NANGO_SECRET_KEY']) {
52
- // For Nango Cloud (unified)
53
- headers['Authorization'] = 'Bearer ' + process.env['NANGO_SECRET_KEY'];
54
- }
55
- else if (process.env['NANGO_SECRET_KEY']) {
56
- // For Nango OSS
57
- headers['Authorization'] = 'Basic ' + Buffer.from(process.env['NANGO_SECRET_KEY'] + ':').toString('base64');
58
- }
59
- headers['Accept-Encoding'] = 'application/json';
60
- return headers;
61
- }
62
- export function httpsAgent() {
63
- return new https.Agent({
64
- rejectUnauthorized: false
65
- });
66
- }
67
- export function getFieldType(rawField) {
68
- if (typeof rawField === 'string') {
69
- let field = rawField;
70
- let hasNull = false;
71
- let hasUndefined = false;
72
- let tsType = '';
73
- if (field.indexOf('null') !== -1) {
74
- field = field.replace(/\s*\|\s*null\s*/g, '');
75
- hasNull = true;
76
- }
77
- if (field.indexOf('undefined') !== -1) {
78
- field = field.replace(/\s*\|\s*undefined\s*/g, '');
79
- hasUndefined = true;
80
- }
81
- switch (field) {
82
- case 'boolean':
83
- case 'bool':
84
- tsType = 'boolean';
85
- break;
86
- case 'string':
87
- tsType = 'string';
88
- break;
89
- case 'char':
90
- tsType = 'string';
91
- break;
92
- case 'integer':
93
- case 'int':
94
- case 'number':
95
- tsType = 'number';
96
- break;
97
- case 'date':
98
- tsType = 'Date';
99
- break;
100
- }
101
- if (hasNull) {
102
- tsType = `${tsType} | null`;
103
- }
104
- if (hasUndefined) {
105
- tsType = `${tsType} | undefined`;
106
- }
107
- return tsType;
108
- }
109
- else {
110
- const nestedFields = Object.keys(rawField)
111
- .map((fieldName) => ` ${fieldName}: ${getFieldType(rawField[fieldName])};`)
112
- .join('\n');
113
- return `{\n${nestedFields}\n}`;
114
- }
115
- }
116
- export function buildInterfaces(models) {
117
- const interfaceDefinitions = Object.keys(models).map((modelName) => {
118
- if (modelName.charAt(0) === '_') {
119
- return;
120
- }
121
- const fields = models[modelName];
122
- const singularModelName = modelName.charAt(modelName.length - 1) === 's' ? modelName.slice(0, -1) : modelName;
123
- const interfaceName = `${singularModelName.charAt(0).toUpperCase()}${singularModelName.slice(1)}`;
124
- const fieldDefinitions = Object.keys(fields)
125
- .map((fieldName) => {
126
- const fieldModel = fields[fieldName];
127
- const fieldType = getFieldType(fieldModel);
128
- return ` ${fieldName}: ${fieldType};`;
129
- })
130
- .join('\n');
131
- const interfaceDefinition = `export interface ${interfaceName} {\n${fieldDefinitions}\n}\n`;
132
- return interfaceDefinition;
133
- });
134
- return interfaceDefinitions;
135
- }
136
- //# sourceMappingURL=utils.js.map
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"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"}
@@ -1,68 +0,0 @@
1
- version: '3.9'
2
- services:
3
- nango-db:
4
- image: postgres
5
- container_name: nango-db
6
- environment:
7
- POSTGRES_PASSWORD: nango
8
- POSTGRES_USER: nango
9
- POSTGRES_DB: nango
10
- ports:
11
- - '${NANGO_DB_PORT:-5432}:5432'
12
- volumes:
13
- - ./nango-data:/var/lib/postgresql/data
14
- networks:
15
- - nango
16
-
17
- nango-server:
18
- image: nangohq/nango-server:0.1.38-beta
19
- container_name: nango-server
20
- environment:
21
- - TEMPORAL_ADDRESS=temporal:7233
22
- - NANGO_DB_MIGRATION_FOLDER=/usr/nango-server/src/packages/shared/lib/db/migrations
23
- - NANGO_CALLBACK_URL=${NANGO_CALLBACK_URL:-http://localhost:3003/oauth/callback}
24
- restart: always
25
- ports:
26
- - '3003:3003'
27
- depends_on:
28
- - nango-db
29
- volumes:
30
- - "${NANGO_INTEGRATIONS_LOCATION:-./nango-integrations}:/usr/nango-server/src/packages/shared/dist/lib/nango-integrations"
31
- networks:
32
- - nango
33
-
34
- nango-worker:
35
- image: nangohq/nango-worker:0.1.38-beta
36
- container_name: nango-worker
37
- restart: always
38
- ports:
39
- - '3004:3004'
40
- environment:
41
- - TEMPORAL_ADDRESS=temporal:7233
42
- depends_on:
43
- - nango-db
44
- - temporal
45
- volumes:
46
- - "${NANGO_INTEGRATIONS_LOCATION:-./nango-integrations}:/usr/nango-worker/src/packages/shared/dist/lib/nango-integrations"
47
- networks:
48
- - nango
49
-
50
- temporal:
51
- image: temporalio/auto-setup
52
- container_name: temporal
53
- depends_on:
54
- - nango-db
55
- environment:
56
- - DB=postgresql
57
- - DB_PORT=5432
58
- - POSTGRES_USER=nango
59
- - POSTGRES_PWD=nango
60
- - POSTGRES_SEEDS=nango-db
61
- - LOG_LEVEL=error
62
- ports:
63
- - 7233:7233
64
- networks:
65
- - nango
66
-
67
- networks:
68
- nango:
package/tsconfig.dev.json DELETED
@@ -1,30 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "lib": ["es2022"],
4
- "module": "es2022",
5
- "target": "es2022",
6
- "strict": true,
7
- "esModuleInterop": true,
8
- "skipLibCheck": true,
9
- "forceConsistentCasingInFileNames": true,
10
- "moduleResolution": "node",
11
- "allowUnusedLabels": false,
12
- "allowUnreachableCode": false,
13
- "exactOptionalPropertyTypes": true,
14
- "noFallthroughCasesInSwitch": true,
15
- "noImplicitOverride": true,
16
- "noImplicitReturns": true,
17
- "noPropertyAccessFromIndexSignature": true,
18
- "noUncheckedIndexedAccess": true,
19
- "noUnusedLocals": true,
20
- "noUnusedParameters": true,
21
- "declaration": false,
22
- "sourceMap": false,
23
- "composite": false,
24
- "checkJs": false,
25
- "rootDir": "nango-integrations",
26
- "outDir": "nango-integrations/dist"
27
- },
28
- "include": ["nango-integrations"],
29
- "exclude": ["node_modules"]
30
- }