Repository navigation
fix: bump archiver ^7 -> ^8 to drop deprecated glob@10 - #236
Merged
AnujVishwakarma-src merged 1 commit intoSep 28, 2026
Merged
Conversation
archiver@7 pulled archiver-utils@5 -> glob@^10 (deprecated; only glob@13+
is clean), the last npm warn deprecated on npm install -g @adobe/aio-cli.
archiver@8 drops archiver-utils and glob entirely (uses readdir-glob/
tar-stream/zip-stream), so this removes the deprecation at the source.
archiver@8 is ESM-only with a class API: zip() now loads it via dynamic
import() and uses new ZipArchive({ zlib }) instead of archiver('zip', ...).
The instance API (pipe/directory/file/on/finalize) is unchanged. Tests use
jest.unstable_mockModule with NODE_OPTIONS=--experimental-vm-modules.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
glob@10.5.0is the lastnpm warn deprecatedline onnpm install -g @adobe/aio-cli(blocks the zero-deprecation goal, APPBLD-5004). It enters the tree viaarchiver@7 → archiver-utils@5.0.2 → glob@^10.archiver-utils@5.0.2is the latest and hard-pinsglob ^10; glob is non-deprecated only at 13+. A root npmoverridedoes not reach end users (verified:npm i -gtreats aio-cli as a dependency, so its overrides are ignored, and npm strips the shipped lockfile). The fix has to be a real dependency change that propagates.Change
Bump
archiver ^7 → ^8. archiver@8 dropsarchiver-utilsandglobentirely (usesreaddir-glob/tar-stream/zip-stream), removing the deprecation at the source.archiver@8 is ESM-only and exposes a class API instead of a factory.
zip()now:const { ZipArchive } = await import('archiver')(keeps this module CommonJS),new ZipArchive({ zlib: { level: 9 } })instead ofarchiver('zip', { ... }).The instance API (
pipe/directory/file/on/finalize) is unchanged. The sole caller (build-actions.js) alreadyawaitszip().Tests: the archiver mock is converted to the class shape (
ZipArchive) and registered viajest.unstable_mockModule;unit-testsruns withNODE_OPTIONS=--experimental-vm-modules(addedcross-envfor cross-platform).Validation
zip()round-trip with archiver@8 produces a valid archive (verified entries viaunzip -l).npm ls globno longer shows glob@10 from the archiver path.Real-app linked E2E (2026-09-28)
Beyond unit tests, validated
zip()through the actual CLI: packed this branch, installed it into a linkedaio-cli-plugin-app(so@adobe/aio-lib-runtime@7.5.0 → archiver@8.0.0), linked into globalaio, and ran against a real App Builder project (authenticated, Stage workspace):aio app build→ runszip()(archiver@8) to zip every action build dir → ✅ built all actions across 3 extensions.unzip -l; e.g.worker.zip2 files/~20MB,generic.zip,publish-events.zip).aio app deploy→ deployed the archiver@8-built zips to the live Stage runtime → ✅ Successful deployment.No
ERR_REQUIRE_ESM/ constructor errors anywhere.