curdeveryday / vscode-m5stack-mpy

A extension to mange files for M5Stack micropython system
MIT License
32 stars 14 forks source link

Serialport bindings handling multiplatform #17

Closed darul75 closed 2 years ago

darul75 commented 2 years ago

Hi @curdeveryday

Here are some more changes with an attempt to make this extension compatible on multi platforms.

From the root just run

Screenshot 2021-12-16 at 17 02 05 Screenshot 2021-12-16 at 16 52 13 Screenshot 2021-12-16 at 21 27 35 Screenshot 2021-12-16 at 17 19 23

Take a look ;)

darul75 commented 2 years ago

Binaries are the following one and stored into /lib/native https://github.com/serialport/node-serialport/releases/tag/%40serialport%2Fbindings%4010.0.0

darul75 commented 2 years ago

I think we should be good with that, happy to help you with the publishing aspects if you want.

curdeveryday commented 2 years ago

Hi @darul75

Thanks for your commit. But it seems to have a problem. When the user does not update the vscode but updates the extension, the extension may fail to run. Therefore, the previous node-serial will have multiple versions of binaries at the same time.

darul75 commented 2 years ago

that is fine you do not have to worry as I will add a commit to that PR to deal with that. Will ping you when ready for review.

darul75 commented 2 years ago

hello @curdeveryday

tested on all vscode versions from 1.48 as it was initially in the project up to latest 1.63 and extension loads on all of them.

no issues found.

Screenshot 2021-12-17 at 20 57 36

Screenshot 2021-12-17 at 21 12 55

commit:

https://github.com/curdeveryday/vscode-m5stack-mpy/pull/17/commits/d1773fefc86170c134459dc7de1a52bc3bf1f747

some more details

https://github.com/curdeveryday/vscode-m5stack-mpy/pull/17/commits/00f344d28c563af40c2b4875bc00460a7bc6a2f4#diff-c11951d9c03d0da24b3327bfe4d595a34c3f3b0036181539ade945bd4e7fed0dR40

it should make things easier honestly and there is scope to automate few more things in future to deal with that.

there is no real need for an extra dependency and waiting from maintenance on their side, it can been done in your repo.

cheers, julien