mirror of
https://github.com/danbulant/jose
synced 2026-05-24 20:41:46 +00:00
BREAKING CHANGE: Revised, Promise-based API BREAKING CHANGE: No dependencies BREAKING CHANGE: Browser support (using [Web Cryptography API](https://www.w3.org/TR/WebCryptoAPI/)) BREAKING CHANGE: Support for verification using a remote JWKS endpoint BREAKING CHANGE: Experimental Node.js libuv thread pool based runtime (non-blocking 🎉)
48 lines
1.2 KiB
JavaScript
Executable file
48 lines
1.2 KiB
JavaScript
Executable file
const { writeFileSync } = require("fs");
|
|
const package = require("../package.json");
|
|
const glob = require("glob");
|
|
|
|
const modules = [
|
|
"src/jwe",
|
|
"src/jwk",
|
|
"src/jwks",
|
|
"src/jws",
|
|
"src/jwt",
|
|
"src/util",
|
|
];
|
|
|
|
const all = modules.map((path) => glob.sync(`${path}/**/*.ts`)).flat(Infinity);
|
|
|
|
const exp = all.reduce((acc, mod) => {
|
|
const len = mod.length;
|
|
const foo = mod.substring(4, len - 3);
|
|
acc["./" + foo] = {
|
|
browser: "./dist/browser/" + foo + ".js",
|
|
import: "./dist/node/esm/" + foo + ".js",
|
|
require: "./dist/node/cjs/" + foo + ".js",
|
|
};
|
|
acc["./webcrypto/" + foo] = {
|
|
import: "./dist/node/webcrypto/esm/" + foo + ".js",
|
|
require: "./dist/node/webcrypto/cjs/" + foo + ".js",
|
|
};
|
|
return acc;
|
|
}, {});
|
|
|
|
const imp = all.reduce((acc, mod) => {
|
|
const len = mod.length;
|
|
const foo = mod.substring(4, len - 3);
|
|
acc["#dist/" + foo] = {
|
|
import: "./dist/node/esm/" + foo + ".js",
|
|
require: "./dist/node/cjs/" + foo + ".js",
|
|
};
|
|
acc["#dist/webcrypto/" + foo] = {
|
|
import: "./dist/node/webcrypto/esm/" + foo + ".js",
|
|
require: "./dist/node/webcrypto/cjs/" + foo + ".js",
|
|
};
|
|
return acc;
|
|
}, {});
|
|
|
|
package.imports = imp;
|
|
package.exports = exp;
|
|
|
|
writeFileSync("package.json", JSON.stringify(package, null, 2) + "\n");
|