@adonisjs/http-server
Advanced tools
Comparing version 7.0.0-1 to 7.0.0-2
@@ -1,14 +0,332 @@ | ||
/* | ||
* @adonisjs/http-server | ||
* | ||
* (c) AdonisJS | ||
* | ||
* For the full copyright and license information, please view the LICENSE | ||
* file that was distributed with this source code. | ||
*/ | ||
export { HttpContextFactory } from './http_context.js'; | ||
export { QsParserFactory } from './qs_parser_factory.js'; | ||
export { RequestFactory } from './request.js'; | ||
export { ResponseFactory } from './response.js'; | ||
export { RouterFactory } from './router.js'; | ||
export { ServerFactory } from './server_factory.js'; | ||
import { | ||
HttpContext, | ||
Qs, | ||
Request, | ||
Response, | ||
Router, | ||
Server, | ||
defineConfig | ||
} from "../chunk-Z63E3STR.js"; | ||
// factories/http_context.ts | ||
import { Container } from "@adonisjs/fold"; | ||
import { LoggerFactory } from "@adonisjs/logger/factories"; | ||
// factories/request.ts | ||
import { Socket } from "node:net"; | ||
import proxyAddr from "proxy-addr"; | ||
import { IncomingMessage, ServerResponse } from "node:http"; | ||
import { EncryptionFactory } from "@adonisjs/encryption/factories"; | ||
// factories/qs_parser_factory.ts | ||
var QsParserFactory = class { | ||
#options = { | ||
parse: { | ||
depth: 5, | ||
parameterLimit: 1e3, | ||
allowSparse: false, | ||
arrayLimit: 20, | ||
comma: true | ||
}, | ||
stringify: { | ||
encode: true, | ||
encodeValuesOnly: false, | ||
arrayFormat: "indices", | ||
skipNulls: false | ||
} | ||
}; | ||
/** | ||
* Merge encryption factory options | ||
*/ | ||
merge(options) { | ||
Object.assign(this.#options.parse, options.parse); | ||
Object.assign(this.#options.stringify, options.stringify); | ||
return this; | ||
} | ||
/** | ||
* Create instance of the logger class | ||
*/ | ||
create() { | ||
return new Qs(this.#options); | ||
} | ||
}; | ||
// factories/request.ts | ||
var RequestFactory = class { | ||
#parameters = {}; | ||
/** | ||
* Returns the config for the request class | ||
*/ | ||
#getConfig() { | ||
return { | ||
allowMethodSpoofing: false, | ||
trustProxy: proxyAddr.compile("loopback"), | ||
subdomainOffset: 2, | ||
generateRequestId: false, | ||
...this.#parameters.config | ||
}; | ||
} | ||
/** | ||
* Returns the HTTP req object | ||
*/ | ||
#createRequest() { | ||
const req = this.#parameters.req || new IncomingMessage(new Socket()); | ||
if (this.#parameters.url) { | ||
req.url = this.#parameters.url; | ||
} | ||
if (this.#parameters.method) { | ||
req.method = this.#parameters.method; | ||
} | ||
return req; | ||
} | ||
/** | ||
* Returns the HTTP res object | ||
*/ | ||
#createResponse(req) { | ||
return this.#parameters.res || new ServerResponse(req); | ||
} | ||
/** | ||
* Returns an instance of the encryptor to encrypt | ||
* signed URLs | ||
*/ | ||
#createEncryption() { | ||
return this.#parameters.encryption || new EncryptionFactory().create(); | ||
} | ||
/** | ||
* Merge factory params | ||
*/ | ||
merge(params) { | ||
Object.assign(this.#parameters, params); | ||
return this; | ||
} | ||
/** | ||
* Create request | ||
*/ | ||
create() { | ||
const req = this.#createRequest(); | ||
return new Request( | ||
req, | ||
this.#createResponse(req), | ||
this.#createEncryption(), | ||
this.#getConfig(), | ||
new QsParserFactory().create() | ||
); | ||
} | ||
}; | ||
// factories/response.ts | ||
import { Socket as Socket2 } from "node:net"; | ||
import { IncomingMessage as IncomingMessage2, ServerResponse as ServerResponse2 } from "node:http"; | ||
import { EncryptionFactory as EncryptionFactory3 } from "@adonisjs/encryption/factories"; | ||
// factories/router.ts | ||
import { AppFactory } from "@adonisjs/application/factories"; | ||
import { EncryptionFactory as EncryptionFactory2 } from "@adonisjs/encryption/factories"; | ||
var RouterFactory = class { | ||
#parameters = {}; | ||
/** | ||
* Returns an instance of the application class | ||
*/ | ||
#getApp() { | ||
return this.#parameters.app || new AppFactory().create(new URL("./app/", import.meta.url), () => { | ||
}); | ||
} | ||
/** | ||
* Returns an instance of the encryptor to encrypt | ||
* signed URLs | ||
*/ | ||
#createEncryption() { | ||
return this.#parameters.encryption || new EncryptionFactory2().create(); | ||
} | ||
/** | ||
* Merge factory params | ||
*/ | ||
merge(params) { | ||
Object.assign(this.#parameters, params); | ||
return this; | ||
} | ||
/** | ||
* Create router instance | ||
*/ | ||
create() { | ||
return new Router(this.#getApp(), this.#createEncryption(), new QsParserFactory().create()); | ||
} | ||
}; | ||
// factories/response.ts | ||
var ResponseFactory = class { | ||
#parameters = {}; | ||
/** | ||
* Returns the config for the request class | ||
*/ | ||
#getConfig() { | ||
return { | ||
etag: false, | ||
jsonpCallbackName: "callback", | ||
cookie: { | ||
maxAge: 90, | ||
path: "/", | ||
httpOnly: true, | ||
sameSite: false, | ||
secure: false | ||
}, | ||
...this.#parameters.config | ||
}; | ||
} | ||
/** | ||
* Returns the HTTP req object | ||
*/ | ||
#createRequest() { | ||
return this.#parameters.req || new IncomingMessage2(new Socket2()); | ||
} | ||
/** | ||
* Returns an instance of the router | ||
*/ | ||
#createRouter() { | ||
return this.#parameters.router || new RouterFactory().create(); | ||
} | ||
/** | ||
* Returns the HTTP res object | ||
*/ | ||
#createResponse(req) { | ||
return this.#parameters.res || new ServerResponse2(req); | ||
} | ||
/** | ||
* Returns an instance of the encryptor to encrypt | ||
* signed URLs | ||
*/ | ||
#createEncryption() { | ||
return this.#parameters.encryption || new EncryptionFactory3().create(); | ||
} | ||
/** | ||
* Merge factory params | ||
*/ | ||
merge(params) { | ||
Object.assign(this.#parameters, params); | ||
return this; | ||
} | ||
/** | ||
* Create response class instance | ||
*/ | ||
create() { | ||
const req = this.#createRequest(); | ||
return new Response( | ||
req, | ||
this.#createResponse(req), | ||
this.#createEncryption(), | ||
this.#getConfig(), | ||
this.#createRouter(), | ||
new QsParserFactory().create() | ||
); | ||
} | ||
}; | ||
// factories/http_context.ts | ||
var HttpContextFactory = class { | ||
#parameters = {}; | ||
/** | ||
* Returns the request class instance | ||
*/ | ||
#createRequest() { | ||
return this.#parameters.request || new RequestFactory().create(); | ||
} | ||
/** | ||
* Returns the response class instance | ||
*/ | ||
#createResponse() { | ||
return this.#parameters.response || new ResponseFactory().create(); | ||
} | ||
/** | ||
* Returns an instance of the logger class | ||
*/ | ||
#createLogger() { | ||
return this.#parameters.logger || new LoggerFactory().create(); | ||
} | ||
/** | ||
* Merge factory params | ||
*/ | ||
merge(params) { | ||
Object.assign(this.#parameters, params); | ||
return this; | ||
} | ||
/** | ||
* Create request | ||
*/ | ||
create() { | ||
return new HttpContext( | ||
this.#createRequest(), | ||
this.#createResponse(), | ||
this.#createLogger(), | ||
new Container().createResolver() | ||
); | ||
} | ||
}; | ||
// factories/server_factory.ts | ||
import { Logger } from "@adonisjs/logger"; | ||
import { Emitter } from "@adonisjs/events"; | ||
import { AppFactory as AppFactory2 } from "@adonisjs/application/factories"; | ||
import { EncryptionFactory as EncryptionFactory4 } from "@adonisjs/encryption/factories"; | ||
var ServerFactory = class { | ||
#parameters = {}; | ||
/** | ||
* Returns the emitter instance | ||
*/ | ||
#getEmitter() { | ||
return this.#parameters.emitter || new Emitter(this.#getApp()); | ||
} | ||
/** | ||
* Returns the logger instance | ||
*/ | ||
#getLogger() { | ||
return this.#parameters.logger || new Logger({ enabled: false }); | ||
} | ||
/** | ||
* Returns the config for the server class | ||
*/ | ||
#getConfig() { | ||
return defineConfig(this.#parameters.config || {}); | ||
} | ||
/** | ||
* Returns an instance of the application class | ||
*/ | ||
#getApp() { | ||
return this.#parameters.app || new AppFactory2().create(new URL("./app/", import.meta.url), () => { | ||
}); | ||
} | ||
/** | ||
* Returns an instance of the encryptor to encrypt | ||
* signed URLs | ||
*/ | ||
#createEncryption() { | ||
return this.#parameters.encryption || new EncryptionFactory4().create(); | ||
} | ||
/** | ||
* Merge factory params | ||
*/ | ||
merge(params) { | ||
Object.assign(this.#parameters, params); | ||
return this; | ||
} | ||
/** | ||
* Create server instance | ||
*/ | ||
create() { | ||
return new Server( | ||
this.#getApp(), | ||
this.#createEncryption(), | ||
this.#getEmitter(), | ||
this.#getLogger(), | ||
this.#getConfig() | ||
); | ||
} | ||
}; | ||
export { | ||
HttpContextFactory, | ||
QsParserFactory, | ||
RequestFactory, | ||
ResponseFactory, | ||
RouterFactory, | ||
ServerFactory | ||
}; | ||
//# sourceMappingURL=main.js.map |
@@ -1,22 +0,309 @@ | ||
/* | ||
* @adonisjs/http-server | ||
* | ||
* (c) AdonisJS | ||
* | ||
* For the full copyright and license information, please view the LICENSE | ||
* file that was distributed with this source code. | ||
*/ | ||
export { Request } from './src/request.js'; | ||
export { Response } from './src/response.js'; | ||
export { Redirect } from './src/redirect.js'; | ||
export { Server } from './src/server/main.js'; | ||
export { Router } from './src/router/main.js'; | ||
export { Route } from './src/router/route.js'; | ||
export * as errors from './src/exceptions.js'; | ||
export { BriskRoute } from './src/router/brisk.js'; | ||
export { RouteGroup } from './src/router/group.js'; | ||
export { defineConfig } from './src/define_config.js'; | ||
export { CookieClient } from './src/cookies/client.js'; | ||
export { HttpContext } from './src/http_context/main.js'; | ||
export { RouteResource } from './src/router/resource.js'; | ||
export { ExceptionHandler } from './src/exception_handler.js'; | ||
import { | ||
BriskRoute, | ||
CookieClient, | ||
E_CANNOT_LOOKUP_ROUTE, | ||
E_HTTP_EXCEPTION, | ||
E_HTTP_REQUEST_ABORTED, | ||
E_ROUTE_NOT_FOUND, | ||
HttpContext, | ||
Redirect, | ||
Request, | ||
Response, | ||
Route, | ||
RouteGroup, | ||
RouteResource, | ||
Router, | ||
Server, | ||
defineConfig, | ||
exceptions_exports, | ||
parseRange | ||
} from "./chunk-Z63E3STR.js"; | ||
// src/exception_handler.ts | ||
import is from "@sindresorhus/is"; | ||
import Macroable from "@poppinss/macroable"; | ||
var ExceptionHandler = class extends Macroable { | ||
/** | ||
* Computed from the status pages property | ||
*/ | ||
#expandedStatusPages; | ||
/** | ||
* Whether or not to render debug info. When set to true, the errors | ||
* will have the complete error stack. | ||
*/ | ||
debug = process.env.NODE_ENV !== "production"; | ||
/** | ||
* Whether or not to render status pages. When set to true, the unhandled | ||
* errors with matching status codes will be rendered using a status | ||
* page. | ||
*/ | ||
renderStatusPages = process.env.NODE_ENV === "production"; | ||
/** | ||
* A collection of error status code range and the view to render. | ||
*/ | ||
statusPages = {}; | ||
/** | ||
* Enable/disable errors reporting | ||
*/ | ||
reportErrors = true; | ||
/** | ||
* An array of exception classes to ignore when | ||
* reporting an error | ||
*/ | ||
ignoreExceptions = [ | ||
E_HTTP_EXCEPTION, | ||
E_ROUTE_NOT_FOUND, | ||
E_CANNOT_LOOKUP_ROUTE, | ||
E_HTTP_REQUEST_ABORTED | ||
]; | ||
/** | ||
* An array of HTTP status codes to ignore when reporting | ||
* an error | ||
*/ | ||
ignoreStatuses = [400, 422, 401]; | ||
/** | ||
* An array of error codes to ignore when reporting | ||
* an error | ||
*/ | ||
ignoreCodes = []; | ||
/** | ||
* Expands status pages | ||
*/ | ||
#expandStatusPages() { | ||
if (!this.#expandedStatusPages) { | ||
this.#expandedStatusPages = Object.keys(this.statusPages).reduce( | ||
(result, range) => { | ||
const renderer = this.statusPages[range]; | ||
result = Object.assign(result, parseRange(range, renderer)); | ||
return result; | ||
}, | ||
{} | ||
); | ||
} | ||
return this.#expandedStatusPages; | ||
} | ||
/** | ||
* Forcefully tweaking the type of the error object to | ||
* have known properties. | ||
*/ | ||
#toHttpError(error) { | ||
const httpError = is.object(error) ? error : new Error(String(error)); | ||
httpError.message = httpError.message || "Internal server error"; | ||
httpError.status = httpError.status || 500; | ||
return httpError; | ||
} | ||
/** | ||
* Error reporting context | ||
*/ | ||
context(ctx) { | ||
const requestId = ctx.request.id(); | ||
return requestId ? { | ||
"x-request-id": requestId | ||
} : {}; | ||
} | ||
/** | ||
* Returns the log level for an error based upon the error | ||
* status code. | ||
*/ | ||
getErrorLogLevel(error) { | ||
if (error.status >= 500) { | ||
return "error"; | ||
} | ||
if (error.status >= 400) { | ||
return "warn"; | ||
} | ||
return "info"; | ||
} | ||
/** | ||
* A boolean to control if errors should be rendered with | ||
* all the available debugging info. | ||
*/ | ||
isDebuggingEnabled(_) { | ||
return this.debug; | ||
} | ||
/** | ||
* Returns a boolean by checking if an error should be reported. | ||
*/ | ||
shouldReport(error) { | ||
if (this.reportErrors === false) { | ||
return false; | ||
} | ||
if (this.ignoreStatuses.includes(error.status)) { | ||
return false; | ||
} | ||
if (error.code && this.ignoreCodes.includes(error.code)) { | ||
return false; | ||
} | ||
if (this.ignoreExceptions.find((exception) => error instanceof exception)) { | ||
return false; | ||
} | ||
return true; | ||
} | ||
/** | ||
* Renders an error to JSON response | ||
*/ | ||
async renderErrorAsJSON(error, ctx) { | ||
if (this.isDebuggingEnabled(ctx)) { | ||
const { default: Youch } = await import("youch"); | ||
const json = await new Youch(error, ctx.request.request).toJSON(); | ||
ctx.response.status(error.status).send(json.error); | ||
return; | ||
} | ||
ctx.response.status(error.status).send({ message: error.message }); | ||
} | ||
/** | ||
* Renders an error to JSON API response | ||
*/ | ||
async renderErrorAsJSONAPI(error, ctx) { | ||
if (this.isDebuggingEnabled(ctx)) { | ||
const { default: Youch } = await import("youch"); | ||
const json = await new Youch(error, ctx.request.request).toJSON(); | ||
ctx.response.status(error.status).send(json.error); | ||
return; | ||
} | ||
ctx.response.status(error.status).send({ | ||
errors: [ | ||
{ | ||
title: error.message, | ||
code: error.code, | ||
status: error.status | ||
} | ||
] | ||
}); | ||
} | ||
/** | ||
* Renders an error to HTML response | ||
*/ | ||
async renderErrorAsHTML(error, ctx) { | ||
if (this.isDebuggingEnabled(ctx)) { | ||
const { default: Youch } = await import("youch"); | ||
const html = await new Youch(error, ctx.request.request).toHTML({ | ||
cspNonce: "nonce" in ctx.response ? ctx.response.nonce : void 0 | ||
}); | ||
ctx.response.status(error.status).send(html); | ||
return; | ||
} | ||
ctx.response.status(error.status).send(`<p> ${error.message} </p>`); | ||
} | ||
/** | ||
* Renders the validation error message to a JSON | ||
* response | ||
*/ | ||
async renderValidationErrorAsJSON(error, ctx) { | ||
ctx.response.status(error.status).send({ | ||
errors: error.messages | ||
}); | ||
} | ||
/** | ||
* Renders the validation error message as per JSON API | ||
* spec | ||
*/ | ||
async renderValidationErrorAsJSONAPI(error, ctx) { | ||
ctx.response.status(error.status).send({ | ||
errors: error.messages.map((message) => { | ||
return { | ||
title: message.message, | ||
code: message.rule, | ||
source: { | ||
pointer: message.field | ||
}, | ||
meta: message.meta | ||
}; | ||
}) | ||
}); | ||
} | ||
/** | ||
* Renders the validation error as an HTML string | ||
*/ | ||
async renderValidationErrorAsHTML(error, ctx) { | ||
ctx.response.status(error.status).type("html").send( | ||
error.messages.map((message) => { | ||
return `${message.field} - ${message.message}`; | ||
}).join("<br />") | ||
); | ||
} | ||
/** | ||
* Renders the error to response | ||
*/ | ||
renderError(error, ctx) { | ||
switch (ctx.request.accepts(["html", "application/vnd.api+json", "json"])) { | ||
case "application/vnd.api+json": | ||
return this.renderErrorAsJSONAPI(error, ctx); | ||
case "json": | ||
return this.renderErrorAsJSON(error, ctx); | ||
case "html": | ||
default: | ||
return this.renderErrorAsHTML(error, ctx); | ||
} | ||
} | ||
/** | ||
* Renders the validation error to response | ||
*/ | ||
renderValidationError(error, ctx) { | ||
switch (ctx.request.accepts(["html", "application/vnd.api+json", "json"])) { | ||
case "application/vnd.api+json": | ||
return this.renderValidationErrorAsJSONAPI(error, ctx); | ||
case "json": | ||
return this.renderValidationErrorAsJSON(error, ctx); | ||
case "html": | ||
default: | ||
return this.renderValidationErrorAsHTML(error, ctx); | ||
} | ||
} | ||
/** | ||
* Reports an error during an HTTP request | ||
*/ | ||
async report(error, ctx) { | ||
const httpError = this.#toHttpError(error); | ||
if (!this.shouldReport(httpError)) { | ||
return; | ||
} | ||
if (typeof httpError.report === "function") { | ||
httpError.report(httpError, ctx); | ||
return; | ||
} | ||
const level = this.getErrorLogLevel(httpError); | ||
ctx.logger.log( | ||
level, | ||
{ | ||
...level === "error" || level === "fatal" ? { err: httpError } : {}, | ||
...this.context(ctx) | ||
}, | ||
httpError.message | ||
); | ||
} | ||
/** | ||
* Handles the error during the HTTP request. | ||
*/ | ||
async handle(error, ctx) { | ||
const httpError = this.#toHttpError(error); | ||
if (typeof httpError.handle === "function") { | ||
return httpError.handle(httpError, ctx); | ||
} | ||
if (httpError.code === "E_VALIDATION_ERROR" && "messages" in httpError) { | ||
return this.renderValidationError(httpError, ctx); | ||
} | ||
const statusPages = this.#expandStatusPages(); | ||
if (this.renderStatusPages && statusPages[httpError.status]) { | ||
return statusPages[httpError.status](httpError, ctx); | ||
} | ||
return this.renderError(httpError, ctx); | ||
} | ||
}; | ||
export { | ||
BriskRoute, | ||
CookieClient, | ||
ExceptionHandler, | ||
HttpContext, | ||
Redirect, | ||
Request, | ||
Response, | ||
Route, | ||
RouteGroup, | ||
RouteResource, | ||
Router, | ||
Server, | ||
defineConfig, | ||
exceptions_exports as errors | ||
}; | ||
//# sourceMappingURL=index.js.map |
@@ -46,5 +46,3 @@ import type { Encryption } from '@adonisjs/encryption'; | ||
has(routeIdentifier: string, domain?: string): boolean; | ||
toJSON(): { | ||
[domain: string]: RouteJSON[]; | ||
}; | ||
toJSON(): Record<string, RouteJSON[]>; | ||
} |
@@ -8,3 +8,3 @@ import type { RouteJSON } from '../../types/route.js'; | ||
#private; | ||
constructor(routes: RouteJSON[]); | ||
register(route: RouteJSON): void; | ||
/** | ||
@@ -22,2 +22,6 @@ * Find a route by indentifier | ||
has(routeIdentifier: string): boolean; | ||
/** | ||
* Returns an array of registered routes | ||
*/ | ||
toJSON(): RouteJSON[]; | ||
} |
@@ -97,7 +97,7 @@ import type { Encryption } from '@adonisjs/encryption'; | ||
*/ | ||
resource(resource: string, controller: string | LazyImport<Constructor<any>> | Constructor<any>): RouteResource; | ||
resource(resource: string, controller: string | LazyImport<Constructor<any>> | Constructor<any>): RouteResource<import("../types/route.js").ResourceActionNames>; | ||
/** | ||
* Register a route resource with shallow nested routes. | ||
*/ | ||
shallowResource(resource: string, controller: string | LazyImport<Constructor<any>> | Constructor<any>): RouteResource; | ||
shallowResource(resource: string, controller: string | LazyImport<Constructor<any>> | Constructor<any>): RouteResource<import("../types/route.js").ResourceActionNames>; | ||
/** | ||
@@ -104,0 +104,0 @@ * Returns a brisk route instance for a given URL pattern |
import Macroable from '@poppinss/macroable'; | ||
import type { Application } from '@adonisjs/application'; | ||
import { Route } from './route.js'; | ||
import type { Constructor, LazyImport } from '../types/base.js'; | ||
import type { ParsedGlobalMiddleware } from '../types/middleware.js'; | ||
import type { Constructor, LazyImport, OneOrMore } from '../types/base.js'; | ||
import type { MiddlewareFn, ParsedGlobalMiddleware, ParsedNamedMiddleware } from '../types/middleware.js'; | ||
import type { ResourceActionNames, RouteMatcher, RouteMatchers } from '../types/route.js'; | ||
@@ -10,3 +10,3 @@ /** | ||
*/ | ||
export declare class RouteResource extends Macroable { | ||
export declare class RouteResource<ActionNames extends ResourceActionNames = ResourceActionNames> extends Macroable { | ||
#private; | ||
@@ -26,7 +26,7 @@ /** | ||
*/ | ||
only(names: ResourceActionNames[]): this; | ||
only<Name extends ActionNames>(names: Name[]): RouteResource<Name>; | ||
/** | ||
* Register all routes, except the one's defined | ||
*/ | ||
except(names: ResourceActionNames[]): this; | ||
except<Name extends ActionNames>(names: Name[]): RouteResource<Exclude<ActionNames, Name>>; | ||
/** | ||
@@ -36,3 +36,3 @@ * Register api only routes. The `create` and `edit` routes, which | ||
*/ | ||
apiOnly(): this; | ||
apiOnly(): RouteResource<Exclude<ActionNames, 'create' | 'edit'>>; | ||
/** | ||
@@ -46,3 +46,3 @@ * Define matcher for params inside the resource | ||
tap(callback: (route: Route) => void): this; | ||
tap(actions: ResourceActionNames | ResourceActionNames[], callback: (route: Route) => void): this; | ||
tap(actions: ActionNames | ActionNames[], callback: (route: Route) => void): this; | ||
/** | ||
@@ -55,2 +55,14 @@ * Set the param name for a given resource | ||
/** | ||
* Define one or more middleware on the routes created by | ||
* the resource. | ||
* | ||
* Calling this method multiple times will append middleware | ||
* to existing list. | ||
*/ | ||
use(actions: ActionNames | ActionNames[] | '*', middleware: OneOrMore<MiddlewareFn | ParsedNamedMiddleware>): this; | ||
/** | ||
* @alias use | ||
*/ | ||
middleware(actions: ActionNames | ActionNames[] | '*', middleware: OneOrMore<MiddlewareFn | ParsedNamedMiddleware>): this; | ||
/** | ||
* Prepend name to all the routes | ||
@@ -57,0 +69,0 @@ */ |
@@ -1,15 +0,1 @@ | ||
/* | ||
* @adonisjs/http-server | ||
* | ||
* (c) AdonisJS | ||
* | ||
* For the full copyright and license information, please view the LICENSE | ||
* file that was distributed with this source code. | ||
*/ | ||
export * from './base.js'; | ||
export * from './middleware.js'; | ||
export * from './qs.js'; | ||
export * from './request.js'; | ||
export * from './response.js'; | ||
export * from './route.js'; | ||
export * from './server.js'; | ||
//# sourceMappingURL=main.js.map |
103
package.json
{ | ||
"name": "@adonisjs/http-server", | ||
"version": "7.0.0-1", | ||
"version": "7.0.0-2", | ||
"description": "AdonisJS HTTP server with support packed with Routing and Cookies", | ||
@@ -8,6 +8,5 @@ "main": "build/index.js", | ||
"files": [ | ||
"build/factories", | ||
"build/src", | ||
"build/index.d.ts", | ||
"build/index.js" | ||
"build", | ||
"!build/bin", | ||
"!build/tests" | ||
], | ||
@@ -27,3 +26,4 @@ "exports": { | ||
"typecheck": "tsc --noEmit", | ||
"compile": "npm run lint && npm run clean && tsc", | ||
"precompile": "npm run lint && npm run clean", | ||
"compile": "tsup-node && tsc --emitDeclarationOnly --declaration", | ||
"build": "npm run compile", | ||
@@ -48,35 +48,35 @@ "prebenchmark": "npm run build", | ||
"devDependencies": { | ||
"@adonisjs/application": "^8.0.0-0", | ||
"@adonisjs/encryption": "^5.1.2-3", | ||
"@adonisjs/eslint-config": "^1.1.8", | ||
"@adonisjs/events": "^9.0.0-0", | ||
"@adonisjs/fold": "^9.9.3-10", | ||
"@adonisjs/logger": "^5.4.2-6", | ||
"@adonisjs/prettier-config": "^1.1.8", | ||
"@adonisjs/tsconfig": "^1.1.8", | ||
"@commitlint/cli": "^17.8.0", | ||
"@commitlint/config-conventional": "^17.8.0", | ||
"@adonisjs/application": "^8.0.0-2", | ||
"@adonisjs/encryption": "^5.1.2-4", | ||
"@adonisjs/eslint-config": "^1.1.9", | ||
"@adonisjs/events": "^9.0.0-1", | ||
"@adonisjs/fold": "^9.9.3-11", | ||
"@adonisjs/logger": "^5.4.2-7", | ||
"@adonisjs/prettier-config": "^1.1.9", | ||
"@adonisjs/tsconfig": "^1.1.9", | ||
"@commitlint/cli": "^18.4.3", | ||
"@commitlint/config-conventional": "^18.4.3", | ||
"@fastify/middie": "^8.3.0", | ||
"@japa/assert": "^2.0.0", | ||
"@japa/assert": "^2.0.1", | ||
"@japa/expect-type": "^2.0.0", | ||
"@japa/runner": "^3.0.2", | ||
"@swc/core": "1.3.82", | ||
"@types/accepts": "^1.3.5", | ||
"@types/content-disposition": "^0.5.6", | ||
"@types/cookie": "^0.5.2", | ||
"@types/destroy": "^1.0.1", | ||
"@types/encodeurl": "^1.0.0", | ||
"@types/etag": "^1.8.1", | ||
"@types/fresh": "^0.5.0", | ||
"@types/fs-extra": "^11.0.2", | ||
"@japa/runner": "^3.1.0", | ||
"@swc/core": "^1.3.99", | ||
"@types/accepts": "^1.3.7", | ||
"@types/content-disposition": "^0.5.8", | ||
"@types/cookie": "^0.5.4", | ||
"@types/destroy": "^1.0.3", | ||
"@types/encodeurl": "^1.0.2", | ||
"@types/etag": "^1.8.3", | ||
"@types/fresh": "^0.5.2", | ||
"@types/fs-extra": "^11.0.4", | ||
"@types/http-status-codes": "^1.2.0", | ||
"@types/mime-types": "^2.1.2", | ||
"@types/node": "^20.8.6", | ||
"@types/on-finished": "^2.3.2", | ||
"@types/pem": "^1.14.2", | ||
"@types/proxy-addr": "^2.0.1", | ||
"@types/qs": "^6.9.8", | ||
"@types/supertest": "^2.0.14", | ||
"@types/type-is": "^1.6.4", | ||
"@types/vary": "^1.1.1", | ||
"@types/mime-types": "^2.1.4", | ||
"@types/node": "^20.9.4", | ||
"@types/on-finished": "^2.3.4", | ||
"@types/pem": "^1.14.4", | ||
"@types/proxy-addr": "^2.0.3", | ||
"@types/qs": "^6.9.10", | ||
"@types/supertest": "^2.0.16", | ||
"@types/type-is": "^1.6.6", | ||
"@types/vary": "^1.1.3", | ||
"@vinejs/vine": "^1.6.0", | ||
@@ -87,3 +87,3 @@ "autocannon": "^7.12.0", | ||
"del-cli": "^5.1.0", | ||
"eslint": "^8.51.0", | ||
"eslint": "^8.54.0", | ||
"fastify": "^4.24.2", | ||
@@ -97,8 +97,8 @@ "fs-extra": "^11.1.1", | ||
"pem": "^1.14.8", | ||
"prettier": "^3.0.3", | ||
"prettier": "^3.1.0", | ||
"reflect-metadata": "^0.1.13", | ||
"supertest": "^6.3.3", | ||
"ts-node": "^10.9.1", | ||
"tsup": "^7.2.0", | ||
"typescript": "^5.2.2" | ||
"tsup": "^8.0.1", | ||
"typescript": "5.2.2" | ||
}, | ||
@@ -109,8 +109,8 @@ "dependencies": { | ||
"@poppinss/matchit": "^3.1.2", | ||
"@poppinss/middleware": "^3.2.0", | ||
"@poppinss/utils": "^6.5.0", | ||
"@sindresorhus/is": "^6.0.1", | ||
"@poppinss/middleware": "^3.2.1", | ||
"@poppinss/utils": "^6.5.1", | ||
"@sindresorhus/is": "^6.1.0", | ||
"accepts": "^1.3.8", | ||
"content-disposition": "^0.5.4", | ||
"cookie": "^0.5.0", | ||
"cookie": "^0.6.0", | ||
"destroy": "^1.2.0", | ||
@@ -127,10 +127,10 @@ "encodeurl": "^1.0.2", | ||
"vary": "^1.1.2", | ||
"youch": "^3.3.2" | ||
"youch": "^3.3.3" | ||
}, | ||
"peerDependencies": { | ||
"@adonisjs/application": "^8.0.0-0", | ||
"@adonisjs/encryption": "^5.1.2-3", | ||
"@adonisjs/events": "^9.0.0-0", | ||
"@adonisjs/fold": "^9.9.3-10", | ||
"@adonisjs/logger": "^5.4.2-6" | ||
"@adonisjs/application": "^8.0.0-2", | ||
"@adonisjs/encryption": "^5.1.2-4", | ||
"@adonisjs/events": "^9.0.0-1", | ||
"@adonisjs/fold": "^9.9.3-11", | ||
"@adonisjs/logger": "^5.4.2-7" | ||
}, | ||
@@ -184,5 +184,6 @@ "repository": { | ||
"format": "esm", | ||
"dts": true, | ||
"dts": false, | ||
"sourcemap": true, | ||
"target": "esnext" | ||
} | ||
} |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
516874
63
8096
+ Addedcookie@0.6.0(transitive)
- Removedcookie@0.5.0(transitive)
Updated@poppinss/middleware@^3.2.1
Updated@poppinss/utils@^6.5.1
Updated@sindresorhus/is@^6.1.0
Updatedcookie@^0.6.0
Updatedyouch@^3.3.3