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

Upgrade build stack to pnpm, Node 16, Lerna 6 #2148

Merged
merged 27 commits into from
Jul 11, 2023
Merged

Conversation

lucas-koehler
Copy link
Contributor

@lucas-koehler lucas-koehler commented Jun 13, 2023

  • Move to Node 16.13+
  • Use PNPM 8.5+ as package manager instead of NPM
  • Upgrade to Lerna 6
  • Explicitly add all needed dependencies to packages as PNPM does not hoist application dependencies
  • Use explicit PNPM workspace references for jsonforms packages
  • Increase various dependencies to reflect the actually needed versions
  • Migrate to Jest 27
  • Increase Typedoc version to ~0.21.9 to be compatible with Node 16
  • Increase base lib version from ES6 to ES2016
  • Improve stability of prepare example apps script
  • BREAKING: Remove vue2 to avoid migration cost
  • ci: Increase Node's available RAM for test execution to 4GB
  • Set pnpm's dependency resolution to highest compatible (same as npm)

@netlify
Copy link

netlify bot commented Jun 13, 2023

Deploy Preview for jsonforms-examples ready!

Name Link
🔨 Latest commit 7a281d7
🔍 Latest deploy log https://app.netlify.com/sites/jsonforms-examples/deploys/64ad4a5c3e789b00081f59e2
😎 Deploy Preview https://deploy-preview-2148--jsonforms-examples.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@lucas-koehler lucas-koehler linked an issue Jun 13, 2023 that may be closed by this pull request
@lucas-koehler
Copy link
Contributor Author

@sdirix The netlify build fails because node 16 and pnpm are not available there, yet.

@coveralls
Copy link

coveralls commented Jun 14, 2023

Coverage Status

coverage: 84.254%. remained the same when pulling 7a281d7 on 2110-node16-pnpm-lerna6 into 369370a on master.

@lucas-koehler
Copy link
Contributor Author

@sdirix I rebased the changes. Netlify still fails as it does not have pnpm and node 16 configured.

Copy link
Member

@sdirix sdirix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had a first look and only very minor comments. As a next step I will actually test it.

.devcontainer/Dockerfile Outdated Show resolved Hide resolved
.devcontainer/devcontainer.json Outdated Show resolved Hide resolved
.github/workflows/ci.yaml Show resolved Hide resolved
.vscode/settings.json Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
pnpm-workspace.yaml Show resolved Hide resolved
tsconfig.base.json Outdated Show resolved Hide resolved
@sdirix
Copy link
Member

sdirix commented Jul 11, 2023

Seems the mac tests still fail. So let's exclude them again and create a follow up issue to fix them

- Move to Node 16.13+
- Use PNPM 8.5+ as package manager instead of NPM
- Upgrade to Lerna 6
- Explicitly add all needed dependencies to packages as PNPM does not hoist dependencies
- Use explicit PNPM workspace references for jsonforms packages
- Increase various dependencies as PNPM installs the specified version by default instead of the highest possible one
- Migrate to Jest 27
- Increase Typedoc version to ~0.21.9 to be compatible with Node 16

TODO: Fix Setup for the vue packages
- Update dependencies
- Directly configure jest with ts-jest in vue package to make tests work
- Core uses Array.includes only contained in ES2016
- ES2016 is supported by all relevant browsers
Adapt path to copy the css theme file to the local node_modules folder created by pnpm
@lucas-koehler
Copy link
Contributor Author

@sdirix I applied your suggestions and rebased the changes. The latest 2 commits are new.
I also tested running tests on macOS CI but unfortunately they still fail: https://github.com/eclipsesource/jsonforms/actions/runs/5517905609/jobs/10061162445?pr=2148

@lucas-koehler
Copy link
Contributor Author

Follow up issue to fix the macOS tests: #2159

Copy link
Member

@sdirix sdirix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works great for me!

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.

Move to Node 16+ and upgrade build tech stack
3 participants