mirror of
https://github.com/formbricks/formbricks.git
synced 2026-02-21 18:18:48 -06:00
feat: Tests for Response service (#1527)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com> Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
This commit is contained in:
2
.github/workflows/lint.yml
vendored
2
.github/workflows/lint.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
||||
- name: create .env
|
||||
run: cp .env.example .env
|
||||
|
||||
- name: Generate Random NEXTAUTH_SECRET
|
||||
- name: Generate Random ENCRYPTION_KEY
|
||||
run: |
|
||||
SECRET=$(openssl rand -hex 32)
|
||||
echo "ENCRYPTION_KEY=$SECRET" >> $GITHUB_ENV
|
||||
|
||||
5
.github/workflows/test.yml
vendored
5
.github/workflows/test.yml
vendored
@@ -29,6 +29,11 @@ jobs:
|
||||
- name: create .env
|
||||
run: cp .env.example .env
|
||||
|
||||
- name: Generate Random ENCRYPTION_KEY
|
||||
run: |
|
||||
SECRET=$(openssl rand -hex 32)
|
||||
echo "ENCRYPTION_KEY=$SECRET" >> $GITHUB_ENV
|
||||
|
||||
- name: Build formbricks-js dependencies
|
||||
run: pnpm build --filter=js
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
"generate": "turbo run generate",
|
||||
"lint": "turbo run lint",
|
||||
"release": "turbo run build --filter=js... && turbo run build --filter=n8n-node... && changeset publish",
|
||||
"test": "turbo run test",
|
||||
"test": "turbo run test --no-cache",
|
||||
"test:e2e": "playwright test",
|
||||
"prepare": "husky install"
|
||||
},
|
||||
|
||||
15
packages/database/src/jestClient.ts
Normal file
15
packages/database/src/jestClient.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { PrismaClient } from "@prisma/client";
|
||||
import { DeepMockProxy, mockDeep, mockReset } from "jest-mock-extended";
|
||||
|
||||
import { prisma } from "./client";
|
||||
|
||||
jest.mock("./client", () => ({
|
||||
__esModule: true,
|
||||
prisma: mockDeep<PrismaClient>(),
|
||||
}));
|
||||
|
||||
export const prismaMock = prisma as unknown as DeepMockProxy<PrismaClient>;
|
||||
|
||||
beforeEach(() => {
|
||||
mockReset(prismaMock);
|
||||
});
|
||||
@@ -34,8 +34,8 @@
|
||||
"build": "tsc && vite build",
|
||||
"go": "vite build --watch",
|
||||
"lint": "eslint ./src --fix",
|
||||
"clean": "rimraf .turbo node_modules dist coverage",
|
||||
"test": "jest"
|
||||
"test": "jest --coverage --no-cache",
|
||||
"clean": "rimraf .turbo node_modules dist coverage"
|
||||
},
|
||||
"author": "Formbricks <hola@formbricks.com>",
|
||||
"devDependencies": {
|
||||
|
||||
@@ -37,7 +37,8 @@ beforeEach(() => {
|
||||
fetchMock.resetMocks();
|
||||
});
|
||||
|
||||
/* test("Formbricks should Initialise", async () => {
|
||||
/*
|
||||
test("Formbricks should Initialise", async () => {
|
||||
mockInitResponse();
|
||||
|
||||
await formbricks.init({
|
||||
@@ -119,7 +120,7 @@ test("Formbricks should track event", async () => {
|
||||
expect(consoleLogMock).toHaveBeenCalledWith(
|
||||
expect.stringMatching(/Formbricks: Event "Button Clicked" tracked/)
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
test("Formbricks should register for route change", async () => {
|
||||
mockRegisterRouteChangeResponse();
|
||||
@@ -135,4 +136,5 @@ test("Formbricks should reset", async () => {
|
||||
|
||||
expect(Object.keys(currentStatePersonAttributes).length).toBe(0);
|
||||
});
|
||||
*/
|
||||
|
||||
*/
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
import "server-only";
|
||||
|
||||
import { TAttributeClass } from "@formbricks/types/attributeClasses";
|
||||
|
||||
export const formatAttributeClassDateFields = (attributeClass: TAttributeClass): TAttributeClass => {
|
||||
if (typeof attributeClass.createdAt === "string") {
|
||||
attributeClass.createdAt = new Date(attributeClass.createdAt);
|
||||
}
|
||||
if (typeof attributeClass.updatedAt === "string") {
|
||||
attributeClass.updatedAt = new Date(attributeClass.updatedAt);
|
||||
}
|
||||
|
||||
return attributeClass;
|
||||
};
|
||||
1
packages/lib/babel.config.js
Normal file
1
packages/lib/babel.config.js
Normal file
@@ -0,0 +1 @@
|
||||
module.exports = { presets: ["@babel/preset-env"] };
|
||||
@@ -318,7 +318,10 @@ export const getDisplaysByPersonId = async (personId: string, page?: number): Pr
|
||||
return displays.map((display) => formatDateFields(display, ZDisplay));
|
||||
};
|
||||
|
||||
export const deleteDisplayByResponseId = async (responseId: string, surveyId: string): Promise<TDisplay> => {
|
||||
export const deleteDisplayByResponseId = async (
|
||||
responseId: string,
|
||||
surveyId: string
|
||||
): Promise<TDisplay | null> => {
|
||||
validateInputs([responseId, ZId], [surveyId, ZId]);
|
||||
|
||||
try {
|
||||
|
||||
1
packages/lib/env.d.ts
vendored
Normal file
1
packages/lib/env.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
declare module "*";
|
||||
39
packages/lib/jest.config.ts
Normal file
39
packages/lib/jest.config.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { Config } from "jest";
|
||||
|
||||
const config: Config = {
|
||||
preset: "ts-jest",
|
||||
collectCoverage: true,
|
||||
// on node 14.x coverage provider v8 offers good speed and more or less good report
|
||||
coverageProvider: "v8",
|
||||
testMatch: ["**/*.test.ts"],
|
||||
collectCoverageFrom: [
|
||||
"**/*.{js,jsx,ts,tsx}",
|
||||
"!**/*.d.ts",
|
||||
"!**/node_modules/**",
|
||||
"!<rootDir>/out/**",
|
||||
"!<rootDir>/.next/**",
|
||||
"!<rootDir>/*.config.js",
|
||||
"!<rootDir>/*.config.ts",
|
||||
"!<rootDir>/coverage/**",
|
||||
"!<rootDir>/jest/**",
|
||||
],
|
||||
testPathIgnorePatterns: ["<rootDir>/node_modules/", "<rootDir>/.next/"],
|
||||
setupFilesAfterEnv: ["<rootDir>/jest/jestSetup.ts", "<rootDir>/../database/src/jestClient.ts"],
|
||||
transform: {
|
||||
// Use babel-jest to transpile tests with the next/babel preset
|
||||
// https://jestjs.io/docs/configuration#transform-objectstring-pathtotransformer--pathtotransformer-object
|
||||
"^.+\\.(ts|tsx)$": "ts-jest",
|
||||
"^.+\\.(js|jsx)$": ["babel-jest", { presets: ["next/babel"] }],
|
||||
"^.+\\.mjs$": "babel-jest",
|
||||
},
|
||||
transformIgnorePatterns: [
|
||||
"/node_modules/",
|
||||
"^.+\\.module\\.(css|sass|scss)$",
|
||||
"node_modules/(?!uuid).+\\.js$",
|
||||
],
|
||||
moduleNameMapper: {
|
||||
"^uuid$": "uuid",
|
||||
},
|
||||
};
|
||||
|
||||
export default config;
|
||||
18
packages/lib/jest/jestSetup.ts
Normal file
18
packages/lib/jest/jestSetup.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
// mock these globally used functions
|
||||
|
||||
jest.mock("next/cache", () => ({
|
||||
__esModule: true,
|
||||
unstable_cache: (fn: () => {}) => {
|
||||
return async () => {
|
||||
return fn();
|
||||
};
|
||||
},
|
||||
revalidateTag: jest.fn(),
|
||||
}));
|
||||
|
||||
jest.mock("server-only", () => jest.fn());
|
||||
|
||||
beforeEach(() => {
|
||||
jest.resetModules();
|
||||
jest.resetAllMocks();
|
||||
});
|
||||
@@ -6,10 +6,12 @@
|
||||
"main": "./index.ts",
|
||||
"types": "./index.ts",
|
||||
"scripts": {
|
||||
"clean": "rimraf .turbo node_modules .next",
|
||||
"clean": "rimraf .turbo node_modules .next coverage",
|
||||
"lint": "eslint . --ext .ts,.js,.tsx,.jsx",
|
||||
"lint:fix": "eslint . --ext .ts,.js,.tsx,.jsx --fix",
|
||||
"lint:report": "eslint . --format json --output-file ../../lint-results/app-store.json"
|
||||
"lint:report": "eslint . --format json --output-file ../../lint-results/app-store.json",
|
||||
"test:dev": "jest --coverage --watch",
|
||||
"test": "jest -ci --coverage --no-cache"
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/s3-presigned-post": "3.473.0",
|
||||
@@ -36,6 +38,11 @@
|
||||
"@formbricks/tsconfig": "*",
|
||||
"@types/jsonwebtoken": "^9.0.5",
|
||||
"@types/mime": "3.0.4",
|
||||
"eslint-config-formbricks": "workspace:*"
|
||||
"eslint-config-formbricks": "workspace:*",
|
||||
"babel-jest": "^29.7.0",
|
||||
"jest-mock-extended": "^3.0.5",
|
||||
"jest": "^29.7.0",
|
||||
"ts-jest": "^29.1.1",
|
||||
"ts-node": "^10.9.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ import { formatDateFields } from "../utils/datetime";
|
||||
import { validateInputs } from "../utils/validate";
|
||||
import { responseCache } from "./cache";
|
||||
|
||||
const responseSelection = {
|
||||
export const responseSelection = {
|
||||
id: true,
|
||||
createdAt: true,
|
||||
updatedAt: true,
|
||||
@@ -117,13 +117,17 @@ export const getResponsesByPersonId = async (
|
||||
|
||||
let responses: Array<TResponse> = [];
|
||||
|
||||
responsePrisma.forEach((response) => {
|
||||
responses.push({
|
||||
...response,
|
||||
person: response.person ? transformPrismaPerson(response.person) : null,
|
||||
tags: response.tags.map((tagPrisma: { tag: TTag }) => tagPrisma.tag),
|
||||
});
|
||||
});
|
||||
await Promise.all(
|
||||
responsePrisma.map(async (response) => {
|
||||
const responseNotes = await getResponseNotes(response.id);
|
||||
responses.push({
|
||||
...response,
|
||||
notes: responseNotes,
|
||||
person: response.person ? transformPrismaPerson(response.person) : null,
|
||||
tags: response.tags.map((tagPrisma: { tag: TTag }) => tagPrisma.tag),
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
return responses;
|
||||
} catch (error) {
|
||||
|
||||
109
packages/lib/response/tests/__mocks__/data.mock.ts
Normal file
109
packages/lib/response/tests/__mocks__/data.mock.ts
Normal file
@@ -0,0 +1,109 @@
|
||||
import { Prisma } from "@prisma/client";
|
||||
|
||||
import { TResponseUpdateInput } from "@formbricks/types/responses";
|
||||
|
||||
import { responseNoteSelect } from "../../../responseNote/service";
|
||||
import { responseSelection } from "../../service";
|
||||
import { constantsForTests } from "../constants";
|
||||
|
||||
type ResponseMock = Prisma.ResponseGetPayload<{
|
||||
include: typeof responseSelection;
|
||||
}>;
|
||||
type ResponseNoteMock = Prisma.ResponseNoteGetPayload<{
|
||||
include: typeof responseNoteSelect;
|
||||
}>;
|
||||
type ResponsePersonMock = Prisma.PersonGetPayload<{
|
||||
select: typeof responseSelection.person.select;
|
||||
}>;
|
||||
|
||||
export const mockEnvironmentId = "ars2tjk8hsi8oqk1uac00mo7";
|
||||
export const mockPersonId = "lhwy39ga2zy8by1ol1bnaiso";
|
||||
export const mockResponseId = "z32bqib0nlcw8vqymlj6m8x7";
|
||||
export const mockSingleUseId = "qj57j3opsw8b5sxgea20fgcq";
|
||||
export const mockSurveyId = "nlg30c8btxljivh6dfcoxve2";
|
||||
export const mockUserId = "qwywazmugeezyfr3zcg9jk8a";
|
||||
|
||||
export const mockMeta = {
|
||||
source: constantsForTests.url,
|
||||
url: constantsForTests.url,
|
||||
userAgent: {
|
||||
browser: constantsForTests.browser,
|
||||
os: constantsForTests.text,
|
||||
device: constantsForTests.text,
|
||||
},
|
||||
};
|
||||
|
||||
export const mockResponseNote: ResponseNoteMock = {
|
||||
id: "clnndevho0mqrqp0fm2ozul8p",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
text: constantsForTests.text,
|
||||
isEdited: constantsForTests.boolean,
|
||||
isResolved: constantsForTests.boolean,
|
||||
responseId: mockResponseId,
|
||||
userId: mockUserId,
|
||||
response: {
|
||||
id: mockResponseId,
|
||||
surveyId: mockSurveyId,
|
||||
},
|
||||
user: {
|
||||
id: mockPersonId,
|
||||
name: constantsForTests.fullName,
|
||||
},
|
||||
};
|
||||
|
||||
export const mockPerson: ResponsePersonMock = {
|
||||
id: mockPersonId,
|
||||
userId: mockUserId,
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
environmentId: mockEnvironmentId,
|
||||
attributes: [
|
||||
{
|
||||
value: "attribute1",
|
||||
attributeClass: {
|
||||
name: "attributeClass1",
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export const mockTags = [
|
||||
{
|
||||
tag: {
|
||||
id: constantsForTests.uuid,
|
||||
name: "tag1",
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date(),
|
||||
environmentId: mockEnvironmentId,
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
export const mockResponse: ResponseMock = {
|
||||
id: mockResponseId,
|
||||
surveyId: mockSurveyId,
|
||||
singleUseId: mockSingleUseId,
|
||||
data: {},
|
||||
person: null,
|
||||
personAttributes: {},
|
||||
createdAt: new Date(),
|
||||
finished: constantsForTests.boolean,
|
||||
meta: mockMeta,
|
||||
notes: [mockResponseNote],
|
||||
tags: mockTags,
|
||||
personId: mockPersonId,
|
||||
updatedAt: new Date(),
|
||||
ttc: {},
|
||||
};
|
||||
|
||||
export const mockResponseData: TResponseUpdateInput["data"] = {
|
||||
key1: "value",
|
||||
key2: ["value1", "value2"],
|
||||
key3: 20,
|
||||
};
|
||||
|
||||
export const getMockUpdateResponseInput = (finished: boolean = false): TResponseUpdateInput => ({
|
||||
data: mockResponseData,
|
||||
finished,
|
||||
});
|
||||
8
packages/lib/response/tests/constants.ts
Normal file
8
packages/lib/response/tests/constants.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
export const constantsForTests = {
|
||||
uuid: "123e4567-e89b-12d3-a456-426614174000",
|
||||
browser: "Chrome",
|
||||
url: "https://www.example.com",
|
||||
boolean: true,
|
||||
text: "Abc12345",
|
||||
fullName: "Pavitr Prabhakar",
|
||||
};
|
||||
182
packages/lib/response/tests/response.test.ts
Normal file
182
packages/lib/response/tests/response.test.ts
Normal file
@@ -0,0 +1,182 @@
|
||||
import {
|
||||
getMockUpdateResponseInput,
|
||||
mockEnvironmentId,
|
||||
mockMeta,
|
||||
mockPerson,
|
||||
mockResponse,
|
||||
mockResponseData,
|
||||
mockResponseNote,
|
||||
mockSingleUseId,
|
||||
mockSurveyId,
|
||||
mockTags,
|
||||
mockUserId,
|
||||
} from "./__mocks__/data.mock";
|
||||
|
||||
import { prismaMock } from "@formbricks/database/src/jestClient";
|
||||
import { TResponse, TResponseInput } from "@formbricks/types/responses";
|
||||
import { TTag } from "@formbricks/types/tags";
|
||||
|
||||
import { selectPerson, transformPrismaPerson } from "../../person/service";
|
||||
import { createResponse, updateResponse } from "../service";
|
||||
import { constantsForTests } from "./constants";
|
||||
|
||||
const expectedResponseWithoutPerson: TResponse = {
|
||||
...mockResponse,
|
||||
person: null,
|
||||
tags: mockTags.map((tagPrisma: { tag: TTag }) => tagPrisma.tag),
|
||||
};
|
||||
|
||||
const expectedResponseWithPerson: TResponse = {
|
||||
...mockResponse,
|
||||
person: transformPrismaPerson(mockPerson),
|
||||
tags: mockTags?.map((tagPrisma: { tag: TTag }) => tagPrisma.tag),
|
||||
};
|
||||
|
||||
const mockResponseInputWithoutUserId: TResponseInput = {
|
||||
environmentId: mockEnvironmentId,
|
||||
surveyId: mockSurveyId,
|
||||
singleUseId: mockSingleUseId,
|
||||
finished: constantsForTests.boolean,
|
||||
data: {},
|
||||
meta: mockMeta,
|
||||
};
|
||||
|
||||
const mockResponseInputWithUserId: TResponseInput = {
|
||||
...mockResponseInputWithoutUserId,
|
||||
userId: mockUserId,
|
||||
};
|
||||
|
||||
beforeEach(() => {
|
||||
// @ts-expect-error
|
||||
prismaMock.response.create.mockImplementation(async (args) => {
|
||||
if (args.data.person && args.data.person.connect) {
|
||||
return {
|
||||
...mockResponse,
|
||||
person: mockPerson,
|
||||
};
|
||||
}
|
||||
|
||||
return mockResponse;
|
||||
});
|
||||
|
||||
// mocking the person findFirst call as it is used in the transformPrismaPerson function
|
||||
prismaMock.person.findFirst.mockResolvedValue(mockPerson);
|
||||
prismaMock.responseNote.findMany.mockResolvedValue([mockResponseNote]);
|
||||
|
||||
prismaMock.response.findUnique.mockResolvedValue(mockResponse);
|
||||
|
||||
// @ts-expect-error
|
||||
prismaMock.response.update.mockImplementation(async (args) => {
|
||||
if (args.data.finished === true) {
|
||||
return {
|
||||
...mockResponse,
|
||||
finished: true,
|
||||
data: mockResponseData,
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
...mockResponse,
|
||||
finished: false,
|
||||
data: mockResponseData,
|
||||
};
|
||||
});
|
||||
});
|
||||
|
||||
describe("Tests for Response Service", () => {
|
||||
it("creates a response with an existing user", async () => {
|
||||
const response = await createResponse(mockResponseInputWithUserId);
|
||||
expect(response).toEqual(expectedResponseWithPerson);
|
||||
});
|
||||
|
||||
it("creates a response without an existing user", async () => {
|
||||
const response = await createResponse(mockResponseInputWithoutUserId);
|
||||
expect(response).toEqual(expectedResponseWithoutPerson);
|
||||
});
|
||||
|
||||
it("creates a new person if the person does not exists and then creates a response", async () => {
|
||||
prismaMock.person.findFirst.mockResolvedValue(null);
|
||||
prismaMock.person.create.mockResolvedValue(mockPerson);
|
||||
const response = await createResponse(mockResponseInputWithUserId);
|
||||
|
||||
expect(response).toEqual(expectedResponseWithPerson);
|
||||
|
||||
expect(prismaMock.person.create).toHaveBeenCalledWith({
|
||||
data: {
|
||||
environment: { connect: { id: mockEnvironmentId } },
|
||||
userId: mockUserId,
|
||||
},
|
||||
select: selectPerson,
|
||||
});
|
||||
});
|
||||
|
||||
it("updates a response (finished = true)", async () => {
|
||||
const response = await updateResponse(mockResponse.id, getMockUpdateResponseInput(true));
|
||||
expect(response).toEqual({
|
||||
...expectedResponseWithoutPerson,
|
||||
data: mockResponseData,
|
||||
});
|
||||
});
|
||||
|
||||
it("updates a response (finished = false)", async () => {
|
||||
const response = await updateResponse(mockResponse.id, getMockUpdateResponseInput(false));
|
||||
expect(response).toEqual({
|
||||
...expectedResponseWithoutPerson,
|
||||
finished: false,
|
||||
data: mockResponseData,
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// describe("Response Service", () => {
|
||||
// test("getResponsesByPersonId function", async () => {
|
||||
// const responses = await getResponsesByPersonId(mockPersonId, 1);
|
||||
|
||||
// const expectedResponses = [expectedResponse];
|
||||
|
||||
// expect(responses).toHaveLength(1);
|
||||
// expect(responses).toEqual(expectedResponses);
|
||||
// });
|
||||
|
||||
// test("getResponseBySingleUseId function", async () => {
|
||||
// const response = await getResponseBySingleUseId(mockSurveyId, mockSingleUseId);
|
||||
|
||||
// expect(response).toEqual(expectedResponse);
|
||||
// });
|
||||
|
||||
// test("createResponse function", async () => {
|
||||
// const response = await createResponse(mockResponseInput);
|
||||
// expect(response).toEqual(expectedResponse);
|
||||
// });
|
||||
|
||||
// test("getResponse function", async () => {
|
||||
// const response = await getResponse(mockResponseId);
|
||||
// expect(response).toEqual(expectedResponse);
|
||||
// });
|
||||
|
||||
// test("getResponses function", async () => {
|
||||
// const responses = await getResponses(mockSurveyId);
|
||||
// expect(responses).toEqual([expectedResponse]);
|
||||
// });
|
||||
|
||||
// test("getResponsesByEnvironmentId function", async () => {
|
||||
// const responses = await getResponsesByEnvironmentId(mockEnvironmentId, 1);
|
||||
// expect(responses).toHaveLength(1);
|
||||
// expect(responses).toEqual([expectedResponse]);
|
||||
// });
|
||||
|
||||
// test("updateResponse function", async () => {
|
||||
// const response = await updateResponse(mockResponseId, mockResponseInput);
|
||||
// expect(response).toEqual(expectedResponse);
|
||||
// });
|
||||
|
||||
// test("deleteResponse function", async () => {
|
||||
// const response = await deleteResponse(mockResponseId);
|
||||
// expect(response).toEqual(expectedResponse);
|
||||
// });
|
||||
|
||||
// test("getResponseCountBySurveyId function", async () => {
|
||||
// const count = await getResponseCountBySurveyId(mockSurveyId);
|
||||
// expect(count).toEqual(1);
|
||||
// });
|
||||
// });
|
||||
@@ -15,7 +15,7 @@ import { formatDateFields } from "../utils/datetime";
|
||||
import { validateInputs } from "../utils/validate";
|
||||
import { responseNoteCache } from "./cache";
|
||||
|
||||
const select = {
|
||||
export const responseNoteSelect = {
|
||||
id: true,
|
||||
createdAt: true,
|
||||
updatedAt: true,
|
||||
@@ -50,7 +50,7 @@ export const createResponseNote = async (
|
||||
userId: userId,
|
||||
text: text,
|
||||
},
|
||||
select,
|
||||
select: responseNoteSelect,
|
||||
});
|
||||
|
||||
responseCache.revalidate({
|
||||
@@ -81,7 +81,7 @@ export const getResponseNote = async (responseNoteId: string): Promise<TResponse
|
||||
where: {
|
||||
id: responseNoteId,
|
||||
},
|
||||
select,
|
||||
select: responseNoteSelect,
|
||||
});
|
||||
return responseNote;
|
||||
} catch (error) {
|
||||
@@ -109,7 +109,7 @@ export const getResponseNotes = async (responseId: string): Promise<TResponseNot
|
||||
where: {
|
||||
responseId,
|
||||
},
|
||||
select,
|
||||
select: responseNoteSelect,
|
||||
});
|
||||
if (!responseNotes) {
|
||||
throw new ResourceNotFoundError("Response Notes by ResponseId", responseId);
|
||||
@@ -143,7 +143,7 @@ export const updateResponseNote = async (responseNoteId: string, text: string):
|
||||
updatedAt: new Date(),
|
||||
isEdited: true,
|
||||
},
|
||||
select,
|
||||
select: responseNoteSelect,
|
||||
});
|
||||
|
||||
responseCache.revalidate({
|
||||
@@ -179,7 +179,7 @@ export const resolveResponseNote = async (responseNoteId: string): Promise<TResp
|
||||
updatedAt: new Date(),
|
||||
isResolved: true,
|
||||
},
|
||||
select,
|
||||
select: responseNoteSelect,
|
||||
});
|
||||
|
||||
responseCache.revalidate({
|
||||
|
||||
5
packages/lib/utils/common.ts
Normal file
5
packages/lib/utils/common.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import { createId } from "@paralleldrive/cuid2";
|
||||
|
||||
export function randomCuid2() {
|
||||
return createId();
|
||||
}
|
||||
274
pnpm-lock.yaml
generated
274
pnpm-lock.yaml
generated
@@ -44,7 +44,7 @@ importers:
|
||||
version: 2.0.18(react@18.2.0)
|
||||
next:
|
||||
specifier: 14.0.4
|
||||
version: 14.0.4(react-dom@18.2.0)(react@18.2.0)
|
||||
version: 14.0.4(@babel/core@7.23.6)(react-dom@18.2.0)(react@18.2.0)
|
||||
react:
|
||||
specifier: 18.2.0
|
||||
version: 18.2.0
|
||||
@@ -365,7 +365,7 @@ importers:
|
||||
version: 4.0.0
|
||||
next:
|
||||
specifier: 14.0.4
|
||||
version: 14.0.4(react-dom@18.2.0)(react@18.2.0)
|
||||
version: 14.0.4(@babel/core@7.23.6)(react-dom@18.2.0)(react@18.2.0)
|
||||
nodemailer:
|
||||
specifier: ^6.9.7
|
||||
version: 6.9.7
|
||||
@@ -593,7 +593,7 @@ importers:
|
||||
version: 3.0.0
|
||||
jest:
|
||||
specifier: ^29.7.0
|
||||
version: 29.7.0
|
||||
version: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2)
|
||||
jest-environment-jsdom:
|
||||
specifier: ^29.7.0
|
||||
version: 29.7.0
|
||||
@@ -635,7 +635,7 @@ importers:
|
||||
version: 2.2.2
|
||||
'@t3-oss/env-nextjs':
|
||||
specifier: ^0.7.1
|
||||
version: 0.7.1(zod@3.22.4)
|
||||
version: 0.7.1(typescript@5.3.3)(zod@3.22.4)
|
||||
aws-crt:
|
||||
specifier: ^1.20.0
|
||||
version: 1.20.0
|
||||
@@ -679,9 +679,24 @@ importers:
|
||||
'@types/mime':
|
||||
specifier: 3.0.4
|
||||
version: 3.0.4
|
||||
babel-jest:
|
||||
specifier: ^29.7.0
|
||||
version: 29.7.0(@babel/core@7.23.6)
|
||||
eslint-config-formbricks:
|
||||
specifier: workspace:*
|
||||
version: link:../eslint-config-formbricks
|
||||
jest:
|
||||
specifier: ^29.7.0
|
||||
version: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2)
|
||||
jest-mock-extended:
|
||||
specifier: ^3.0.5
|
||||
version: 3.0.5(jest@29.7.0)(typescript@5.3.3)
|
||||
ts-jest:
|
||||
specifier: ^29.1.1
|
||||
version: 29.1.1(@babel/core@7.23.6)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.3.3)
|
||||
ts-node:
|
||||
specifier: ^10.9.2
|
||||
version: 10.9.2(@types/node@20.10.4)(typescript@5.3.3)
|
||||
|
||||
packages/prettier-config:
|
||||
devDependencies:
|
||||
@@ -1097,7 +1112,6 @@ packages:
|
||||
dependencies:
|
||||
'@jridgewell/gen-mapping': 0.3.3
|
||||
'@jridgewell/trace-mapping': 0.3.20
|
||||
dev: true
|
||||
|
||||
/@aws-crypto/crc32@3.0.0:
|
||||
resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==}
|
||||
@@ -1738,7 +1752,6 @@ packages:
|
||||
/@babel/compat-data@7.23.5:
|
||||
resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/@babel/core@7.23.6:
|
||||
resolution: {integrity: sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==}
|
||||
@@ -1761,7 +1774,6 @@ packages:
|
||||
semver: 6.3.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@babel/generator@7.17.7:
|
||||
resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==}
|
||||
@@ -1780,7 +1792,6 @@ packages:
|
||||
'@jridgewell/gen-mapping': 0.3.3
|
||||
'@jridgewell/trace-mapping': 0.3.20
|
||||
jsesc: 2.5.2
|
||||
dev: true
|
||||
|
||||
/@babel/helper-annotate-as-pure@7.22.5:
|
||||
resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
|
||||
@@ -1805,7 +1816,6 @@ packages:
|
||||
browserslist: 4.22.2
|
||||
lru-cache: 5.1.1
|
||||
semver: 6.3.1
|
||||
dev: true
|
||||
|
||||
/@babel/helper-create-class-features-plugin@7.23.6(@babel/core@7.23.6):
|
||||
resolution: {integrity: sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw==}
|
||||
@@ -1855,7 +1865,6 @@ packages:
|
||||
/@babel/helper-environment-visitor@7.22.20:
|
||||
resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/@babel/helper-function-name@7.23.0:
|
||||
resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
|
||||
@@ -1863,14 +1872,12 @@ packages:
|
||||
dependencies:
|
||||
'@babel/template': 7.22.15
|
||||
'@babel/types': 7.23.6
|
||||
dev: true
|
||||
|
||||
/@babel/helper-hoist-variables@7.22.5:
|
||||
resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/types': 7.23.6
|
||||
dev: true
|
||||
|
||||
/@babel/helper-member-expression-to-functions@7.23.0:
|
||||
resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
|
||||
@@ -1884,7 +1891,6 @@ packages:
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/types': 7.23.6
|
||||
dev: true
|
||||
|
||||
/@babel/helper-module-transforms@7.23.3(@babel/core@7.23.6):
|
||||
resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
|
||||
@@ -1898,7 +1904,6 @@ packages:
|
||||
'@babel/helper-simple-access': 7.22.5
|
||||
'@babel/helper-split-export-declaration': 7.22.6
|
||||
'@babel/helper-validator-identifier': 7.22.20
|
||||
dev: true
|
||||
|
||||
/@babel/helper-optimise-call-expression@7.22.5:
|
||||
resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
|
||||
@@ -1941,7 +1946,6 @@ packages:
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/types': 7.23.6
|
||||
dev: true
|
||||
|
||||
/@babel/helper-skip-transparent-expression-wrappers@7.22.5:
|
||||
resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
|
||||
@@ -1955,12 +1959,10 @@ packages:
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/types': 7.23.6
|
||||
dev: true
|
||||
|
||||
/@babel/helper-string-parser@7.23.4:
|
||||
resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/@babel/helper-validator-identifier@7.22.20:
|
||||
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
|
||||
@@ -1969,7 +1971,6 @@ packages:
|
||||
/@babel/helper-validator-option@7.23.5:
|
||||
resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/@babel/helper-wrap-function@7.22.20:
|
||||
resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==}
|
||||
@@ -1989,7 +1990,6 @@ packages:
|
||||
'@babel/types': 7.23.6
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@babel/highlight@7.23.4:
|
||||
resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
|
||||
@@ -2005,7 +2005,6 @@ packages:
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@babel/types': 7.23.6
|
||||
dev: true
|
||||
|
||||
/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.6):
|
||||
resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==}
|
||||
@@ -2970,7 +2969,6 @@ packages:
|
||||
'@babel/code-frame': 7.23.5
|
||||
'@babel/parser': 7.23.6
|
||||
'@babel/types': 7.23.6
|
||||
dev: true
|
||||
|
||||
/@babel/traverse@7.23.2:
|
||||
resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==}
|
||||
@@ -3006,7 +3004,6 @@ packages:
|
||||
globals: 11.12.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@babel/types@7.17.0:
|
||||
resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
|
||||
@@ -3023,7 +3020,6 @@ packages:
|
||||
'@babel/helper-string-parser': 7.23.4
|
||||
'@babel/helper-validator-identifier': 7.22.20
|
||||
to-fast-properties: 2.0.0
|
||||
dev: true
|
||||
|
||||
/@base2/pretty-print-object@1.0.1:
|
||||
resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==}
|
||||
@@ -3067,6 +3063,13 @@ packages:
|
||||
resolution: {integrity: sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==}
|
||||
dev: false
|
||||
|
||||
/@cspotcode/source-map-support@0.8.1:
|
||||
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.9
|
||||
dev: true
|
||||
|
||||
/@docsearch/css@3.5.2:
|
||||
resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==}
|
||||
dev: false
|
||||
@@ -3881,7 +3884,7 @@ packages:
|
||||
slash: 3.0.0
|
||||
dev: true
|
||||
|
||||
/@jest/core@29.7.0:
|
||||
/@jest/core@29.7.0(ts-node@10.9.2):
|
||||
resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==}
|
||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
@@ -3902,7 +3905,7 @@ packages:
|
||||
exit: 0.1.2
|
||||
graceful-fs: 4.2.11
|
||||
jest-changed-files: 29.7.0
|
||||
jest-config: 29.7.0(@types/node@20.10.4)
|
||||
jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2)
|
||||
jest-haste-map: 29.7.0
|
||||
jest-message-util: 29.7.0
|
||||
jest-regex-util: 29.6.3
|
||||
@@ -4142,6 +4145,13 @@ packages:
|
||||
'@jridgewell/resolve-uri': 3.1.1
|
||||
'@jridgewell/sourcemap-codec': 1.4.15
|
||||
|
||||
/@jridgewell/trace-mapping@0.3.9:
|
||||
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
|
||||
dependencies:
|
||||
'@jridgewell/resolve-uri': 3.1.1
|
||||
'@jridgewell/sourcemap-codec': 1.4.15
|
||||
dev: true
|
||||
|
||||
/@json2csv/formatters@7.0.4:
|
||||
resolution: {integrity: sha512-qdlLx0Pk/+BQnu6zreLgGrdLyUzLNVdsyCUU/+2aduHg4zemVo/e0iWjPk1sy/QZXXh+1RXBe+IiP9eDyj95qg==}
|
||||
dev: false
|
||||
@@ -4857,41 +4867,41 @@ packages:
|
||||
engines: {node: '>=8.0.0'}
|
||||
dev: true
|
||||
|
||||
/@opentelemetry/core@1.18.1(@opentelemetry/api@1.7.0):
|
||||
resolution: {integrity: sha512-kvnUqezHMhsQvdsnhnqTNfAJs3ox/isB0SVrM1dhVFw7SsB7TstuVa6fgWnN2GdPyilIFLUvvbTZoVRmx6eiRg==}
|
||||
/@opentelemetry/core@1.19.0(@opentelemetry/api@1.7.0):
|
||||
resolution: {integrity: sha512-w42AukJh3TP8R0IZZOVJVM/kMWu8g+lm4LzT70WtuKqhwq7KVhcDzZZuZinWZa6TtQCl7Smt2wolEYzpHabOgw==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
'@opentelemetry/api': '>=1.0.0 <1.8.0'
|
||||
dependencies:
|
||||
'@opentelemetry/api': 1.7.0
|
||||
'@opentelemetry/semantic-conventions': 1.18.1
|
||||
'@opentelemetry/semantic-conventions': 1.19.0
|
||||
dev: true
|
||||
|
||||
/@opentelemetry/resources@1.18.1(@opentelemetry/api@1.7.0):
|
||||
resolution: {integrity: sha512-JjbcQLYMttXcIabflLRuaw5oof5gToYV9fuXbcsoOeQ0BlbwUn6DAZi++PNsSz2jjPeASfDls10iaO/8BRIPRA==}
|
||||
/@opentelemetry/resources@1.19.0(@opentelemetry/api@1.7.0):
|
||||
resolution: {integrity: sha512-RgxvKuuMOf7nctOeOvpDjt2BpZvZGr9Y0vf7eGtY5XYZPkh2p7e2qub1S2IArdBMf9kEbz0SfycqCviOu9isqg==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
'@opentelemetry/api': '>=1.0.0 <1.8.0'
|
||||
dependencies:
|
||||
'@opentelemetry/api': 1.7.0
|
||||
'@opentelemetry/core': 1.18.1(@opentelemetry/api@1.7.0)
|
||||
'@opentelemetry/semantic-conventions': 1.18.1
|
||||
'@opentelemetry/core': 1.19.0(@opentelemetry/api@1.7.0)
|
||||
'@opentelemetry/semantic-conventions': 1.19.0
|
||||
dev: true
|
||||
|
||||
/@opentelemetry/sdk-trace-base@1.18.1(@opentelemetry/api@1.7.0):
|
||||
resolution: {integrity: sha512-tRHfDxN5dO+nop78EWJpzZwHsN1ewrZRVVwo03VJa3JQZxToRDH29/+MB24+yoa+IArerdr7INFJiX/iN4gjqg==}
|
||||
/@opentelemetry/sdk-trace-base@1.19.0(@opentelemetry/api@1.7.0):
|
||||
resolution: {integrity: sha512-+IRvUm+huJn2KqfFW3yW/cjvRwJ8Q7FzYHoUNx5Fr0Lws0LxjMJG1uVB8HDpLwm7mg5XXH2M5MF+0jj5cM8BpQ==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
'@opentelemetry/api': '>=1.0.0 <1.8.0'
|
||||
dependencies:
|
||||
'@opentelemetry/api': 1.7.0
|
||||
'@opentelemetry/core': 1.18.1(@opentelemetry/api@1.7.0)
|
||||
'@opentelemetry/resources': 1.18.1(@opentelemetry/api@1.7.0)
|
||||
'@opentelemetry/semantic-conventions': 1.18.1
|
||||
'@opentelemetry/core': 1.19.0(@opentelemetry/api@1.7.0)
|
||||
'@opentelemetry/resources': 1.19.0(@opentelemetry/api@1.7.0)
|
||||
'@opentelemetry/semantic-conventions': 1.19.0
|
||||
dev: true
|
||||
|
||||
/@opentelemetry/semantic-conventions@1.18.1:
|
||||
resolution: {integrity: sha512-+NLGHr6VZwcgE/2lw8zDIufOCGnzsA5CbQIMleXZTrgkBd0TanCX+MiDYJ1TOS4KL/Tqk0nFRxawnaYr6pkZkA==}
|
||||
/@opentelemetry/semantic-conventions@1.19.0:
|
||||
resolution: {integrity: sha512-14jRpC8f5c0gPSwoZ7SbEJni1PqI+AhAE8m1bMz6v+RPM4OlP1PT2UHBJj5Qh/ALLPjhVU/aZUK3YyjTUqqQVg==}
|
||||
engines: {node: '>=14'}
|
||||
dev: true
|
||||
|
||||
@@ -5054,7 +5064,7 @@ packages:
|
||||
resolution: {integrity: sha512-JtvdEy9GeGU/xeTYOq3SEN4DiAytHoQty/4pJTZ5vNoGMnu7XF1ToprOCPzyT5oSgm3oQQuwpXMVaebJegwA4Q==}
|
||||
dependencies:
|
||||
'@opentelemetry/api': 1.7.0
|
||||
'@opentelemetry/sdk-trace-base': 1.18.1(@opentelemetry/api@1.7.0)
|
||||
'@opentelemetry/sdk-trace-base': 1.19.0(@opentelemetry/api@1.7.0)
|
||||
'@prisma/debug': 4.6.1
|
||||
'@prisma/engines': 4.6.1
|
||||
'@prisma/generator-helper': 4.6.1
|
||||
@@ -6891,7 +6901,7 @@ packages:
|
||||
'@sentry/vercel-edge': 7.87.0
|
||||
'@sentry/webpack-plugin': 1.21.0(encoding@0.1.13)
|
||||
chalk: 3.0.0
|
||||
next: 14.0.4(react-dom@18.2.0)(react@18.2.0)
|
||||
next: 14.0.4(@babel/core@7.23.6)(react-dom@18.2.0)(react@18.2.0)
|
||||
react: 18.2.0
|
||||
resolve: 1.22.8
|
||||
rollup: 2.78.0
|
||||
@@ -8050,7 +8060,7 @@ packages:
|
||||
defer-to-connect: 1.1.3
|
||||
dev: false
|
||||
|
||||
/@t3-oss/env-core@0.7.1(zod@3.22.4):
|
||||
/@t3-oss/env-core@0.7.1(typescript@5.3.3)(zod@3.22.4):
|
||||
resolution: {integrity: sha512-3+SQt39OlmSaRLqYVFv8uRm1BpFepM5TIiMytRqO9cjH+wB77o6BIJdeyM5h5U4qLBMEzOJWCY4MBaU/rLwbYw==}
|
||||
peerDependencies:
|
||||
typescript: '>=4.7.2'
|
||||
@@ -8059,10 +8069,11 @@ packages:
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
typescript: 5.3.3
|
||||
zod: 3.22.4
|
||||
dev: false
|
||||
|
||||
/@t3-oss/env-nextjs@0.7.1(zod@3.22.4):
|
||||
/@t3-oss/env-nextjs@0.7.1(typescript@5.3.3)(zod@3.22.4):
|
||||
resolution: {integrity: sha512-tQDbNLGCOvKGi+JoGuJ/CJInJI7/kLWJqtgGppAKS7ZFLdVOqZYR/uRjxlXOWPnxmUKF8VswOAsq7fXUpNZDhA==}
|
||||
peerDependencies:
|
||||
typescript: '>=4.7.2'
|
||||
@@ -8071,7 +8082,8 @@ packages:
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@t3-oss/env-core': 0.7.1(zod@3.22.4)
|
||||
'@t3-oss/env-core': 0.7.1(typescript@5.3.3)(zod@3.22.4)
|
||||
typescript: 5.3.3
|
||||
zod: 3.22.4
|
||||
dev: false
|
||||
|
||||
@@ -8152,6 +8164,22 @@ packages:
|
||||
path-browserify: 1.0.1
|
||||
dev: true
|
||||
|
||||
/@tsconfig/node10@1.0.9:
|
||||
resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
|
||||
dev: true
|
||||
|
||||
/@tsconfig/node12@1.0.11:
|
||||
resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
|
||||
dev: true
|
||||
|
||||
/@tsconfig/node14@1.0.3:
|
||||
resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
|
||||
dev: true
|
||||
|
||||
/@tsconfig/node16@1.0.4:
|
||||
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
|
||||
dev: true
|
||||
|
||||
/@types/acorn@4.0.6:
|
||||
resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
|
||||
dependencies:
|
||||
@@ -9303,6 +9331,10 @@ packages:
|
||||
zip-stream: 4.1.1
|
||||
dev: true
|
||||
|
||||
/arg@4.1.3:
|
||||
resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
|
||||
dev: true
|
||||
|
||||
/arg@5.0.2:
|
||||
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
|
||||
|
||||
@@ -9794,6 +9826,13 @@ packages:
|
||||
node-releases: 2.0.14
|
||||
update-browserslist-db: 1.0.13(browserslist@4.22.2)
|
||||
|
||||
/bs-logger@0.2.6:
|
||||
resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
|
||||
engines: {node: '>= 6'}
|
||||
dependencies:
|
||||
fast-json-stable-stringify: 2.1.0
|
||||
dev: true
|
||||
|
||||
/bser@2.1.1:
|
||||
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
|
||||
dependencies:
|
||||
@@ -10471,7 +10510,6 @@ packages:
|
||||
|
||||
/convert-source-map@2.0.0:
|
||||
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
|
||||
dev: true
|
||||
|
||||
/cookie-signature@1.0.6:
|
||||
resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
|
||||
@@ -10516,7 +10554,7 @@ packages:
|
||||
capture-stack-trace: 1.0.2
|
||||
dev: false
|
||||
|
||||
/create-jest@29.7.0:
|
||||
/create-jest@29.7.0(@types/node@20.10.4)(ts-node@10.9.2):
|
||||
resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
|
||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||
hasBin: true
|
||||
@@ -10525,7 +10563,7 @@ packages:
|
||||
chalk: 4.1.2
|
||||
exit: 0.1.2
|
||||
graceful-fs: 4.2.11
|
||||
jest-config: 29.7.0(@types/node@20.10.4)
|
||||
jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2)
|
||||
jest-util: 29.7.0
|
||||
prompts: 2.4.2
|
||||
transitivePeerDependencies:
|
||||
@@ -10535,6 +10573,10 @@ packages:
|
||||
- ts-node
|
||||
dev: true
|
||||
|
||||
/create-require@1.1.1:
|
||||
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
|
||||
dev: true
|
||||
|
||||
/cross-env@7.0.3:
|
||||
resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
|
||||
engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
|
||||
@@ -10885,6 +10927,11 @@ packages:
|
||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||
dev: true
|
||||
|
||||
/diff@4.0.2:
|
||||
resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
|
||||
engines: {node: '>=0.3.1'}
|
||||
dev: true
|
||||
|
||||
/diff@5.1.0:
|
||||
resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==}
|
||||
engines: {node: '>=0.3.1'}
|
||||
@@ -12285,7 +12332,6 @@ packages:
|
||||
/gensync@1.0.0-beta.2:
|
||||
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/get-caller-file@2.0.5:
|
||||
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
|
||||
@@ -12502,7 +12548,6 @@ packages:
|
||||
/globals@11.12.0:
|
||||
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/globals@13.24.0:
|
||||
resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
|
||||
@@ -13613,7 +13658,7 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/jest-cli@29.7.0:
|
||||
/jest-cli@29.7.0(@types/node@20.10.4)(ts-node@10.9.2):
|
||||
resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
|
||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||
hasBin: true
|
||||
@@ -13623,14 +13668,14 @@ packages:
|
||||
node-notifier:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@jest/core': 29.7.0
|
||||
'@jest/core': 29.7.0(ts-node@10.9.2)
|
||||
'@jest/test-result': 29.7.0
|
||||
'@jest/types': 29.6.3
|
||||
chalk: 4.1.2
|
||||
create-jest: 29.7.0
|
||||
create-jest: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2)
|
||||
exit: 0.1.2
|
||||
import-local: 3.1.0
|
||||
jest-config: 29.7.0(@types/node@20.10.4)
|
||||
jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2)
|
||||
jest-util: 29.7.0
|
||||
jest-validate: 29.7.0
|
||||
yargs: 17.7.2
|
||||
@@ -13641,7 +13686,7 @@ packages:
|
||||
- ts-node
|
||||
dev: true
|
||||
|
||||
/jest-config@29.7.0(@types/node@20.10.4):
|
||||
/jest-config@29.7.0(@types/node@20.10.4)(ts-node@10.9.2):
|
||||
resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
|
||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
@@ -13676,6 +13721,7 @@ packages:
|
||||
pretty-format: 29.7.0
|
||||
slash: 3.0.0
|
||||
strip-json-comments: 3.1.1
|
||||
ts-node: 10.9.2(@types/node@20.10.4)(typescript@5.3.3)
|
||||
transitivePeerDependencies:
|
||||
- babel-plugin-macros
|
||||
- supports-color
|
||||
@@ -13810,6 +13856,17 @@ packages:
|
||||
stack-utils: 2.0.6
|
||||
dev: true
|
||||
|
||||
/jest-mock-extended@3.0.5(jest@29.7.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-/eHdaNPUAXe7f65gHH5urc8SbRVWjYxBqmCgax2uqOBJy8UUcCBMN1upj1eZ8y/i+IqpyEm4Kq0VKss/GCCTdw==}
|
||||
peerDependencies:
|
||||
jest: ^24.0.0 || ^25.0.0 || ^26.0.0 || ^27.0.0 || ^28.0.0 || ^29.0.0
|
||||
typescript: ^3.0.0 || ^4.0.0 || ^5.0.0
|
||||
dependencies:
|
||||
jest: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2)
|
||||
ts-essentials: 7.0.3(typescript@5.3.3)
|
||||
typescript: 5.3.3
|
||||
dev: true
|
||||
|
||||
/jest-mock@27.5.1:
|
||||
resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==}
|
||||
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
|
||||
@@ -14013,7 +14070,7 @@ packages:
|
||||
supports-color: 8.1.1
|
||||
dev: true
|
||||
|
||||
/jest@29.7.0:
|
||||
/jest@29.7.0(@types/node@20.10.4)(ts-node@10.9.2):
|
||||
resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
|
||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||
hasBin: true
|
||||
@@ -14023,10 +14080,10 @@ packages:
|
||||
node-notifier:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@jest/core': 29.7.0
|
||||
'@jest/core': 29.7.0(ts-node@10.9.2)
|
||||
'@jest/types': 29.6.3
|
||||
import-local: 3.1.0
|
||||
jest-cli: 29.7.0
|
||||
jest-cli: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- babel-plugin-macros
|
||||
@@ -14140,7 +14197,6 @@ packages:
|
||||
resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/json-bigint@1.0.0:
|
||||
resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==}
|
||||
@@ -14625,7 +14681,6 @@ packages:
|
||||
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
|
||||
dependencies:
|
||||
yallist: 3.1.1
|
||||
dev: true
|
||||
|
||||
/lru-cache@6.0.0:
|
||||
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
|
||||
@@ -14679,6 +14734,10 @@ packages:
|
||||
semver: 7.5.4
|
||||
dev: true
|
||||
|
||||
/make-error@1.3.6:
|
||||
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
|
||||
dev: true
|
||||
|
||||
/make-event-props@1.6.2:
|
||||
resolution: {integrity: sha512-iDwf7mA03WPiR8QxvcVHmVWEPfMY1RZXerDVNCRYW7dUr2ppH3J58Rwb39/WG39yTZdRSxr3x+2v22tvI0VEvA==}
|
||||
dev: true
|
||||
@@ -15652,7 +15711,7 @@ packages:
|
||||
'@panva/hkdf': 1.1.1
|
||||
cookie: 0.5.0
|
||||
jose: 4.15.4
|
||||
next: 14.0.4(react-dom@18.2.0)(react@18.2.0)
|
||||
next: 14.0.4(@babel/core@7.23.6)(react-dom@18.2.0)(react@18.2.0)
|
||||
nodemailer: 6.9.7
|
||||
oauth: 0.9.15
|
||||
openid-client: 5.6.1
|
||||
@@ -15735,7 +15794,7 @@ packages:
|
||||
postcss: 8.4.14
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0(react@18.2.0)
|
||||
styled-jsx: 5.1.1(react@18.2.0)
|
||||
styled-jsx: 5.1.1(@babel/core@7.23.6)(react@18.2.0)
|
||||
watchpack: 2.4.0
|
||||
zod: 3.21.4
|
||||
optionalDependencies:
|
||||
@@ -15753,7 +15812,7 @@ packages:
|
||||
- babel-plugin-macros
|
||||
dev: false
|
||||
|
||||
/next@14.0.4(react-dom@18.2.0)(react@18.2.0):
|
||||
/next@14.0.4(@babel/core@7.23.6)(react-dom@18.2.0)(react@18.2.0):
|
||||
resolution: {integrity: sha512-qbwypnM7327SadwFtxXnQdGiKpkuhaRLE2uq62/nRul9cj9KhQ5LhHmlziTNqUidZotw/Q1I9OjirBROdUJNgA==}
|
||||
engines: {node: '>=18.17.0'}
|
||||
hasBin: true
|
||||
@@ -15776,7 +15835,7 @@ packages:
|
||||
postcss: 8.4.31
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0(react@18.2.0)
|
||||
styled-jsx: 5.1.1(react@18.2.0)
|
||||
styled-jsx: 5.1.1(@babel/core@7.23.6)(react@18.2.0)
|
||||
watchpack: 2.4.0
|
||||
optionalDependencies:
|
||||
'@next/swc-darwin-arm64': 14.0.4
|
||||
@@ -18604,7 +18663,7 @@ packages:
|
||||
inline-style-parser: 0.1.1
|
||||
dev: false
|
||||
|
||||
/styled-jsx@5.1.1(react@18.2.0):
|
||||
/styled-jsx@5.1.1(@babel/core@7.23.6)(react@18.2.0):
|
||||
resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
peerDependencies:
|
||||
@@ -18617,6 +18676,7 @@ packages:
|
||||
babel-plugin-macros:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@babel/core': 7.23.6
|
||||
client-only: 0.0.1
|
||||
react: 18.2.0
|
||||
dev: false
|
||||
@@ -18923,7 +18983,6 @@ packages:
|
||||
/to-fast-properties@2.0.0:
|
||||
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/to-readable-stream@1.0.0:
|
||||
resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==}
|
||||
@@ -19024,9 +19083,52 @@ packages:
|
||||
resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==}
|
||||
dev: false
|
||||
|
||||
/ts-essentials@7.0.3(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==}
|
||||
peerDependencies:
|
||||
typescript: '>=3.7.0'
|
||||
dependencies:
|
||||
typescript: 5.3.3
|
||||
dev: true
|
||||
|
||||
/ts-interface-checker@0.1.13:
|
||||
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
|
||||
|
||||
/ts-jest@29.1.1(@babel/core@7.23.6)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==}
|
||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@babel/core': '>=7.0.0-beta.0 <8'
|
||||
'@jest/types': ^29.0.0
|
||||
babel-jest: ^29.0.0
|
||||
esbuild: '*'
|
||||
jest: ^29.0.0
|
||||
typescript: '>=4.3 <6'
|
||||
peerDependenciesMeta:
|
||||
'@babel/core':
|
||||
optional: true
|
||||
'@jest/types':
|
||||
optional: true
|
||||
babel-jest:
|
||||
optional: true
|
||||
esbuild:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@babel/core': 7.23.6
|
||||
babel-jest: 29.7.0(@babel/core@7.23.6)
|
||||
bs-logger: 0.2.6
|
||||
fast-json-stable-stringify: 2.1.0
|
||||
jest: 29.7.0(@types/node@20.10.4)(ts-node@10.9.2)
|
||||
jest-util: 29.7.0
|
||||
json5: 2.2.3
|
||||
lodash.memoize: 4.1.2
|
||||
make-error: 1.3.6
|
||||
semver: 7.5.4
|
||||
typescript: 5.3.3
|
||||
yargs-parser: 21.1.1
|
||||
dev: true
|
||||
|
||||
/ts-morph@13.0.3:
|
||||
resolution: {integrity: sha512-pSOfUMx8Ld/WUreoSzvMFQG5i9uEiWIsBYjpU9+TTASOeUa89j5HykomeqVULm1oqWtBdleI3KEFRLrlA3zGIw==}
|
||||
dependencies:
|
||||
@@ -19034,6 +19136,37 @@ packages:
|
||||
code-block-writer: 11.0.3
|
||||
dev: true
|
||||
|
||||
/ts-node@10.9.2(@types/node@20.10.4)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@swc/core': '>=1.2.50'
|
||||
'@swc/wasm': '>=1.2.50'
|
||||
'@types/node': '*'
|
||||
typescript: '>=2.7'
|
||||
peerDependenciesMeta:
|
||||
'@swc/core':
|
||||
optional: true
|
||||
'@swc/wasm':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@cspotcode/source-map-support': 0.8.1
|
||||
'@tsconfig/node10': 1.0.9
|
||||
'@tsconfig/node12': 1.0.11
|
||||
'@tsconfig/node14': 1.0.3
|
||||
'@tsconfig/node16': 1.0.4
|
||||
'@types/node': 20.10.4
|
||||
acorn: 8.11.2
|
||||
acorn-walk: 8.3.1
|
||||
arg: 4.1.3
|
||||
create-require: 1.1.1
|
||||
diff: 4.0.2
|
||||
make-error: 1.3.6
|
||||
typescript: 5.3.3
|
||||
v8-compile-cache-lib: 3.0.1
|
||||
yn: 3.1.1
|
||||
dev: true
|
||||
|
||||
/ts-pattern@4.3.0:
|
||||
resolution: {integrity: sha512-pefrkcd4lmIVR0LA49Imjf9DYLK8vtWhqBPA3Ya1ir8xCW0O2yjL9dsCVvI7pCodLC5q7smNpEtDR2yVulQxOg==}
|
||||
dev: true
|
||||
@@ -19315,7 +19448,6 @@ packages:
|
||||
resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
|
||||
engines: {node: '>=14.17'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/ua-parser-js@1.0.37:
|
||||
resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==}
|
||||
@@ -19747,6 +19879,10 @@ packages:
|
||||
sade: 1.8.1
|
||||
dev: false
|
||||
|
||||
/v8-compile-cache-lib@3.0.1:
|
||||
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
|
||||
dev: true
|
||||
|
||||
/v8-to-istanbul@9.2.0:
|
||||
resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==}
|
||||
engines: {node: '>=10.12.0'}
|
||||
@@ -20283,7 +20419,6 @@ packages:
|
||||
|
||||
/yallist@3.1.1:
|
||||
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
|
||||
dev: true
|
||||
|
||||
/yallist@4.0.0:
|
||||
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
||||
@@ -20365,6 +20500,11 @@ packages:
|
||||
lib0: 0.2.88
|
||||
dev: false
|
||||
|
||||
/yn@3.1.1:
|
||||
resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/yocto-queue@0.1.0:
|
||||
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
Reference in New Issue
Block a user