-
Notifications
You must be signed in to change notification settings - Fork 9
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
feat(NODE-6539): add base napi C++ template with standard Node team tooling #28
Conversation
550817b
to
2b098cb
Compare
2b098cb
to
c0e553e
Compare
"main": "index.js", | ||
"types": "index.d.ts", | ||
"repository": "https://github.com/mongodb-js/zstd", | ||
"files": [ | ||
"index.d.ts", | ||
"index.js" | ||
], | ||
"dependencies": { | ||
"bindings": "^1.5.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am surprised we're adding bindings here, don't we have a ticket to stop using this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. But I plan to align this package with our other native packages. When/if we get to the ticket you alluded to, we can address them all at once.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's unfortunate if we release with the known issues coming from that package. We can merge this, but do you think it's possible we can ship the final 2.0.0 without this? We can follow up
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, I don't think it is likely that we can complete that with all the other work we need to do in the next 8 work days (our timeline for this project). I am prioritizing consistency over a full overhaul/modernization of this package.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My understanding is that we need to enumerate the possible file paths of the .node file so it doesn't seem like an overhaul. Meanwhile, we're potentially introducing a regression in our major release of this package since we didn't used to use this.
We likely could adapt the code in https://github.com/mongodb-js/zstd/blob/e7e8df676e3a6948b67708938495eb876d5bf117/bindings.js to just have a few different strings and it would do the work we need.
We can revisit trying to include this in the 2.0, doesn't need to hold up this PR.
Description
What is changing?
Adds a compilable and testable C++ addon that has the same API as the old compression implementation. Additionally, all shared tooling (lint, testing, and custom test tooling) is copied over.
A GHA is set up to run tests on ubuntu to demonstrate that the changes work as expected.
Is there new documentation needed for these changes?
What is the motivation for this change?
Double check the following
npm run format:js && npm run format:rs
scripttype(NODE-xxxx)[!]: description
feat(NODE-1234)!: rewriting everything in coffeescript