mirror of
https://github.com/danbulant/jose
synced 2026-05-19 04:18:52 +00:00
387 lines
16 KiB
JSON
387 lines
16 KiB
JSON
{
|
|
"name": "jose",
|
|
"version": "3.6.0",
|
|
"description": "Universal 'JSON Web Almost Everything' - JWA, JWS, JWE, JWT, JWK with no dependencies",
|
|
"keywords": [
|
|
"browser",
|
|
"compact",
|
|
"decode",
|
|
"decrypt",
|
|
"detached",
|
|
"ec",
|
|
"ecdsa",
|
|
"eddsa",
|
|
"electron",
|
|
"embedded",
|
|
"encrypt",
|
|
"flattened",
|
|
"general",
|
|
"isomorphic",
|
|
"jose",
|
|
"json web token",
|
|
"jsonwebtoken",
|
|
"jwa",
|
|
"jwe",
|
|
"jwk",
|
|
"jwks",
|
|
"jws",
|
|
"jwt",
|
|
"oct",
|
|
"okp",
|
|
"payload",
|
|
"rsa",
|
|
"secp256k1",
|
|
"sign",
|
|
"signature",
|
|
"universal",
|
|
"validate",
|
|
"verify",
|
|
"webcrypto"
|
|
],
|
|
"homepage": "https://github.com/panva/jose",
|
|
"repository": "panva/jose",
|
|
"funding": {
|
|
"url": "https://github.com/sponsors/panva"
|
|
},
|
|
"license": "MIT",
|
|
"author": "Filip Skokan <panva.ip@gmail.com>",
|
|
"imports": {
|
|
"#dist/*": {
|
|
"import": "./dist/node/esm/*.js",
|
|
"require": "./dist/node/cjs/*.js"
|
|
},
|
|
"#dist/webcrypto/*": {
|
|
"import": "./dist/node/webcrypto/esm/*.js",
|
|
"require": "./dist/node/webcrypto/cjs/*.js"
|
|
}
|
|
},
|
|
"exports": {
|
|
"./package.json": "./package.json",
|
|
"./jwe/compact/decrypt": {
|
|
"browser": "./dist/browser/jwe/compact/decrypt.js",
|
|
"import": "./dist/node/esm/jwe/compact/decrypt.js",
|
|
"require": "./dist/node/cjs/jwe/compact/decrypt.js"
|
|
},
|
|
"./webcrypto/jwe/compact/decrypt": {
|
|
"import": "./dist/node/webcrypto/esm/jwe/compact/decrypt.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwe/compact/decrypt.js"
|
|
},
|
|
"./jwe/compact/encrypt": {
|
|
"browser": "./dist/browser/jwe/compact/encrypt.js",
|
|
"import": "./dist/node/esm/jwe/compact/encrypt.js",
|
|
"require": "./dist/node/cjs/jwe/compact/encrypt.js"
|
|
},
|
|
"./webcrypto/jwe/compact/encrypt": {
|
|
"import": "./dist/node/webcrypto/esm/jwe/compact/encrypt.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwe/compact/encrypt.js"
|
|
},
|
|
"./jwe/flattened/decrypt": {
|
|
"browser": "./dist/browser/jwe/flattened/decrypt.js",
|
|
"import": "./dist/node/esm/jwe/flattened/decrypt.js",
|
|
"require": "./dist/node/cjs/jwe/flattened/decrypt.js"
|
|
},
|
|
"./webcrypto/jwe/flattened/decrypt": {
|
|
"import": "./dist/node/webcrypto/esm/jwe/flattened/decrypt.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwe/flattened/decrypt.js"
|
|
},
|
|
"./jwe/flattened/encrypt": {
|
|
"browser": "./dist/browser/jwe/flattened/encrypt.js",
|
|
"import": "./dist/node/esm/jwe/flattened/encrypt.js",
|
|
"require": "./dist/node/cjs/jwe/flattened/encrypt.js"
|
|
},
|
|
"./webcrypto/jwe/flattened/encrypt": {
|
|
"import": "./dist/node/webcrypto/esm/jwe/flattened/encrypt.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwe/flattened/encrypt.js"
|
|
},
|
|
"./jwe/general/decrypt": {
|
|
"browser": "./dist/browser/jwe/general/decrypt.js",
|
|
"import": "./dist/node/esm/jwe/general/decrypt.js",
|
|
"require": "./dist/node/cjs/jwe/general/decrypt.js"
|
|
},
|
|
"./webcrypto/jwe/general/decrypt": {
|
|
"import": "./dist/node/webcrypto/esm/jwe/general/decrypt.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwe/general/decrypt.js"
|
|
},
|
|
"./jwk/embedded": {
|
|
"browser": "./dist/browser/jwk/embedded.js",
|
|
"import": "./dist/node/esm/jwk/embedded.js",
|
|
"require": "./dist/node/cjs/jwk/embedded.js"
|
|
},
|
|
"./webcrypto/jwk/embedded": {
|
|
"import": "./dist/node/webcrypto/esm/jwk/embedded.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwk/embedded.js"
|
|
},
|
|
"./jwk/from_key_like": {
|
|
"browser": "./dist/browser/jwk/from_key_like.js",
|
|
"import": "./dist/node/esm/jwk/from_key_like.js",
|
|
"require": "./dist/node/cjs/jwk/from_key_like.js"
|
|
},
|
|
"./webcrypto/jwk/from_key_like": {
|
|
"import": "./dist/node/webcrypto/esm/jwk/from_key_like.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwk/from_key_like.js"
|
|
},
|
|
"./jwk/parse": {
|
|
"browser": "./dist/browser/jwk/parse.js",
|
|
"import": "./dist/node/esm/jwk/parse.js",
|
|
"require": "./dist/node/cjs/jwk/parse.js"
|
|
},
|
|
"./webcrypto/jwk/parse": {
|
|
"import": "./dist/node/webcrypto/esm/jwk/parse.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwk/parse.js"
|
|
},
|
|
"./jwk/thumbprint": {
|
|
"browser": "./dist/browser/jwk/thumbprint.js",
|
|
"import": "./dist/node/esm/jwk/thumbprint.js",
|
|
"require": "./dist/node/cjs/jwk/thumbprint.js"
|
|
},
|
|
"./webcrypto/jwk/thumbprint": {
|
|
"import": "./dist/node/webcrypto/esm/jwk/thumbprint.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwk/thumbprint.js"
|
|
},
|
|
"./jwks/remote": {
|
|
"browser": "./dist/browser/jwks/remote.js",
|
|
"import": "./dist/node/esm/jwks/remote.js",
|
|
"require": "./dist/node/cjs/jwks/remote.js"
|
|
},
|
|
"./webcrypto/jwks/remote": {
|
|
"import": "./dist/node/webcrypto/esm/jwks/remote.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwks/remote.js"
|
|
},
|
|
"./jws/compact/sign": {
|
|
"browser": "./dist/browser/jws/compact/sign.js",
|
|
"import": "./dist/node/esm/jws/compact/sign.js",
|
|
"require": "./dist/node/cjs/jws/compact/sign.js"
|
|
},
|
|
"./webcrypto/jws/compact/sign": {
|
|
"import": "./dist/node/webcrypto/esm/jws/compact/sign.js",
|
|
"require": "./dist/node/webcrypto/cjs/jws/compact/sign.js"
|
|
},
|
|
"./jws/compact/verify": {
|
|
"browser": "./dist/browser/jws/compact/verify.js",
|
|
"import": "./dist/node/esm/jws/compact/verify.js",
|
|
"require": "./dist/node/cjs/jws/compact/verify.js"
|
|
},
|
|
"./webcrypto/jws/compact/verify": {
|
|
"import": "./dist/node/webcrypto/esm/jws/compact/verify.js",
|
|
"require": "./dist/node/webcrypto/cjs/jws/compact/verify.js"
|
|
},
|
|
"./jws/flattened/sign": {
|
|
"browser": "./dist/browser/jws/flattened/sign.js",
|
|
"import": "./dist/node/esm/jws/flattened/sign.js",
|
|
"require": "./dist/node/cjs/jws/flattened/sign.js"
|
|
},
|
|
"./webcrypto/jws/flattened/sign": {
|
|
"import": "./dist/node/webcrypto/esm/jws/flattened/sign.js",
|
|
"require": "./dist/node/webcrypto/cjs/jws/flattened/sign.js"
|
|
},
|
|
"./jws/flattened/verify": {
|
|
"browser": "./dist/browser/jws/flattened/verify.js",
|
|
"import": "./dist/node/esm/jws/flattened/verify.js",
|
|
"require": "./dist/node/cjs/jws/flattened/verify.js"
|
|
},
|
|
"./webcrypto/jws/flattened/verify": {
|
|
"import": "./dist/node/webcrypto/esm/jws/flattened/verify.js",
|
|
"require": "./dist/node/webcrypto/cjs/jws/flattened/verify.js"
|
|
},
|
|
"./jws/general/sign": {
|
|
"browser": "./dist/browser/jws/general/sign.js",
|
|
"import": "./dist/node/esm/jws/general/sign.js",
|
|
"require": "./dist/node/cjs/jws/general/sign.js"
|
|
},
|
|
"./webcrypto/jws/general/sign": {
|
|
"import": "./dist/node/webcrypto/esm/jws/general/sign.js",
|
|
"require": "./dist/node/webcrypto/cjs/jws/general/sign.js"
|
|
},
|
|
"./jws/general/verify": {
|
|
"browser": "./dist/browser/jws/general/verify.js",
|
|
"import": "./dist/node/esm/jws/general/verify.js",
|
|
"require": "./dist/node/cjs/jws/general/verify.js"
|
|
},
|
|
"./webcrypto/jws/general/verify": {
|
|
"import": "./dist/node/webcrypto/esm/jws/general/verify.js",
|
|
"require": "./dist/node/webcrypto/cjs/jws/general/verify.js"
|
|
},
|
|
"./jwt/decrypt": {
|
|
"browser": "./dist/browser/jwt/decrypt.js",
|
|
"import": "./dist/node/esm/jwt/decrypt.js",
|
|
"require": "./dist/node/cjs/jwt/decrypt.js"
|
|
},
|
|
"./webcrypto/jwt/decrypt": {
|
|
"import": "./dist/node/webcrypto/esm/jwt/decrypt.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwt/decrypt.js"
|
|
},
|
|
"./jwt/encrypt": {
|
|
"browser": "./dist/browser/jwt/encrypt.js",
|
|
"import": "./dist/node/esm/jwt/encrypt.js",
|
|
"require": "./dist/node/cjs/jwt/encrypt.js"
|
|
},
|
|
"./webcrypto/jwt/encrypt": {
|
|
"import": "./dist/node/webcrypto/esm/jwt/encrypt.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwt/encrypt.js"
|
|
},
|
|
"./jwt/sign": {
|
|
"browser": "./dist/browser/jwt/sign.js",
|
|
"import": "./dist/node/esm/jwt/sign.js",
|
|
"require": "./dist/node/cjs/jwt/sign.js"
|
|
},
|
|
"./webcrypto/jwt/sign": {
|
|
"import": "./dist/node/webcrypto/esm/jwt/sign.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwt/sign.js"
|
|
},
|
|
"./jwt/unsecured": {
|
|
"browser": "./dist/browser/jwt/unsecured.js",
|
|
"import": "./dist/node/esm/jwt/unsecured.js",
|
|
"require": "./dist/node/cjs/jwt/unsecured.js"
|
|
},
|
|
"./webcrypto/jwt/unsecured": {
|
|
"import": "./dist/node/webcrypto/esm/jwt/unsecured.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwt/unsecured.js"
|
|
},
|
|
"./jwt/verify": {
|
|
"browser": "./dist/browser/jwt/verify.js",
|
|
"import": "./dist/node/esm/jwt/verify.js",
|
|
"require": "./dist/node/cjs/jwt/verify.js"
|
|
},
|
|
"./webcrypto/jwt/verify": {
|
|
"import": "./dist/node/webcrypto/esm/jwt/verify.js",
|
|
"require": "./dist/node/webcrypto/cjs/jwt/verify.js"
|
|
},
|
|
"./util/base64url": {
|
|
"browser": "./dist/browser/util/base64url.js",
|
|
"import": "./dist/node/esm/util/base64url.js",
|
|
"require": "./dist/node/cjs/util/base64url.js"
|
|
},
|
|
"./webcrypto/util/base64url": {
|
|
"import": "./dist/node/webcrypto/esm/util/base64url.js",
|
|
"require": "./dist/node/webcrypto/cjs/util/base64url.js"
|
|
},
|
|
"./util/decode_protected_header": {
|
|
"browser": "./dist/browser/util/decode_protected_header.js",
|
|
"import": "./dist/node/esm/util/decode_protected_header.js",
|
|
"require": "./dist/node/cjs/util/decode_protected_header.js"
|
|
},
|
|
"./webcrypto/util/decode_protected_header": {
|
|
"import": "./dist/node/webcrypto/esm/util/decode_protected_header.js",
|
|
"require": "./dist/node/webcrypto/cjs/util/decode_protected_header.js"
|
|
},
|
|
"./util/errors": {
|
|
"browser": "./dist/browser/util/errors.js",
|
|
"import": "./dist/node/esm/util/errors.js",
|
|
"require": "./dist/node/cjs/util/errors.js"
|
|
},
|
|
"./webcrypto/util/errors": {
|
|
"import": "./dist/node/webcrypto/esm/util/errors.js",
|
|
"require": "./dist/node/webcrypto/cjs/util/errors.js"
|
|
},
|
|
"./util/generate_key_pair": {
|
|
"browser": "./dist/browser/util/generate_key_pair.js",
|
|
"import": "./dist/node/esm/util/generate_key_pair.js",
|
|
"require": "./dist/node/cjs/util/generate_key_pair.js"
|
|
},
|
|
"./webcrypto/util/generate_key_pair": {
|
|
"import": "./dist/node/webcrypto/esm/util/generate_key_pair.js",
|
|
"require": "./dist/node/webcrypto/cjs/util/generate_key_pair.js"
|
|
},
|
|
"./util/generate_secret": {
|
|
"browser": "./dist/browser/util/generate_secret.js",
|
|
"import": "./dist/node/esm/util/generate_secret.js",
|
|
"require": "./dist/node/cjs/util/generate_secret.js"
|
|
},
|
|
"./webcrypto/util/generate_secret": {
|
|
"import": "./dist/node/webcrypto/esm/util/generate_secret.js",
|
|
"require": "./dist/node/webcrypto/cjs/util/generate_secret.js"
|
|
},
|
|
"./util/random": {
|
|
"browser": "./dist/browser/util/random.js",
|
|
"import": "./dist/node/esm/util/random.js",
|
|
"require": "./dist/node/cjs/util/random.js"
|
|
},
|
|
"./webcrypto/util/random": {
|
|
"import": "./dist/node/webcrypto/esm/util/random.js",
|
|
"require": "./dist/node/webcrypto/cjs/util/random.js"
|
|
}
|
|
},
|
|
"files": [
|
|
"dist/**/package.json",
|
|
"dist/**/*.js",
|
|
"dist/types/**/*.d.ts",
|
|
"!dist/types/**/*.i.d.ts",
|
|
"!dist/types/runtime/*",
|
|
"!dist/types/lib/*",
|
|
"dist/types/lib/jwt_producer.d.ts"
|
|
],
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"build-all": "run-s clear build:*",
|
|
"build-fast-all": "run-s clear build-fast:*",
|
|
"build-fast:browser": "npm run-script runtime-browser && npm run-script -s esbuild-find | xargs -0 esbuild --target=es2018 --outdir=dist/browser --format=esm && echo '{\"type\": \"module\"}'> dist/browser/package.json",
|
|
"build-fast:node-cjs": "npm run-script runtime-node && npm run-script -s esbuild-find | xargs -0 esbuild --platform=node --target=node12 --outdir=dist/node/cjs --format=cjs",
|
|
"build-fast:node-esm": "npm run-script runtime-node && npm run-script -s esbuild-find | xargs -0 esbuild --platform=node --target=node12 --outdir=dist/node/esm --format=esm && echo '{\"type\": \"module\"}'> dist/node/esm/package.json",
|
|
"build-fast:node-webcrypto-cjs": "npm run-script runtime-node-webcrypto && npm run-script -s esbuild-find | xargs -0 esbuild --platform=node --target=esnext --outdir=dist/node/webcrypto/cjs --format=cjs",
|
|
"build-fast:node-webcrypto-esm": "npm run-script runtime-node-webcrypto && npm run-script -s esbuild-find | xargs -0 esbuild --platform=node --target=esnext --outdir=dist/node/webcrypto/esm --format=esm && echo '{\"type\": \"module\"}'> dist/node/webcrypto/esm/package.json",
|
|
"build:browser": "run-s runtime-browser lint 'build -- -p ./tsconfig/browser.json' && echo '{\"type\": \"module\"}'> dist/browser/package.json",
|
|
"build:types": "npm run-script build -- -p ./tsconfig/types.json && cd src && find . -name '*.d.ts' -maxdepth 2 -type f -exec gcp --parents \"{}\" ../dist/types \\; && cd ..",
|
|
"build:node-cjs": "run-s runtime-node lint 'build -- -p ./tsconfig/node-cjs.json'",
|
|
"build:node-esm": "run-s runtime-node lint 'build -- -p ./tsconfig/node-esm.json' && echo '{\"type\": \"module\"}'> dist/node/esm/package.json",
|
|
"build:node-webcrypto-cjs": "run-s runtime-node-webcrypto lint 'build -- -p ./tsconfig/node-webcrypto-cjs.json'",
|
|
"build:node-webcrypto-esm": "run-s runtime-node-webcrypto lint 'build -- -p ./tsconfig/node-webcrypto-esm.json' && echo '{\"type\": \"module\"}'> dist/node/webcrypto/esm/package.json",
|
|
"clear": "rm -rf dist",
|
|
"coverage": "npm run-script runtime-node && c8 npm run-script test",
|
|
"coverage-cryptokey": "npm run-script runtime-node && c8 npm run-script test-cryptokey",
|
|
"coverage-webcrypto": "npm run-script runtime-node-webcrypto && c8 npm run-script test-webcrypto",
|
|
"docs": "run-s docs:*",
|
|
"docs:generate": "typedoc --disableOutputCheck --excludeNotExported --excludePrivate --excludeProtected --gitRevision main --readme none --listInvalidSymbolLinks --plugin typedoc-plugin-markdown --out docs --includeDeclarations --excludeExternals --tsconfig ./tsconfig/browser.json --mode modules src/types.d.ts src/jwt/*.ts src/jwe/**/*.ts src/jws/**/*.ts src/jwk/*.ts src/jwks/*.ts src/util/*.ts --hideProjectName --hideGenerator --allReflectionsHaveOwnDocument --hideBreadcrumbs",
|
|
"esbuild-find": "find src -type f -name '*.ts' -not -path '*/runtime/*/*' -not -name '*.d.ts' -print0",
|
|
"lint": "eslint --config ./src/.eslintrc.json ./src",
|
|
"runtime-browser": "run-s runtime:clear runtime:browser:* runtime:refs",
|
|
"runtime-node": "run-s runtime:clear runtime:node:* runtime:refs",
|
|
"runtime-node-webcrypto": "run-s runtime:clear runtime:browser:* && cp ./src/runtime/node/webcrypto.ts ./src/runtime/ && cp ./src/runtime/node/fetch.ts ./src/runtime/ && cp ./src/runtime/node/base64url.ts ./src/runtime/ && cp ./src/runtime/node/zlib.ts ./src/runtime/ && run-s runtime:refs",
|
|
"runtime:browser:copy": "cp ./src/runtime/browser/*.ts ./src/runtime",
|
|
"runtime:clear": "run-s -s runtime:find | xargs -0 rm -f",
|
|
"runtime:find": "find src/runtime -not -name '*.d.ts' -maxdepth 1 -type f -print0",
|
|
"runtime:node:copy": "cp ./src/runtime/node/*.ts ./src/runtime",
|
|
"runtime:refs": "run-s -s runtime:find | xargs -0 sed -i '' -e \"s/'\\.\\.\\//'\\.\\//g\" -e \"s/'\\.\\/\\.\\./'../g\"",
|
|
"test": "npm run-script test-cjs && ava",
|
|
"test-browser": "find test-browser -type f -name '*.js' -print0 | xargs -0 npx esbuild --outdir=dist-browser-tests --bundle && karma start",
|
|
"test-cjs": "rm -rf test/cjs && find test -type f -name '*.mjs' -print0 | xargs -0 npx esbuild --target=esnext --outdir=test/cjs --format=cjs",
|
|
"test-cryptokey": "CRYPTOKEY=true npm test",
|
|
"test-webcrypto": "WEBCRYPTO=true npm test"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^14.14.9",
|
|
"@typescript-eslint/eslint-plugin": "^4.9.0",
|
|
"ava": "^3.13.0",
|
|
"bowser": "^2.11.0",
|
|
"c8": "^7.3.5",
|
|
"esbuild": "0.8.31",
|
|
"eslint": "7.17.0",
|
|
"eslint-config-airbnb-base": "14.2.1",
|
|
"eslint-config-airbnb-typescript": "12.0.0",
|
|
"eslint-config-prettier": "7.1.0",
|
|
"eslint-plugin-import": "2.22.1",
|
|
"eslint-plugin-jsdoc": "30.7.13",
|
|
"glob": "^7.1.6",
|
|
"karma": "^5.2.3",
|
|
"karma-brief-reporter": "0.2.1",
|
|
"karma-browserstack-launcher": "1.6.0",
|
|
"karma-qunit": "4.1.1",
|
|
"nock": "^13.0.5",
|
|
"npm-run-all": "^4.1.5",
|
|
"prettier": "^2.2.0",
|
|
"qunit": "^2.12.0",
|
|
"timekeeper": "^2.2.0",
|
|
"typedoc": "0.19.2",
|
|
"typedoc-plugin-markdown": "3.1.1",
|
|
"typescript": "4.0.5"
|
|
},
|
|
"typesVersions": {
|
|
"*": {
|
|
"webcrypto/*": [
|
|
"./dist/types/*"
|
|
],
|
|
"*": [
|
|
"./dist/types/*"
|
|
]
|
|
}
|
|
}
|
|
}
|