You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sets up pnpm to replace npm for the main project. Docs are left unchanged for the moment, they will soon be a separate package/workspace in the monorepo.
I used pnpm import to convert the lockfile without altering the dependency versions.
Pull-Request Checklist
Code is up-to-date with the master branch
This pull request links relevant issues as Fixes #00000
There are new or updated tests validating the change (tests/**.test.ts)
Documentation has been updated to reflect this change (docs/docs/**.md)
The pnpm/action-setup@v4 action is used without specifying a pnpm version. While package.json defines packageManager: "pnpm@10.26.2", it's best practice to explicitly set the version in the workflow to ensure consistency and avoid potential issues if the action's default version changes.
The Oracle test sleep time was reduced from 10 seconds to 3 seconds (line 341). This might be insufficient for Oracle to be fully ready, potentially causing flaky tests. This change should be validated to ensure Oracle initialization completes reliably within 3 seconds across different CI environments.
- run: sleep 3 # wait for oracle to be fully ready
- run: pnpm exec c8 pnpm run test:ci
The pre-commit script was removed from package.json, but the functionality is now handled by .husky/pre-commit. Verify that the Husky setup is working correctly and that lint-staged runs as expected on pre-commit hooks, especially for new contributors who might not have Husky installed initially.
Update the docs job in the workflow to use pnpm for dependency installation, consistent with the rest of the project, by adding pnpm/action-setup and using pnpm install.
Why: This suggestion correctly points out a critical inconsistency in the docs job, which still uses npm while the rest of the project has migrated to pnpm, likely causing the job to fail.
Medium
Possible issue
Restore adequate Oracle initialization wait time
Increase the sleep duration for Oracle database initialization from 3 to 10 seconds to prevent potential race conditions and test failures.
-- run: sleep 3 # wait for oracle to be fully ready+- run: sleep 10 # wait for oracle to be fully ready
Apply / Chat
Suggestion importance[1-10]: 7
__
Why: The suggestion correctly identifies a potential source of test flakiness by reducing the Oracle DB startup wait time, which could impact CI stability.
Medium
Verify pnpm availability before publishing
Add a check to verify pnpm is installed before attempting to use it for publishing the package.
Why: The suggestion correctly points out that switching to pnpm requires it to be installed in the execution environment and provides a good way to verify its existence, making the script more robust.
Low
Specify pnpm version explicitly
Pin the pnpm version in the pnpm/action-setup@v4 action to match the version specified in package.json for consistency.
Why: While pnpm/action-setup respects the packageManager field in package.json, explicitly pinning the version in the workflow improves robustness and clarity.
Revert the Oracle database wait time from 3 seconds back to 10 seconds to prevent potential test failures due to the database not being fully initialized.
-- run: sleep 3 # wait for oracle to be fully ready+- run: sleep 10 # wait for oracle to be fully ready
Suggestion importance[1-10]: 7
__
Why: The suggestion correctly identifies that reducing the Oracle DB wait time from 10s to 3s could introduce flakiness in the tests, as Oracle may not be fully initialized, and recommends reverting to the safer, longer wait time.
Medium
Validate pnpm availability before publishing
Add a shell command to verify that pnpm is installed before attempting to execute the pnpm publish command.
-"cd ./build/package && pnpm publish --tag next"+"command -v pnpm >/dev/null 2>&1 || { echo 'pnpm is not installed'; exit 1; } && cd ./build/package && pnpm publish --tag next"
Suggestion importance[1-10]: 5
__
Why: The suggestion correctly points out a potential runtime failure if pnpm is not installed in the execution environment, and adding a check improves the script's robustness and error reporting.
Low
Specify pnpm version in action
Explicitly set the pnpm version in the pnpm/action-setup action to match the version specified in package.json.
Why: While pnpm/action-setup is designed to use the version from package.json, explicitly setting the version in the workflow improves robustness and clarity, preventing potential issues if the automatic detection fails.
Update the docs job in the workflow to use pnpm for dependency installation instead of npm ci to maintain consistency with the rest of the PR's migration and prevent potential build failures.
Why: The suggestion correctly identifies that the docs job was missed in the pnpm migration, which would likely cause the CI to fail due to the removal of package-lock.json.
Medium
Disable auto-installing peer dependencies
Set autoInstallPeers to false in pnpm-lock.yaml to prevent potential build instability. This encourages explicitly declaring peer dependencies in package.json for more reproducible builds.
Why: The suggestion correctly identifies that autoInstallPeers: true can lead to non-deterministic builds and recommends a best practice for improved dependency stability.
Low
Increase sleep time for database readiness
Reconsider reducing the sleep duration for the Oracle database from 10 to 3 seconds, as it may cause flaky tests; suggest reverting to the longer duration or implementing a more robust readiness check.
-- run: sleep 3 # wait for oracle to be fully ready+- run: sleep 10 # wait for oracle to be fully ready
Suggestion importance[1-10]: 6
__
Why: The suggestion correctly identifies that reducing the sleep duration from 10s to 3s for the Oracle DB readiness could introduce flakiness into the CI pipeline, which is a valid concern for test stability.
I reverted the binary git attribute since it had no effect on how GitHub calculates the stats. Seems the generated attribute should trigger it being excluded from the stats, according to those docs. 🤷🏻♂️
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of change
Sets up
pnpmto replacenpmfor the main project. Docs are left unchanged for the moment, they will soon be a separate package/workspace in the monorepo.I used
pnpm importto convert the lockfile without altering the dependency versions.Pull-Request Checklist
masterbranchFixes #00000tests/**.test.ts)docs/docs/**.md)