-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
Atlas TeamIssues and Epics worked on by team AtlasIssues and Epics worked on by team Atlasserveruser story
Description
Description
As a developer I want to be able to use the latest packages.
Part of Phase 3 of Epic alkem-io/alkemio#1536. Should be deferred until NestJS 12 ships native ESM support (~Q3 2026).
Acceptance criteria
- Wait for NestJS 12 stable release with native ESM support
- Migrate tsconfig
modulefromcommonjsto ESM output - Add
"type": "module"to package.json - Update
moduleResolutiontonode16ornodenext - Use full relative file paths for imports (e.g.,
./index.js) - Use the
node:protocol for Node.js built-in imports - Replace
graphql-upload@13with ESM-compatible alternative (graphql-upload-tsorgraphql-upload@17) - Wrap TypeORM entity relations with
Relationtype to avoid circular dependency issues - Audit and update all ESM-only / CJS-only dependencies
- Update build scripts and Dockerfile
CMDif needed - All existing tests pass
Additional Context
NestJS 12 (~Q3 2026) will make ESM the default module system. Key challenges:
graphql-uploadv14+ is ESM-only — current v13 is CJS- TypeORM circular dependencies need
Relationwrapper in ESM - Some packages (chalk, node-fetch, ora, execa) have gone ESM-only in recent versions
- Node 24's
require(esm)helps bridge the gap during transition
References:
- https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c#how-can-i-make-my-typescript-project-output-esm
- NestJS v12 PR
Dependencies
- NestJS 12 stable release
- Phase 1 (Apollo 5 + NestJS 11) and Phase 2 (Node 24) should be completed first
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Atlas TeamIssues and Epics worked on by team AtlasIssues and Epics worked on by team Atlasserveruser story