Upgrade the module to ESM and bump dependencies#762
Merged
danwkennedy merged 10 commits intomainfrom Feb 25, 2026
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request upgrades the upload-artifact action from CommonJS to ECMAScript Modules (ESM) and bumps all major dependencies to their latest versions. The migration is comprehensive and includes updating TypeScript configuration, test infrastructure, linting setup, and all source files to follow ESM conventions.
Changes:
- Migrated module system from CommonJS to ESM with updated TypeScript configuration
- Updated all dependencies to latest major versions (Jest 30, ESLint 9, TypeScript 5.3, etc.)
- Converted all test files to use ESM mocking patterns with jest.unstable_mockModule
- Added .js extensions to all relative imports as required by ESM
- Migrated from legacy ESLint configuration to flat config format
- Converted Jest configuration from .js to .ts with ESM-specific settings
Reviewed changes
Copilot reviewed 15 out of 19 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.json | Updated compiler options for ESM: NodeNext module resolution, ES2022 target, removed unused options |
| tsconfig.eslint.json | New ESLint-specific TypeScript config to include test files and root-level TS files |
| package.json | Added "type": "module", updated test command for ESM, bumped all dependencies to latest versions |
| jest.config.ts | New ESM-compatible Jest config with ts-jest ESM support and module name mapping |
| jest.config.js | Removed old CommonJS Jest config |
| eslint.config.mjs | New ESLint flat config format replacing .eslintrc.json |
| .eslintrc.json | Removed legacy ESLint configuration |
| src/upload/*.ts | Added .js extensions to all relative imports for ESM compatibility |
| src/merge/*.ts | Added .js extensions to all relative imports for ESM compatibility |
| tests/*.test.ts | Migrated to ESM test patterns using jest.unstable_mockModule and dynamic imports, changed 'it' to 'test', added __dirname replacement for ESM |
| .gitignore | Added .DS_Store for Mac development environments |
Comments suppressed due to low confidence (1)
eslint.config.mjs:30
- The ESLint configuration references 'import/*' rules (lines 27-30) but 'eslint-plugin-import' has been removed from devDependencies. If these rules are not provided by 'eslint-plugin-github', this will cause ESLint to fail with "Definition for rule 'import/no-namespace' was not found" errors. Either add 'eslint-plugin-import' back to devDependencies and configure it in the ESLint config, or remove these rule configurations if they're no longer needed.
'import/no-namespace': 'off',
'import/no-commonjs': 'off',
'import/named': 'off',
'import/no-unresolved': 'off',
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
fdio-github
pushed a commit
to FDio/csit
that referenced
this pull request
Mar 2, 2026
Bumps actions/upload-artifact from 6 to 7. ## Release notes Sourced from actions/upload-artifact's releases. v7.0.0 v7 What's new Direct Uploads Adds support for uploading single files directly (unzipped). Callers can set the new archive parameter to false to skip zipping the file during upload. Right now, we only support single files. The action will fail if the glob passed resolves to multiple files. The name parameter is also ignored with this setting. Instead, the name of the artifact will be the name of the uploaded file. ESM To support new versions of the @actions/* packages, we've upgraded the package to ESM. What's Changed Add proxy integration test by @Link- in actions/upload-artifact#754 Upgrade the module to ESM and bump dependencies by @danwkennedy in actions/upload-artifact#762 Support direct file uploads by @danwkennedy in actions/upload-artifact#764 New Contributors @Link- made their first contribution in actions/upload-artifact#754 Full Changelog: actions/upload-artifact@v6...v7.0.0 ## Commits bbbca2d Support direct file uploads (#764) 589182c Upgrade the module to ESM and bump dependencies (#762) 47309c9 Merge pull request #754 from actions/Link-/add-proxy-integration-tests 02a8460 Add proxy integration test See full diff in compare view  Signed-off-by: dependabot[bot] <support@github.com> Change-Id: Ia2e29e951761b7cd74c86c9469ca502af2b566f6 GitHub-PR: #4131 GitHub-Hash: ec81e01b2a1da5f9 Signed-off-by: fdio.github <releng+fdio-github@linuxfoundation.org>
mergify bot
added a commit
to ArcadeData/arcadedb
that referenced
this pull request
Mar 3, 2026
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6.0.0 to 7.0.0. Release notes *Sourced from [actions/upload-artifact's releases](https://github.com/actions/upload-artifact/releases).* > v7.0.0 > ------ > > v7 What's new > ------------- > > ### Direct Uploads > > Adds support for uploading single files directly (unzipped). Callers can set the new `archive` parameter to `false` to skip zipping the file during upload. Right now, we only support single files. The action will fail if the glob passed resolves to multiple files. The `name` parameter is also ignored with this setting. Instead, the name of the artifact will be the name of the uploaded file. > > ### ESM > > To support new versions of the `@actions/*` packages, we've upgraded the package to ESM. > > What's Changed > -------------- > > * Add proxy integration test by [`@Link`](https://github.com/Link)- in [actions/upload-artifact#754](https://redirect.github.com/actions/upload-artifact/pull/754) > * Upgrade the module to ESM and bump dependencies by [`@danwkennedy`](https://github.com/danwkennedy) in [actions/upload-artifact#762](https://redirect.github.com/actions/upload-artifact/pull/762) > * Support direct file uploads by [`@danwkennedy`](https://github.com/danwkennedy) in [actions/upload-artifact#764](https://redirect.github.com/actions/upload-artifact/pull/764) > > New Contributors > ---------------- > > * [`@Link`](https://github.com/Link)- made their first contribution in [actions/upload-artifact#754](https://redirect.github.com/actions/upload-artifact/pull/754) > > **Full Changelog**: <actions/upload-artifact@v6...v7.0.0> Commits * [`bbbca2d`](actions/upload-artifact@bbbca2d) Support direct file uploads ([#764](https://redirect.github.com/actions/upload-artifact/issues/764)) * [`589182c`](actions/upload-artifact@589182c) Upgrade the module to ESM and bump dependencies ([#762](https://redirect.github.com/actions/upload-artifact/issues/762)) * [`47309c9`](actions/upload-artifact@47309c9) Merge pull request [#754](https://redirect.github.com/actions/upload-artifact/issues/754) from actions/Link-/add-proxy-integration-tests * [`02a8460`](actions/upload-artifact@02a8460) Add proxy integration test * See full diff in [compare view](actions/upload-artifact@b7c566a...bbbca2d) [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
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.
Description
Before picking up the update to support direct uploads, we need to convert the package to ESM.
This PR does the following: