Conversation
`MultiConfiguration` no longer requires normalized options
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #324 +/- ##
==========================================
+ Coverage 98.63% 99.00% +0.37%
==========================================
Files 4 6 +2
Lines 803 403 -400
Branches 194 103 -91
==========================================
- Hits 792 399 -393
+ Misses 11 4 -7 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR migrates the file locking mechanism from the deprecated lockfile package to proper-lockfile, improving reliability and maintainability. The changes include dependency updates, removal of custom lock helper functions, and refactoring of the locking logic to use the new API.
- Replaced
lockfilewithproper-lockfilefor file locking operations - Removed custom lock/unlock helper functions in favor of proper-lockfile's API
- Updated multiple dependencies to their latest versions
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Updated dependencies: replaced lockfile with proper-lockfile, upgraded dev dependencies including vitest, webpack, and others |
| src/helpers.ts | Removed custom lock(), unlock(), and getLockFilename() helper functions |
| src/plugin.ts | Refactored locking mechanism to use proper-lockfile with try-finally blocks for proper resource cleanup |
| src/options-schema.ts | Simplified type import to use Schema type directly from schema-utils |
| test/helpers.test.ts | Removed tests for deleted getLockFilename() helper function |
| test/utils.ts | Simplified makeMultiCompiler() by removing getNormalizedWebpackOptions wrapper |
| vitest.config.mts | Removed all: false option from coverage configuration |
| cspell.json | Added "vitest" to the dictionary |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 9 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
🎉 This PR is included in version 6.5.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This pull request updates dependency versions, replaces the
lockfilepackage withproper-lockfile, and refactors the locking logic in the codebase to use the new library. It also removes related helper functions and updates related type usage. The changes improve reliability and maintainability of file locking in the manifest generation process.Dependency updates:
package.json, includingpnpm,@types/node,@vitest/coverage-v8,cspell,lint-staged,memfs,rimraf,vitest, andwebpack. [1] [2] [3]lockfilepackage withproper-lockfilein dependencies and updated corresponding type definitions. [1] [2]Locking logic refactor:
src/helpers.tsand their tests, and migrated all locking logic to useproper-lockfiledirectly insrc/plugin.ts. [1] [2] [3] [4]WebpackAssetsManifestto lock on the output directory usingproper-lockfile, ensuring directory existence before locking, and releasing the lock with proper cleanup. [1] [2] [3]Type and schema improvements:
src/options-schema.tsfor better type safety and clarity.Testing and config cleanup:
getLockFilenamehelper inhelpers.test.ts.test/utils.tsby removing use ofwebpackConfig.getNormalizedWebpackOptions. [1] [2]vitest.config.mtsto remove the unusedall: falsecoverage option.Spellcheck configuration:
"vitest"to the list of words incspell.jsonto avoid false positives in spell checking.