jose
Version:
Universal 'JSON Web Almost Everything' - JWA, JWS, JWE, JWT, JWK with no dependencies
389 lines (388 loc) • 16.4 kB
JSON
{
"name": "jose",
"version": "3.7.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/esm/jwe/compact/decrypt.js",
"require": "./dist/node/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/esm/jwe/compact/encrypt.js",
"require": "./dist/node/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/esm/jwe/flattened/decrypt.js",
"require": "./dist/node/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/esm/jwe/flattened/encrypt.js",
"require": "./dist/node/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/esm/jwe/general/decrypt.js",
"require": "./dist/node/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/esm/jwk/embedded.js",
"require": "./dist/node/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/esm/jwk/from_key_like.js",
"require": "./dist/node/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/esm/jwk/parse.js",
"require": "./dist/node/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/esm/jwk/thumbprint.js",
"require": "./dist/node/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/esm/jwks/remote.js",
"require": "./dist/node/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/esm/jws/compact/sign.js",
"require": "./dist/node/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/esm/jws/compact/verify.js",
"require": "./dist/node/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/esm/jws/flattened/sign.js",
"require": "./dist/node/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/esm/jws/flattened/verify.js",
"require": "./dist/node/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/esm/jws/general/sign.js",
"require": "./dist/node/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/esm/jws/general/verify.js",
"require": "./dist/node/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/esm/jwt/decrypt.js",
"require": "./dist/node/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/esm/jwt/encrypt.js",
"require": "./dist/node/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/esm/jwt/sign.js",
"require": "./dist/node/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/esm/jwt/unsecured.js",
"require": "./dist/node/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/esm/jwt/verify.js",
"require": "./dist/node/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/esm/util/base64url.js",
"require": "./dist/node/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/esm/util/decode_protected_header.js",
"require": "./dist/node/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/esm/util/errors.js",
"require": "./dist/node/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/esm/util/generate_key_pair.js",
"require": "./dist/node/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/esm/util/generate_secret.js",
"require": "./dist/node/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/esm/util/random.js",
"require": "./dist/node/cjs/util/random.js"
}
},
"files": [
"dist/**/package.json",
"dist/**/*.js",
"dist/types/**/*.d.ts",
"!dist/node/webcrypto/**/*",
"!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/*"
]
}
}
}