Skip to content

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).

Merge request reports