Skip to content

chore(api): align the Express template with the next @seamless-auth/express release#17

Open
Bccorb wants to merge 6 commits into
mainfrom
chore/link-local-auth-packages
Open

chore(api): align the Express template with the next @seamless-auth/express release#17
Bccorb wants to merge 6 commits into
mainfrom
chore/link-local-auth-packages

Conversation

@Bccorb

@Bccorb Bccorb commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Aligns the Express API template with the upcoming @seamless-auth/express release. Two commits:

Express 5 baseline (existing)

Upgrade the template to Express 5 and @seamless-auth/express 0.8, which requires express >= 5.0.0 as a peer dependency. The @types/express was already on v5, so runtime and types are aligned.

Drop the dead issuer option

@seamless-auth/express removes issuer from SeamlessAuthServerOptions (the silent-refresh service token moved to the fixed M2M contract constants, so the adopter-supplied value reached nothing), and passing it is now a type error. The template no longer sets issuer, and APP_ORIGIN, whose only consumer was that option, is removed from .env.example and the README.

Verification

Typechecked the template with its own tsc -p . against the to-be-released @seamless-auth/express option type (with issuer removed): 0 errors. Confirmed that keeping issuer is an excess-property type error against the new type. Template lint clean.

Coordination

Merge together with the remove-dead-issuer-option change in seamless-auth-server. The template cannot compile against both the currently published express@0.8.0 (which still requires issuer) and the next release (which drops it), so the two move as a pair.

Bccorb added 6 commits July 20, 2026 00:42
@seamless-auth/express 0.8 declares express >= 5.0.0 as a peer dependency, so the template moves off Express 4. @types/express was already on v5.
@seamless-auth/express removes issuer from SeamlessAuthServerOptions, so passing
it is now a type error. Remove the issuer line from createSeamlessAuthServer and
delete APP_ORIGIN, whose only consumer was that option, from .env.example and the
README.
The Express template passed no messaging option, so OTP delivery took the auth API's direct path, which is bypassed in development and never logs the code. Configuring dev-only messaging handlers routes delivery through the adapter so tokens print to the API logs. Gated on NODE_ENV=development.
The React SDK now resolves every call to { data, error } instead of returning the payload or throwing. The login page reads data.providers and data.authorizationUrl, and the callback checks error rather than a .catch the SDK no longer triggers. Depends on @seamless-auth/react 0.5.0; the pin is bumped to ^0.5.0 and this must not merge until that version is published, or template CI install/build will fail.
Express template -> @seamless-auth/express ^0.9.0, react-vite -> @seamless-auth/react ^0.5.0, with lockfiles resolved to the published packages. Removes the local link/vendor scaffolding from the test stack.
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.

1 participant