Closed
Description
This issue is to track moving bindings
out of the monorepo into serialport/bindings-cpp and renaming it. The reasons for the move are scattered over a few prs and issues so I'll collect them here.
- We'd like to ship the binaries in the npm package.
- We don't want all maintainer's laptops to have "production" access
- Having an automated publishing pipeline with binary building is difficult or impossible with lerna and all the other packages. (I can count 3 failed attempts on my part.)
Since we're about to move to v10 which is currently in beta for napi testing (serialport@beta
lead by @GazHank) it's the perfect time to make these changes.
I've created serialport/bindings-cpp
and it needs the following;
- code transferred over to the new repo preserving history
-
semantic-release
setup in a build pipeline withprebuildify-cross
(much of this work was completed on the main repo by @thegecko) - Switch v10 to use the new package chore: update to bindings-cpp #2385
- Removal of the bindings package in the monorepo chore: update to bindings-cpp #2385
- v10 Docs to be updated with new package names and repo locations docs: add new binding package information website#60
- Drop node 10 #2337
- stopbits are wrong because the enum is 1 2 3 for 1 1_5 and 2 #2400
- feat: typescript everything #2406
- Write new docs for the new apis and module exports v10 Docs website#71
- Fixup all package readmes in monorepo to reference new docs
- Update https://github.com/serialport/electron-serialport
After v10 leaves beta
- Readme updated with links and new package names
- Upgrade guide from v9 to v10 right now it's a list of breaking changes but should provide some examples and should talk about the new ways binaries are transported
- republish
@serialport/bindings
and@serialport/binding-abstract
with a new version and deprecate it so anyone using it directly gets a message about the name change to@serialport/bindings-cpp
- cut v10 docs
It's worth noting I've renamed the bindings packages because I'd like us to be able to have alternative bindings such as @serialport/bindings-web
and @serialport/bindings-rust
both projects myself and others have been exploring.
Hope that covers everything. As always I'm open to comment and feedback ❤️