Skip to content

Remove Esy usage for package management in install.ml with the following...

Shubham Kumar requested to merge shubham/remove-esy-from-ligo-phase1 into dev

Motivation and Context

Removing esy as a default package manager to install and update packages inside a ligo project

Related issues

#1890

Checklist

  • Tests

    • Bug fixes and new features have corresponding tests added
  • Documentation

    • I checked whether I should update the docs and did so if necessary:
  • launch.json config (if updated)

    • I keep the format of launch.json (in package.json) synced with how the plugin code and the adapter's code work with this configuration.
    • If I changed values in the initial configuration for launch.json, I also searched for them in code and updated accordingly. I keep the default configurations and default values for not listed fields in match.
  • Breaking changes (if applied)

    • If I introduced changes that are not compatible with the older versions of ligo, I updated our version restrictions according to the respective document.

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>

To use the new package manager use --package-management-alpha flag

Checklist:

  • 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).
Edited by Shubham Kumar

Merge request reports