From 42a457cfc830991d090edfb90587eb65fe51057a Mon Sep 17 00:00:00 2001 From: Dmitriy Bratchikov Date: Mon, 27 May 2024 16:35:37 +0700 Subject: [PATCH] feature: added jest config --- jest.config.ts | 24 +++++++++++++ jest.setup.ts | 1 + package.json | 94 ++++++++++++++++++++++++++------------------------ 3 files changed, 73 insertions(+), 46 deletions(-) create mode 100644 jest.config.ts create mode 100644 jest.setup.ts diff --git a/jest.config.ts b/jest.config.ts new file mode 100644 index 0000000..549793a --- /dev/null +++ b/jest.config.ts @@ -0,0 +1,24 @@ +import type { Config } from "jest" + +import nextJest from "next/jest.js" + +const createJestConfig = nextJest({ + dir: "./", +}) + +const config: Config = { + coverageProvider: "v8", + testEnvironment: "jsdom", + setupFilesAfterEnv: ["/jest.setup.ts"], + moduleNameMapper: { + "@app/(.*)$": "/src/app/$1", + "@entities/(.*)$": "/src/entities/$1", + "@features/(.*)$": "/src/features/$1", + "@pagesLayer/(.*)$": "/src/pagesLayer/$1", + "@shared/(.*)$": "/src/shared/$1", + "@widgets/(.*)$": "/src/widgets/$1", + "@/(.*)$": "/src/$1", + }, +} + +export default createJestConfig(config) diff --git a/jest.setup.ts b/jest.setup.ts new file mode 100644 index 0000000..df6631e --- /dev/null +++ b/jest.setup.ts @@ -0,0 +1 @@ +import "@testing-library/jest-dom" diff --git a/package.json b/package.json index 832af9d..595326c 100644 --- a/package.json +++ b/package.json @@ -1,48 +1,50 @@ { - "name": "fsd-nest-template", - "description": "Pure Next.js FSD template with stylelint, prettier and eslint", - "author": { - "name": "@yunglocokid (Dmitriy Bratchikov)", - "url": "https://github.com/yunglocokid" - }, - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint", - "lint:prettier": "prettier . --write" - }, - "dependencies": { - "next": "14.2.3", - "normalize.css": "^8.0.1", - "react": "^18", - "react-dom": "^18" - }, - "devDependencies": { - "@ianvs/prettier-plugin-sort-imports": "^4.2.1", - "@testing-library/jest-dom": "^6.4.5", - "@testing-library/react": "^15.0.7", - "@types/node": "^20", - "@types/react": "^18", - "@types/react-dom": "^18", - "eslint": "^8", - "eslint-config-next": "14.2.3", - "eslint-import-resolver-typescript": "^3.6.1", - "eslint-plugin-boundaries": "^4.2.1", - "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-react-refresh": "^0.4.7", - "jest": "^29.7.0", - "jest-environment-jsdom": "^29.7.0", - "prettier": "^3.2.5", - "sass": "^1.77.1", - "stylelint": "^16.5.0", - "stylelint-config-standard": "^36.0.0", - "stylelint-config-standard-scss": "^13.1.0", - "stylelint-order": "^6.0.4", - "stylelint-order-config-standard": "^0.1.3", - "typescript": "^5", - "typescript-eslint": "^7.10.0" - } + "name": "fsd-nest-template", + "description": "Pure Next.js FSD template with stylelint, prettier and eslint", + "author": { + "name": "@yunglocokid (Dmitriy Bratchikov)", + "url": "https://github.com/yunglocokid" + }, + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint", + "lint:prettier": "prettier . --write", + "test": "jest", + "test:watch": "jest --watch" + }, + "dependencies": { + "next": "14.2.3", + "normalize.css": "^8.0.1", + "react": "^18", + "react-dom": "^18" + }, + "devDependencies": { + "@ianvs/prettier-plugin-sort-imports": "^4.2.1", + "@testing-library/jest-dom": "^6.4.5", + "@testing-library/react": "^15.0.7", + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "eslint": "^8", + "eslint-config-next": "14.2.3", + "eslint-import-resolver-typescript": "^3.6.1", + "eslint-plugin-boundaries": "^4.2.1", + "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-react-refresh": "^0.4.7", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "prettier": "^3.2.5", + "sass": "^1.77.1", + "stylelint": "^16.5.0", + "stylelint-config-standard": "^36.0.0", + "stylelint-config-standard-scss": "^13.1.0", + "stylelint-order": "^6.0.4", + "stylelint-order-config-standard": "^0.1.3", + "typescript": "^5", + "typescript-eslint": "^7.10.0" + } }