diff --git a/packages/sirv/index.d.mts b/packages/sirv/index.d.mts new file mode 100644 index 0000000..8bfe364 --- /dev/null +++ b/packages/sirv/index.d.mts @@ -0,0 +1,29 @@ +import type { Stats } from "node:fs"; +import type { IncomingMessage, ServerResponse } from "node:http"; + +type Arrayable = T | T[]; + +export type NextHandler = () => void | Promise; + +export type RequestHandler = ( + req: IncomingMessage, + res: ServerResponse, + next?: NextHandler, +) => void; + +export interface Options { + dev?: boolean; + etag?: boolean; + maxAge?: number; + immutable?: boolean; + single?: string | boolean; + ignores?: false | Arrayable; + extensions?: string[]; + dotfiles?: boolean; + brotli?: boolean; + gzip?: boolean; + onNoMatch?: (req: IncomingMessage, res: ServerResponse) => void; + setHeaders?: (res: ServerResponse, pathname: string, stats: Stats) => void; +} + +export default function (dir?: string, opts?: Options): RequestHandler; diff --git a/packages/sirv/sirv.d.ts b/packages/sirv/index.d.ts similarity index 59% rename from packages/sirv/sirv.d.ts rename to packages/sirv/index.d.ts index c05040f..96cc63e 100644 --- a/packages/sirv/sirv.d.ts +++ b/packages/sirv/index.d.ts @@ -1,10 +1,16 @@ -declare module 'sirv' { - import type { Stats } from 'fs'; - import type { IncomingMessage, ServerResponse } from 'http'; +import type { Stats } from "node:fs"; +import type { IncomingMessage, ServerResponse } from "node:http"; +declare namespace sirv { type Arrayable = T | T[]; + export type NextHandler = () => void | Promise; - export type RequestHandler = (req: IncomingMessage, res: ServerResponse, next?: NextHandler) => void; + + export type RequestHandler = ( + req: IncomingMessage, + res: ServerResponse, + next?: NextHandler, + ) => void; export interface Options { dev?: boolean; @@ -20,6 +26,8 @@ declare module 'sirv' { onNoMatch?: (req: IncomingMessage, res: ServerResponse) => void; setHeaders?: (res: ServerResponse, pathname: string, stats: Stats) => void; } - - export default function(dir?: string, opts?: Options): RequestHandler; } + +declare function sirv(dir?: string, opts?: sirv.Options): sirv.RequestHandler; + +export = sirv; diff --git a/packages/sirv/package.json b/packages/sirv/package.json index d0353a8..c5494eb 100644 --- a/packages/sirv/package.json +++ b/packages/sirv/package.json @@ -9,16 +9,16 @@ "license": "MIT", "files": [ "build.*", - "sirv.d.ts" + "index.d.*" ], "exports": { ".": { "import": { - "types": "./sirv.d.ts", + "types": "./index.d.mts", "default": "./build.mjs" }, "require": { - "types": "./sirv.d.ts", + "types": "./index.d.ts", "default": "./build.js" } },