Skip to content

Commit

Permalink
chore: sentry integration
Browse files Browse the repository at this point in the history
  • Loading branch information
slowbackspace committed Dec 20, 2023
1 parent 45c4e08 commit 0af294f
Show file tree
Hide file tree
Showing 20 changed files with 318 additions and 39 deletions.
155 changes: 139 additions & 16 deletions .pnp.cjs

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
"license": "MIT",
"dependencies": {
"@blockfrost/blockfrost-js": "^6.0.0-beta.0",
"@sentry/integrations": "^7.89.0",
"@sentry/node": "^7.89.0",
"@slack/bolt": "^3.14.0",
"@slack/logger": "^4.0.0",
"@slack/web-api": "^6.9.0",
Expand Down
5 changes: 4 additions & 1 deletion src/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import { registerAccountCommand } from './commands/account/account.js';
import { registerPoolCommand } from './commands/pool/pool.js';
import { registerBlockfrostHelpCommand } from './commands/blockfrost-help/blockfrost-help.js';
import { registerRootEndpoint } from './endpoints/index.js';
import { logger } from './utils/logger.js';
const { App, ExpressReceiver, LogLevel } = bolt;

const port = Number(process.env.PORT) || 3000;
Expand Down Expand Up @@ -43,7 +44,9 @@ const expressReceiver = new ExpressReceiver({
// Welcome message after adding user to a private channel
// 'groups:read',
],
installationStore: new BlockfrostInstallationStore(),
installationStore: new BlockfrostInstallationStore({
logger: logger,
}),
});

const app = new App({
Expand Down
3 changes: 3 additions & 0 deletions src/config/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ const loadConfig = () => {
}
: false,
},
sentry: {
dsn: process.env.SENTRY_DSN,
},
};
};

Expand Down
22 changes: 11 additions & 11 deletions src/installation-store/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,21 @@ import { Logger } from '../utils/logger.js';
import { dbStore } from '../services/db/index.js';

export default class BlockfrostInstallationStore implements InstallationStore {
logger: Logger | undefined;

constructor(options: { logger?: Logger }) {
this.logger = options.logger;
}

public async storeInstallation(installation: Installation, logger?: Logger): Promise<void> {
if (installation.isEnterpriseInstall && installation.enterprise !== undefined) {
// handle storing org-wide app installation
logger?.debug('storing org installation');
logger?.debug(`storing org installation ${installation.enterprise.id}`);
return await dbStore.storeInstallation(installation.enterprise.id, installation);
}
if (installation.team !== undefined) {
// single team app installation
logger?.debug('storing single team installation');
logger?.debug(`storing single team installation ${installation.team.id}`);

return await dbStore.storeInstallation(installation.team.id, installation);
} else {
Expand All @@ -23,10 +29,8 @@ export default class BlockfrostInstallationStore implements InstallationStore {
installQuery: InstallationQuery<boolean>,
logger?: Logger,
): Promise<Installation<'v1' | 'v2'>> {
logger?.warn('Retrieving Access Token from DB.');

if (installQuery.isEnterpriseInstall && installQuery.enterpriseId !== undefined) {
logger?.debug('fetching org installation');
logger?.debug(`fetching org installation ${installQuery.enterpriseId}`);
const installation = await dbStore.fetchInstallation(installQuery.enterpriseId);

if (!installation) {
Expand All @@ -35,11 +39,11 @@ export default class BlockfrostInstallationStore implements InstallationStore {
return installation;
}
if (installQuery.teamId !== undefined) {
logger?.debug('fetching single team installation');
logger?.debug(`fetching single team installation ${installQuery.teamId}`);
const installation = await dbStore.fetchInstallation(installQuery.teamId);

if (!installation) {
throw new Error('Failed fetching installation');
throw new Error(`Failed fetching installation ${installQuery.teamId}`);
}
return installation;
}
Expand All @@ -50,10 +54,6 @@ export default class BlockfrostInstallationStore implements InstallationStore {
installQuery: InstallationQuery<boolean>,
logger?: Logger,
): Promise<void> {
if (logger !== undefined) {
logger.warn('Deleting Access Token from DB.');
}

if (installQuery.isEnterpriseInstall && installQuery.enterpriseId !== undefined) {
logger?.debug(`deleting org installation ${installQuery.enterpriseId}`);
return await dbStore.deleteInstallation(installQuery.enterpriseId);
Expand Down
2 changes: 1 addition & 1 deletion src/utils/logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ export function getLogger(name: string, level: LogLevel, existingLogger?: Logger
return logger;
}

export const logger = getLogger('default', LogLevel.INFO);
export const logger = getLogger('default', process.env.DEBUG ? LogLevel.DEBUG : LogLevel.INFO);
29 changes: 29 additions & 0 deletions src/utils/sentry.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import * as Sentry from '@sentry/node';
import { CaptureConsole } from '@sentry/integrations';
import { mainConfig } from '../config/config.js';
import { logger } from './logger.js';

type Primitive = number | string | boolean | bigint | symbol | null | undefined;
export const setSentryTag = (key: string, value: Primitive) => {
Sentry.configureScope(scope => {
scope.setTag(key, value);
});
};

export const initializeSentry = () => {
if (!mainConfig.sentry) {
logger.warn(`Config variable "sentry" not set. Errors will not be sent to Sentry!`);
} else {
Sentry.init({
dsn: mainConfig.sentry.dsn,
release: process.env.BUILD_COMMIT,
environment: process.env.NODE_ENV ?? 'unknown',
integrations: [
new CaptureConsole({
levels: ['error'],
}),
],
tracesSampleRate: 1,
});
}
};
11 changes: 11 additions & 0 deletions yarn-project.nix
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,12 @@ cacheEntries = {
"@nodelib/fs.stat@npm:2.0.5" = { filename = "@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip"; sha512 = "012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0"; };
"@nodelib/fs.walk@npm:1.2.8" = { filename = "@nodelib-fs.walk-npm-1.2.8-b4a89da548-190c643f15.zip"; sha512 = "190c643f156d8f8f277bf2a6078af1ffde1fd43f498f187c2db24d35b4b4b5785c02c7dc52e356497b9a1b65b13edc996de08de0b961c32844364da02986dc53"; };
"@pkgr/utils@npm:2.4.2" = { filename = "@pkgr-utils-npm-2.4.2-5333ff17f3-24e04c1212.zip"; sha512 = "24e04c121269317d259614cd32beea3af38277151c4002df5883c4be920b8e3490bb897748e844f9d46bf68230f86dabd4e8f093773130e7e60529a769a132fc"; };
"@sentry-internal/tracing@npm:7.89.0" = { filename = "@sentry-internal-tracing-npm-7.89.0-eca0baebf6-010b5b6d9b.zip"; sha512 = "010b5b6d9b836f1d27d6902213d345aa5582922106a97d2e65ca59bb203903be2118f1fa47e6fd27b7133eeef4aec2c325c8afa84bad53d801e6c8a76b48be98"; };
"@sentry/core@npm:7.89.0" = { filename = "@sentry-core-npm-7.89.0-0488caacd4-aae3abf4b1.zip"; sha512 = "aae3abf4b175e4811c948247111f250db377c1cf2728c47e61b37f13abf8b90b401620e391c636afccb9fd420c00ae9592f695caa191ac43ca9bd0559b1ff51f"; };
"@sentry/integrations@npm:7.89.0" = { filename = "@sentry-integrations-npm-7.89.0-a59714883a-5718149311.zip"; sha512 = "5718149311c779d3e30d07b30a420b26b17b7c15cda968058a0926c317701f8ef482b061895c4564fee2b85c0b6a6c2f65ec3544a6b831cff0cd5277a6907127"; };
"@sentry/node@npm:7.89.0" = { filename = "@sentry-node-npm-7.89.0-bcc147cacf-502185b911.zip"; sha512 = "502185b911b29baf2d033c8e9e975933e8305f99c60b1c8fff99bb6fce125b9b70851b06e9ca6430c27c8ffbb747ff2a71eda68cbce36dfed1df4e816f91a8b7"; };
"@sentry/types@npm:7.89.0" = { filename = "@sentry-types-npm-7.89.0-23a8b4edcb-802f367c74.zip"; sha512 = "802f367c741df12831e979acf0b946355ecc6498555e59017a283774f42488bc7e2a133c8782fc755571a029d599eb63ae5b35cb831cac44a06b3429ecdc6776"; };
"@sentry/utils@npm:7.89.0" = { filename = "@sentry-utils-npm-7.89.0-fa9c75b784-8151345841.zip"; sha512 = "81513458415043c6be8591ac47f267618b79f631d76d35df35352bc1eba5b4657912a08b412b37b446e5ee5880609eff0ba0aebfe5546a9fa4f1a05ce507d638"; };
"@sindresorhus/is@npm:4.6.0" = { filename = "@sindresorhus-is-npm-4.6.0-7cad05c55e-83839f13da.zip"; sha512 = "83839f13da2c29d55c97abc3bc2c55b250d33a0447554997a85c539e058e57b8da092da396e252b11ec24a0279a0bed1f537fa26302209327060643e327f81d2"; };
"@slack/bolt@npm:3.14.0" = { filename = "@slack-bolt-npm-3.14.0-bb9ffc526e-2f8775cc24.zip"; sha512 = "2f8775cc244b09b5f74d0586f94acca2e86b1d68d695839a1951b77a75e874a64aa7ce0b09305d53edfb37e8b8beb802cd55524f1e39c70dc60b229705177497"; };
"@slack/logger@npm:3.0.0" = { filename = "@slack-logger-npm-3.0.0-284f8efb66-6512d0e9e4.zip"; sha512 = "6512d0e9e4be47ea465705ab9b6e6901f36fa981da0d4a657fde649d452b567b351002049b5ee0a22569b5119bf6c2f61befd5b8022d878addb7a99c91b03389"; };
Expand Down Expand Up @@ -235,6 +241,7 @@ cacheEntries = {
"acorn-jsx@npm:5.3.2" = { filename = "acorn-jsx-npm-5.3.2-d7594599ea-c3d3b2a89c.zip"; sha512 = "c3d3b2a89c9a056b205b69530a37b972b404ee46ec8e5b341666f9513d3163e2a4f214a71f4dfc7370f5a9c07472d2fd1c11c91c3f03d093e37637d95da98950"; };
"acorn-walk@npm:8.2.0" = { filename = "acorn-walk-npm-8.2.0-2f2cac3177-1715e76c01.zip"; sha512 = "1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1"; };
"acorn@npm:8.10.0" = { filename = "acorn-npm-8.10.0-2230c9e83e-538ba38af0.zip"; sha512 = "538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d"; };
"agent-base@npm:6.0.2" = { filename = "agent-base-npm-6.0.2-428f325a93-f52b6872cc.zip"; sha512 = "f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d"; };
"ajv@npm:6.12.6" = { filename = "ajv-npm-6.12.6-4b5105e2b2-874972efe5.zip"; sha512 = "874972efe5c4202ab0a68379481fbd3d1b5d0a7bd6d3cc21d40d3536ebff3352a2a1fabb632d4fd2cc7fe4cbdcd5ed6782084c9bbf7f32a1536d18f9da5007d4"; };
"ajv@npm:8.12.0" = { filename = "ajv-npm-8.12.0-3bf6e30741-4dc13714e3.zip"; sha512 = "4dc13714e316e67537c8b31bc063f99a1d9d9a497eb4bbd55191ac0dcd5e4985bbb71570352ad6f1e76684fb6d790928f96ba3b2d4fd6e10024be9612fe3f001"; };
"ansi-regex@npm:5.0.1" = { filename = "ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zip"; sha512 = "2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b"; };
Expand Down Expand Up @@ -386,10 +393,12 @@ cacheEntries = {
"http-cache-semantics@npm:4.1.1" = { filename = "http-cache-semantics-npm-4.1.1-1120131375-83ac0bc60b.zip"; sha512 = "83ac0bc60b17a3a36f9953e7be55e5c8f41acc61b22583060e8dedc9dd5e3607c823a88d0926f9150e571f90946835c7fe150732801010845c72cd8bbff1a236"; };
"http-errors@npm:2.0.0" = { filename = "http-errors-npm-2.0.0-3f1c503428-9b0a378266.zip"; sha512 = "9b0a3782665c52ce9dc658a0d1560bcb0214ba5699e4ea15aefb2a496e2ca83db03ebc42e1cce4ac1f413e4e0d2d736a3fd755772c556a9a06853ba2a0b7d920"; };
"http2-wrapper@npm:1.0.3" = { filename = "http2-wrapper-npm-1.0.3-5b58ade1df-74160b862e.zip"; sha512 = "74160b862ec699e3f859739101ff592d52ce1cb207b7950295bf7962e4aa1597ef709b4292c673bece9c9b300efad0559fc86c71b1409c7a1e02b7229456003e"; };
"https-proxy-agent@npm:5.0.1" = { filename = "https-proxy-agent-npm-5.0.1-42d65f358e-571fccdf38.zip"; sha512 = "571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765"; };
"human-signals@npm:2.1.0" = { filename = "human-signals-npm-2.1.0-f75815481d-b87fd89fce.zip"; sha512 = "b87fd89fce72391625271454e70f67fe405277415b48bcc0117ca73d31fa23a4241787afdc8d67f5a116cf37258c052f59ea82daffa72364d61351423848e3b8"; };
"human-signals@npm:4.3.1" = { filename = "human-signals-npm-4.3.1-d723001512-6f12958df3.zip"; sha512 = "6f12958df3f21b6fdaf02d90896c271df00636a31e2bbea05bddf817a35c66b38a6fdac5863e2df85bd52f34958997f1f50350ff97249e1dff8452865d5235d1"; };
"iconv-lite@npm:0.4.24" = { filename = "iconv-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip"; sha512 = "bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6"; };
"ignore@npm:5.2.4" = { filename = "ignore-npm-5.2.4-fbe6e989e5-3d4c309c60.zip"; sha512 = "3d4c309c6006e2621659311783eaea7ebcd41fe4ca1d78c91c473157ad6666a57a2df790fe0d07a12300d9aac2888204d7be8d59f9aaf665b1c7fcdb432517ef"; };
"immediate@npm:3.0.6" = { filename = "immediate-npm-3.0.6-c27588a2d3-f9b3486477.zip"; sha512 = "f9b3486477555997657f70318cc8d3416159f208bec4cca3ff3442fd266bc23f50f0c9bd8547e1371a6b5e82b821ec9a7044a4f7b944798b25aa3cc6d5e63e62"; };
"import-fresh@npm:3.3.0" = { filename = "import-fresh-npm-3.3.0-3e34265ca9-2cacfad06e.zip"; sha512 = "2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa"; };
"imurmurhash@npm:0.1.4" = { filename = "imurmurhash-npm-0.1.4-610c5068a0-7cae75c8cd.zip"; sha512 = "7cae75c8cd9a50f57dadd77482359f659eaebac0319dd9368bcd1714f55e65badd6929ca58569da2b6494ef13fdd5598cd700b1eba23f8b79c5f19d195a3ecf7"; };
"inflight@npm:1.0.6" = { filename = "inflight-npm-1.0.6-ccedb4b908-f4f76aa072.zip"; sha512 = "f4f76aa072ce19fae87ce1ef7d221e709afb59d445e05d47fba710e85470923a75de35bfae47da6de1b18afc3ce83d70facf44cfb0aff89f0a3f45c0a0244dfd"; };
Expand Down Expand Up @@ -442,6 +451,8 @@ cacheEntries = {
"jws@npm:3.2.2" = { filename = "jws-npm-3.2.2-c1ae59c7af-f0213fe5b7.zip"; sha512 = "f0213fe5b79344c56cd443428d8f65c16bf842dc8cb8f5aed693e1e91d79c20741663ad6eff07a6d2c433d1831acc9814e8d7bada6a0471fbb91d09ceb2bf5c2"; };
"keyv@npm:4.5.3" = { filename = "keyv-npm-4.5.3-d2382300dd-3ffb4d5b72.zip"; sha512 = "3ffb4d5b72b6b4b4af443bbb75ca2526b23c750fccb5ac4c267c6116888b4b65681015c2833cb20d26cf3e6e32dac6b988c77f7f022e1a571b7d90f1442257da"; };
"levn@npm:0.4.1" = { filename = "levn-npm-0.4.1-d183b2d7bb-12c5021c85.zip"; sha512 = "12c5021c859bd0f5248561bf139121f0358285ec545ebf48bb3d346820d5c61a4309535c7f387ed7d84361cf821e124ce346c6b7cef8ee09a67c1473b46d0fc4"; };
"lie@npm:3.1.1" = { filename = "lie-npm-3.1.1-91350720d9-6da9f2121d.zip"; sha512 = "6da9f2121d2dbd15f1eca44c0c7e211e66a99c7b326ec8312645f3648935bc3a658cf0e9fa7b5f10144d9e2641500b4f55bd32754607c3de945b5f443e50ddd1"; };
"localforage@npm:1.10.0" = { filename = "localforage-npm-1.10.0-cf9ea9a436-f2978b434d.zip"; sha512 = "f2978b434dafff9bcb0d9498de57d97eba165402419939c944412e179cab1854782830b5ec196212560b22712d1dd03918939f59cf1d4fc1d756fca7950086cf"; };
"locate-path@npm:6.0.0" = { filename = "locate-path-npm-6.0.0-06a1e4c528-72eb661788.zip"; sha512 = "72eb661788a0368c099a184c59d2fee760b3831c9c1c33955e8a19ae4a21b4116e53fa736dc086cdeb9fce9f7cc508f2f92d2d3aae516f133e16a2bb59a39f5a"; };
"lodash.includes@npm:4.3.0" = { filename = "lodash.includes-npm-4.3.0-3a2f6fa22c-71092c1305.zip"; sha512 = "71092c130515a67ab3bd928f57f6018434797c94def7f46aafa417771e455ce3a4834889f4267b17887d7f75297dfabd96231bf704fd2b8c5096dc4a913568b6"; };
"lodash.isboolean@npm:3.0.3" = { filename = "lodash.isboolean-npm-3.0.3-b575b41488-b70068b4a8.zip"; sha512 = "b70068b4a8b8837912b54052557b21fc4774174e3512ed3c5b94621e5aff5eb6c68089d0a386b7e801d679cd105d2e35417978a5e99071750aa2ed90bffd0250"; };
Expand Down
128 changes: 118 additions & 10 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ __metadata:
resolution: "@blockfrost/blockfrost-for-slack@workspace:."
dependencies:
"@blockfrost/blockfrost-js": ^6.0.0-beta.0
"@sentry/integrations": ^7.89.0
"@sentry/node": ^7.89.0
"@slack/bolt": ^3.14.0
"@slack/logger": ^4.0.0
"@slack/web-api": ^6.9.0
Expand Down Expand Up @@ -235,6 +237,68 @@ __metadata:
languageName: node
linkType: hard

"@sentry-internal/tracing@npm:7.89.0":
version: 7.89.0
resolution: "@sentry-internal/tracing@npm:7.89.0"
dependencies:
"@sentry/core": 7.89.0
"@sentry/types": 7.89.0
"@sentry/utils": 7.89.0
checksum: 010b5b6d9b836f1d27d6902213d345aa5582922106a97d2e65ca59bb203903be2118f1fa47e6fd27b7133eeef4aec2c325c8afa84bad53d801e6c8a76b48be98
languageName: node
linkType: hard

"@sentry/core@npm:7.89.0":
version: 7.89.0
resolution: "@sentry/core@npm:7.89.0"
dependencies:
"@sentry/types": 7.89.0
"@sentry/utils": 7.89.0
checksum: aae3abf4b175e4811c948247111f250db377c1cf2728c47e61b37f13abf8b90b401620e391c636afccb9fd420c00ae9592f695caa191ac43ca9bd0559b1ff51f
languageName: node
linkType: hard

"@sentry/integrations@npm:^7.89.0":
version: 7.89.0
resolution: "@sentry/integrations@npm:7.89.0"
dependencies:
"@sentry/core": 7.89.0
"@sentry/types": 7.89.0
"@sentry/utils": 7.89.0
localforage: ^1.8.1
checksum: 5718149311c779d3e30d07b30a420b26b17b7c15cda968058a0926c317701f8ef482b061895c4564fee2b85c0b6a6c2f65ec3544a6b831cff0cd5277a6907127
languageName: node
linkType: hard

"@sentry/node@npm:^7.89.0":
version: 7.89.0
resolution: "@sentry/node@npm:7.89.0"
dependencies:
"@sentry-internal/tracing": 7.89.0
"@sentry/core": 7.89.0
"@sentry/types": 7.89.0
"@sentry/utils": 7.89.0
https-proxy-agent: ^5.0.0
checksum: 502185b911b29baf2d033c8e9e975933e8305f99c60b1c8fff99bb6fce125b9b70851b06e9ca6430c27c8ffbb747ff2a71eda68cbce36dfed1df4e816f91a8b7
languageName: node
linkType: hard

"@sentry/types@npm:7.89.0":
version: 7.89.0
resolution: "@sentry/types@npm:7.89.0"
checksum: 802f367c741df12831e979acf0b946355ecc6498555e59017a283774f42488bc7e2a133c8782fc755571a029d599eb63ae5b35cb831cac44a06b3429ecdc6776
languageName: node
linkType: hard

"@sentry/utils@npm:7.89.0":
version: 7.89.0
resolution: "@sentry/utils@npm:7.89.0"
dependencies:
"@sentry/types": 7.89.0
checksum: 81513458415043c6be8591ac47f267618b79f631d76d35df35352bc1eba5b4657912a08b412b37b446e5ee5880609eff0ba0aebfe5546a9fa4f1a05ce507d638
languageName: node
linkType: hard

"@sindresorhus/is@npm:^4.0.0":
version: 4.6.0
resolution: "@sindresorhus/is@npm:4.6.0"
Expand Down Expand Up @@ -780,6 +844,15 @@ __metadata:
languageName: node
linkType: hard

"agent-base@npm:6":
version: 6.0.2
resolution: "agent-base@npm:6.0.2"
dependencies:
debug: 4
checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d
languageName: node
linkType: hard

"ajv@npm:^6.12.4":
version: 6.12.6
resolution: "ajv@npm:6.12.6"
Expand Down Expand Up @@ -1273,16 +1346,7 @@ __metadata:
languageName: node
linkType: hard

"debug@npm:^3.2.7":
version: 3.2.7
resolution: "debug@npm:3.2.7"
dependencies:
ms: ^2.1.1
checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c
languageName: node
linkType: hard

"debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.4":
"debug@npm:4, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.4":
version: 4.3.4
resolution: "debug@npm:4.3.4"
dependencies:
Expand All @@ -1294,6 +1358,15 @@ __metadata:
languageName: node
linkType: hard

"debug@npm:^3.2.7":
version: 3.2.7
resolution: "debug@npm:3.2.7"
dependencies:
ms: ^2.1.1
checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c
languageName: node
linkType: hard

"decompress-response@npm:^6.0.0":
version: 6.0.0
resolution: "decompress-response@npm:6.0.0"
Expand Down Expand Up @@ -2303,6 +2376,16 @@ __metadata:
languageName: node
linkType: hard

"https-proxy-agent@npm:^5.0.0":
version: 5.0.1
resolution: "https-proxy-agent@npm:5.0.1"
dependencies:
agent-base: 6
debug: 4
checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765
languageName: node
linkType: hard

"human-signals@npm:^2.1.0":
version: 2.1.0
resolution: "human-signals@npm:2.1.0"
Expand Down Expand Up @@ -2333,6 +2416,13 @@ __metadata:
languageName: node
linkType: hard

"immediate@npm:~3.0.5":
version: 3.0.6
resolution: "immediate@npm:3.0.6"
checksum: f9b3486477555997657f70318cc8d3416159f208bec4cca3ff3442fd266bc23f50f0c9bd8547e1371a6b5e82b821ec9a7044a4f7b944798b25aa3cc6d5e63e62
languageName: node
linkType: hard

"import-fresh@npm:^3.2.1":
version: 3.3.0
resolution: "import-fresh@npm:3.3.0"
Expand Down Expand Up @@ -2788,6 +2878,24 @@ __metadata:
languageName: node
linkType: hard

"lie@npm:3.1.1":
version: 3.1.1
resolution: "lie@npm:3.1.1"
dependencies:
immediate: ~3.0.5
checksum: 6da9f2121d2dbd15f1eca44c0c7e211e66a99c7b326ec8312645f3648935bc3a658cf0e9fa7b5f10144d9e2641500b4f55bd32754607c3de945b5f443e50ddd1
languageName: node
linkType: hard

"localforage@npm:^1.8.1":
version: 1.10.0
resolution: "localforage@npm:1.10.0"
dependencies:
lie: 3.1.1
checksum: f2978b434dafff9bcb0d9498de57d97eba165402419939c944412e179cab1854782830b5ec196212560b22712d1dd03918939f59cf1d4fc1d756fca7950086cf
languageName: node
linkType: hard

"locate-path@npm:^6.0.0":
version: 6.0.0
resolution: "locate-path@npm:6.0.0"
Expand Down

0 comments on commit 0af294f

Please sign in to comment.