prettier and eslint
This commit is contained in:
parent
abdf5c2229
commit
94b3cda887
10 changed files with 1779 additions and 216 deletions
4
asset-api/.prettierrc
Normal file
4
asset-api/.prettierrc
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"tabWidth": 4,
|
||||
"printWidth": 120
|
||||
}
|
11
asset-api/eslint.config.js
Normal file
11
asset-api/eslint.config.js
Normal file
|
@ -0,0 +1,11 @@
|
|||
import globals from "globals";
|
||||
import pluginJs from "@eslint/js";
|
||||
|
||||
export default [
|
||||
pluginJs.configs.recommended,
|
||||
{ languageOptions: { globals: globals.node } },
|
||||
{
|
||||
// FIXME: Figure this out...
|
||||
ignores: [".pnp.cjs", ".pnp.loader.mjs"],
|
||||
},
|
||||
];
|
|
@ -1,64 +1,64 @@
|
|||
import { readFile } from "node:fs/promises"
|
||||
import { readFile } from "node:fs/promises";
|
||||
import { createWriteStream, readFileSync, writeFileSync } from "node:fs";
|
||||
import { createSign, generateKeyPairSync, randomUUID } from "node:crypto";
|
||||
import Fastify from "fastify";
|
||||
import multipart from '@fastify/multipart'
|
||||
import multipart from "@fastify/multipart";
|
||||
import { join } from "node:path";
|
||||
import mime from "mime"
|
||||
import mime from "mime";
|
||||
import { promisify } from "node:util";
|
||||
import { pipeline } from "node:stream";
|
||||
|
||||
const M2M_ALGORITHM = "RSA-SHA512"
|
||||
const { private: M2M_PRIVATE_KEY, public: M2M_PUBLIC_KEY } = loadM2MKeys()
|
||||
const M2M_ALGORITHM = "RSA-SHA512";
|
||||
const { private: M2M_PRIVATE_KEY, public: M2M_PUBLIC_KEY } = loadM2MKeys();
|
||||
if (M2M_PRIVATE_KEY == null || M2M_PUBLIC_KEY == null) {
|
||||
console.error("Couldn't load keys")
|
||||
process.exit(1)
|
||||
console.error("Couldn't load keys");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const ASSETS_FOLDER = "./.assets/"
|
||||
const ASSET_API_LANDING_MESSAGE = "asset-api v1.0.0"
|
||||
const ASSETS_FOLDER = "./.assets/";
|
||||
const ASSET_API_LANDING_MESSAGE = "asset-api v1.0.0";
|
||||
|
||||
const IDENTITY_API_ENDPOINT = "http://localhost:3000"
|
||||
const IDENTITY_API_ENDPOINT = "http://localhost:3000";
|
||||
|
||||
const fastify = new Fastify({
|
||||
logger: true,
|
||||
})
|
||||
});
|
||||
|
||||
fastify.register(multipart)
|
||||
fastify.register(multipart);
|
||||
|
||||
fastify.get("/", async (request, reply) => {
|
||||
return signString(ASSET_API_LANDING_MESSAGE)
|
||||
})
|
||||
fastify.get("/", async () => {
|
||||
return signString(ASSET_API_LANDING_MESSAGE);
|
||||
});
|
||||
|
||||
fastify.get("/crypto/cert", async (request, reply) => {
|
||||
return M2M_PUBLIC_KEY
|
||||
})
|
||||
fastify.get("/crypto/cert", async () => {
|
||||
return M2M_PUBLIC_KEY;
|
||||
});
|
||||
|
||||
fastify.get("/crypto/algo", (request, reply) => {
|
||||
return M2M_ALGORITHM
|
||||
})
|
||||
fastify.get("/crypto/algo", () => {
|
||||
return M2M_ALGORITHM;
|
||||
});
|
||||
|
||||
fastify.put("/asset", {
|
||||
async handler(request, reply) {
|
||||
await userFromSessionKey(request.query.session_key)
|
||||
let file = await request.file()
|
||||
async handler(request) {
|
||||
await userFromSessionKey(request.query.session_key);
|
||||
let file = await request.file();
|
||||
|
||||
let id = randomUUID().toString()
|
||||
let extension = mime.getExtension(file.mimetype) || ".bin"
|
||||
let full_id = `${id}.${extension}`
|
||||
let id = randomUUID().toString();
|
||||
let extension = mime.getExtension(file.mimetype) || ".bin";
|
||||
let full_id = `${id}.${extension}`;
|
||||
|
||||
let url = new URL(IDENTITY_API_ENDPOINT)
|
||||
url.pathname = "/m2m/asset"
|
||||
let url = new URL(IDENTITY_API_ENDPOINT);
|
||||
url.pathname = "/m2m/asset";
|
||||
|
||||
await fetch(url, {
|
||||
method: "PUT",
|
||||
body: signObject({
|
||||
session_key: request.query.session_key,
|
||||
asset_id: full_id,
|
||||
})
|
||||
})
|
||||
}),
|
||||
});
|
||||
|
||||
promisify(pipeline)(file.file, createWriteStream(`.assets/${full_id}`))
|
||||
promisify(pipeline)(file.file, createWriteStream(`.assets/${full_id}`));
|
||||
},
|
||||
schema: {
|
||||
query: {
|
||||
|
@ -69,19 +69,19 @@ fastify.put("/asset", {
|
|||
required: ["session_key"],
|
||||
},
|
||||
},
|
||||
})
|
||||
});
|
||||
|
||||
fastify.get("/asset", {
|
||||
async handler(request, reply) {
|
||||
let user = await userFromSessionKey(request.query.session_key)
|
||||
let user = await userFromSessionKey(request.query.session_key);
|
||||
|
||||
if (user.assets.includes(request.query.asset_id)) {
|
||||
let path = join(ASSETS_FOLDER, request.query.asset_id)
|
||||
let path = join(ASSETS_FOLDER, request.query.asset_id);
|
||||
|
||||
reply.type(mime.getType(path))
|
||||
reply.send(await readFile(path))
|
||||
reply.type(mime.getType(path));
|
||||
reply.send(await readFile(path));
|
||||
} else {
|
||||
return "Not authorized"
|
||||
return "Not authorized";
|
||||
}
|
||||
},
|
||||
schema: {
|
||||
|
@ -94,58 +94,58 @@ fastify.get("/asset", {
|
|||
required: ["asset_id", "session_key"],
|
||||
},
|
||||
},
|
||||
})
|
||||
});
|
||||
|
||||
fastify.listen({ port: 3001 })
|
||||
fastify.listen({ port: 3001 });
|
||||
|
||||
function loadM2MKeys() {
|
||||
try {
|
||||
return {
|
||||
private: readFileSync("./.keys/m2m.pem").toString("ascii"),
|
||||
public: readFileSync("./.keys/m2m.pub").toString("ascii"),
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn("Generating M2M key pair!")
|
||||
};
|
||||
} catch {
|
||||
console.warn("Generating M2M key pair!");
|
||||
|
||||
let { publicKey, privateKey } = generateKeyPairSync("rsa", {
|
||||
modulusLength: 4096,
|
||||
publicKeyEncoding: {
|
||||
type: 'spki',
|
||||
format: 'pem',
|
||||
type: "spki",
|
||||
format: "pem",
|
||||
},
|
||||
privateKeyEncoding: {
|
||||
type: 'pkcs8',
|
||||
format: 'pem',
|
||||
type: "pkcs8",
|
||||
format: "pem",
|
||||
},
|
||||
})
|
||||
});
|
||||
|
||||
writeFileSync("./.keys/m2m.pem", privateKey)
|
||||
writeFileSync("./.keys/m2m.pub", publicKey)
|
||||
writeFileSync("./.keys/m2m.pem", privateKey);
|
||||
writeFileSync("./.keys/m2m.pub", publicKey);
|
||||
|
||||
return loadM2MKeys()
|
||||
return loadM2MKeys();
|
||||
}
|
||||
}
|
||||
|
||||
function signString(content) {
|
||||
let sign = createSign(M2M_ALGORITHM)
|
||||
sign.update(content)
|
||||
return `-----BEGIN SIGNED MESSAGE-----\n\n${content}\n\n-----BEGIN SIGNATURE-----\n\n${sign.sign(M2M_PRIVATE_KEY, "base64")}\n-----END SIGNATURE-----`
|
||||
let sign = createSign(M2M_ALGORITHM);
|
||||
sign.update(content);
|
||||
return `-----BEGIN SIGNED MESSAGE-----\n\n${content}\n\n-----BEGIN SIGNATURE-----\n\n${sign.sign(M2M_PRIVATE_KEY, "base64")}\n-----END SIGNATURE-----`;
|
||||
}
|
||||
|
||||
function signObject(content) {
|
||||
return signString(JSON.stringify(content))
|
||||
return signString(JSON.stringify(content));
|
||||
}
|
||||
|
||||
async function userFromSessionKey(session_key) {
|
||||
let url = new URL(IDENTITY_API_ENDPOINT)
|
||||
url.pathname = "/m2m/account"
|
||||
let url = new URL(IDENTITY_API_ENDPOINT);
|
||||
url.pathname = "/m2m/account";
|
||||
|
||||
let res1 = await fetch(url, {
|
||||
method: "POST",
|
||||
body: signObject({
|
||||
session_key,
|
||||
})
|
||||
})
|
||||
}),
|
||||
});
|
||||
|
||||
return await res1.json()
|
||||
return await res1.json();
|
||||
}
|
|
@ -10,6 +10,14 @@
|
|||
"uuid": "^10.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "node index.js"
|
||||
"start": "node index.js",
|
||||
"lint:fix": "eslint --fix && prettier . --write",
|
||||
"lint": "eslint && prettier . --check"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.5.0",
|
||||
"eslint": "9.x",
|
||||
"globals": "^15.5.0",
|
||||
"prettier": "3.3.2"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,66 @@ __metadata:
|
|||
version: 8
|
||||
cacheKey: 10c0
|
||||
|
||||
"@eslint-community/eslint-utils@npm:^4.2.0":
|
||||
version: 4.4.0
|
||||
resolution: "@eslint-community/eslint-utils@npm:4.4.0"
|
||||
dependencies:
|
||||
eslint-visitor-keys: "npm:^3.3.0"
|
||||
peerDependencies:
|
||||
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
||||
checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint-community/regexpp@npm:^4.6.1":
|
||||
version: 4.10.1
|
||||
resolution: "@eslint-community/regexpp@npm:4.10.1"
|
||||
checksum: 10c0/f59376025d0c91dd9fdf18d33941df499292a3ecba3e9889c360f3f6590197d30755604588786cdca0f9030be315a26b206014af4b65c0ff85b4ec49043de780
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/config-array@npm:^0.16.0":
|
||||
version: 0.16.0
|
||||
resolution: "@eslint/config-array@npm:0.16.0"
|
||||
dependencies:
|
||||
"@eslint/object-schema": "npm:^2.1.4"
|
||||
debug: "npm:^4.3.1"
|
||||
minimatch: "npm:^3.0.5"
|
||||
checksum: 10c0/b9d04409151dc95ec6b5e04e1e185a808d58e18cfc7340adc1e9420a5ff15843a0a308fb2cd9a2b354652885c2bebbcd5515814e93e9c9133f423891b6e53c70
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/eslintrc@npm:^3.1.0":
|
||||
version: 3.1.0
|
||||
resolution: "@eslint/eslintrc@npm:3.1.0"
|
||||
dependencies:
|
||||
ajv: "npm:^6.12.4"
|
||||
debug: "npm:^4.3.2"
|
||||
espree: "npm:^10.0.1"
|
||||
globals: "npm:^14.0.0"
|
||||
ignore: "npm:^5.2.0"
|
||||
import-fresh: "npm:^3.2.1"
|
||||
js-yaml: "npm:^4.1.0"
|
||||
minimatch: "npm:^3.1.2"
|
||||
strip-json-comments: "npm:^3.1.1"
|
||||
checksum: 10c0/5b7332ed781edcfc98caa8dedbbb843abfb9bda2e86538529c843473f580e40c69eb894410eddc6702f487e9ee8f8cfa8df83213d43a8fdb549f23ce06699167
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/js@npm:9.5.0, @eslint/js@npm:^9.5.0":
|
||||
version: 9.5.0
|
||||
resolution: "@eslint/js@npm:9.5.0"
|
||||
checksum: 10c0/dacf51ec2d5b4c8d1315d21a0ff761235d9e39b2391cb945138c58dc512a6c18949c40b644235f5c4fdf5b637ef8f881214acc496dddf46b718529bf22af42ac
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/object-schema@npm:^2.1.4":
|
||||
version: 2.1.4
|
||||
resolution: "@eslint/object-schema@npm:2.1.4"
|
||||
checksum: 10c0/e9885532ea70e483fb007bf1275968b05bb15ebaa506d98560c41a41220d33d342e19023d5f2939fed6eb59676c1bda5c847c284b4b55fce521d282004da4dda
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@fastify/ajv-compiler@npm:^3.5.0":
|
||||
version: 3.5.0
|
||||
resolution: "@fastify/ajv-compiler@npm:3.5.0"
|
||||
|
@ -69,6 +129,47 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@humanwhocodes/module-importer@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "@humanwhocodes/module-importer@npm:1.0.1"
|
||||
checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@humanwhocodes/retry@npm:^0.3.0":
|
||||
version: 0.3.0
|
||||
resolution: "@humanwhocodes/retry@npm:0.3.0"
|
||||
checksum: 10c0/7111ec4e098b1a428459b4e3be5a5d2a13b02905f805a2468f4fa628d072f0de2da26a27d04f65ea2846f73ba51f4204661709f05bfccff645e3cedef8781bb6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@nodelib/fs.scandir@npm:2.1.5":
|
||||
version: 2.1.5
|
||||
resolution: "@nodelib/fs.scandir@npm:2.1.5"
|
||||
dependencies:
|
||||
"@nodelib/fs.stat": "npm:2.0.5"
|
||||
run-parallel: "npm:^1.1.9"
|
||||
checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@nodelib/fs.stat@npm:2.0.5":
|
||||
version: 2.0.5
|
||||
resolution: "@nodelib/fs.stat@npm:2.0.5"
|
||||
checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@nodelib/fs.walk@npm:^1.2.8":
|
||||
version: 1.2.8
|
||||
resolution: "@nodelib/fs.walk@npm:1.2.8"
|
||||
dependencies:
|
||||
"@nodelib/fs.scandir": "npm:2.1.5"
|
||||
fastq: "npm:^1.6.0"
|
||||
checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"abort-controller@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "abort-controller@npm:3.0.0"
|
||||
|
@ -85,6 +186,24 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"acorn-jsx@npm:^5.3.2":
|
||||
version: 5.3.2
|
||||
resolution: "acorn-jsx@npm:5.3.2"
|
||||
peerDependencies:
|
||||
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||
checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"acorn@npm:^8.11.3":
|
||||
version: 8.12.0
|
||||
resolution: "acorn@npm:8.12.0"
|
||||
bin:
|
||||
acorn: bin/acorn
|
||||
checksum: 10c0/a19f9dead009d3b430fa3c253710b47778cdaace15b316de6de93a68c355507bc1072a9956372b6c990cbeeb167d4a929249d0faeb8ae4bb6911d68d53299549
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv-formats@npm:^2.1.1":
|
||||
version: 2.1.1
|
||||
resolution: "ajv-formats@npm:2.1.1"
|
||||
|
@ -113,6 +232,18 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv@npm:^6.12.4":
|
||||
version: 6.12.6
|
||||
resolution: "ajv@npm:6.12.6"
|
||||
dependencies:
|
||||
fast-deep-equal: "npm:^3.1.1"
|
||||
fast-json-stable-stringify: "npm:^2.0.0"
|
||||
json-schema-traverse: "npm:^0.4.1"
|
||||
uri-js: "npm:^4.2.2"
|
||||
checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0":
|
||||
version: 8.16.0
|
||||
resolution: "ajv@npm:8.16.0"
|
||||
|
@ -125,13 +256,40 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ansi-regex@npm:^5.0.1":
|
||||
version: 5.0.1
|
||||
resolution: "ansi-regex@npm:5.0.1"
|
||||
checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ansi-styles@npm:^4.1.0":
|
||||
version: 4.3.0
|
||||
resolution: "ansi-styles@npm:4.3.0"
|
||||
dependencies:
|
||||
color-convert: "npm:^2.0.1"
|
||||
checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"argparse@npm:^2.0.1":
|
||||
version: 2.0.1
|
||||
resolution: "argparse@npm:2.0.1"
|
||||
checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"asset-api@workspace:.":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "asset-api@workspace:."
|
||||
dependencies:
|
||||
"@eslint/js": "npm:^9.5.0"
|
||||
"@fastify/multipart": "npm:^8.3.0"
|
||||
eslint: "npm:9.x"
|
||||
fastify: "npm:^4.28.0"
|
||||
globals: "npm:^15.5.0"
|
||||
mime: "npm:^4.0.3"
|
||||
prettier: "npm:3.3.2"
|
||||
uuid: "npm:^10.0.0"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
@ -153,6 +311,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"balanced-match@npm:^1.0.0":
|
||||
version: 1.0.2
|
||||
resolution: "balanced-match@npm:1.0.2"
|
||||
checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"base64-js@npm:^1.3.1":
|
||||
version: 1.5.1
|
||||
resolution: "base64-js@npm:1.5.1"
|
||||
|
@ -160,6 +325,16 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"brace-expansion@npm:^1.1.7":
|
||||
version: 1.1.11
|
||||
resolution: "brace-expansion@npm:1.1.11"
|
||||
dependencies:
|
||||
balanced-match: "npm:^1.0.0"
|
||||
concat-map: "npm:0.0.1"
|
||||
checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"buffer@npm:^6.0.3":
|
||||
version: 6.0.3
|
||||
resolution: "buffer@npm:6.0.3"
|
||||
|
@ -170,6 +345,46 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"callsites@npm:^3.0.0":
|
||||
version: 3.1.0
|
||||
resolution: "callsites@npm:3.1.0"
|
||||
checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"chalk@npm:^4.0.0":
|
||||
version: 4.1.2
|
||||
resolution: "chalk@npm:4.1.2"
|
||||
dependencies:
|
||||
ansi-styles: "npm:^4.1.0"
|
||||
supports-color: "npm:^7.1.0"
|
||||
checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"color-convert@npm:^2.0.1":
|
||||
version: 2.0.1
|
||||
resolution: "color-convert@npm:2.0.1"
|
||||
dependencies:
|
||||
color-name: "npm:~1.1.4"
|
||||
checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"color-name@npm:~1.1.4":
|
||||
version: 1.1.4
|
||||
resolution: "color-name@npm:1.1.4"
|
||||
checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"concat-map@npm:0.0.1":
|
||||
version: 0.0.1
|
||||
resolution: "concat-map@npm:0.0.1"
|
||||
checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"cookie@npm:^0.6.0":
|
||||
version: 0.6.0
|
||||
resolution: "cookie@npm:0.6.0"
|
||||
|
@ -177,6 +392,154 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"cross-spawn@npm:^7.0.2":
|
||||
version: 7.0.3
|
||||
resolution: "cross-spawn@npm:7.0.3"
|
||||
dependencies:
|
||||
path-key: "npm:^3.1.0"
|
||||
shebang-command: "npm:^2.0.0"
|
||||
which: "npm:^2.0.1"
|
||||
checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"debug@npm:^4.3.1, debug@npm:^4.3.2":
|
||||
version: 4.3.5
|
||||
resolution: "debug@npm:4.3.5"
|
||||
dependencies:
|
||||
ms: "npm:2.1.2"
|
||||
peerDependenciesMeta:
|
||||
supports-color:
|
||||
optional: true
|
||||
checksum: 10c0/082c375a2bdc4f4469c99f325ff458adad62a3fc2c482d59923c260cb08152f34e2659f72b3767db8bb2f21ca81a60a42d1019605a412132d7b9f59363a005cc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"deep-is@npm:^0.1.3":
|
||||
version: 0.1.4
|
||||
resolution: "deep-is@npm:0.1.4"
|
||||
checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"escape-string-regexp@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "escape-string-regexp@npm:4.0.0"
|
||||
checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-scope@npm:^8.0.1":
|
||||
version: 8.0.1
|
||||
resolution: "eslint-scope@npm:8.0.1"
|
||||
dependencies:
|
||||
esrecurse: "npm:^4.3.0"
|
||||
estraverse: "npm:^5.2.0"
|
||||
checksum: 10c0/0ec40ab284e58ac7ef064ecd23c127e03d339fa57173c96852336c73afc70ce5631da21dc1c772415a37a421291845538dd69db83c68d611044c0fde1d1fa269
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-visitor-keys@npm:^3.3.0":
|
||||
version: 3.4.3
|
||||
resolution: "eslint-visitor-keys@npm:3.4.3"
|
||||
checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-visitor-keys@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "eslint-visitor-keys@npm:4.0.0"
|
||||
checksum: 10c0/76619f42cf162705a1515a6868e6fc7567e185c7063a05621a8ac4c3b850d022661262c21d9f1fc1d144ecf0d5d64d70a3f43c15c3fc969a61ace0fb25698cf5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint@npm:9.x":
|
||||
version: 9.5.0
|
||||
resolution: "eslint@npm:9.5.0"
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils": "npm:^4.2.0"
|
||||
"@eslint-community/regexpp": "npm:^4.6.1"
|
||||
"@eslint/config-array": "npm:^0.16.0"
|
||||
"@eslint/eslintrc": "npm:^3.1.0"
|
||||
"@eslint/js": "npm:9.5.0"
|
||||
"@humanwhocodes/module-importer": "npm:^1.0.1"
|
||||
"@humanwhocodes/retry": "npm:^0.3.0"
|
||||
"@nodelib/fs.walk": "npm:^1.2.8"
|
||||
ajv: "npm:^6.12.4"
|
||||
chalk: "npm:^4.0.0"
|
||||
cross-spawn: "npm:^7.0.2"
|
||||
debug: "npm:^4.3.2"
|
||||
escape-string-regexp: "npm:^4.0.0"
|
||||
eslint-scope: "npm:^8.0.1"
|
||||
eslint-visitor-keys: "npm:^4.0.0"
|
||||
espree: "npm:^10.0.1"
|
||||
esquery: "npm:^1.5.0"
|
||||
esutils: "npm:^2.0.2"
|
||||
fast-deep-equal: "npm:^3.1.3"
|
||||
file-entry-cache: "npm:^8.0.0"
|
||||
find-up: "npm:^5.0.0"
|
||||
glob-parent: "npm:^6.0.2"
|
||||
ignore: "npm:^5.2.0"
|
||||
imurmurhash: "npm:^0.1.4"
|
||||
is-glob: "npm:^4.0.0"
|
||||
is-path-inside: "npm:^3.0.3"
|
||||
json-stable-stringify-without-jsonify: "npm:^1.0.1"
|
||||
levn: "npm:^0.4.1"
|
||||
lodash.merge: "npm:^4.6.2"
|
||||
minimatch: "npm:^3.1.2"
|
||||
natural-compare: "npm:^1.4.0"
|
||||
optionator: "npm:^0.9.3"
|
||||
strip-ansi: "npm:^6.0.1"
|
||||
text-table: "npm:^0.2.0"
|
||||
bin:
|
||||
eslint: bin/eslint.js
|
||||
checksum: 10c0/1c83d94ccfd6d97474aaaf463714eba7afa040639ad9191db430d34e9e2851ba14510651de69b52f26ee30611caf0fa4c66b3fb73bb71df6ab10cef5bb44bb32
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"espree@npm:^10.0.1":
|
||||
version: 10.0.1
|
||||
resolution: "espree@npm:10.0.1"
|
||||
dependencies:
|
||||
acorn: "npm:^8.11.3"
|
||||
acorn-jsx: "npm:^5.3.2"
|
||||
eslint-visitor-keys: "npm:^4.0.0"
|
||||
checksum: 10c0/7c0f84afa0f9db7bb899619e6364ed832ef13fe8943691757ddde9a1805ae68b826ed66803323015f707a629a5507d0d290edda2276c25131fe0ad883b8b5636
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esquery@npm:^1.5.0":
|
||||
version: 1.5.0
|
||||
resolution: "esquery@npm:1.5.0"
|
||||
dependencies:
|
||||
estraverse: "npm:^5.1.0"
|
||||
checksum: 10c0/a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esrecurse@npm:^4.3.0":
|
||||
version: 4.3.0
|
||||
resolution: "esrecurse@npm:4.3.0"
|
||||
dependencies:
|
||||
estraverse: "npm:^5.2.0"
|
||||
checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0":
|
||||
version: 5.3.0
|
||||
resolution: "estraverse@npm:5.3.0"
|
||||
checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esutils@npm:^2.0.2":
|
||||
version: 2.0.3
|
||||
resolution: "esutils@npm:2.0.3"
|
||||
checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"event-target-shim@npm:^5.0.0":
|
||||
version: 5.0.1
|
||||
resolution: "event-target-shim@npm:5.0.1"
|
||||
|
@ -205,13 +568,20 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-deep-equal@npm:^3.1.3":
|
||||
"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3":
|
||||
version: 3.1.3
|
||||
resolution: "fast-deep-equal@npm:3.1.3"
|
||||
checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-json-stable-stringify@npm:^2.0.0":
|
||||
version: 2.1.0
|
||||
resolution: "fast-json-stable-stringify@npm:2.1.0"
|
||||
checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-json-stringify@npm:^5.7.0, fast-json-stringify@npm:^5.8.0":
|
||||
version: 5.16.0
|
||||
resolution: "fast-json-stringify@npm:5.16.0"
|
||||
|
@ -227,6 +597,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-levenshtein@npm:^2.0.6":
|
||||
version: 2.0.6
|
||||
resolution: "fast-levenshtein@npm:2.0.6"
|
||||
checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-querystring@npm:^1.0.0":
|
||||
version: 1.1.2
|
||||
resolution: "fast-querystring@npm:1.1.2"
|
||||
|
@ -281,7 +658,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fastq@npm:^1.17.1":
|
||||
"fastq@npm:^1.17.1, fastq@npm:^1.6.0":
|
||||
version: 1.17.1
|
||||
resolution: "fastq@npm:1.17.1"
|
||||
dependencies:
|
||||
|
@ -290,6 +667,15 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"file-entry-cache@npm:^8.0.0":
|
||||
version: 8.0.0
|
||||
resolution: "file-entry-cache@npm:8.0.0"
|
||||
dependencies:
|
||||
flat-cache: "npm:^4.0.0"
|
||||
checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"find-my-way@npm:^8.0.0":
|
||||
version: 8.2.0
|
||||
resolution: "find-my-way@npm:8.2.0"
|
||||
|
@ -301,6 +687,33 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"find-up@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "find-up@npm:5.0.0"
|
||||
dependencies:
|
||||
locate-path: "npm:^6.0.0"
|
||||
path-exists: "npm:^4.0.0"
|
||||
checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"flat-cache@npm:^4.0.0":
|
||||
version: 4.0.1
|
||||
resolution: "flat-cache@npm:4.0.1"
|
||||
dependencies:
|
||||
flatted: "npm:^3.2.9"
|
||||
keyv: "npm:^4.5.4"
|
||||
checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"flatted@npm:^3.2.9":
|
||||
version: 3.3.1
|
||||
resolution: "flatted@npm:3.3.1"
|
||||
checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"forwarded@npm:0.2.0":
|
||||
version: 0.2.0
|
||||
resolution: "forwarded@npm:0.2.0"
|
||||
|
@ -308,6 +721,36 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"glob-parent@npm:^6.0.2":
|
||||
version: 6.0.2
|
||||
resolution: "glob-parent@npm:6.0.2"
|
||||
dependencies:
|
||||
is-glob: "npm:^4.0.3"
|
||||
checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"globals@npm:^14.0.0":
|
||||
version: 14.0.0
|
||||
resolution: "globals@npm:14.0.0"
|
||||
checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"globals@npm:^15.5.0":
|
||||
version: 15.5.0
|
||||
resolution: "globals@npm:15.5.0"
|
||||
checksum: 10c0/f13c3cb0c6d49b9d23e447b86e33ca6139753087060c3063863c0dd2b5d79f4a114c48d20e321916e6c3701adb3f6b67d6ac8d8ed2bae6da45482c968532d4e2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"has-flag@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "has-flag@npm:4.0.0"
|
||||
checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ieee754@npm:^1.2.1":
|
||||
version: 1.2.1
|
||||
resolution: "ieee754@npm:1.2.1"
|
||||
|
@ -315,6 +758,30 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ignore@npm:^5.2.0":
|
||||
version: 5.3.1
|
||||
resolution: "ignore@npm:5.3.1"
|
||||
checksum: 10c0/703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"import-fresh@npm:^3.2.1":
|
||||
version: 3.3.0
|
||||
resolution: "import-fresh@npm:3.3.0"
|
||||
dependencies:
|
||||
parent-module: "npm:^1.0.0"
|
||||
resolve-from: "npm:^4.0.0"
|
||||
checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"imurmurhash@npm:^0.1.4":
|
||||
version: 0.1.4
|
||||
resolution: "imurmurhash@npm:0.1.4"
|
||||
checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ipaddr.js@npm:1.9.1":
|
||||
version: 1.9.1
|
||||
resolution: "ipaddr.js@npm:1.9.1"
|
||||
|
@ -322,6 +789,54 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-extglob@npm:^2.1.1":
|
||||
version: 2.1.1
|
||||
resolution: "is-extglob@npm:2.1.1"
|
||||
checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-glob@npm:^4.0.0, is-glob@npm:^4.0.3":
|
||||
version: 4.0.3
|
||||
resolution: "is-glob@npm:4.0.3"
|
||||
dependencies:
|
||||
is-extglob: "npm:^2.1.1"
|
||||
checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-path-inside@npm:^3.0.3":
|
||||
version: 3.0.3
|
||||
resolution: "is-path-inside@npm:3.0.3"
|
||||
checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"isexe@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "isexe@npm:2.0.0"
|
||||
checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"js-yaml@npm:^4.1.0":
|
||||
version: 4.1.0
|
||||
resolution: "js-yaml@npm:4.1.0"
|
||||
dependencies:
|
||||
argparse: "npm:^2.0.1"
|
||||
bin:
|
||||
js-yaml: bin/js-yaml.js
|
||||
checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-buffer@npm:3.0.1":
|
||||
version: 3.0.1
|
||||
resolution: "json-buffer@npm:3.0.1"
|
||||
checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-schema-ref-resolver@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "json-schema-ref-resolver@npm:1.0.1"
|
||||
|
@ -331,6 +846,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-schema-traverse@npm:^0.4.1":
|
||||
version: 0.4.1
|
||||
resolution: "json-schema-traverse@npm:0.4.1"
|
||||
checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-schema-traverse@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "json-schema-traverse@npm:1.0.0"
|
||||
|
@ -338,6 +860,32 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-stable-stringify-without-jsonify@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "json-stable-stringify-without-jsonify@npm:1.0.1"
|
||||
checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"keyv@npm:^4.5.4":
|
||||
version: 4.5.4
|
||||
resolution: "keyv@npm:4.5.4"
|
||||
dependencies:
|
||||
json-buffer: "npm:3.0.1"
|
||||
checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"levn@npm:^0.4.1":
|
||||
version: 0.4.1
|
||||
resolution: "levn@npm:0.4.1"
|
||||
dependencies:
|
||||
prelude-ls: "npm:^1.2.1"
|
||||
type-check: "npm:~0.4.0"
|
||||
checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"light-my-request@npm:^5.11.0":
|
||||
version: 5.13.0
|
||||
resolution: "light-my-request@npm:5.13.0"
|
||||
|
@ -349,6 +897,22 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"locate-path@npm:^6.0.0":
|
||||
version: 6.0.0
|
||||
resolution: "locate-path@npm:6.0.0"
|
||||
dependencies:
|
||||
p-locate: "npm:^5.0.0"
|
||||
checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lodash.merge@npm:^4.6.2":
|
||||
version: 4.6.2
|
||||
resolution: "lodash.merge@npm:4.6.2"
|
||||
checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"mime@npm:^4.0.3":
|
||||
version: 4.0.3
|
||||
resolution: "mime@npm:4.0.3"
|
||||
|
@ -358,6 +922,29 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"minimatch@npm:^3.0.5, minimatch@npm:^3.1.2":
|
||||
version: 3.1.2
|
||||
resolution: "minimatch@npm:3.1.2"
|
||||
dependencies:
|
||||
brace-expansion: "npm:^1.1.7"
|
||||
checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ms@npm:2.1.2":
|
||||
version: 2.1.2
|
||||
resolution: "ms@npm:2.1.2"
|
||||
checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"natural-compare@npm:^1.4.0":
|
||||
version: 1.4.0
|
||||
resolution: "natural-compare@npm:1.4.0"
|
||||
checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"on-exit-leak-free@npm:^2.1.0":
|
||||
version: 2.1.2
|
||||
resolution: "on-exit-leak-free@npm:2.1.2"
|
||||
|
@ -365,6 +952,61 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"optionator@npm:^0.9.3":
|
||||
version: 0.9.4
|
||||
resolution: "optionator@npm:0.9.4"
|
||||
dependencies:
|
||||
deep-is: "npm:^0.1.3"
|
||||
fast-levenshtein: "npm:^2.0.6"
|
||||
levn: "npm:^0.4.1"
|
||||
prelude-ls: "npm:^1.2.1"
|
||||
type-check: "npm:^0.4.0"
|
||||
word-wrap: "npm:^1.2.5"
|
||||
checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"p-limit@npm:^3.0.2":
|
||||
version: 3.1.0
|
||||
resolution: "p-limit@npm:3.1.0"
|
||||
dependencies:
|
||||
yocto-queue: "npm:^0.1.0"
|
||||
checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"p-locate@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "p-locate@npm:5.0.0"
|
||||
dependencies:
|
||||
p-limit: "npm:^3.0.2"
|
||||
checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"parent-module@npm:^1.0.0":
|
||||
version: 1.0.1
|
||||
resolution: "parent-module@npm:1.0.1"
|
||||
dependencies:
|
||||
callsites: "npm:^3.0.0"
|
||||
checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"path-exists@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "path-exists@npm:4.0.0"
|
||||
checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"path-key@npm:^3.1.0":
|
||||
version: 3.1.1
|
||||
resolution: "path-key@npm:3.1.1"
|
||||
checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pino-abstract-transport@npm:^1.2.0":
|
||||
version: 1.2.0
|
||||
resolution: "pino-abstract-transport@npm:1.2.0"
|
||||
|
@ -403,6 +1045,22 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"prelude-ls@npm:^1.2.1":
|
||||
version: 1.2.1
|
||||
resolution: "prelude-ls@npm:1.2.1"
|
||||
checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"prettier@npm:3.3.2":
|
||||
version: 3.3.2
|
||||
resolution: "prettier@npm:3.3.2"
|
||||
bin:
|
||||
prettier: bin/prettier.cjs
|
||||
checksum: 10c0/39ed27d17f0238da6dd6571d63026566bd790d3d0edac57c285fbab525982060c8f1e01955fe38134ab10f0951a6076da37f015db8173c02f14bc7f0803a384c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"process-warning@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "process-warning@npm:3.0.0"
|
||||
|
@ -434,6 +1092,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"queue-microtask@npm:^1.2.2":
|
||||
version: 1.2.3
|
||||
resolution: "queue-microtask@npm:1.2.3"
|
||||
checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"quick-format-unescaped@npm:^4.0.3":
|
||||
version: 4.0.4
|
||||
resolution: "quick-format-unescaped@npm:4.0.4"
|
||||
|
@ -468,6 +1133,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"resolve-from@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "resolve-from@npm:4.0.0"
|
||||
checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ret@npm:~0.4.0":
|
||||
version: 0.4.3
|
||||
resolution: "ret@npm:0.4.3"
|
||||
|
@ -489,6 +1161,15 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"run-parallel@npm:^1.1.9":
|
||||
version: 1.2.0
|
||||
resolution: "run-parallel@npm:1.2.0"
|
||||
dependencies:
|
||||
queue-microtask: "npm:^1.2.2"
|
||||
checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"safe-buffer@npm:~5.2.0":
|
||||
version: 5.2.1
|
||||
resolution: "safe-buffer@npm:5.2.1"
|
||||
|
@ -535,6 +1216,22 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"shebang-command@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "shebang-command@npm:2.0.0"
|
||||
dependencies:
|
||||
shebang-regex: "npm:^3.0.0"
|
||||
checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"shebang-regex@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "shebang-regex@npm:3.0.0"
|
||||
checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"sonic-boom@npm:^4.0.1":
|
||||
version: 4.0.1
|
||||
resolution: "sonic-boom@npm:4.0.1"
|
||||
|
@ -567,6 +1264,38 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"strip-ansi@npm:^6.0.1":
|
||||
version: 6.0.1
|
||||
resolution: "strip-ansi@npm:6.0.1"
|
||||
dependencies:
|
||||
ansi-regex: "npm:^5.0.1"
|
||||
checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"strip-json-comments@npm:^3.1.1":
|
||||
version: 3.1.1
|
||||
resolution: "strip-json-comments@npm:3.1.1"
|
||||
checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"supports-color@npm:^7.1.0":
|
||||
version: 7.2.0
|
||||
resolution: "supports-color@npm:7.2.0"
|
||||
dependencies:
|
||||
has-flag: "npm:^4.0.0"
|
||||
checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"text-table@npm:^0.2.0":
|
||||
version: 0.2.0
|
||||
resolution: "text-table@npm:0.2.0"
|
||||
checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"thread-stream@npm:^3.0.0":
|
||||
version: 3.1.0
|
||||
resolution: "thread-stream@npm:3.1.0"
|
||||
|
@ -583,7 +1312,16 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"uri-js@npm:^4.4.1":
|
||||
"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
|
||||
version: 0.4.0
|
||||
resolution: "type-check@npm:0.4.0"
|
||||
dependencies:
|
||||
prelude-ls: "npm:^1.2.1"
|
||||
checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"uri-js@npm:^4.2.2, uri-js@npm:^4.4.1":
|
||||
version: 4.4.1
|
||||
resolution: "uri-js@npm:4.4.1"
|
||||
dependencies:
|
||||
|
@ -600,3 +1338,28 @@ __metadata:
|
|||
checksum: 10c0/eab18c27fe4ab9fb9709a5d5f40119b45f2ec8314f8d4cf12ce27e4c6f4ffa4a6321dc7db6c515068fa373c075b49691ba969f0010bf37f44c37ca40cd6bf7fe
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"which@npm:^2.0.1":
|
||||
version: 2.0.2
|
||||
resolution: "which@npm:2.0.2"
|
||||
dependencies:
|
||||
isexe: "npm:^2.0.0"
|
||||
bin:
|
||||
node-which: ./bin/node-which
|
||||
checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"word-wrap@npm:^1.2.5":
|
||||
version: 1.2.5
|
||||
resolution: "word-wrap@npm:1.2.5"
|
||||
checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"yocto-queue@npm:^0.1.0":
|
||||
version: 0.1.0
|
||||
resolution: "yocto-queue@npm:0.1.0"
|
||||
checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
|
4
identity-api/.prettierrc
Normal file
4
identity-api/.prettierrc
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"tabWidth": 4,
|
||||
"printWidth": 120
|
||||
}
|
4
identity-api/eslint.config.js
Normal file
4
identity-api/eslint.config.js
Normal file
|
@ -0,0 +1,4 @@
|
|||
import globals from "globals";
|
||||
import pluginJs from "@eslint/js";
|
||||
|
||||
export default [{ languageOptions: { globals: globals.node } }, pluginJs.configs.recommended];
|
|
@ -1,145 +1,143 @@
|
|||
import { createVerify } from "node:crypto"
|
||||
import Fastify from 'fastify';
|
||||
import * as Jose from 'jose';
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
import { createVerify } from "node:crypto";
|
||||
import Fastify from "fastify";
|
||||
import * as Jose from "jose";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import assert from "node:assert";
|
||||
|
||||
const IDENTITY_API_LANDING_MESSAGE = 'identity-api v1.0.0';
|
||||
const JWT_SECRET = new TextEncoder().encode(
|
||||
'cc7e0d44fd473002f1c42167459001140ec6389b7353f8088f4d9a95f2f596f2',
|
||||
)
|
||||
const JWT_ALG = 'HS256'
|
||||
const IDENTITY_API_LANDING_MESSAGE = "identity-api v1.0.0";
|
||||
const JWT_SECRET = new TextEncoder().encode("cc7e0d44fd473002f1c42167459001140ec6389b7353f8088f4d9a95f2f596f2");
|
||||
const JWT_ALG = "HS256";
|
||||
|
||||
const ASSET_API_ENDPOINT = "http://localhost:3001/"
|
||||
let ASSET_API_PUBKEY = await loadAssetPubkey()
|
||||
let ASSET_API_ALGORITHM = await loadAssetAlgo()
|
||||
const ASSET_API_ENDPOINT = "http://localhost:3001/";
|
||||
let ASSET_API_PUBKEY = await loadAssetPubkey();
|
||||
let ASSET_API_ALGORITHM = await loadAssetAlgo();
|
||||
|
||||
setInterval(async () => {
|
||||
try {
|
||||
let pubkey = await loadAssetPubkey()
|
||||
let algo = await loadAssetAlgo()
|
||||
let pubkey = await loadAssetPubkey();
|
||||
let algo = await loadAssetAlgo();
|
||||
|
||||
if (pubkey != null && algo != null) {
|
||||
if (ASSET_API_PUBKEY !== pubkey) {
|
||||
console.warn("The M2M public key has changed!")
|
||||
console.warn("The M2M public key has changed!");
|
||||
}
|
||||
|
||||
if (ASSET_API_ALGORITHM !== algo) {
|
||||
console.warn("The M2M algorith has changed!")
|
||||
console.warn("The M2M algorith has changed!");
|
||||
}
|
||||
|
||||
ASSET_API_PUBKEY = pubkey
|
||||
ASSET_API_ALGORITHM = algo
|
||||
console.debug("Successfully updated the M2M public key and algorithm")
|
||||
ASSET_API_PUBKEY = pubkey;
|
||||
ASSET_API_ALGORITHM = algo;
|
||||
console.debug("Successfully updated the M2M public key and algorithm");
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn("Failed to update the M2M public key", e)
|
||||
console.warn("Failed to update the M2M public key", e);
|
||||
}
|
||||
}, 60 * 1000)
|
||||
}, 60 * 1000);
|
||||
|
||||
let session_keys = {
|
||||
'uid:005d6417-a23c-48bd-b348-eafeae649b94': 'e381ba8c-e18a-4bca-afce-b212b37bc26b',
|
||||
'key:e381ba8c-e18a-4bca-afce-b212b37bc26b': '005d6417-a23c-48bd-b348-eafeae649b94'
|
||||
"uid:005d6417-a23c-48bd-b348-eafeae649b94": "e381ba8c-e18a-4bca-afce-b212b37bc26b",
|
||||
"key:e381ba8c-e18a-4bca-afce-b212b37bc26b": "005d6417-a23c-48bd-b348-eafeae649b94",
|
||||
};
|
||||
|
||||
let users = {
|
||||
'jane@identity.net': {
|
||||
uid: '005d6417-a23c-48bd-b348-eafeae649b94',
|
||||
email: 'jane@identity.net',
|
||||
password: '12345678901234567890',
|
||||
name: 'Jane Doe',
|
||||
"jane@identity.net": {
|
||||
uid: "005d6417-a23c-48bd-b348-eafeae649b94",
|
||||
email: "jane@identity.net",
|
||||
password: "12345678901234567890",
|
||||
name: "Jane Doe",
|
||||
assets: ["f9d040d6-598c-4483-952f-08e7d35d5420.jpg"],
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
const fastify = Fastify({
|
||||
logger: true,
|
||||
})
|
||||
});
|
||||
|
||||
fastify.get('/', async (request, reply) => {
|
||||
fastify.get("/", async () => {
|
||||
return IDENTITY_API_LANDING_MESSAGE;
|
||||
})
|
||||
});
|
||||
|
||||
fastify.put("/m2m/asset", {
|
||||
async handler(request, reply) {
|
||||
if (!verifySignature(request.body, ASSET_API_PUBKEY)) {
|
||||
reply.statusCode(401)
|
||||
return
|
||||
reply.statusCode(401);
|
||||
return;
|
||||
}
|
||||
|
||||
let body = JSON.parse(getContentFromSigned(request.body))
|
||||
let body = JSON.parse(getContentFromSigned(request.body));
|
||||
|
||||
let uid = session_keys[`key:${body.session_key}`]
|
||||
let user = Object.values(users).filter(v => v.uid === uid)
|
||||
assert(user.length === 1)
|
||||
let uid = session_keys[`key:${body.session_key}`];
|
||||
let user = Object.values(users).filter((v) => v.uid === uid);
|
||||
assert(user.length === 1);
|
||||
|
||||
users[user[0].email].assets.push(body.asset_id)
|
||||
console.log(users[user[0].email].assets)
|
||||
}
|
||||
})
|
||||
users[user[0].email].assets.push(body.asset_id);
|
||||
console.log(users[user[0].email].assets);
|
||||
},
|
||||
});
|
||||
|
||||
fastify.post("/m2m/account", {
|
||||
async handler(request, reply) {
|
||||
if (!verifySignature(request.body, ASSET_API_PUBKEY)) {
|
||||
reply.statusCode(401)
|
||||
return
|
||||
reply.statusCode(401);
|
||||
return;
|
||||
}
|
||||
|
||||
let body = JSON.parse(getContentFromSigned(request.body))
|
||||
let body = JSON.parse(getContentFromSigned(request.body));
|
||||
|
||||
let uid = session_keys[`key:${body.session_key}`]
|
||||
let user = Object.values(users).filter(v => v.uid === uid)
|
||||
let uid = session_keys[`key:${body.session_key}`];
|
||||
let user = Object.values(users).filter((v) => v.uid === uid);
|
||||
|
||||
assert(user.length === 1)
|
||||
user[0].password = undefined
|
||||
assert(user.length === 1);
|
||||
user[0].password = undefined;
|
||||
|
||||
return user[0]
|
||||
}
|
||||
})
|
||||
return user[0];
|
||||
},
|
||||
});
|
||||
|
||||
fastify.get('/auth/genkey', {
|
||||
async handler(request, reply) {
|
||||
let jwt = request.headers['authorization'].replace('Bearer', '').trim()
|
||||
let { payload } = await Jose.jwtVerify(jwt, JWT_SECRET)
|
||||
fastify.get("/auth/genkey", {
|
||||
async handler(request) {
|
||||
let jwt = request.headers["authorization"].replace("Bearer", "").trim();
|
||||
let { payload } = await Jose.jwtVerify(jwt, JWT_SECRET);
|
||||
|
||||
let key = uuidv4()
|
||||
session_keys[`uid:${payload.uid}`] = key
|
||||
session_keys[`key:${key}`] = payload.uid
|
||||
let key = uuidv4();
|
||||
session_keys[`uid:${payload.uid}`] = key;
|
||||
session_keys[`key:${key}`] = payload.uid;
|
||||
|
||||
return {
|
||||
session_key: session_keys[payload.uid]
|
||||
}
|
||||
session_key: session_keys[payload.uid],
|
||||
};
|
||||
},
|
||||
schema: {
|
||||
headers: {
|
||||
type: 'object',
|
||||
type: "object",
|
||||
properties: {
|
||||
authorization: { type: 'string' },
|
||||
authorization: { type: "string" },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
});
|
||||
|
||||
fastify.get('/auth/account', {
|
||||
async handler(request, reply) {
|
||||
let jwt = request.headers['authorization'].replace('Bearer', '').trim()
|
||||
let { payload } = await Jose.jwtVerify(jwt, JWT_SECRET)
|
||||
fastify.get("/auth/account", {
|
||||
async handler(request) {
|
||||
let jwt = request.headers["authorization"].replace("Bearer", "").trim();
|
||||
let { payload } = await Jose.jwtVerify(jwt, JWT_SECRET);
|
||||
|
||||
let user = users[payload.email]
|
||||
user.password = undefined
|
||||
return user
|
||||
let user = users[payload.email];
|
||||
user.password = undefined;
|
||||
return user;
|
||||
},
|
||||
schema: {
|
||||
headers: {
|
||||
type: 'object',
|
||||
type: "object",
|
||||
properties: {
|
||||
authorization: { type: 'string' },
|
||||
authorization: { type: "string" },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
});
|
||||
|
||||
fastify.post('/auth/login', {
|
||||
fastify.post("/auth/login", {
|
||||
async handler(request, reply) {
|
||||
let user = users[request.body.email];
|
||||
if (user != null && user.password == request.body.password) {
|
||||
|
@ -150,31 +148,31 @@ fastify.post('/auth/login', {
|
|||
})
|
||||
.setProtectedHeader({ alg: JWT_ALG })
|
||||
.setIssuedAt()
|
||||
.setExpirationTime('4w')
|
||||
.setExpirationTime("4w")
|
||||
.sign(JWT_SECRET);
|
||||
|
||||
return {
|
||||
token,
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
reply.code(400);
|
||||
return {
|
||||
error: 'invalid credentials'
|
||||
}
|
||||
error: "invalid credentials",
|
||||
};
|
||||
},
|
||||
schema: {
|
||||
body: {
|
||||
type: 'object',
|
||||
type: "object",
|
||||
properties: {
|
||||
email: { type: 'string' },
|
||||
password: { type: 'string' },
|
||||
email: { type: "string" },
|
||||
password: { type: "string" },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
});
|
||||
|
||||
fastify.post('/auth/register', {
|
||||
fastify.post("/auth/register", {
|
||||
async handler(request, reply) {
|
||||
if (users[request.body.email] == null) {
|
||||
users[request.body.email] = {
|
||||
|
@ -183,9 +181,9 @@ fastify.post('/auth/register', {
|
|||
password: request.body.password,
|
||||
name: request.body.name,
|
||||
assets: [],
|
||||
}
|
||||
};
|
||||
|
||||
let user = users[request.body.email]
|
||||
let user = users[request.body.email];
|
||||
let token = await new Jose.SignJWT({
|
||||
uid: user.uid,
|
||||
email: request.body.email,
|
||||
|
@ -193,45 +191,45 @@ fastify.post('/auth/register', {
|
|||
})
|
||||
.setProtectedHeader({ alg: JWT_ALG })
|
||||
.setIssuedAt()
|
||||
.setExpirationTime('4w')
|
||||
.setExpirationTime("4w")
|
||||
.sign(JWT_SECRET);
|
||||
|
||||
return { token }
|
||||
return { token };
|
||||
}
|
||||
|
||||
reply.code(400);
|
||||
return {
|
||||
error: 'invalid data'
|
||||
}
|
||||
error: "invalid data",
|
||||
};
|
||||
},
|
||||
schema: {
|
||||
body: {
|
||||
type: 'object',
|
||||
type: "object",
|
||||
properties: {
|
||||
name: { type: 'string' },
|
||||
email: { type: 'string' },
|
||||
password: { type: 'string' },
|
||||
name: { type: "string" },
|
||||
email: { type: "string" },
|
||||
password: { type: "string" },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
});
|
||||
|
||||
fastify.listen({ port: 3000 })
|
||||
fastify.listen({ port: 3000 });
|
||||
|
||||
async function loadAssetPubkey() {
|
||||
let url = new URL(ASSET_API_ENDPOINT)
|
||||
url.pathname = "/crypto/cert"
|
||||
let url = new URL(ASSET_API_ENDPOINT);
|
||||
url.pathname = "/crypto/cert";
|
||||
|
||||
let res = await fetch(url)
|
||||
return await res.text()
|
||||
let res = await fetch(url);
|
||||
return await res.text();
|
||||
}
|
||||
|
||||
async function loadAssetAlgo() {
|
||||
let url = new URL(ASSET_API_ENDPOINT)
|
||||
url.pathname = "/crypto/algo"
|
||||
let url = new URL(ASSET_API_ENDPOINT);
|
||||
url.pathname = "/crypto/algo";
|
||||
|
||||
let res = await fetch(url)
|
||||
return await res.text()
|
||||
let res = await fetch(url);
|
||||
return await res.text();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -243,26 +241,26 @@ function verifySignature(content, pubkeyText) {
|
|||
let parts = content
|
||||
.replace("-----BEGIN SIGNED MESSAGE-----\n\n", "")
|
||||
.replace("\n-----END SIGNATURE-----", "")
|
||||
.split("\n\n-----BEGIN SIGNATURE-----\n\n")
|
||||
.split("\n\n-----BEGIN SIGNATURE-----\n\n");
|
||||
|
||||
assert(parts.length === 2);
|
||||
|
||||
let verify = createVerify(ASSET_API_ALGORITHM)
|
||||
verify.update(parts[0])
|
||||
let verify = createVerify(ASSET_API_ALGORITHM);
|
||||
verify.update(parts[0]);
|
||||
|
||||
let pubkey = Buffer.from(pubkeyText, "ascii")
|
||||
let digest = Buffer.from(parts[1], "base64")
|
||||
let pubkey = Buffer.from(pubkeyText, "ascii");
|
||||
let digest = Buffer.from(parts[1], "base64");
|
||||
|
||||
return verify.verify(pubkey, digest)
|
||||
return verify.verify(pubkey, digest);
|
||||
}
|
||||
|
||||
function getContentFromSigned(content) {
|
||||
let parts = content
|
||||
.replace("-----BEGIN SIGNED MESSAGE-----\n\n", "")
|
||||
.replace("\n-----END SIGNATURE-----", "")
|
||||
.split("\n\n-----BEGIN SIGNATURE-----\n\n")
|
||||
.split("\n\n-----BEGIN SIGNATURE-----\n\n");
|
||||
|
||||
assert(parts.length === 2);
|
||||
|
||||
return parts[0]
|
||||
return parts[0];
|
||||
}
|
|
@ -12,6 +12,14 @@
|
|||
"uuid": "^10.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "node index.js"
|
||||
"start": "node index.js",
|
||||
"lint:fix": "eslint --fix && prettier . --write",
|
||||
"lint": "eslint && prettier . --check"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.5.0",
|
||||
"eslint": "9.x",
|
||||
"globals": "^15.5.0",
|
||||
"prettier": "3.3.2"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,66 @@ __metadata:
|
|||
version: 8
|
||||
cacheKey: 10c0
|
||||
|
||||
"@eslint-community/eslint-utils@npm:^4.2.0":
|
||||
version: 4.4.0
|
||||
resolution: "@eslint-community/eslint-utils@npm:4.4.0"
|
||||
dependencies:
|
||||
eslint-visitor-keys: "npm:^3.3.0"
|
||||
peerDependencies:
|
||||
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
||||
checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint-community/regexpp@npm:^4.6.1":
|
||||
version: 4.10.1
|
||||
resolution: "@eslint-community/regexpp@npm:4.10.1"
|
||||
checksum: 10c0/f59376025d0c91dd9fdf18d33941df499292a3ecba3e9889c360f3f6590197d30755604588786cdca0f9030be315a26b206014af4b65c0ff85b4ec49043de780
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/config-array@npm:^0.16.0":
|
||||
version: 0.16.0
|
||||
resolution: "@eslint/config-array@npm:0.16.0"
|
||||
dependencies:
|
||||
"@eslint/object-schema": "npm:^2.1.4"
|
||||
debug: "npm:^4.3.1"
|
||||
minimatch: "npm:^3.0.5"
|
||||
checksum: 10c0/b9d04409151dc95ec6b5e04e1e185a808d58e18cfc7340adc1e9420a5ff15843a0a308fb2cd9a2b354652885c2bebbcd5515814e93e9c9133f423891b6e53c70
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/eslintrc@npm:^3.1.0":
|
||||
version: 3.1.0
|
||||
resolution: "@eslint/eslintrc@npm:3.1.0"
|
||||
dependencies:
|
||||
ajv: "npm:^6.12.4"
|
||||
debug: "npm:^4.3.2"
|
||||
espree: "npm:^10.0.1"
|
||||
globals: "npm:^14.0.0"
|
||||
ignore: "npm:^5.2.0"
|
||||
import-fresh: "npm:^3.2.1"
|
||||
js-yaml: "npm:^4.1.0"
|
||||
minimatch: "npm:^3.1.2"
|
||||
strip-json-comments: "npm:^3.1.1"
|
||||
checksum: 10c0/5b7332ed781edcfc98caa8dedbbb843abfb9bda2e86538529c843473f580e40c69eb894410eddc6702f487e9ee8f8cfa8df83213d43a8fdb549f23ce06699167
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/js@npm:9.5.0, @eslint/js@npm:^9.5.0":
|
||||
version: 9.5.0
|
||||
resolution: "@eslint/js@npm:9.5.0"
|
||||
checksum: 10c0/dacf51ec2d5b4c8d1315d21a0ff761235d9e39b2391cb945138c58dc512a6c18949c40b644235f5c4fdf5b637ef8f881214acc496dddf46b718529bf22af42ac
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@eslint/object-schema@npm:^2.1.4":
|
||||
version: 2.1.4
|
||||
resolution: "@eslint/object-schema@npm:2.1.4"
|
||||
checksum: 10c0/e9885532ea70e483fb007bf1275968b05bb15ebaa506d98560c41a41220d33d342e19023d5f2939fed6eb59676c1bda5c847c284b4b55fce521d282004da4dda
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@fastify/ajv-compiler@npm:^3.5.0":
|
||||
version: 3.5.0
|
||||
resolution: "@fastify/ajv-compiler@npm:3.5.0"
|
||||
|
@ -41,6 +101,47 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@humanwhocodes/module-importer@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "@humanwhocodes/module-importer@npm:1.0.1"
|
||||
checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@humanwhocodes/retry@npm:^0.3.0":
|
||||
version: 0.3.0
|
||||
resolution: "@humanwhocodes/retry@npm:0.3.0"
|
||||
checksum: 10c0/7111ec4e098b1a428459b4e3be5a5d2a13b02905f805a2468f4fa628d072f0de2da26a27d04f65ea2846f73ba51f4204661709f05bfccff645e3cedef8781bb6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@nodelib/fs.scandir@npm:2.1.5":
|
||||
version: 2.1.5
|
||||
resolution: "@nodelib/fs.scandir@npm:2.1.5"
|
||||
dependencies:
|
||||
"@nodelib/fs.stat": "npm:2.0.5"
|
||||
run-parallel: "npm:^1.1.9"
|
||||
checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@nodelib/fs.stat@npm:2.0.5":
|
||||
version: 2.0.5
|
||||
resolution: "@nodelib/fs.stat@npm:2.0.5"
|
||||
checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@nodelib/fs.walk@npm:^1.2.8":
|
||||
version: 1.2.8
|
||||
resolution: "@nodelib/fs.walk@npm:1.2.8"
|
||||
dependencies:
|
||||
"@nodelib/fs.scandir": "npm:2.1.5"
|
||||
fastq: "npm:^1.6.0"
|
||||
checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"abort-controller@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "abort-controller@npm:3.0.0"
|
||||
|
@ -57,6 +158,24 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"acorn-jsx@npm:^5.3.2":
|
||||
version: 5.3.2
|
||||
resolution: "acorn-jsx@npm:5.3.2"
|
||||
peerDependencies:
|
||||
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||
checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"acorn@npm:^8.11.3":
|
||||
version: 8.12.0
|
||||
resolution: "acorn@npm:8.12.0"
|
||||
bin:
|
||||
acorn: bin/acorn
|
||||
checksum: 10c0/a19f9dead009d3b430fa3c253710b47778cdaace15b316de6de93a68c355507bc1072a9956372b6c990cbeeb167d4a929249d0faeb8ae4bb6911d68d53299549
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv-formats@npm:^2.1.1":
|
||||
version: 2.1.1
|
||||
resolution: "ajv-formats@npm:2.1.1"
|
||||
|
@ -85,6 +204,18 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv@npm:^6.12.4":
|
||||
version: 6.12.6
|
||||
resolution: "ajv@npm:6.12.6"
|
||||
dependencies:
|
||||
fast-deep-equal: "npm:^3.1.1"
|
||||
fast-json-stable-stringify: "npm:^2.0.0"
|
||||
json-schema-traverse: "npm:^0.4.1"
|
||||
uri-js: "npm:^4.2.2"
|
||||
checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0":
|
||||
version: 8.16.0
|
||||
resolution: "ajv@npm:8.16.0"
|
||||
|
@ -97,6 +228,29 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ansi-regex@npm:^5.0.1":
|
||||
version: 5.0.1
|
||||
resolution: "ansi-regex@npm:5.0.1"
|
||||
checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ansi-styles@npm:^4.1.0":
|
||||
version: 4.3.0
|
||||
resolution: "ansi-styles@npm:4.3.0"
|
||||
dependencies:
|
||||
color-convert: "npm:^2.0.1"
|
||||
checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"argparse@npm:^2.0.1":
|
||||
version: 2.0.1
|
||||
resolution: "argparse@npm:2.0.1"
|
||||
checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"atomic-sleep@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "atomic-sleep@npm:1.0.0"
|
||||
|
@ -114,6 +268,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"balanced-match@npm:^1.0.0":
|
||||
version: 1.0.2
|
||||
resolution: "balanced-match@npm:1.0.2"
|
||||
checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"base64-js@npm:^1.3.1":
|
||||
version: 1.5.1
|
||||
resolution: "base64-js@npm:1.5.1"
|
||||
|
@ -121,6 +282,16 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"brace-expansion@npm:^1.1.7":
|
||||
version: 1.1.11
|
||||
resolution: "brace-expansion@npm:1.1.11"
|
||||
dependencies:
|
||||
balanced-match: "npm:^1.0.0"
|
||||
concat-map: "npm:0.0.1"
|
||||
checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"buffer@npm:^6.0.3":
|
||||
version: 6.0.3
|
||||
resolution: "buffer@npm:6.0.3"
|
||||
|
@ -131,6 +302,46 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"callsites@npm:^3.0.0":
|
||||
version: 3.1.0
|
||||
resolution: "callsites@npm:3.1.0"
|
||||
checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"chalk@npm:^4.0.0":
|
||||
version: 4.1.2
|
||||
resolution: "chalk@npm:4.1.2"
|
||||
dependencies:
|
||||
ansi-styles: "npm:^4.1.0"
|
||||
supports-color: "npm:^7.1.0"
|
||||
checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"color-convert@npm:^2.0.1":
|
||||
version: 2.0.1
|
||||
resolution: "color-convert@npm:2.0.1"
|
||||
dependencies:
|
||||
color-name: "npm:~1.1.4"
|
||||
checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"color-name@npm:~1.1.4":
|
||||
version: 1.1.4
|
||||
resolution: "color-name@npm:1.1.4"
|
||||
checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"concat-map@npm:0.0.1":
|
||||
version: 0.0.1
|
||||
resolution: "concat-map@npm:0.0.1"
|
||||
checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"cookie@npm:^0.6.0":
|
||||
version: 0.6.0
|
||||
resolution: "cookie@npm:0.6.0"
|
||||
|
@ -138,6 +349,154 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"cross-spawn@npm:^7.0.2":
|
||||
version: 7.0.3
|
||||
resolution: "cross-spawn@npm:7.0.3"
|
||||
dependencies:
|
||||
path-key: "npm:^3.1.0"
|
||||
shebang-command: "npm:^2.0.0"
|
||||
which: "npm:^2.0.1"
|
||||
checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"debug@npm:^4.3.1, debug@npm:^4.3.2":
|
||||
version: 4.3.5
|
||||
resolution: "debug@npm:4.3.5"
|
||||
dependencies:
|
||||
ms: "npm:2.1.2"
|
||||
peerDependenciesMeta:
|
||||
supports-color:
|
||||
optional: true
|
||||
checksum: 10c0/082c375a2bdc4f4469c99f325ff458adad62a3fc2c482d59923c260cb08152f34e2659f72b3767db8bb2f21ca81a60a42d1019605a412132d7b9f59363a005cc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"deep-is@npm:^0.1.3":
|
||||
version: 0.1.4
|
||||
resolution: "deep-is@npm:0.1.4"
|
||||
checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"escape-string-regexp@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "escape-string-regexp@npm:4.0.0"
|
||||
checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-scope@npm:^8.0.1":
|
||||
version: 8.0.1
|
||||
resolution: "eslint-scope@npm:8.0.1"
|
||||
dependencies:
|
||||
esrecurse: "npm:^4.3.0"
|
||||
estraverse: "npm:^5.2.0"
|
||||
checksum: 10c0/0ec40ab284e58ac7ef064ecd23c127e03d339fa57173c96852336c73afc70ce5631da21dc1c772415a37a421291845538dd69db83c68d611044c0fde1d1fa269
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-visitor-keys@npm:^3.3.0":
|
||||
version: 3.4.3
|
||||
resolution: "eslint-visitor-keys@npm:3.4.3"
|
||||
checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint-visitor-keys@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "eslint-visitor-keys@npm:4.0.0"
|
||||
checksum: 10c0/76619f42cf162705a1515a6868e6fc7567e185c7063a05621a8ac4c3b850d022661262c21d9f1fc1d144ecf0d5d64d70a3f43c15c3fc969a61ace0fb25698cf5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"eslint@npm:9.x":
|
||||
version: 9.5.0
|
||||
resolution: "eslint@npm:9.5.0"
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils": "npm:^4.2.0"
|
||||
"@eslint-community/regexpp": "npm:^4.6.1"
|
||||
"@eslint/config-array": "npm:^0.16.0"
|
||||
"@eslint/eslintrc": "npm:^3.1.0"
|
||||
"@eslint/js": "npm:9.5.0"
|
||||
"@humanwhocodes/module-importer": "npm:^1.0.1"
|
||||
"@humanwhocodes/retry": "npm:^0.3.0"
|
||||
"@nodelib/fs.walk": "npm:^1.2.8"
|
||||
ajv: "npm:^6.12.4"
|
||||
chalk: "npm:^4.0.0"
|
||||
cross-spawn: "npm:^7.0.2"
|
||||
debug: "npm:^4.3.2"
|
||||
escape-string-regexp: "npm:^4.0.0"
|
||||
eslint-scope: "npm:^8.0.1"
|
||||
eslint-visitor-keys: "npm:^4.0.0"
|
||||
espree: "npm:^10.0.1"
|
||||
esquery: "npm:^1.5.0"
|
||||
esutils: "npm:^2.0.2"
|
||||
fast-deep-equal: "npm:^3.1.3"
|
||||
file-entry-cache: "npm:^8.0.0"
|
||||
find-up: "npm:^5.0.0"
|
||||
glob-parent: "npm:^6.0.2"
|
||||
ignore: "npm:^5.2.0"
|
||||
imurmurhash: "npm:^0.1.4"
|
||||
is-glob: "npm:^4.0.0"
|
||||
is-path-inside: "npm:^3.0.3"
|
||||
json-stable-stringify-without-jsonify: "npm:^1.0.1"
|
||||
levn: "npm:^0.4.1"
|
||||
lodash.merge: "npm:^4.6.2"
|
||||
minimatch: "npm:^3.1.2"
|
||||
natural-compare: "npm:^1.4.0"
|
||||
optionator: "npm:^0.9.3"
|
||||
strip-ansi: "npm:^6.0.1"
|
||||
text-table: "npm:^0.2.0"
|
||||
bin:
|
||||
eslint: bin/eslint.js
|
||||
checksum: 10c0/1c83d94ccfd6d97474aaaf463714eba7afa040639ad9191db430d34e9e2851ba14510651de69b52f26ee30611caf0fa4c66b3fb73bb71df6ab10cef5bb44bb32
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"espree@npm:^10.0.1":
|
||||
version: 10.0.1
|
||||
resolution: "espree@npm:10.0.1"
|
||||
dependencies:
|
||||
acorn: "npm:^8.11.3"
|
||||
acorn-jsx: "npm:^5.3.2"
|
||||
eslint-visitor-keys: "npm:^4.0.0"
|
||||
checksum: 10c0/7c0f84afa0f9db7bb899619e6364ed832ef13fe8943691757ddde9a1805ae68b826ed66803323015f707a629a5507d0d290edda2276c25131fe0ad883b8b5636
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esquery@npm:^1.5.0":
|
||||
version: 1.5.0
|
||||
resolution: "esquery@npm:1.5.0"
|
||||
dependencies:
|
||||
estraverse: "npm:^5.1.0"
|
||||
checksum: 10c0/a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esrecurse@npm:^4.3.0":
|
||||
version: 4.3.0
|
||||
resolution: "esrecurse@npm:4.3.0"
|
||||
dependencies:
|
||||
estraverse: "npm:^5.2.0"
|
||||
checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0":
|
||||
version: 5.3.0
|
||||
resolution: "estraverse@npm:5.3.0"
|
||||
checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esutils@npm:^2.0.2":
|
||||
version: 2.0.3
|
||||
resolution: "esutils@npm:2.0.3"
|
||||
checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"event-target-shim@npm:^5.0.0":
|
||||
version: 5.0.1
|
||||
resolution: "event-target-shim@npm:5.0.1"
|
||||
|
@ -166,13 +525,20 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-deep-equal@npm:^3.1.3":
|
||||
"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3":
|
||||
version: 3.1.3
|
||||
resolution: "fast-deep-equal@npm:3.1.3"
|
||||
checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-json-stable-stringify@npm:^2.0.0":
|
||||
version: 2.1.0
|
||||
resolution: "fast-json-stable-stringify@npm:2.1.0"
|
||||
checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-json-stringify@npm:^5.7.0, fast-json-stringify@npm:^5.8.0":
|
||||
version: 5.16.0
|
||||
resolution: "fast-json-stringify@npm:5.16.0"
|
||||
|
@ -188,6 +554,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-levenshtein@npm:^2.0.6":
|
||||
version: 2.0.6
|
||||
resolution: "fast-levenshtein@npm:2.0.6"
|
||||
checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fast-querystring@npm:^1.0.0":
|
||||
version: 1.1.2
|
||||
resolution: "fast-querystring@npm:1.1.2"
|
||||
|
@ -235,7 +608,7 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fastq@npm:^1.17.1":
|
||||
"fastq@npm:^1.17.1, fastq@npm:^1.6.0":
|
||||
version: 1.17.1
|
||||
resolution: "fastq@npm:1.17.1"
|
||||
dependencies:
|
||||
|
@ -244,6 +617,15 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"file-entry-cache@npm:^8.0.0":
|
||||
version: 8.0.0
|
||||
resolution: "file-entry-cache@npm:8.0.0"
|
||||
dependencies:
|
||||
flat-cache: "npm:^4.0.0"
|
||||
checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"find-my-way@npm:^8.0.0":
|
||||
version: 8.2.0
|
||||
resolution: "find-my-way@npm:8.2.0"
|
||||
|
@ -255,6 +637,33 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"find-up@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "find-up@npm:5.0.0"
|
||||
dependencies:
|
||||
locate-path: "npm:^6.0.0"
|
||||
path-exists: "npm:^4.0.0"
|
||||
checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"flat-cache@npm:^4.0.0":
|
||||
version: 4.0.1
|
||||
resolution: "flat-cache@npm:4.0.1"
|
||||
dependencies:
|
||||
flatted: "npm:^3.2.9"
|
||||
keyv: "npm:^4.5.4"
|
||||
checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"flatted@npm:^3.2.9":
|
||||
version: 3.3.1
|
||||
resolution: "flatted@npm:3.3.1"
|
||||
checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"forwarded@npm:0.2.0":
|
||||
version: 0.2.0
|
||||
resolution: "forwarded@npm:0.2.0"
|
||||
|
@ -262,12 +671,46 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"glob-parent@npm:^6.0.2":
|
||||
version: 6.0.2
|
||||
resolution: "glob-parent@npm:6.0.2"
|
||||
dependencies:
|
||||
is-glob: "npm:^4.0.3"
|
||||
checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"globals@npm:^14.0.0":
|
||||
version: 14.0.0
|
||||
resolution: "globals@npm:14.0.0"
|
||||
checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"globals@npm:^15.5.0":
|
||||
version: 15.5.0
|
||||
resolution: "globals@npm:15.5.0"
|
||||
checksum: 10c0/f13c3cb0c6d49b9d23e447b86e33ca6139753087060c3063863c0dd2b5d79f4a114c48d20e321916e6c3701adb3f6b67d6ac8d8ed2bae6da45482c968532d4e2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"has-flag@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "has-flag@npm:4.0.0"
|
||||
checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"identity-api@workspace:.":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "identity-api@workspace:."
|
||||
dependencies:
|
||||
"@eslint/js": "npm:^9.5.0"
|
||||
eslint: "npm:9.x"
|
||||
fastify: "npm:^4.27.0"
|
||||
globals: "npm:^15.5.0"
|
||||
jose: "npm:^5.4.0"
|
||||
prettier: "npm:3.3.2"
|
||||
uuid: "npm:^10.0.0"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
@ -279,6 +722,30 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ignore@npm:^5.2.0":
|
||||
version: 5.3.1
|
||||
resolution: "ignore@npm:5.3.1"
|
||||
checksum: 10c0/703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"import-fresh@npm:^3.2.1":
|
||||
version: 3.3.0
|
||||
resolution: "import-fresh@npm:3.3.0"
|
||||
dependencies:
|
||||
parent-module: "npm:^1.0.0"
|
||||
resolve-from: "npm:^4.0.0"
|
||||
checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"imurmurhash@npm:^0.1.4":
|
||||
version: 0.1.4
|
||||
resolution: "imurmurhash@npm:0.1.4"
|
||||
checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ipaddr.js@npm:1.9.1":
|
||||
version: 1.9.1
|
||||
resolution: "ipaddr.js@npm:1.9.1"
|
||||
|
@ -286,6 +753,36 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-extglob@npm:^2.1.1":
|
||||
version: 2.1.1
|
||||
resolution: "is-extglob@npm:2.1.1"
|
||||
checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-glob@npm:^4.0.0, is-glob@npm:^4.0.3":
|
||||
version: 4.0.3
|
||||
resolution: "is-glob@npm:4.0.3"
|
||||
dependencies:
|
||||
is-extglob: "npm:^2.1.1"
|
||||
checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-path-inside@npm:^3.0.3":
|
||||
version: 3.0.3
|
||||
resolution: "is-path-inside@npm:3.0.3"
|
||||
checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"isexe@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "isexe@npm:2.0.0"
|
||||
checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"jose@npm:^5.4.0":
|
||||
version: 5.4.0
|
||||
resolution: "jose@npm:5.4.0"
|
||||
|
@ -293,6 +790,24 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"js-yaml@npm:^4.1.0":
|
||||
version: 4.1.0
|
||||
resolution: "js-yaml@npm:4.1.0"
|
||||
dependencies:
|
||||
argparse: "npm:^2.0.1"
|
||||
bin:
|
||||
js-yaml: bin/js-yaml.js
|
||||
checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-buffer@npm:3.0.1":
|
||||
version: 3.0.1
|
||||
resolution: "json-buffer@npm:3.0.1"
|
||||
checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-schema-ref-resolver@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "json-schema-ref-resolver@npm:1.0.1"
|
||||
|
@ -302,6 +817,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-schema-traverse@npm:^0.4.1":
|
||||
version: 0.4.1
|
||||
resolution: "json-schema-traverse@npm:0.4.1"
|
||||
checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-schema-traverse@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "json-schema-traverse@npm:1.0.0"
|
||||
|
@ -309,6 +831,32 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-stable-stringify-without-jsonify@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "json-stable-stringify-without-jsonify@npm:1.0.1"
|
||||
checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"keyv@npm:^4.5.4":
|
||||
version: 4.5.4
|
||||
resolution: "keyv@npm:4.5.4"
|
||||
dependencies:
|
||||
json-buffer: "npm:3.0.1"
|
||||
checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"levn@npm:^0.4.1":
|
||||
version: 0.4.1
|
||||
resolution: "levn@npm:0.4.1"
|
||||
dependencies:
|
||||
prelude-ls: "npm:^1.2.1"
|
||||
type-check: "npm:~0.4.0"
|
||||
checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"light-my-request@npm:^5.11.0":
|
||||
version: 5.13.0
|
||||
resolution: "light-my-request@npm:5.13.0"
|
||||
|
@ -320,6 +868,45 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"locate-path@npm:^6.0.0":
|
||||
version: 6.0.0
|
||||
resolution: "locate-path@npm:6.0.0"
|
||||
dependencies:
|
||||
p-locate: "npm:^5.0.0"
|
||||
checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lodash.merge@npm:^4.6.2":
|
||||
version: 4.6.2
|
||||
resolution: "lodash.merge@npm:4.6.2"
|
||||
checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"minimatch@npm:^3.0.5, minimatch@npm:^3.1.2":
|
||||
version: 3.1.2
|
||||
resolution: "minimatch@npm:3.1.2"
|
||||
dependencies:
|
||||
brace-expansion: "npm:^1.1.7"
|
||||
checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ms@npm:2.1.2":
|
||||
version: 2.1.2
|
||||
resolution: "ms@npm:2.1.2"
|
||||
checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"natural-compare@npm:^1.4.0":
|
||||
version: 1.4.0
|
||||
resolution: "natural-compare@npm:1.4.0"
|
||||
checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"on-exit-leak-free@npm:^2.1.0":
|
||||
version: 2.1.2
|
||||
resolution: "on-exit-leak-free@npm:2.1.2"
|
||||
|
@ -327,6 +914,61 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"optionator@npm:^0.9.3":
|
||||
version: 0.9.4
|
||||
resolution: "optionator@npm:0.9.4"
|
||||
dependencies:
|
||||
deep-is: "npm:^0.1.3"
|
||||
fast-levenshtein: "npm:^2.0.6"
|
||||
levn: "npm:^0.4.1"
|
||||
prelude-ls: "npm:^1.2.1"
|
||||
type-check: "npm:^0.4.0"
|
||||
word-wrap: "npm:^1.2.5"
|
||||
checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"p-limit@npm:^3.0.2":
|
||||
version: 3.1.0
|
||||
resolution: "p-limit@npm:3.1.0"
|
||||
dependencies:
|
||||
yocto-queue: "npm:^0.1.0"
|
||||
checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"p-locate@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "p-locate@npm:5.0.0"
|
||||
dependencies:
|
||||
p-limit: "npm:^3.0.2"
|
||||
checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"parent-module@npm:^1.0.0":
|
||||
version: 1.0.1
|
||||
resolution: "parent-module@npm:1.0.1"
|
||||
dependencies:
|
||||
callsites: "npm:^3.0.0"
|
||||
checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"path-exists@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "path-exists@npm:4.0.0"
|
||||
checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"path-key@npm:^3.1.0":
|
||||
version: 3.1.1
|
||||
resolution: "path-key@npm:3.1.1"
|
||||
checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pino-abstract-transport@npm:^1.2.0":
|
||||
version: 1.2.0
|
||||
resolution: "pino-abstract-transport@npm:1.2.0"
|
||||
|
@ -365,6 +1007,22 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"prelude-ls@npm:^1.2.1":
|
||||
version: 1.2.1
|
||||
resolution: "prelude-ls@npm:1.2.1"
|
||||
checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"prettier@npm:3.3.2":
|
||||
version: 3.3.2
|
||||
resolution: "prettier@npm:3.3.2"
|
||||
bin:
|
||||
prettier: bin/prettier.cjs
|
||||
checksum: 10c0/39ed27d17f0238da6dd6571d63026566bd790d3d0edac57c285fbab525982060c8f1e01955fe38134ab10f0951a6076da37f015db8173c02f14bc7f0803a384c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"process-warning@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "process-warning@npm:3.0.0"
|
||||
|
@ -396,6 +1054,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"queue-microtask@npm:^1.2.2":
|
||||
version: 1.2.3
|
||||
resolution: "queue-microtask@npm:1.2.3"
|
||||
checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"quick-format-unescaped@npm:^4.0.3":
|
||||
version: 4.0.4
|
||||
resolution: "quick-format-unescaped@npm:4.0.4"
|
||||
|
@ -430,6 +1095,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"resolve-from@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "resolve-from@npm:4.0.0"
|
||||
checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ret@npm:~0.4.0":
|
||||
version: 0.4.3
|
||||
resolution: "ret@npm:0.4.3"
|
||||
|
@ -451,6 +1123,15 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"run-parallel@npm:^1.1.9":
|
||||
version: 1.2.0
|
||||
resolution: "run-parallel@npm:1.2.0"
|
||||
dependencies:
|
||||
queue-microtask: "npm:^1.2.2"
|
||||
checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"safe-buffer@npm:~5.2.0":
|
||||
version: 5.2.1
|
||||
resolution: "safe-buffer@npm:5.2.1"
|
||||
|
@ -497,6 +1178,22 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"shebang-command@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "shebang-command@npm:2.0.0"
|
||||
dependencies:
|
||||
shebang-regex: "npm:^3.0.0"
|
||||
checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"shebang-regex@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "shebang-regex@npm:3.0.0"
|
||||
checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"sonic-boom@npm:^4.0.1":
|
||||
version: 4.0.1
|
||||
resolution: "sonic-boom@npm:4.0.1"
|
||||
|
@ -522,6 +1219,38 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"strip-ansi@npm:^6.0.1":
|
||||
version: 6.0.1
|
||||
resolution: "strip-ansi@npm:6.0.1"
|
||||
dependencies:
|
||||
ansi-regex: "npm:^5.0.1"
|
||||
checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"strip-json-comments@npm:^3.1.1":
|
||||
version: 3.1.1
|
||||
resolution: "strip-json-comments@npm:3.1.1"
|
||||
checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"supports-color@npm:^7.1.0":
|
||||
version: 7.2.0
|
||||
resolution: "supports-color@npm:7.2.0"
|
||||
dependencies:
|
||||
has-flag: "npm:^4.0.0"
|
||||
checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"text-table@npm:^0.2.0":
|
||||
version: 0.2.0
|
||||
resolution: "text-table@npm:0.2.0"
|
||||
checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"thread-stream@npm:^3.0.0":
|
||||
version: 3.0.2
|
||||
resolution: "thread-stream@npm:3.0.2"
|
||||
|
@ -538,7 +1267,16 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"uri-js@npm:^4.4.1":
|
||||
"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
|
||||
version: 0.4.0
|
||||
resolution: "type-check@npm:0.4.0"
|
||||
dependencies:
|
||||
prelude-ls: "npm:^1.2.1"
|
||||
checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"uri-js@npm:^4.2.2, uri-js@npm:^4.4.1":
|
||||
version: 4.4.1
|
||||
resolution: "uri-js@npm:4.4.1"
|
||||
dependencies:
|
||||
|
@ -555,3 +1293,28 @@ __metadata:
|
|||
checksum: 10c0/eab18c27fe4ab9fb9709a5d5f40119b45f2ec8314f8d4cf12ce27e4c6f4ffa4a6321dc7db6c515068fa373c075b49691ba969f0010bf37f44c37ca40cd6bf7fe
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"which@npm:^2.0.1":
|
||||
version: 2.0.2
|
||||
resolution: "which@npm:2.0.2"
|
||||
dependencies:
|
||||
isexe: "npm:^2.0.0"
|
||||
bin:
|
||||
node-which: ./bin/node-which
|
||||
checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"word-wrap@npm:^1.2.5":
|
||||
version: 1.2.5
|
||||
resolution: "word-wrap@npm:1.2.5"
|
||||
checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"yocto-queue@npm:^0.1.0":
|
||||
version: 0.1.0
|
||||
resolution: "yocto-queue@npm:0.1.0"
|
||||
checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
|
Loading…
Reference in a new issue