Commit 4268859
feat: make cloud provider packages optional (#298)
* feat: make cloud provider packages optional
Move @aws-sdk/rds-signer and @azure/identity from dependencies to
optionalDependencies and switch to dynamic import() so they are only
loaded when AWS IAM or Azure AD auth is actually used. Also add both
to tsup external list to prevent bundling.
Closes #295
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Address review: update tsup comment and add clear errors for missing cloud packages
- Update tsup external comment to mention cloud auth packages
- Catch import failures for @aws-sdk/rds-signer and @azure/identity
and rethrow with actionable install instructions
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Address review: selective error handling and test for missing cloud packages
- Only translate ERR_MODULE_NOT_FOUND into install hint, rethrow other
errors so real SDK failures are not masked (reuses isDriverNotInstalled)
- Use pnpm-appropriate install command in error messages
- Refine tsup comment to distinguish CJS driver externals from cloud
auth bundle-size externals
- Add test verifying isDriverNotInstalled works with scoped package names
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Clean up test: remove unused imports, fix suite name
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix: let missing-package error bypass Azure AD token error wrapping
Move the dynamic import of @azure/identity outside the token-fetching
try/catch so the install-instruction error propagates directly instead
of being wrapped as "Failed to get Azure AD token: ..."
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent bbaa71a commit 4268859
5 files changed
Lines changed: 56 additions & 8 deletions
File tree
- src
- connectors/sqlserver
- utils
- __tests__
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
44 | | - | |
45 | 43 | | |
46 | 44 | | |
47 | 45 | | |
| |||
51 | 49 | | |
52 | 50 | | |
53 | 51 | | |
| 52 | + | |
| 53 | + | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
97 | 108 | | |
98 | 109 | | |
99 | 110 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
16 | 28 | | |
17 | 29 | | |
18 | 30 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
15 | 18 | | |
16 | 19 | | |
17 | 20 | | |
| |||
0 commit comments