Update Sentry and wait for 4.78.0 (#2018)

This commit is contained in:
Kamil Kisiela 2023-04-19 13:11:06 +02:00 committed by GitHub
parent 66fec76fa9
commit cd510e649f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
25 changed files with 232 additions and 556 deletions

View file

@ -104,7 +104,7 @@
},
"pnpm": {
"overrides": {
"tsup": "6.5.0",
"tsup": "6.7.0",
"@storybook/react-docgen-typescript-plugin": "1.0.6--canary.9.cd77847.0"
},
"patchedDependencies": {

View file

@ -16,8 +16,8 @@
"@aws-sdk/s3-request-presigner": "3.312.0",
"@graphql-inspector/core": "4.0.3",
"@octokit/app": "13.1.2",
"@sentry/node": "7.44.2",
"@sentry/types": "7.44.2",
"@sentry/node": "7.48.0",
"@sentry/types": "7.48.0",
"@slack/web-api": "6.8.1",
"@theguild/buddy": "0.1.0",
"@trpc/client": "10.20.0",

View file

@ -11,7 +11,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@sentry/node": "7.44.2",
"@sentry/node": "7.48.0",
"@trpc/server": "10.20.0",
"@whatwg-node/fetch": "0.8.5",
"bullmq": "3.10.4",

View file

@ -11,8 +11,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@sentry/node": "7.44.2",
"@sentry/tracing": "7.44.2",
"@sentry/node": "7.48.0",
"@trpc/client": "10.20.0",
"@trpc/server": "10.20.0",
"@whatwg-node/fetch": "0.8.5",

View file

@ -13,8 +13,7 @@
"@apollo/federation": "0.38.1",
"@graphql-tools/stitch": "8.7.48",
"@graphql-tools/stitching-directives": "2.3.34",
"@sentry/node": "7.44.2",
"@sentry/tracing": "7.44.2",
"@sentry/node": "7.48.0",
"@trpc/server": "10.20.0",
"@whatwg-node/fetch": "0.8.5",
"dotenv": "16.0.3",

View file

@ -1,3 +1,4 @@
ENVIRONMENT=development
LOG_LEVEL=debug
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres

View file

@ -19,9 +19,8 @@
"@escape.tech/graphql-armor-max-depth": "1.8.4",
"@escape.tech/graphql-armor-max-directives": "1.6.5",
"@escape.tech/graphql-armor-max-tokens": "1.3.2",
"@sentry/integrations": "7.44.2",
"@sentry/node": "7.44.2",
"@sentry/tracing": "7.44.2",
"@sentry/integrations": "7.48.0",
"@sentry/node": "7.48.0",
"@trpc/server": "10.20.0",
"@whatwg-node/fetch": "0.8.5",
"@whatwg-node/server": "0.7.5",

View file

@ -4,14 +4,7 @@ import type {
FastifyRequest,
RouteHandlerMethod,
} from 'fastify';
import {
GraphQLError,
Kind,
OperationDefinitionNode,
print,
ValidationContext,
ValidationRule,
} from 'graphql';
import { GraphQLError, print, ValidationContext, ValidationRule } from 'graphql';
import { createYoga, Plugin, useErrorHandler } from 'graphql-yoga';
import hyperid from 'hyperid';
import zod from 'zod';
@ -22,6 +15,7 @@ import { useHive } from '@graphql-hive/client';
import { Registry, RegistryContext } from '@hive/api';
import { HiveError } from '@hive/api';
import { cleanRequestId } from '@hive/service-common';
import { runWithAsyncContext } from '@sentry/node';
import { fetch } from '@whatwg-node/fetch';
import { asyncStorage } from './async-storage';
import type { HiveConfig } from './environment';
@ -65,7 +59,11 @@ interface Context extends RegistryContext {
const NoIntrospection: ValidationRule = (context: ValidationContext) => ({
Field(node) {
if (node.name.value === '__schema' || node.name.value === '__type') {
context.reportError(new GraphQLError('GraphQL introspection is not allowed', [node]));
context.reportError(
new GraphQLError('GraphQL introspection is not allowed', {
nodes: [node],
}),
);
}
},
});
@ -98,22 +96,13 @@ export const graphqlHandler = (options: GraphQLHandlerOptions): RouteHandlerMeth
useArmor(),
useSentry({
startTransaction: false,
renameTransaction: true,
renameTransaction: false,
/**
* When it's not `null`, the plugin modifies the error object.
* We end up with an unintended error masking, because the GraphQLYogaError is replaced with GraphQLError (without error.originalError).
*/
eventIdKey: null,
operationName: () => 'graphql',
transactionName(args) {
const rootOperation = args.document.definitions.find(
o => o.kind === Kind.OPERATION_DEFINITION,
) as OperationDefinitionNode;
const operationType = rootOperation.operation;
const opName = args.operationName || rootOperation.name?.value || 'anonymous';
return `${operationType}.${opName}`;
},
includeRawResult: false,
includeResolverArgs: false,
includeExecuteVariables: true,
@ -128,6 +117,7 @@ export const graphqlHandler = (options: GraphQLHandlerOptions): RouteHandlerMeth
: clientNameHeaderValue;
if (transaction) {
transaction.setName(`graphql.${args.operationName || 'unknown'}`);
transaction.setTag('graphql_client_name', clientName ?? 'unknown');
transaction.sampled = !!clientName && clientName !== 'Hive Client';
}
@ -141,7 +131,7 @@ export const graphqlHandler = (options: GraphQLHandlerOptions): RouteHandlerMeth
},
appendTags: ({ contextValue }) => {
const supertokens_user_id = extractUserId(contextValue as any);
const request_id = cleanRequestId((contextValue as Context).req.headers['x-request-id']);
const request_id = (contextValue as Context).requestId;
return {
supertokens_user_id,
@ -248,13 +238,15 @@ export const graphqlHandler = (options: GraphQLHandlerOptions): RouteHandlerMeth
requestId,
},
async () => {
const response = await server.handleNodeRequest(req, {
req,
reply,
headers: req.headers,
requestId,
session: null,
abortSignal: controller.signal,
const response = await runWithAsyncContext(() => {
return server.handleNodeRequest(req, {
req,
reply,
headers: req.headers,
requestId,
session: null,
abortSignal: controller.signal,
});
});
response.headers.forEach((value, key) => {

View file

@ -18,7 +18,7 @@ import {
} from '@hive/service-common';
import { createConnectionString, createStorage as createPostgreSQLStorage } from '@hive/storage';
import { Dedupe, ExtraErrorData } from '@sentry/integrations';
import * as Sentry from '@sentry/node';
import { captureException, init, Integrations, SeverityLevel } from '@sentry/node';
import { createServerAdapter } from '@whatwg-node/server';
import { createContext, internalApiRouter } from './api';
import { asyncStorage } from './async-storage';
@ -36,28 +36,27 @@ const LegacyCheckAuth0EmailUserExistsPayloadModel = zod.object({
});
export async function main() {
if (env.sentry) {
Sentry.init({
serverName: 'api',
enabled: true,
environment: env.environment,
dsn: env.sentry.dsn,
tracesSampleRate: 1,
release: env.release,
integrations: [
new Sentry.Integrations.Http({ tracing: true }),
new Sentry.Integrations.ContextLines(),
new Sentry.Integrations.LinkedErrors(),
new ExtraErrorData({
depth: 2,
}),
new Dedupe(),
],
maxBreadcrumbs: 5,
defaultIntegrations: false,
autoSessionTracking: false,
});
}
init({
serverName: 'api',
enabled: !!env.sentry,
environment: env.environment,
dsn: env.sentry?.dsn,
enableTracing: true,
tracesSampleRate: 1,
release: env.release,
integrations: [
new Integrations.Http({ tracing: true }),
new Integrations.ContextLines(),
new Integrations.LinkedErrors(),
new ExtraErrorData({
depth: 2,
}),
new Dedupe(),
],
maxBreadcrumbs: 5,
defaultIntegrations: false,
autoSessionTracking: false,
});
const server = await createServer({
name: 'graphql-api',
@ -98,7 +97,7 @@ export async function main() {
},
});
function createErrorHandler(level: Sentry.SeverityLevel): LogFn {
function createErrorHandler(level: SeverityLevel): LogFn {
return (error: any, errorLike?: any, ...args: any[]) => {
server.log.error(error, errorLike, ...args);
@ -110,7 +109,7 @@ export async function main() {
}
if (errorObj instanceof Error) {
Sentry.captureException(errorObj, {
captureException(errorObj, {
level,
extra: {
error,
@ -445,7 +444,7 @@ export async function main() {
await server.listen(port, '::');
} catch (error) {
server.log.fatal(error);
Sentry.captureException(error, {
captureException(error, {
level: 'fatal',
});
process.exit(1);

View file

@ -6,7 +6,6 @@
"private": true,
"peerDependencies": {
"@sentry/node": "^7.0.0",
"@sentry/tracing": "^7.0.0",
"@sentry/utils": "^7.0.0",
"@trpc/server": "10.20.0"
},
@ -19,9 +18,8 @@
"zod": "3.21.4"
},
"devDependencies": {
"@sentry/node": "7.44.2",
"@sentry/tracing": "7.44.2",
"@sentry/types": "7.44.2",
"@sentry/utils": "7.44.2"
"@sentry/node": "7.48.0",
"@sentry/types": "7.48.0",
"@sentry/utils": "7.48.0"
}
}

View file

@ -1,14 +1,12 @@
import type { FastifyInstance, FastifyPluginAsync, FastifyRequest } from 'fastify';
import fp from 'fastify-plugin';
import * as Sentry from '@sentry/node';
import '@sentry/tracing';
import { Transaction } from '@sentry/tracing';
import type { ExtractedNodeRequestData, TraceparentData } from '@sentry/types';
import type { ExtractedNodeRequestData, TraceparentData, Transaction } from '@sentry/types';
import { extractTraceparentData, normalize } from '@sentry/utils';
import { cleanRequestId } from './helpers';
const plugin: FastifyPluginAsync = async server => {
server.decorateRequest('sentryTransaction', null);
server.decorateReply('sentryTransaction', null);
function shouldIgnore(request: FastifyRequest) {
if (
@ -22,7 +20,7 @@ const plugin: FastifyPluginAsync = async server => {
return false;
}
server.addHook('onRequest', async request => {
server.addHook('onRequest', async (request, reply) => {
if (shouldIgnore(request)) {
return;
}
@ -53,11 +51,10 @@ const plugin: FastifyPluginAsync = async server => {
},
{ request: extractedRequestData },
);
(request as any).sentryTransaction = transaction;
(reply as any).sentryTransaction = transaction;
transaction.sampled = true;
Sentry.getCurrentHub().configureScope(scope => {
scope.setSpan(transaction);
});
Sentry.configureScope(scope => scope.setSpan(transaction));
return;
});
@ -68,7 +65,7 @@ const plugin: FastifyPluginAsync = async server => {
}
setImmediate(() => {
const transaction: Transaction = (request as any).sentryTransaction;
const transaction: Transaction = (reply as any).sentryTransaction;
transaction.setData('url', request.url);
transaction.setData('query', request.query);

View file

@ -12,7 +12,7 @@
"db:generate": "schemats generate --config schemats.cjs -o src/db/types.ts"
},
"dependencies": {
"@sentry/node": "7.44.2",
"@sentry/node": "7.48.0",
"@theguild/buddy": "0.1.0",
"dotenv": "16.0.3",
"got": "12.6.0",
@ -23,7 +23,7 @@
"zod": "3.21.4"
},
"devDependencies": {
"@sentry/types": "7.44.2",
"@sentry/types": "7.48.0",
"@tgriesser/schemats": "9.0.1",
"@types/node": "18.15.11",
"@types/pg": "8.6.6",

View file

@ -11,8 +11,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@sentry/node": "7.44.2",
"@sentry/tracing": "7.44.2",
"@sentry/node": "7.48.0",
"@trpc/client": "10.20.0",
"@trpc/server": "10.20.0",
"@whatwg-node/fetch": "0.8.5",

View file

@ -10,8 +10,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@sentry/node": "7.44.2",
"@sentry/tracing": "7.44.2",
"@sentry/node": "7.48.0",
"@trpc/server": "10.20.0",
"dotenv": "16.0.3",
"ioredis": "5.3.1",

View file

@ -11,8 +11,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@sentry/node": "7.44.2",
"@sentry/tracing": "7.44.2",
"@sentry/node": "7.48.0",
"@trpc/server": "10.20.0",
"@whatwg-node/fetch": "0.8.5",
"dotenv": "16.0.3",

View file

@ -10,8 +10,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@sentry/node": "7.44.2",
"@sentry/tracing": "7.44.2",
"@sentry/node": "7.48.0",
"agentkeepalive": "4.3.0",
"date-fns": "2.29.3",
"dotenv": "16.0.3",

View file

@ -10,8 +10,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@sentry/node": "7.44.2",
"@sentry/tracing": "7.44.2",
"@sentry/node": "7.48.0",
"@trpc/client": "10.20.0",
"@trpc/server": "10.20.0",
"@whatwg-node/fetch": "0.8.5",

View file

@ -11,8 +11,7 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@sentry/node": "7.44.2",
"@sentry/tracing": "7.44.2",
"@sentry/node": "7.48.0",
"@trpc/server": "10.20.0",
"bullmq": "3.10.4",
"dotenv": "16.0.3",

View file

@ -1,7 +1,7 @@
GRAPHQL_ENDPOINT="http://localhost:3001/graphql"
APP_BASE_URL="http://localhost:3000"
SERVER_ENDPOINT="<sync>"
ENVIRONMENT="<sync>"
ENVIRONMENT="development"
# Supertokens

View file

@ -1,6 +1,8 @@
import zod from 'zod';
import * as Sentry from '@sentry/nextjs';
const { init, Integrations } = Sentry;
// treat an empty string `''` as `undefined`
const emptyString = <T extends zod.ZodType>(input: T) => {
return zod.preprocess((value: unknown) => {
@ -230,17 +232,17 @@ declare global {
globalThis['__backend_env'] = config;
// TODO: I don't like this here, but it seems like it makes most sense here :)
if (config.sentry) {
Sentry.init({
serverName: 'app',
enabled: true,
dsn: config.sentry.dsn,
release: config.release,
environment: config.environment,
integrations: [
new Sentry.Integrations.Http({
tracing: true,
}),
],
});
}
init({
serverName: 'app',
enabled: !!config.sentry,
enableTracing: true,
tracesSampleRate: 1,
dsn: config.sentry?.dsn,
release: config.release,
environment: config.environment,
integrations: [
new Integrations.Http({
tracing: true,
}),
],
});

View file

@ -34,8 +34,8 @@
"@radix-ui/react-toggle-group": "1.0.3",
"@radix-ui/react-toolbar": "1.0.3",
"@radix-ui/react-tooltip": "1.0.5",
"@sentry/nextjs": "7.44.2",
"@sentry/types": "7.44.2",
"@sentry/nextjs": "7.48.0",
"@sentry/types": "7.48.0",
"@stripe/react-stripe-js": "2.1.0",
"@stripe/stripe-js": "1.52.1",
"@tanstack/react-table": "8.0.0-beta.8",

View file

@ -13,7 +13,7 @@ import { LAST_VISITED_ORG_KEY } from '@/constants';
import { env } from '@/env/frontend';
import * as gtag from '@/lib/gtag';
import { urqlClient } from '@/lib/urql';
import * as Sentry from '@sentry/nextjs';
import { configureScope, init } from '@sentry/nextjs';
import '../public/styles.css';
import 'react-toastify/dist/ReactToastify.css';
@ -24,7 +24,7 @@ function identifyOnCrisp(email: string): void {
}
function identifyOnSentry(userId: string, email: string): void {
Sentry.configureScope(scope => {
configureScope(scope => {
scope.setUser({ id: userId, email });
});
}
@ -127,7 +127,7 @@ export default function App({ Component, pageProps }: AppProps): ReactElement {
if (globalThis.window) {
SuperTokens.init(frontendConfig());
if (env.sentry) {
Sentry.init({
init({
dsn: env.sentry.dsn,
enabled: true,
release: env.release,

View file

@ -1,6 +1,6 @@
import { NextPageContext } from 'next';
import NextErrorComponent from 'next/error';
import * as Sentry from '@sentry/nextjs';
import { captureException, flush } from '@sentry/nextjs';
const MyError = ({
statusCode,
@ -15,7 +15,7 @@ const MyError = ({
// getInitialProps is not called in case of
// https://github.com/vercel/next.js/issues/8592. As a workaround, we pass
// err via _app.js so it can be captured
Sentry.captureException(err);
captureException(err);
// Flushing is not required in this case as it only happens on the client
}
@ -48,11 +48,11 @@ MyError.getInitialProps = async (props: NextPageContext) => {
// Boundaries: https://reactjs.org/docs/error-boundaries.html
if (err) {
Sentry.captureException(err);
captureException(err);
// Flushing before returning is necessary if deploying to Vercel, see
// https://vercel.com/docs/platform/limits#streaming-responses
await Sentry.flush(2000);
await flush(2000);
return errorInitialProps;
}
@ -60,8 +60,8 @@ MyError.getInitialProps = async (props: NextPageContext) => {
// If this point is reached, getInitialProps was called without any
// information about what the error might be. This is unexpected and may
// indicate a bug introduced in Next.js, so record it in Sentry
Sentry.captureException(new Error(`_error.tsx getInitialProps missing data at path: ${asPath}`));
await Sentry.flush(2000);
captureException(new Error(`_error.tsx getInitialProps missing data at path: ${asPath}`));
await flush(2000);
return errorInitialProps;
};

View file

@ -2,37 +2,9 @@ import { NextApiRequest, NextApiResponse } from 'next';
import hyperid from 'hyperid';
import { env } from '@/env/backend';
import { extractAccessTokenFromRequest } from '@/lib/api/extract-access-token-from-request';
import { captureException, startTransaction } from '@sentry/nextjs';
import type { Transaction } from '@sentry/types';
import { captureException, getCurrentHub, wrapApiHandlerWithSentry } from '@sentry/nextjs';
const reqIdGenerate = hyperid({ fixedLength: true });
function useTransaction(res: any) {
const existingTransaction: Transaction = res.__sentryTransaction;
if (existingTransaction) {
existingTransaction.setName('app.graphql');
existingTransaction.op = 'app.graphql';
return {
transaction: existingTransaction,
finish() {},
};
}
const transaction = startTransaction({
name: 'app.graphql',
op: 'app.graphql',
});
return {
transaction,
finish() {
transaction.finish();
},
};
}
async function graphql(req: NextApiRequest, res: NextApiResponse) {
const url = env.graphqlEndpoint;
@ -60,9 +32,22 @@ async function graphql(req: NextApiRequest, res: NextApiResponse) {
return res.send(await response.text());
}
const { transaction, finish: finishTransaction } = useTransaction(res);
const scope = getCurrentHub().getScope();
const rootSpan = scope?.getSpan();
const accessSpan = transaction.startChild({
const body: {
operationName?: string;
query: string;
variables?: Record<string, any>;
} = {
operationName: req.body.operationName,
query: req.body.query,
variables: req.body.variables,
};
scope.setTransactionName(`proxy.${body?.operationName || 'unknown'}`);
const accessSpan = rootSpan?.startChild({
op: 'app.accessToken',
});
@ -75,16 +60,15 @@ async function graphql(req: NextApiRequest, res: NextApiResponse) {
}
if (!accessToken) {
accessSpan.setHttpStatus(401);
accessSpan.finish();
finishTransaction();
accessSpan?.setHttpStatus(401);
accessSpan?.finish();
res.status(401).json({});
return;
}
accessSpan.setHttpStatus(200);
rootSpan?.setHttpStatus(200);
const graphqlSpan = accessSpan.startChild({
const graphqlSpan = rootSpan?.startChild({
op: 'graphql',
});
@ -97,7 +81,6 @@ async function graphql(req: NextApiRequest, res: NextApiResponse) {
'accept-encoding': req.headers['accept-encoding'],
'x-request-id': requestId,
'X-API-Token': req.headers['x-api-token'] ?? '',
'sentry-trace': transaction.toTraceparent(),
'graphql-client-name': 'Hive App',
'graphql-client-version': env.release,
},
@ -111,18 +94,16 @@ async function graphql(req: NextApiRequest, res: NextApiResponse) {
}
const parsedData = await response.json();
graphqlSpan.setHttpStatus(200);
graphqlSpan.finish();
finishTransaction();
graphqlSpan?.setHttpStatus(200);
graphqlSpan?.finish();
res.status(200).json(parsedData);
} catch (error) {
console.error(error);
captureException(error);
graphqlSpan.setHttpStatus(500);
graphqlSpan.finish();
finishTransaction();
graphqlSpan?.setHttpStatus(500);
graphqlSpan?.finish();
// TODO: better type narrowing of the error
const status = (error as Record<string, number | undefined>)?.['status'] ?? 500;
@ -136,7 +117,7 @@ async function graphql(req: NextApiRequest, res: NextApiResponse) {
}
}
export default graphql;
export default wrapApiHandlerWithSentry(graphql, 'api/proxy');
export const config = {
api: {

View file

@ -1,7 +1,7 @@
lockfileVersion: '6.0'
overrides:
tsup: 6.5.0
tsup: 6.7.0
'@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.cd77847.0
patchedDependencies:
@ -146,8 +146,8 @@ importers:
specifier: 10.9.1
version: 10.9.1(@swc/core@1.3.51)(@types/node@18.15.11)(typescript@5.0.4)
tsup:
specifier: 6.5.0
version: 6.5.0(@swc/core@1.3.51)(ts-node@10.9.1)(typescript@5.0.4)
specifier: 6.7.0
version: 6.7.0(@swc/core@1.3.51)(ts-node@10.9.1)(typescript@5.0.4)
tsx:
specifier: 3.12.6
version: 3.12.6
@ -504,11 +504,11 @@ importers:
specifier: 13.1.2
version: 13.1.2
'@sentry/node':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@sentry/types':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@slack/web-api':
specifier: 6.8.1
version: 6.8.1
@ -705,8 +705,8 @@ importers:
packages/services/emails:
dependencies:
'@sentry/node':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@trpc/server':
specifier: 10.20.0
version: 10.20.0
@ -800,11 +800,8 @@ importers:
packages/services/rate-limit:
dependencies:
'@sentry/node':
specifier: 7.44.2
version: 7.44.2
'@sentry/tracing':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@trpc/client':
specifier: 10.20.0
version: 10.20.0(@trpc/server@10.20.0)
@ -858,11 +855,8 @@ importers:
specifier: 2.3.34
version: 2.3.34(graphql@16.6.0)
'@sentry/node':
specifier: 7.44.2
version: 7.44.2
'@sentry/tracing':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@trpc/server':
specifier: 10.20.0
version: 10.20.0
@ -923,7 +917,7 @@ importers:
version: 4.0.6(@envelop/core@3.0.6)(graphql@16.6.0)
'@envelop/sentry':
specifier: 5.1.1
version: 5.1.1(@envelop/core@3.0.6)(@sentry/node@7.44.2)(graphql@16.6.0)
version: 5.1.1(@envelop/core@3.0.6)(@sentry/node@7.48.0)(graphql@16.6.0)
'@envelop/types':
specifier: 3.0.2
version: 3.0.2
@ -940,14 +934,11 @@ importers:
specifier: 1.3.2
version: 1.3.2
'@sentry/integrations':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@sentry/node':
specifier: 7.44.2
version: 7.44.2
'@sentry/tracing':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@trpc/server':
specifier: 10.20.0
version: 10.20.0
@ -1032,23 +1023,20 @@ importers:
version: 3.21.4
devDependencies:
'@sentry/node':
specifier: 7.44.2
version: 7.44.2
'@sentry/tracing':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@sentry/types':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@sentry/utils':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
packages/services/storage:
dependencies:
'@sentry/node':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@theguild/buddy':
specifier: 0.1.0
version: 0.1.0(patch_hash=ryylgra5xglhidfoiaxehn22hq)
@ -1075,8 +1063,8 @@ importers:
version: 3.21.4
devDependencies:
'@sentry/types':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@tgriesser/schemats':
specifier: 9.0.1
version: 9.0.1
@ -1099,11 +1087,8 @@ importers:
packages/services/stripe-billing:
dependencies:
'@sentry/node':
specifier: 7.44.2
version: 7.44.2
'@sentry/tracing':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@trpc/client':
specifier: 10.20.0
version: 10.20.0(@trpc/server@10.20.0)
@ -1145,11 +1130,8 @@ importers:
packages/services/tokens:
dependencies:
'@sentry/node':
specifier: 7.44.2
version: 7.44.2
'@sentry/tracing':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@trpc/server':
specifier: 10.20.0
version: 10.20.0
@ -1197,11 +1179,8 @@ importers:
packages/services/usage:
dependencies:
'@sentry/node':
specifier: 7.44.2
version: 7.44.2
'@sentry/tracing':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@trpc/client':
specifier: 10.20.0
version: 10.20.0(@trpc/server@10.20.0)
@ -1255,11 +1234,8 @@ importers:
packages/services/usage-estimator:
dependencies:
'@sentry/node':
specifier: 7.44.2
version: 7.44.2
'@sentry/tracing':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@trpc/server':
specifier: 10.20.0
version: 10.20.0
@ -1295,11 +1271,8 @@ importers:
packages/services/usage-ingestor:
dependencies:
'@sentry/node':
specifier: 7.44.2
version: 7.44.2
'@sentry/tracing':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
agentkeepalive:
specifier: 4.3.0
version: 4.3.0
@ -1344,11 +1317,8 @@ importers:
packages/services/webhooks:
dependencies:
'@sentry/node':
specifier: 7.44.2
version: 7.44.2
'@sentry/tracing':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@trpc/server':
specifier: 10.20.0
version: 10.20.0
@ -1447,11 +1417,11 @@ importers:
specifier: 1.0.5
version: 1.0.5(@types/react@18.0.37)(react-dom@18.2.0)(react@18.2.0)
'@sentry/nextjs':
specifier: 7.44.2
version: 7.44.2(next@13.2.4)(react@18.2.0)
specifier: 7.48.0
version: 7.48.0(next@13.2.4)(react@18.2.0)
'@sentry/types':
specifier: 7.44.2
version: 7.44.2
specifier: 7.48.0
version: 7.48.0
'@stripe/react-stripe-js':
specifier: 2.1.0
version: 2.1.0(@stripe/stripe-js@1.52.1)(react-dom@18.2.0)(react@18.2.0)
@ -7252,7 +7222,7 @@ packages:
tslib: 2.5.0
dev: true
/@envelop/sentry@5.1.1(@envelop/core@3.0.6)(@sentry/node@7.44.2)(graphql@16.6.0):
/@envelop/sentry@5.1.1(@envelop/core@3.0.6)(@sentry/node@7.48.0)(graphql@16.6.0):
resolution: {integrity: sha512-Ca2QMWUH8Ipc9l7AHki10bL6gO3NRy23Gb2XHRlc2sT7bpO200VNMwcqXJaeac8hkeqSWmivmWd3v+94cBEZhQ==}
peerDependencies:
'@envelop/core': ^3.0.6
@ -7260,7 +7230,7 @@ packages:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0
dependencies:
'@envelop/core': 3.0.6
'@sentry/node': 7.44.2
'@sentry/node': 7.48.0
graphql: 16.6.0
tslib: 2.5.0
dev: false
@ -7356,15 +7326,6 @@ packages:
dev: true
optional: true
/@esbuild/android-arm@0.15.15:
resolution: {integrity: sha512-JJjZjJi2eBL01QJuWjfCdZxcIgot+VoK6Fq7eKF9w4YHm9hwl7nhBR1o2Wnt/WcANk5l9SkpvrldW1PLuXxcbw==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
requiresBuild: true
dev: true
optional: true
/@esbuild/android-arm@0.16.17:
resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==}
engines: {node: '>=12'}
@ -7527,15 +7488,6 @@ packages:
dev: true
optional: true
/@esbuild/linux-loong64@0.15.15:
resolution: {integrity: sha512-lhz6UNPMDXUhtXSulw8XlFAtSYO26WmHQnCi2Lg2p+/TMiJKNLtZCYUxV4wG6rZMzXmr8InGpNwk+DLT2Hm0PA==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-loong64@0.16.17:
resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==}
engines: {node: '>=12'}
@ -12526,24 +12478,24 @@ packages:
string-argv: 0.3.1
dev: false
/@sentry-internal/tracing@7.44.2:
resolution: {integrity: sha512-3nteYNWiQDbO4yROBqduWTVR0Jah+FiU/2Tz44FcWvWyBboRP4gggaN7BDJahRwbhcRQKE9lTjGCbQLgNOuUCw==}
/@sentry-internal/tracing@7.48.0:
resolution: {integrity: sha512-MFAPDTrvCtfSm0/Zbmx7HA0Q5uCfRadOUpN8Y8rP1ndz+329h2kA3mZRCuC+3/aXL11zs2CHUhcAkGjwH2vogg==}
engines: {node: '>=8'}
dependencies:
'@sentry/core': 7.44.2
'@sentry/types': 7.44.2
'@sentry/utils': 7.44.2
'@sentry/core': 7.48.0
'@sentry/types': 7.48.0
'@sentry/utils': 7.48.0
tslib: 1.14.1
/@sentry/browser@7.44.2:
resolution: {integrity: sha512-pF2lyXkIjjCoIWUHN17zGO0R2n0/5yb7k+LehbEC1UhvSEBZW/zrRS+AeebjVF0eG2Wir3SoSe4TWt+CRQFOiA==}
/@sentry/browser@7.48.0:
resolution: {integrity: sha512-tdx/2nhuiykncmXFlV4Dpp+Hxgt/v31LiyXE79IcM560wc+QmWKtzoW9azBWQ0xt5KOO3ERMib9qPE4/ql1/EQ==}
engines: {node: '>=8'}
dependencies:
'@sentry-internal/tracing': 7.44.2
'@sentry/core': 7.44.2
'@sentry/replay': 7.44.2
'@sentry/types': 7.44.2
'@sentry/utils': 7.44.2
'@sentry-internal/tracing': 7.48.0
'@sentry/core': 7.48.0
'@sentry/replay': 7.48.0
'@sentry/types': 7.48.0
'@sentry/utils': 7.48.0
tslib: 1.14.1
dev: false
@ -12590,26 +12542,26 @@ packages:
tslib: 1.14.1
dev: false
/@sentry/core@7.44.2:
resolution: {integrity: sha512-m2nOHP4YX+kmWFQTzgBEsdblCuNFSB7017oLaR6/VH0a0mVWdrW7Q1gHMpw4/08uWRiA+oC2dXqCH7A1FwfGIQ==}
/@sentry/core@7.48.0:
resolution: {integrity: sha512-8FYuJTMpyuxRZvlen3gQ3rpOtVInSDmSyXqWEhCLuG/w34AtWoTiW7G516rsAAh6Hy1TP91GooMWbonP3XQNTQ==}
engines: {node: '>=8'}
dependencies:
'@sentry/types': 7.44.2
'@sentry/utils': 7.44.2
'@sentry/types': 7.48.0
'@sentry/utils': 7.48.0
tslib: 1.14.1
/@sentry/integrations@7.44.2:
resolution: {integrity: sha512-KA4YAexZUtTxPMUDEuxsAtaHMDJiiiJW8K95YuxotCcg9gC3A6mThc1dY2xgEXLe8Ds4VBHnh9yVifunWdoS4g==}
/@sentry/integrations@7.48.0:
resolution: {integrity: sha512-yzbJopVu1UHFXRDv236o5hSEUtqeP45T9uSVbAhKnH5meKWunK7MKvhFvQjhcfvlUVibYrewoVztQP2hrpxgfw==}
engines: {node: '>=8'}
dependencies:
'@sentry/types': 7.44.2
'@sentry/utils': 7.44.2
'@sentry/types': 7.48.0
'@sentry/utils': 7.48.0
localforage: 1.10.0
tslib: 1.14.1
dev: false
/@sentry/nextjs@7.44.2(next@13.2.4)(react@18.2.0):
resolution: {integrity: sha512-HOeT+Gn/d9TNE5SeIKMLIW9tRZoICaGILphqVvR05mM2wUOZxTn2NCxNp7vZkQoFsBxW6D4tVb6PvpnPxkVOeg==}
/@sentry/nextjs@7.48.0(next@13.2.4)(react@18.2.0):
resolution: {integrity: sha512-SLWkd1ZB27uK21QkUiIBEUgvhaMFMx8V5MO2+IlGluJKUdd06IgYAOsS0kjwQc34Ow6D0qowy8iScmtHebgQew==}
engines: {node: '>=8'}
peerDependencies:
next: ^10.0.8 || ^11.0 || ^12.0 || ^13.0
@ -12620,13 +12572,12 @@ packages:
optional: true
dependencies:
'@rollup/plugin-commonjs': 24.0.0(rollup@2.78.0)
'@sentry/core': 7.44.2
'@sentry/integrations': 7.44.2
'@sentry/node': 7.44.2
'@sentry/react': 7.44.2(react@18.2.0)
'@sentry/tracing': 7.44.2
'@sentry/types': 7.44.2
'@sentry/utils': 7.44.2
'@sentry/core': 7.48.0
'@sentry/integrations': 7.48.0
'@sentry/node': 7.48.0
'@sentry/react': 7.48.0(react@18.2.0)
'@sentry/types': 7.48.0
'@sentry/utils': 7.48.0
'@sentry/webpack-plugin': 1.20.0
chalk: 3.0.0
next: 13.2.4(react-dom@18.2.0)(react@18.2.0)
@ -12639,13 +12590,14 @@ packages:
- supports-color
dev: false
/@sentry/node@7.44.2:
resolution: {integrity: sha512-tEMcT+di7q7OYZt8Lg9kIpXoSO1YQNhnfMyffpzC82TMyJGNclBllNTF/UUnPqEiRW8WeewNgWuJAMLpPzjmfw==}
/@sentry/node@7.48.0:
resolution: {integrity: sha512-DJyyZaVhv/pUzJPof7es6zYDHeWbNqE0T3tQfLCkShdyfR+Ew8In8W/x2s7S8vq0cfRq0rqv1E6B2/HpVdYO7g==}
engines: {node: '>=8'}
dependencies:
'@sentry/core': 7.44.2
'@sentry/types': 7.44.2
'@sentry/utils': 7.44.2
'@sentry-internal/tracing': 7.48.0
'@sentry/core': 7.48.0
'@sentry/types': 7.48.0
'@sentry/utils': 7.48.0
cookie: 0.4.2
https-proxy-agent: 5.0.1
lru_map: 0.3.3
@ -12653,42 +12605,36 @@ packages:
transitivePeerDependencies:
- supports-color
/@sentry/react@7.44.2(react@18.2.0):
resolution: {integrity: sha512-eA0L2itLrg8b4U52vlavZiCIUgbo7mv2Ri5kNxztHbBwBPA88Qzm9f3LgDOvYsSDiakMu6opzpmyGXe1FyrQjw==}
/@sentry/react@7.48.0(react@18.2.0):
resolution: {integrity: sha512-E2HF0njufOI/BWktXfIiPNIh0dh7la9uQmDlYiFAK8MnlW4OOjw4rRJV2qkxKQCYdO9WB+T460DVw102Z/MyUA==}
engines: {node: '>=8'}
peerDependencies:
react: 15.x || 16.x || 17.x || 18.x
dependencies:
'@sentry/browser': 7.44.2
'@sentry/types': 7.44.2
'@sentry/utils': 7.44.2
'@sentry/browser': 7.48.0
'@sentry/types': 7.48.0
'@sentry/utils': 7.48.0
hoist-non-react-statics: 3.3.2
react: 18.2.0
tslib: 1.14.1
dev: false
/@sentry/replay@7.44.2:
resolution: {integrity: sha512-3KO0QE0OvH0I2hP7yU3W511nEQ55yHN5jWL6V/ay2PlUR1hCw42g8/o9zARq4qw1t4k5ZY6M36ZMqnQQwISqeA==}
/@sentry/replay@7.48.0:
resolution: {integrity: sha512-8fRHMGJ0NJeIZi6UucxUTvfDPaBa7+jU1kCTLjCcuH3X/UVz5PtGLMtFSO5U8HP+mUDlPs97MP1uoDvMa4S2Ng==}
engines: {node: '>=12'}
dependencies:
'@sentry/core': 7.44.2
'@sentry/types': 7.44.2
'@sentry/utils': 7.44.2
'@sentry/core': 7.48.0
'@sentry/types': 7.48.0
'@sentry/utils': 7.48.0
dev: false
/@sentry/tracing@7.44.2:
resolution: {integrity: sha512-z8wqPgpaQ4EaxPRZdx4MEWfbySSpHlYO7URJPvudyhsezDr33kyZ79QYiZP3KexoHud7gsjnkI1u/DqjdEhDng==}
engines: {node: '>=8'}
dependencies:
'@sentry-internal/tracing': 7.44.2
/@sentry/types@7.28.1:
resolution: {integrity: sha512-DvSplMVrVEmOzR2M161V5+B8Up3vR71xMqJOpWTzE9TqtFJRGPtqT/5OBsNJJw1+/j2ssMcnKwbEo9Q2EGeS6g==}
engines: {node: '>=8'}
dev: false
/@sentry/types@7.44.2:
resolution: {integrity: sha512-vdGb2BAelXRitgKWRBF1cCAoisLsbugUaJzrGCQoIoS3lYpZ8d8r2zELE7cNoVObVoQbUHF/WFhXVv8cumj+RA==}
/@sentry/types@7.48.0:
resolution: {integrity: sha512-kkAszZwQ5/v4n7Yyw/DPNRWx7h724mVNRGZIJa9ggUMvTgMe7UKCZZ5wfQmYiKVlGbwd9pxXAcP8Oq15EbByFQ==}
engines: {node: '>=8'}
/@sentry/utils@7.28.1:
@ -12699,11 +12645,11 @@ packages:
tslib: 1.14.1
dev: false
/@sentry/utils@7.44.2:
resolution: {integrity: sha512-PzL4Z0fhIHfQacfWvgiAs+drcm4Nc45Tc8PW1RdOZtHxzhGAYZYAPniDGML586Mnlu19QM6kGHiDu+CBgnnXAQ==}
/@sentry/utils@7.48.0:
resolution: {integrity: sha512-d977sghkFVMfld0LrEyyY2gYrfayLPdDEpUDT+hg5y79r7zZDCFyHtdB86699E5K89MwDZahW7Erk+a1nk4x5w==}
engines: {node: '>=8'}
dependencies:
'@sentry/types': 7.44.2
'@sentry/types': 7.48.0
tslib: 1.14.1
/@sentry/webpack-plugin@1.20.0:
@ -16432,7 +16378,7 @@ packages:
p-limit: 4.0.0
resolve.exports: 2.0.0
tslib: 2.5.0
tsup: 6.5.0(@swc/core@1.3.51)(ts-node@10.9.1)(typescript@5.0.4)
tsup: 6.7.0(@swc/core@1.3.51)(ts-node@10.9.1)(typescript@5.0.4)
typescript: 5.0.4
yargs: 17.6.2
zod: 3.21.4
@ -16644,13 +16590,13 @@ packages:
dev: false
patched: true
/bundle-require@3.1.2(esbuild@0.15.15):
resolution: {integrity: sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA==}
/bundle-require@4.0.1(esbuild@0.17.17):
resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
peerDependencies:
esbuild: '>=0.13'
esbuild: '>=0.17'
dependencies:
esbuild: 0.15.15
esbuild: 0.17.17
load-tsconfig: 0.2.3
dev: true
@ -19005,150 +18951,6 @@ packages:
resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==}
dev: true
/esbuild-android-64@0.15.15:
resolution: {integrity: sha512-F+WjjQxO+JQOva3tJWNdVjouFMLK6R6i5gjDvgUthLYJnIZJsp1HlF523k73hELY20WPyEO8xcz7aaYBVkeg5Q==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
requiresBuild: true
dev: true
optional: true
/esbuild-android-arm64@0.15.15:
resolution: {integrity: sha512-attlyhD6Y22jNyQ0fIIQ7mnPvDWKw7k6FKnsXlBvQE6s3z6s6cuEHcSgoirquQc7TmZgVCK5fD/2uxmRN+ZpcQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
/esbuild-darwin-64@0.15.15:
resolution: {integrity: sha512-ohZtF8W1SHJ4JWldsPVdk8st0r9ExbAOSrBOh5L+Mq47i696GVwv1ab/KlmbUoikSTNoXEhDzVpxUR/WIO19FQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/esbuild-darwin-arm64@0.15.15:
resolution: {integrity: sha512-P8jOZ5zshCNIuGn+9KehKs/cq5uIniC+BeCykvdVhx/rBXSxmtj3CUIKZz4sDCuESMbitK54drf/2QX9QHG5Ag==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/esbuild-freebsd-64@0.15.15:
resolution: {integrity: sha512-KkTg+AmDXz1IvA9S1gt8dE24C8Thx0X5oM0KGF322DuP+P3evwTL9YyusHAWNsh4qLsR80nvBr/EIYs29VSwuA==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/esbuild-freebsd-arm64@0.15.15:
resolution: {integrity: sha512-FUcML0DRsuyqCMfAC+HoeAqvWxMeq0qXvclZZ/lt2kLU6XBnDA5uKTLUd379WYEyVD4KKFctqWd9tTuk8C/96g==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-32@0.15.15:
resolution: {integrity: sha512-q28Qn5pZgHNqug02aTkzw5sW9OklSo96b5nm17Mq0pDXrdTBcQ+M6Q9A1B+dalFeynunwh/pvfrNucjzwDXj+Q==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-64@0.15.15:
resolution: {integrity: sha512-217KPmWMirkf8liO+fj2qrPwbIbhNTGNVtvqI1TnOWJgcMjUWvd677Gq3fTzXEjilkx2yWypVnTswM2KbXgoAg==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-arm64@0.15.15:
resolution: {integrity: sha512-/ltmNFs0FivZkYsTzAsXIfLQX38lFnwJTWCJts0IbCqWZQe+jjj0vYBNbI0kmXLb3y5NljiM5USVAO1NVkdh2g==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-arm@0.15.15:
resolution: {integrity: sha512-RYVW9o2yN8yM7SB1yaWr378CwrjvGCyGybX3SdzPHpikUHkME2AP55Ma20uNwkNyY2eSYFX9D55kDrfQmQBR4w==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-mips64le@0.15.15:
resolution: {integrity: sha512-PksEPb321/28GFFxtvL33yVPfnMZihxkEv5zME2zapXGp7fA1X2jYeiTUK+9tJ/EGgcNWuwvtawPxJG7Mmn86A==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-ppc64le@0.15.15:
resolution: {integrity: sha512-ek8gJBEIhcpGI327eAZigBOHl58QqrJrYYIZBWQCnH3UnXoeWMrMZLeeZL8BI2XMBhP+sQ6ERctD5X+ajL/AIA==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-riscv64@0.15.15:
resolution: {integrity: sha512-H5ilTZb33/GnUBrZMNJtBk7/OXzDHDXjIzoLXHSutwwsLxSNaLxzAaMoDGDd/keZoS+GDBqNVxdCkpuiRW4OSw==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-s390x@0.15.15:
resolution: {integrity: sha512-jKaLUg78mua3rrtrkpv4Or2dNTJU7bgHN4bEjT4OX4GR7nLBSA9dfJezQouTxMmIW7opwEC5/iR9mpC18utnxQ==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-netbsd-64@0.15.15:
resolution: {integrity: sha512-aOvmF/UkjFuW6F36HbIlImJTTx45KUCHJndtKo+KdP8Dhq3mgLRKW9+6Ircpm8bX/RcS3zZMMmaBLkvGY06Gvw==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
requiresBuild: true
dev: true
optional: true
/esbuild-openbsd-64@0.15.15:
resolution: {integrity: sha512-HFFX+WYedx1w2yJ1VyR1Dfo8zyYGQZf1cA69bLdrHzu9svj6KH6ZLK0k3A1/LFPhcEY9idSOhsB2UyU0tHPxgQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
requiresBuild: true
dev: true
optional: true
/esbuild-plugin-alias@0.2.1:
resolution: {integrity: sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==}
dev: true
@ -19164,72 +18966,6 @@ packages:
- supports-color
dev: true
/esbuild-sunos-64@0.15.15:
resolution: {integrity: sha512-jOPBudffG4HN8yJXcK9rib/ZTFoTA5pvIKbRrt3IKAGMq1EpBi4xoVoSRrq/0d4OgZLaQbmkHp8RO9eZIn5atA==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
requiresBuild: true
dev: true
optional: true
/esbuild-windows-32@0.15.15:
resolution: {integrity: sha512-MDkJ3QkjnCetKF0fKxCyYNBnOq6dmidcwstBVeMtXSgGYTy8XSwBeIE4+HuKiSsG6I/mXEb++px3IGSmTN0XiA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/esbuild-windows-64@0.15.15:
resolution: {integrity: sha512-xaAUIB2qllE888SsMU3j9nrqyLbkqqkpQyWVkfwSil6BBPgcPk3zOFitTTncEKCLTQy3XV9RuH7PDj3aJDljWA==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/esbuild-windows-arm64@0.15.15:
resolution: {integrity: sha512-ttuoCYCIJAFx4UUKKWYnFdrVpoXa3+3WWkXVI6s09U+YjhnyM5h96ewTq/WgQj9LFSIlABQvadHSOQyAVjW5xQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/esbuild@0.15.15:
resolution: {integrity: sha512-TEw/lwK4Zzld9x3FedV6jy8onOUHqcEX3ADFk4k+gzPUwrxn8nWV62tH0udo8jOtjFodlEfc4ypsqX3e+WWO6w==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
'@esbuild/android-arm': 0.15.15
'@esbuild/linux-loong64': 0.15.15
esbuild-android-64: 0.15.15
esbuild-android-arm64: 0.15.15
esbuild-darwin-64: 0.15.15
esbuild-darwin-arm64: 0.15.15
esbuild-freebsd-64: 0.15.15
esbuild-freebsd-arm64: 0.15.15
esbuild-linux-32: 0.15.15
esbuild-linux-64: 0.15.15
esbuild-linux-arm: 0.15.15
esbuild-linux-arm64: 0.15.15
esbuild-linux-mips64le: 0.15.15
esbuild-linux-ppc64le: 0.15.15
esbuild-linux-riscv64: 0.15.15
esbuild-linux-s390x: 0.15.15
esbuild-netbsd-64: 0.15.15
esbuild-openbsd-64: 0.15.15
esbuild-sunos-64: 0.15.15
esbuild-windows-32: 0.15.15
esbuild-windows-64: 0.15.15
esbuild-windows-arm64: 0.15.15
dev: true
/esbuild@0.16.17:
resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==}
engines: {node: '>=12'}
@ -28348,14 +28084,6 @@ packages:
fsevents: 2.3.2
dev: true
/rollup@3.4.0:
resolution: {integrity: sha512-4g8ZrEFK7UbDvy3JF+d5bLiC8UKkS3n/27/cnVeESwB1LVPl6MoPL32/6+SCQ1vHTp6Mvp2veIHtwELhi+uXEw==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
fsevents: 2.3.2
dev: true
/run-async@2.4.1:
resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
engines: {node: '>=0.12.0'}
@ -29420,19 +29148,6 @@ packages:
resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==}
dev: false
/sucrase@3.28.0:
resolution: {integrity: sha512-TK9600YInjuiIhVM3729rH4ZKPOsGeyXUwY+Ugu9eilNbdTFyHr6XcAGYbRVZPDgWj6tgI7bx95aaJjHnbffag==}
engines: {node: '>=8'}
hasBin: true
dependencies:
commander: 4.1.1
glob: 7.1.6
lines-and-columns: 1.2.4
mz: 2.7.0
pirates: 4.0.5
ts-interface-checker: 0.1.13
dev: true
/sucrase@3.31.0:
resolution: {integrity: sha512-6QsHnkqyVEzYcaiHsOKkzOtOgdJcb8i54x6AV2hDwyZcY9ZyykGZVw6L/YN98xC0evwTP6utsWWrKRaa8QlfEQ==}
engines: {node: '>=8'}
@ -30135,14 +29850,14 @@ packages:
engines: {node: '>=0.6.x'}
dev: false
/tsup@6.5.0(@swc/core@1.3.51)(ts-node@10.9.1)(typescript@5.0.4):
resolution: {integrity: sha512-36u82r7rYqRHFkD15R20Cd4ercPkbYmuvRkz3Q1LCm5BsiFNUgpo36zbjVhCOgvjyxNBWNKHsaD5Rl8SykfzNA==}
engines: {node: '>=14'}
/tsup@6.7.0(@swc/core@1.3.51)(ts-node@10.9.1)(typescript@5.0.4):
resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==}
engines: {node: '>=14.18'}
hasBin: true
peerDependencies:
'@swc/core': ^1
postcss: ^8.4.12
typescript: ^4.1.0
typescript: '>=4.1.0'
peerDependenciesMeta:
'@swc/core':
optional: true
@ -30152,19 +29867,19 @@ packages:
optional: true
dependencies:
'@swc/core': 1.3.51
bundle-require: 3.1.2(esbuild@0.15.15)
bundle-require: 4.0.1(esbuild@0.17.17)
cac: 6.7.14
chokidar: 3.5.3
debug: 4.3.4
esbuild: 0.15.15
esbuild: 0.17.17
execa: 5.1.1
globby: 11.1.0
joycon: 3.1.1
postcss-load-config: 3.1.4(ts-node@10.9.1)
resolve-from: 5.0.0
rollup: 3.4.0
rollup: 3.15.0
source-map: 0.8.0-beta.0
sucrase: 3.28.0
sucrase: 3.31.0
tree-kill: 1.2.2
typescript: 5.0.4
transitivePeerDependencies: