| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(cli): support mtls (#7325) ## Summary - Let the CLI present a client certificate when talking to a self-hosted Nango API behind mTLS, so customers no longer have to disable mTLS for `deploy` / `dryrun` / `pull`. - Configure it with `NANGO_CLI_TLS_CERT` (path to a PEM). A file that contains both cert and key is enough; `NANGO_CLI_TLS_KEY` / `NANGO_CLI_TLS_CA` cover split files and a private CA. - The same TLS agent is used on every CLI-to-API path (axios, fetch, and the Node SDK). Invalid cert/key pairs fail at load time. <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/NangoHQ/nango/pull/7325?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. --> --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 5 天前 | |
feat(functions): support for http trigger (#7250) Functions with http trigger can now compile, be deployed and executed. `debounce` and `subscriptions` support for http trigger is not yet enabled. The shape of trigger is now zod validated. Once this PR land and CLI released, it would be possible to write, deploy and execute action-like functions Example of function that can be run: ```ts import { createFunction } from 'nango/experimental'; import * as z from 'zod'; export default createFunction({ description: '10x', trigger: { kind: 'http', }, input: z.object({ n: z.number(), }), output: z.object({ tenTimes: z.number(), }), exec: async (nango, trigger) => { nango.setLogger({ level: 'debug' }); await nango.log('Hello World!'); await nango.log('Trigger: ' + JSON.stringify(trigger)); const tenTimes = trigger.input.n * 10 await nango.log('Result: ' + tenTimes); return { tenTimes } } }); ``` <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/NangoHQ/nango/pull/7250?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. --> | 11 天前 | |
fix(cli): stop compile test hanging on npm audit (#7396) ## Problem `compile.unit.cli-test.ts > should compile a minimal integration` times out at 20s and fails `npm run test:cli` on unrelated PRs — [this run](https://github.com/NangoHQ/nango/actions/runs/33847751619/job/100949848121?pr=7395), plus the #7391 merge-queue run and several other branches. The test shells out to a real `npm i`. npm's audit step POSTs to the registry and can leave that socket open after the install itself has finished, so the child process never exits. It reproduces on every local run but only intermittently in CI, which is why the test has been flaking rather than failing outright. ## Solution - Pass `--no-audit --no-fund` to the `npm i` the test runs, so the child exits when the install does. ## Testing Plain `npm i` hung on all five local attempts (up to a 300s timeout); `--no-audit` passed on all three; `--no-fund` alone still hung. The file now passes 30/30 in ~3s. | 3 天前 | |
chore: eslint pass on import order 3 (#4296) ## Changes - Last pass to activate import order rules we were definitely not getting there manually <!-- Summary by @propel-code-bot --> --- This PR performs a comprehensive, automated update to the import statements across the entire codebase to fully enforce ESLint's import/order rules, as well as related import linting conventions. The 'import/order' rule in the ESLint configuration is raised from 'warn' to 'error', and many TypeScript and JavaScript source files are modified to reorder, group, and separate import/type import statements accordingly. No business logic or functional behavior is changed; all modifications are organizational and related to linting compliance. <details> <summary><strong>Key Changes</strong></summary> • Systematic reordering and grouping of import and type import statements in all TypeScript and JavaScript files, aligning with stricter ESLint import/order rules. • ESLint configuration (eslint.config.mjs) updated: 'import/order' set to 'error' and related rules adjusted; minor tuning to linting options for clarity and performance. • No code logic, functionality, or documentation changes introduced-scope is strictly import organization and enforcement of lint rules. </details> <details> <summary><strong>Affected Areas</strong></summary> • All source code files (.ts/.js) across the repository • eslint.config.mjs (ESLint config for import/style rules) </details> *This summary was automatically generated by @propel-code-bot* | 1 年前 | |
feat: add CreateFunction definition (#6664) Also remove the recent changes made around createWebhook. They will be folded and reintroduced as part of the function primitive initiative `function` definition types are in https://github.com/NangoHQ/nango/pull/6664/changes#diff-cedceb6eb8af423d2de17f68fed59bd218cf3c5029655359b4361d444c733256 The rest is reverting support for `createWebhook` in `runner-sdk` and `cli` <!-- Describe the problem and your solution --> <!-- Issue ticket number and link (if applicable) --> <!-- Testing instructions (skip if just adding/editing providers) --> <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/NangoHQ/nango/pull/6664?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. --> | 2 个月前 | |
chore(release): 0.71.6 | 5 天前 | |
feat(cli): [nan-1106] import relative files in syncs/actions (#2273) ## Describe your changes Use tsup to import relative files in syncs. The error reporting with tsup isn't as nice as ts-node so the tsup transpiles only and ts-node is still used to type check and report nice errors. The result is actually faster than previous. tsup doesn't transpile if there are any compilation errors. Note that an additional `vite.cli.config` file was added which doesn't use threads because it was interfering with `tsup` ### Edge Cases Handled - [x] If the main file imports another file which in turn imports another file then all imported files should be typed checked and checked to make sure [nango calls are used correctly](https://github.com/NangoHQ/nango/blob/master/packages/cli/lib/services/parser.service.ts#L10) - [x] If a library is imported like `crypto` we shouldn't try and type check that file - [x] If a tsconfig.json file exists in their repo it isn't used and the one we want to use in the nango cli directory is instead used - [x] Limit possible import files to be in the `nango-integrations` directory - [ ] Update to download the entire nango-integrations directory instead of just the particular file (v2) - [ ] Verify that changing the transpiled code doesn't produce different results the ts-node transpilation ## Issue ticket number and link NAN-1106 ## Checklist before requesting a review (skip if just adding/editing APIs & templates) - [x] I added tests, otherwise the reason is: - [ ] I added observability, otherwise the reason is: - [ ] I added analytics, otherwise the reason is: | 2 年前 | |
feat(cli): Add interactive prompts for commands (#5170) This PR improves the CLI's user experience by introducing an interactive mode for the `create`, `dryrun`, `deploy`, and `init` commands. When a user runs one of these commands without providing all the required arguments, the CLI will now launch an interactive prompt to guide them through the missing options. This makes the CLI easier to use, as it no longer requires users to memorize all command-line arguments. The interactive prompts are built using `inquirer` to provide a user-friendly selection list for known values (like function types or environments). The interactive mode is enabled by default and can be disabled with the `--no-interactive` flag or by setting the `CI` environment variable, ensuring backward compatibility and scriptability. Fixes NAN-4237 Testing: 1. Run `npm install` to add the new `inquirer` dependency. 2. Run `nango create` without any arguments. Verify that you are prompted to select a function type, integration, and provide a name. 3. Run `nango dryrun` without any arguments. Verify that you are prompted to select an environment, a function, and a connection. 4. Run `nango deploy` without an environment. Verify that you are prompted to select one. 5. Run `nango init` without a path. Verify that you are prompted to enter one. 6. Run any of the above commands with the `--no-interactive` flag to confirm that the prompts are skipped and the command fails due to missing arguments. <!-- Summary by @propel-code-bot --> --- A shared Ensure utility now orchestrates the interactive prompts, translating missing-argument errors into actionable guidance while preserving non-interactive execution when required. <details> <summary><strong>Affected Areas</strong></summary> • packages/cli/lib/index.ts • packages/cli/lib/services/interactive.service.ts • packages/cli/lib/services/ensure.service.ts • packages/cli/lib/services/function-create.service.ts • packages/cli/lib/types.ts • packages/cli/lib/services/sdk.ts • packages/cli/lib/utils/errors.ts • packages/cli/tsconfig.json • packages/cli/package.json • docs/reference/cli.mdx • package-lock.json </details> --- *This summary was automatically generated by @propel-code-bot* | 7 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 天前 | ||
| 11 天前 | ||
| 3 天前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 5 天前 | ||
| 2 年前 | ||
| 7 个月前 |