IT4C.dev/backend/package.json
Ulf Gebhardt 73f51b8bc4
feat(other): backend - mail api for it4c (#231)
* backend - mail api for it4c

Implements an fastify backend service with an email service.
This allows to send us emails received via contact form on the website.

* optional telephone

* missing text delimiter

* start command and correct build method to classicjs

* deploy for backend & adjust README.md

* debug deploy [1]

* debug deploy [2]

* debug deploy [3]

* debug deploy [4]

* debug deploy [5]

* finish deploy script

* watch when running npm run dev

* fix format validation

* debug sendmail[1]

* debug sendmail[2]

* debug sendmail[3]

* debug sendmail[4]

* debug sendmail[5]

* env for MAIL_HOST

* referece name in email subject

* fix format string

* eslint

* backend build & lint workflows

* order comments

* unit tests

* unit test workflow

* prettier

* alias paths

* fix esm support

* 100% tests

* corrected nodejs version

* use beforeEach to clearAllMocks

This simplifies the code and reduces redundancy

* fix wrong import
2025-03-07 10:32:56 +01:00

75 lines
2.1 KiB
JSON

{
"name": "it4c.dev-backend",
"version": "1.0.0",
"description": "IT4C.dev backend",
"license": "Apache-2.0",
"author": "Ulf Gebhardt",
"type": "commonjs",
"main": "index.js",
"repository": {
"type": "git",
"url": "git+https://github.com/IT4Change/IT4C.dev.git"
},
"scripts": {
"start": "node ./build/index.js",
"build": "tsc",
"dev": "tsx watch ./src/index.ts",
"test:unit": "jest",
"test:lint:eslint": "eslint --ext .ts,.tsx,.js,.jsx,.cjs,.mjs,.json,.yml,.yaml --max-warnings 0 .",
"update": "npx npm-check-updates"
},
"devDependencies": {
"@eslint-community/eslint-plugin-eslint-comments": "^4.4.1",
"@types/jest": "^29.5.14",
"@types/nodemailer": "^6.4.17",
"@typescript-eslint/eslint-plugin": "^5.62.0",
"@typescript-eslint/parser": "^5.62.0",
"eslint": "^8.24.0",
"eslint-config-prettier": "^9.1.0",
"eslint-config-standard": "^17.1.0",
"eslint-import-resolver-typescript": "^3.6.3",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-json": "^3.1.0",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-no-catch-all": "^1.1.0",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-react": "^7.31.8",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.18",
"eslint-plugin-security": "^3.0.1",
"eslint-plugin-yml": "^1.14.0",
"jest": "^29.7.0",
"ts-jest": "^29.2.6",
"tsx": "^4.19.3",
"typescript": "^5.7.3"
},
"dependencies": {
"@fastify/type-provider-typebox": "^5.1.0",
"fastify": "^5.2.1",
"nodemailer": "^6.10.0",
"ts-dotenv": "^0.9.1"
},
"jest": {
"preset": "ts-jest",
"testEnvironment": "node",
"setupFiles": [
"./jest/setup.loadEnv.ts"
],
"collectCoverage": true,
"coverageThreshold": {
"global": {
"branches": 100,
"functions": 100,
"lines": 100,
"statements": 100
}
},
"modulePathIgnorePatterns": ["<rootDir>/build/"]
},
"imports": {
"#src/*": "./src/*",
"#root/*": "./*"
}
}