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

Npm package distribution for Non Docker Yaci CLI #68

Open
satran004 opened this issue Aug 30, 2024 · 2 comments
Open

Npm package distribution for Non Docker Yaci CLI #68

satran004 opened this issue Aug 30, 2024 · 2 comments
Labels
help wanted Extra attention is needed

Comments

@satran004
Copy link
Member

Now that we have a non-Docker Yaci CLI distribution, we can plan for an npm package distribution for Yaci CLI.

Refer to the original issue for details. #28

@satran004 satran004 added the help wanted Extra attention is needed label Aug 30, 2024
@SebastienGllmt
Copy link
Contributor

SebastienGllmt commented Dec 15, 2024

I definitely still want this (and not requiring Docker is a massive improvement!)

For reference, the way Hardhat does this is that they have a single root edr package (this is the name of their in-memory EVM node) on NPM (here) which then lists as a dependency all the OS-specific distributions

That is to say, even if you add their package on Ubuntu, it will still download the NPM package for Windows and MacOS even though you don't need (tradeoff between filesize and usability)

image

It's easier for them to do it because their binaries are pretty small (10~20MBs per build target when zipped), whereas yaci-cli is 150MBs per build target (unzipped) so it probably can't support an excessive number of targets

You can find the code that the edr package uses to startup the right node for your OS here

@satran004
Copy link
Member Author

satran004 commented Dec 15, 2024

Thanks @SebastienGllmt for the pointers. I will look into it.

We now have a non-docker version of CLI available for macOS and Linux.

For Windows, we currently have a blocker. Since the Windows Cardano node uses Windows named pipe instead of domain socket, the n2c connection has issues because Yaci CLI does not yet support named pipe. There are few operations like topup, needs n2c support.

We are already working on this and hopefully we will have a workaround soon.

Regarding the size of the Yaci CLI non-docker version, the CLI zip file is ~55 MB. (https://github.com/bloxbean/yaci-devkit/releases/tag/v0.10.0-preview2)
The node and other components are downloaded later using the download command.

satran004 added a commit that referenced this issue Dec 21, 2024
* feat: #68 Added "up" command. NPM macos initial layout

* fix interactive mode. Remove duplicate properties

* Update version for a dev build

* CI changes to publish npm

* publish config

* publish config

* publish config

* publish config

* Split buildAndRelease and npm publish into two jobs

* CI test

* CI test

* CI test

* Add docs and meta info in package.json

* Added dummy versions. Actual version is replaced during CI build.

* Rolled back version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants