@athenna/http
Version:
The Athenna Http server. Built on top of fastify.
241 lines (240 loc) • 7.28 kB
JSON
{
"name": "@athenna/http",
"version": "5.28.0",
"description": "The Athenna Http server. Built on top of fastify.",
"license": "MIT",
"author": "João Lenon <lenon@athenna.io>",
"bugs": "https://github.com/AthennaIO/Http/issues",
"repository": "https://github.com/AthennaIO/Http.git",
"homepage": "https://github.com/AthennaIO/Http#readme",
"keywords": [
"fastify",
"router",
"cors",
"ctx",
"helmet",
"swagger",
"exception-handling",
"rate-limiting",
"middlewares",
"terminators",
"interceptors",
"http-server",
"athenna",
"esm"
],
"engines": {
"node": ">=20.0.0"
},
"scripts": {
"build": "node node_modules/@athenna/tsconfig/src/build.js",
"lint:fix": "eslint \"{bin,src,tests}/**/*.ts\" --fix",
"benchmark": "node --no-warnings --enable-source-maps --import=@athenna/tsconfig tests/benchmarks/ServerTest.ts",
"test": "npm run --silent lint:fix && node --enable-source-maps --import=@athenna/tsconfig bin/test.ts",
"test:debug": "cross-env NODE_DEBUG=athenna:* node --inspect --enable-source-maps --import=@athenna/tsconfig bin/test.ts",
"test:coverage": "c8 npm run --silent test"
},
"files": [
"src/*.js",
"src/*.d.ts",
"src/**/*.js",
"src/**/*.d.ts",
"templates",
"configurer",
"resources"
],
"type": "module",
"main": "./src/index.js",
"types": "./src/index.d.ts",
"exports": {
".": "./src/index.js",
"./types": "./src/types/index.js",
"./package": "./package.json",
"./package.json": "./package.json",
"./vite/plugin": "./src/vite/plugin.js",
"./testing/plugins": "./src/testing/plugins/index.js",
"./kernels/HttpKernel": "./src/kernels/HttpKernel.js",
"./handlers/HttpExceptionHandler": "./src/handlers/HttpExceptionHandler.js",
"./providers/HttpRouteProvider": "./src/providers/HttpRouteProvider.js",
"./providers/HttpServerProvider": "./src/providers/HttpServerProvider.js",
"./commands/RouteListCommand": "./src/commands/RouteListCommand.js",
"./commands/MakeControllerCommand": "./src/commands/MakeControllerCommand.js",
"./commands/MakeMiddlewareCommand": "./src/commands/MakeMiddlewareCommand.js",
"./commands/MakeTerminatorCommand": "./src/commands/MakeTerminatorCommand.js",
"./commands/MakeInterceptorCommand": "./src/commands/MakeInterceptorCommand.js"
},
"imports": {
"#bin/*": "./bin/*.js",
"#bin": "./bin/index.js",
"#src/*": "./src/*.js",
"#src": "./src/index.js",
"#src/types": "./src/types/index.js",
"#src/debug": "./src/debug/index.js",
"#tests/*": "./tests/*.js",
"#tests": "./tests/index.js"
},
"devDependencies": {
"@athenna/artisan": "^5.6.0",
"@athenna/common": "^5.7.0",
"@athenna/config": "^5.3.0",
"@athenna/ioc": "^5.1.0",
"@athenna/logger": "^5.3.0",
"@athenna/test": "^5.3.0",
"@athenna/tsconfig": "^5.0.0",
"@athenna/view": "^5.3.0",
"@athenna/vite": "^5.13.0",
"@fastify/cors": "^10.0.2",
"@fastify/helmet": "^13.0.1",
"@fastify/multipart": "^9.0.3",
"@fastify/rate-limit": "^10.2.2",
"@fastify/static": "^8.0.4",
"@fastify/swagger": "^9.4.2",
"@fastify/swagger-ui": "^5.2.1",
"@typescript-eslint/eslint-plugin": "^8.21.0",
"@typescript-eslint/parser": "^8.21.0",
"autocannon": "^7.15.0",
"commitizen": "^4.3.1",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^8.57.1",
"eslint-config-prettier": "^8.10.0",
"eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-n": "^15.7.0",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-promise": "^6.6.0",
"foreground-child": "^2.0.0",
"husky": "^3.1.0",
"lint-staged": "^12.5.0",
"ora": "^8.1.1",
"prettier": "^2.8.8",
"vite": "^6.0.11",
"vite-plugin-restart": "^0.4.2"
},
"c8": {
"all": true,
"include": [
"src/**/*.ts"
],
"exclude": [
"src/types/*",
"src/exceptions/*",
"src/commands/*"
],
"reporter": [
"text-summary",
"html"
],
"report-dir": "./tests/coverage",
"check-coverage": true
},
"husky": {
"hooks": {
"prepare-commit-msg": "lint-staged && exec < /dev/tty && git cz --hook || true"
}
},
"lint-staged": {
"*.ts": [
"eslint --fix",
"git add"
],
"*.json": [
"prettier --write",
"git add"
]
},
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
},
"prettier": {
"singleQuote": true,
"trailingComma": "none",
"arrowParens": "avoid",
"endOfLine": "lf",
"semi": false,
"printWidth": 80,
"overrides": [
{
"files": "tests/**/*",
"options": {
"printWidth": 120
}
}
]
},
"eslintIgnore": [],
"eslintConfig": {
"env": {
"es2021": true,
"node": true
},
"globals": {
"ioc": true,
"Env": true,
"Path": true,
"Config": true
},
"plugins": [
"prettier",
"@typescript-eslint"
],
"extends": [
"standard",
"eslint:recommended",
"plugin:prettier/recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/eslint-recommended"
],
"parser": "@typescript-eslint/parser",
"rules": {
"camelcase": "off",
"dot-notation": "off",
"prettier/prettier": "error",
"no-useless-constructor": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-unused-vars": [
"error",
{
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^_",
"caughtErrorsIgnorePattern": "^_"
}
]
}
},
"athenna": {
"templates": {
"controller": "./templates/controller.edge",
"interceptor": "./templates/interceptor.edge",
"middleware": "./templates/middleware.edge",
"terminator": "./templates/terminator.edge",
"command": "@athenna/artisan/templates/command.edge"
},
"controllers": [
"#tests/fixtures/controllers/HelloController",
"#tests/fixtures/controllers/AnnotatedController"
],
"middlewares": [
"#tests/fixtures/middlewares/MyMiddleware",
"#tests/fixtures/middlewares/ImportedMiddleware"
],
"namedMiddlewares": {
"myMiddleware": "#tests/fixtures/middlewares/MyMiddleware",
"myInterceptor": "#tests/fixtures/middlewares/MyInterceptor",
"myTerminator": "#tests/fixtures/middlewares/MyTerminator",
"not-found-middleware": "#tests/fixtures/middlewares/AnnotatedMiddleware",
"not-found-interceptor": "#tests/fixtures/middlewares/AnnotatedInterceptor",
"not-found-terminator": "#tests/fixtures/middlewares/AnnotatedTerminator"
},
"globalMiddlewares": [
"#tests/fixtures/middlewares/MyMiddleware",
"#tests/fixtures/middlewares/MyInterceptor",
"#tests/fixtures/middlewares/MyTerminator",
"#tests/fixtures/middlewares/AnnotatedGlobalMiddleware",
"#tests/fixtures/middlewares/AnnotatedGlobalInterceptor",
"#tests/fixtures/middlewares/AnnotatedGlobalTerminator"
]
}
}