Remove Esy usage for package management in install.ml (phase 1)
Motivation and Context
Removing esy as a default package manager to install and update packages inside a ligo project
Description
MR tries to phase out esy from ligo's internal package management.
This particular MR only focuses on the installation of packages from ligo registry.
It definitely requires some pruning when it comes to the code written which would make things more readable with comments and more function abstractions. Also this also has some incomplete features like installing a package using ligo install <pkg-name>
would not work and something that would be an upcoming feature.
Also this MR still generates a _esy
and esy.lock
directories to make sure that the pre-processor doesn't break. This is something that would be looked into the next phase.
With all that said I think it can be reviewed and I would love to have comments and changes from everyone in the ligo community.
Component
-
compiler -
website -
webide -
vscode-plugin -
debugger
Types of changes
-
Bug fix (non-breaking change which fixes an issue) -
New feature (non-breaking change which adds functionality) -
Breaking change (fix or feature that would cause existing functionality to not work as expected) -
Performance improvement (non-breaking change that improves performance) -
None (change with no changelog)
Changelog
Removing esy from ligo package management - phase 1.
This encompasses installing and updating packages from package.json.
While trying to maintain compatibility with the current pre-processor (hence _esy
and esy.lock
still remains the names of the directories for index.json
and installation.json
)
This doesn't include ad-hoc addition of packages to a ligo project using ligo install <pkg-name>
Checklist:
-
If a new syntax has been introduced, put a message on slack ligo-lsp -
Changes follow the existing coding style (use dune @fmt
to check). -
Tests for the changes have been added (for bug fixes / feature). -
Documentation has been updated. -
Changelog description has been added (if appropriate). -
Start titles under ## Changelog
section with #### (if appropriate). -
There is no image or uploaded file in changelog -
Examples in changed behaviour have been added to the changelog (for breaking change / feature).