Skip to content

v2 beta: upgrade to dual ESM + CJS output, use confidential client as the client type#13

Merged
cuzzlor merged 5 commits intomainfrom
esm-upgrade
Apr 23, 2026
Merged

v2 beta: upgrade to dual ESM + CJS output, use confidential client as the client type#13
cuzzlor merged 5 commits intomainfrom
esm-upgrade

Conversation

@cuzzlor
Copy link
Copy Markdown
Collaborator

@cuzzlor cuzzlor commented Apr 23, 2026

  • upgrade everything
  • add esm + cjs dual output
  • make all runtime deps ">= previous major version peer" deps
  • fix types, use IConfidentialClientApplication

@cuzzlor cuzzlor requested review from mderriey, pleb and robdmoore April 23, 2026 01:25
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR prepares @makerx/express-msal v2 beta for a modern Node 20+ toolchain by adding dual ESM+CJS build output, updating lint/test tooling, and aligning the MSAL client typing to IConfidentialClientApplication.

Changes:

  • Switch TypeScript config to Node 20 + no-emit typechecking, and introduce a dedicated build tsconfig for dist output.
  • Replace tsc build with Rollup to emit both CJS and ESM artifacts, and migrate tests from Jest to Vitest.
  • Update public API typing to accept an IConfidentialClientApplication and refresh docs/configuration files.

Reviewed changes

Copilot reviewed 16 out of 19 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
tsconfig.json Move to Node 20 baseline and typecheck-only configuration.
tsconfig.build.json Build-specific emit settings for declarations and dist output.
src/index.ts Update MSAL client type to IConfidentialClientApplication and tighten response typing.
rollup.config.ts New Rollup build for dual ESM + CJS outputs.
package.json v2 beta versioning, Node engine bump, new build/lint/test scripts, peer/dev dependency updates.
jest.config.ts Remove Jest configuration as part of Vitest migration.
eslint.config.mjs New ESLint flat-config setup using @makerx/eslint-config.
README.md Update package name, examples, and Express 5 note; fix minor wording.
.vscode/tasks.json Add VS Code tasks for lint and typecheck.
.tstoolkitrc.ts Add ts-toolkit config for copy-package-json step.
.prettierrc.cjs / .prettierrc Switch to shared Prettier config package.
.nsprc Document advisory suppression rationale.
.gitignore Expand ignored files (pnpm logs, IDE files, build output, env files, test results).
.github/workflows/publish.yml Switch to trusted publishing workflow.
.eslintrc.js / .eslintignore Remove legacy ESLint config files.
.editorconfig Update max line length to 100.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread rollup.config.ts
Comment thread rollup.config.ts Outdated
Comment thread package.json
Comment thread package.json
Comment thread .tstoolkitrc.ts
Comment thread .vscode/tasks.json Outdated
Comment thread rollup.config.ts
@cuzzlor cuzzlor merged commit cf4247f into main Apr 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants