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

Harmony 1616 - Replacing npm with pnpm #554

Open
wants to merge 35 commits into
base: main
Choose a base branch
from
Open

Conversation

indiejames
Copy link
Contributor

Jira Issue ID

HARMONY-1616

Description

This is a massive change that replaces our use of npm with pnpm. This is mainly to take advantage of pnpm's support for monorepos and faster dependency installation. I have tested building images and using them locally and in the sandbox. There is still plenty of other things that need testing, like running Harmony in a Box from scratch and things related to CICD, but I wanted to get this out there so you guys can get a sense of what is coming.

Feel free to push back on whether or not this change is a good idea. I think it simplifies some things (like the Docker builds), but it is a big change.

Local Test Steps

  1. Install pnpm by running the following in the harmony repo:
corepack enable pnpm
  1. Delete your current node_modules directories
rm -rf **/node_modules
  1. Use pnpm to install dependencies (will take a while the first time)
pnpm i
  1. Build the Docker images
pnpm build-all
  1. Run Harmony and test locally
./bin/bootstrap-harmony
./bin/start-dev-services
  1. (Optionally) run using the service images by commenting out lines in our .env that define CALLBACK_URL_ROOT, BACKEND_HOST, LOCALSTACK_HOST, DATABASE_URL, and LOCAL_DEV then running ./bin/stop-dev-services' followed by ./bin/boostrap-harmony
  2. (Optionally) deploy to sandbox (will need branch HARMONY-1616-3 of harmony-ci-cd reop
VERSION=<your version> pnpm build-all-m1
VERSION=<your version> pnpm push-image-all

Then run set your images in your .env in harmony-ci-cd to match $VERSION and run ./bin/deploy as usual.

PR Acceptance Checklist

  • Acceptance criteria met
  • Tests added/updated (if needed) and passing
  • Documentation updated (if needed)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant