This PR updates SimpleWebAuthn project to add the ability to use @simplewebauthn/server and @simplewebauthn/typescript-types for use in Deno. These packages will be maintained at the following URL:
The NPM package output continues to support CommonJS and ECMAScript modules.
This should complete the goal of "adding ESM support to SimpleWebAuthn" as this PR ultimately unblocks use of this library in non-Node, ESM-first, Web-API-centric runtimes as well, like Deno, CloudFlare Workers, and Bun.
Supersedes PR #366 to address Issue #338.
Other Notes
There are a lot of formatting-related changes in this PR - I've created a .git-blame-ignore-revs in the root of the monorepo that can be used locally via git blame --ignore-revs-file .git-blame-ignore-revs (the GitLens extension in VS Code has been set up to do this automatically.)
I've switched to using deno fmt for code formatting and deno lint for linting. As a result Prettier and ESLint have been removed.
pnpm has been introduced in response to Lerna deprecating its bootstrap command for native package manager workspace support. pnpm will make sure local package linking using the workspace: value will get mapped to a proper version as part of pnpm publish.
Breaking Changes
The following methods in @simplewebauthn/server are now async methods that return a Promise:
generateRegistrationOptions()
generateAuthenticationOptions()
generateChallenge() (in @simplewebauthn/server/helpers)
This PR updates SimpleWebAuthn project to add the ability to use @simplewebauthn/server and @simplewebauthn/typescript-types for use in Deno. These packages will be maintained at the following URL:
https://deno.land/x/simplewebauthn
The NPM package output continues to support CommonJS and ECMAScript modules.
This should complete the goal of "adding ESM support to SimpleWebAuthn" as this PR ultimately unblocks use of this library in non-Node, ESM-first, Web-API-centric runtimes as well, like Deno, CloudFlare Workers, and Bun.
Supersedes PR #366 to address Issue #338.
Other Notes
.git-blame-ignore-revs
in the root of the monorepo that can be used locally viagit blame --ignore-revs-file .git-blame-ignore-revs
(the GitLens extension in VS Code has been set up to do this automatically.)deno fmt
for code formatting anddeno lint
for linting. As a result Prettier and ESLint have been removed.pnpm
has been introduced in response to Lerna deprecating itsbootstrap
command for native package manager workspace support. pnpm will make sure local package linking using theworkspace:
value will get mapped to a proper version as part ofpnpm publish
.Breaking Changes
async
methods that return aPromise
:generateRegistrationOptions()
generateAuthenticationOptions()
generateChallenge()
(in@simplewebauthn/server/helpers
)