Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SNOW-765513: optional peer dependencies for different clouds #449

Open
brianzinn opened this issue Mar 21, 2023 · 8 comments
Open

SNOW-765513: optional peer dependencies for different clouds #449

brianzinn opened this issue Mar 21, 2023 · 8 comments
Assignees
Labels
enhancement The issue is a request for improvement or a new feature status-triage_done Initial triage done, will be further handled by the driver team

Comments

@brianzinn
Copy link

  1. What did you do?
    I'm running snowflake-sdk in google cloud function.

  2. What did you expect to see?
    No messages for AWS

  3. What did you see instead?
    (node:1) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023.
    Please migrate your code to use AWS SDK for JavaScript (v3)

Is there any consideration to make AWS/Azure as optional peer dependencies? This would:

  1. reduce bundle size
  2. allow the folks requesting AWS v3 to choose their version AWS SDK V3 support #365
@github-actions github-actions bot changed the title optional peer dependencies for different clouds SNOW-765513: optional peer dependencies for different clouds Mar 21, 2023
@sfc-gh-dszmolka sfc-gh-dszmolka added the enhancement The issue is a request for improvement or a new feature label Mar 23, 2023
@sfc-gh-dszmolka
Copy link
Collaborator

thank you for submitting this feature request ! we'll see how it would be feasible to implement. thank you for bearing with us !

@cleve-fauna
Copy link

Just providing more data here :)

For my use case - I would like to use the snowflake-sdk parts that communicate with snowflake - and don't need to use any of the bundled in cloud SDKs.

@kirillgroshkov
Copy link

For my use case - I would like to use the snowflake-sdk parts that communicate with snowflake - and don't need to use any of the bundled in cloud SDKs.

Same. That's a perfect case for peerDependencies.

@kirillgroshkov
Copy link

If this is not fixed - I guess as a community we'll need to settle on a fork that would have these extra deps as peerDeps. We're getting close to forking it BTW.

kirillgroshkov added a commit to NaturalCycles/snowflake-connector-nodejs that referenced this issue Dec 26, 2023
kirillgroshkov added a commit to NaturalCycles/snowflake-connector-nodejs that referenced this issue Dec 26, 2023
kirillgroshkov added a commit to NaturalCycles/snowflake-connector-nodejs that referenced this issue Dec 26, 2023
kirillgroshkov added a commit to NaturalCycles/snowflake-connector-nodejs that referenced this issue Dec 26, 2023
@kirillgroshkov
Copy link

Heads up, since this issue is not fixed - I've started working on a fork for our organization, to get rid of unused dependencies that bloat our lockfiles and node_modules (and CI with npm warnings).

I've now pushed the first version of the fork and it has passed our org internal tests - all our use cases of snowflake-sdk still work (as we don't require AWS sdk, Azure, etc).

Not encouraging anyone to use it (better to fix the original package), but here's our published example: https://www.npmjs.com/package/@naturalcycles/snowflake-sdk

yarn.lock diff looks like this:

image

@brianzinn
Copy link
Author

thanks @kirillgroshkov - the Node.js support from snowflake appears the least supported (https://developers.snowflake.com/drivers-and-libraries/). I wrote also years ago a Node.js snowpipe SDK (https://github.com/brianzinn/snowflake-ingest-node). I haven't been following the updates lately, but it looks like they are encouraging streams now and I don't see any snowpipe support for any language anymore - looks like they are using Spark/snowpark instead of an API, so will be even less Node.js compatibility!? Probably makes sense from a data team/processing perspective, but not necessarily as part of a company ecosystem in my case even though I am proficient in Python and Java. Then again... I am not following their developer strategy!!

@kirillgroshkov
Copy link

Today I stepped one level deeper and found more unused/unnecessary dependencies to remove from package.json (or move to devDependencies):

image

@larryboymi
Copy link

Just providing more data here :)

For my use case - I would like to use the snowflake-sdk parts that communicate with snowflake - and don't need to use any of the bundled in cloud SDKs.

Ditto

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement The issue is a request for improvement or a new feature status-triage_done Initial triage done, will be further handled by the driver team
Projects
None yet
Development

No branches or pull requests

6 participants