@hono/vite-build 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/adapter/vercel/index.d.ts +14 -0
- package/dist/adapter/vercel/index.js +85 -0
- package/dist/adapter/vercel/types.d.ts +271 -0
- package/dist/adapter/vercel/types.js +0 -0
- package/dist/base.js +2 -2
- package/dist/entry/index.js +7 -1
- package/package.json +12 -2
package/README.md
CHANGED
|
@@ -38,6 +38,7 @@ import build from '@hono/vite-build/bun'
|
|
|
38
38
|
// import build from '@hono/vite-build/cloudflare-workers'
|
|
39
39
|
// import build from '@hono/vite-build/node'
|
|
40
40
|
// import build from '@hono/vite-build/netlify-functions'
|
|
41
|
+
// import build from '@hono/vite-build/vercel'
|
|
41
42
|
|
|
42
43
|
export default defineConfig({
|
|
43
44
|
plugins: [
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Plugin } from 'vite';
|
|
2
|
+
import { BuildOptions } from '../../base.js';
|
|
3
|
+
import { VercelBuildConfigV3, VercelServerlessFunctionConfig } from './types.js';
|
|
4
|
+
import '../../entry/index.js';
|
|
5
|
+
|
|
6
|
+
type VercelBuildOptions = {
|
|
7
|
+
vercel?: {
|
|
8
|
+
config?: VercelBuildConfigV3;
|
|
9
|
+
function?: VercelServerlessFunctionConfig;
|
|
10
|
+
};
|
|
11
|
+
} & Omit<BuildOptions, 'output' | 'outputDir'>;
|
|
12
|
+
declare const vercelBuildPlugin: (pluginOptions?: VercelBuildOptions) => Plugin;
|
|
13
|
+
|
|
14
|
+
export { VercelBuildOptions, vercelBuildPlugin as default };
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { existsSync, mkdirSync } from "node:fs";
|
|
2
|
+
import { cp, writeFile } from "node:fs/promises";
|
|
3
|
+
import { resolve } from "node:path";
|
|
4
|
+
import buildPlugin from "../../base.js";
|
|
5
|
+
const BUNDLE_NAME = "index.js";
|
|
6
|
+
const FUNCTION_NAME = "__hono";
|
|
7
|
+
const writeJSON = (path, data) => {
|
|
8
|
+
const dir = resolve(path, "..");
|
|
9
|
+
if (!existsSync(dir)) {
|
|
10
|
+
mkdirSync(dir, { recursive: true });
|
|
11
|
+
}
|
|
12
|
+
return writeFile(path, JSON.stringify(data));
|
|
13
|
+
};
|
|
14
|
+
const getRuntimeVersion = () => {
|
|
15
|
+
try {
|
|
16
|
+
const systemNodeVersion = process.versions.node.split(".")[0];
|
|
17
|
+
return `nodejs${Number(systemNodeVersion)}.x`;
|
|
18
|
+
} catch {
|
|
19
|
+
return "nodejs22.x";
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const vercelBuildPlugin = (pluginOptions) => {
|
|
23
|
+
let config;
|
|
24
|
+
return {
|
|
25
|
+
...buildPlugin({
|
|
26
|
+
output: `functions/${FUNCTION_NAME}.func/${BUNDLE_NAME}`,
|
|
27
|
+
outputDir: ".vercel/output",
|
|
28
|
+
...{
|
|
29
|
+
entryContentAfterHooks: [
|
|
30
|
+
// eslint-disable-next-line quotes
|
|
31
|
+
() => "import { handle } from '@hono/node-server/vercel'"
|
|
32
|
+
],
|
|
33
|
+
entryContentDefaultExportHook: (appName) => `export default handle(${appName})`
|
|
34
|
+
},
|
|
35
|
+
...pluginOptions
|
|
36
|
+
}),
|
|
37
|
+
configResolved: (resolvedConfig) => {
|
|
38
|
+
config = resolvedConfig;
|
|
39
|
+
},
|
|
40
|
+
writeBundle: async () => {
|
|
41
|
+
const outputDir = resolve(config.root, config.build.outDir);
|
|
42
|
+
const functionDir = resolve(outputDir, "functions", `${FUNCTION_NAME}.func`);
|
|
43
|
+
const buildConfig = {
|
|
44
|
+
...pluginOptions?.vercel?.config,
|
|
45
|
+
version: 3,
|
|
46
|
+
routes: [
|
|
47
|
+
...pluginOptions?.vercel?.config?.routes ?? [],
|
|
48
|
+
{
|
|
49
|
+
handle: "filesystem"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
src: "/(.*)",
|
|
53
|
+
dest: `/${FUNCTION_NAME}`
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
};
|
|
57
|
+
const functionConfig = {
|
|
58
|
+
...pluginOptions?.vercel?.function,
|
|
59
|
+
runtime: getRuntimeVersion(),
|
|
60
|
+
launcherType: "Nodejs",
|
|
61
|
+
handler: BUNDLE_NAME,
|
|
62
|
+
shouldAddHelpers: true,
|
|
63
|
+
shouldAddSourcemapSupport: Boolean(config.build.sourcemap),
|
|
64
|
+
supportsResponseStreaming: true
|
|
65
|
+
};
|
|
66
|
+
await Promise.all([
|
|
67
|
+
// Copy static files to the .vercel/output/static directory
|
|
68
|
+
cp(resolve(config.root, config.publicDir), resolve(outputDir, "static"), {
|
|
69
|
+
recursive: true
|
|
70
|
+
}),
|
|
71
|
+
// Write the all necessary config files
|
|
72
|
+
writeJSON(resolve(outputDir, "config.json"), buildConfig),
|
|
73
|
+
writeJSON(resolve(functionDir, ".vc-config.json"), functionConfig),
|
|
74
|
+
writeJSON(resolve(functionDir, "package.json"), {
|
|
75
|
+
type: "module"
|
|
76
|
+
})
|
|
77
|
+
]);
|
|
78
|
+
},
|
|
79
|
+
name: "@hono/vite-build/vercel"
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
var vercel_default = vercelBuildPlugin;
|
|
83
|
+
export {
|
|
84
|
+
vercel_default as default
|
|
85
|
+
};
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main configuration type for Vercel Build Output API v3.
|
|
3
|
+
* This type represents the root configuration object that should be output in the `.vercel/output/config.json` file.
|
|
4
|
+
* @see https://vercel.com/docs/build-output-api/configuration
|
|
5
|
+
*/
|
|
6
|
+
type VercelBuildConfigV3 = {
|
|
7
|
+
/** Version identifier for the Build Output API. Must be 3. */
|
|
8
|
+
version?: 3;
|
|
9
|
+
/**
|
|
10
|
+
* Array of routing rules to handle incoming requests.
|
|
11
|
+
* Routes are evaluated in order, where the first matching route will be applied.
|
|
12
|
+
*/
|
|
13
|
+
routes?: Route[];
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for Vercel's Image Optimization feature.
|
|
16
|
+
* Defines how images should be optimized, cached, and served.
|
|
17
|
+
* @see https://vercel.com/docs/build-output-api/configuration#images
|
|
18
|
+
*/
|
|
19
|
+
images?: ImagesConfig;
|
|
20
|
+
/**
|
|
21
|
+
* Custom domain wildcard configurations for internationalization.
|
|
22
|
+
* Maps domain names to values that can be referenced by the routes configuration.
|
|
23
|
+
* @see https://vercel.com/docs/build-output-api/configuration#wildcard
|
|
24
|
+
*/
|
|
25
|
+
wildcard?: WildCard[];
|
|
26
|
+
/**
|
|
27
|
+
* File-specific overrides for static files in the `.vercel/output/static` directory.
|
|
28
|
+
* Allows overriding Content-Type headers and URL paths for static files.
|
|
29
|
+
* @see https://vercel.com/docs/build-output-api/configuration#overrides
|
|
30
|
+
*/
|
|
31
|
+
overrides?: Record<string, Override>;
|
|
32
|
+
/**
|
|
33
|
+
* Array of file paths or glob patterns to be cached between builds.
|
|
34
|
+
* Only relevant when Vercel is building from source code.
|
|
35
|
+
* @see https://vercel.com/docs/build-output-api/configuration#cache
|
|
36
|
+
*/
|
|
37
|
+
cache?: string[];
|
|
38
|
+
/**
|
|
39
|
+
* Scheduled tasks configuration for production deployments.
|
|
40
|
+
* Defines API routes that should be invoked on a schedule.
|
|
41
|
+
* @see https://vercel.com/docs/build-output-api/configuration#crons
|
|
42
|
+
*/
|
|
43
|
+
crons?: Cron[];
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Route configuration that can either be a Source route or a Handler route.
|
|
47
|
+
* Source routes match incoming requests, while Handler routes define special behaviors.
|
|
48
|
+
*/
|
|
49
|
+
type Route = Source | Handler;
|
|
50
|
+
/**
|
|
51
|
+
* Source route configuration for matching and handling incoming requests.
|
|
52
|
+
* Provides detailed control over request matching and response handling.
|
|
53
|
+
*/
|
|
54
|
+
type Source = {
|
|
55
|
+
/** Regular expression pattern to match incoming request paths */
|
|
56
|
+
src: string;
|
|
57
|
+
/** Path to rewrite or redirect the matched request to */
|
|
58
|
+
dest?: string;
|
|
59
|
+
/** Custom HTTP headers to add to the response */
|
|
60
|
+
headers?: Record<string, string>;
|
|
61
|
+
/** Array of HTTP methods this route should match */
|
|
62
|
+
methods?: string[];
|
|
63
|
+
/** When true, matching will continue even after this route matches */
|
|
64
|
+
continue?: boolean;
|
|
65
|
+
/** When true, the src pattern will be matched case-sensitively */
|
|
66
|
+
caseSensitive?: boolean;
|
|
67
|
+
/** Additional validation flag for route matching */
|
|
68
|
+
check?: boolean;
|
|
69
|
+
/** HTTP status code to return (e.g., 308 for redirects) */
|
|
70
|
+
status?: number;
|
|
71
|
+
/** Conditions that must be present in the request for the route to match */
|
|
72
|
+
has?: Array<HostHasField | HeaderHasField | CookieHasField | QueryHasField>;
|
|
73
|
+
/** Conditions that must be absent from the request for the route to match */
|
|
74
|
+
missing?: Array<HostHasField | HeaderHasField | CookieHasField | QueryHasField>;
|
|
75
|
+
/** Configuration for locale-based routing and redirects */
|
|
76
|
+
locale?: Locale;
|
|
77
|
+
/** Raw source patterns used by middleware */
|
|
78
|
+
middlewareRawSrc?: string[];
|
|
79
|
+
/** Path to the middleware implementation file */
|
|
80
|
+
middlewarePath?: string;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Locale configuration for internationalization routing.
|
|
84
|
+
* Used to configure language-specific redirects and preferences.
|
|
85
|
+
*/
|
|
86
|
+
type Locale = {
|
|
87
|
+
/** Mapping of locale codes to their redirect destinations */
|
|
88
|
+
redirect?: Record<string, string>;
|
|
89
|
+
/** Name of the cookie used to store the user's locale preference */
|
|
90
|
+
cookie?: string;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Host-based condition for route matching.
|
|
94
|
+
* Used to match requests based on the Host header.
|
|
95
|
+
*/
|
|
96
|
+
type HostHasField = {
|
|
97
|
+
/** Identifies this as a host matching condition */
|
|
98
|
+
type: 'host';
|
|
99
|
+
/** Pattern to match against the Host header */
|
|
100
|
+
value: string;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Header-based condition for route matching.
|
|
104
|
+
* Used to match requests based on HTTP headers.
|
|
105
|
+
*/
|
|
106
|
+
type HeaderHasField = {
|
|
107
|
+
/** Identifies this as a header matching condition */
|
|
108
|
+
type: 'header';
|
|
109
|
+
/** Name of the header to match */
|
|
110
|
+
key: string;
|
|
111
|
+
/** Optional value the header should match */
|
|
112
|
+
value?: string;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Cookie-based condition for route matching.
|
|
116
|
+
* Used to match requests based on cookie values.
|
|
117
|
+
*/
|
|
118
|
+
type CookieHasField = {
|
|
119
|
+
/** Identifies this as a cookie matching condition */
|
|
120
|
+
type: 'cookie';
|
|
121
|
+
/** Name of the cookie to match */
|
|
122
|
+
key: string;
|
|
123
|
+
/** Optional value the cookie should match */
|
|
124
|
+
value?: string;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Query parameter condition for route matching.
|
|
128
|
+
* Used to match requests based on query string parameters.
|
|
129
|
+
*/
|
|
130
|
+
type QueryHasField = {
|
|
131
|
+
/** Identifies this as a query parameter matching condition */
|
|
132
|
+
type: 'query';
|
|
133
|
+
/** Name of the query parameter to match */
|
|
134
|
+
key: string;
|
|
135
|
+
/** Optional value the query parameter should match */
|
|
136
|
+
value?: string;
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Special handler phases for request processing.
|
|
140
|
+
* Defines when and how requests should be processed in the routing pipeline.
|
|
141
|
+
*/
|
|
142
|
+
type HandleValue = 'rewrite' | 'filesystem' | 'resource' | 'miss' | 'hit' | 'error';
|
|
143
|
+
/**
|
|
144
|
+
* Handler route configuration for special request processing phases.
|
|
145
|
+
* Used to define behavior at specific points in the request lifecycle.
|
|
146
|
+
*/
|
|
147
|
+
type Handler = {
|
|
148
|
+
/** The type of handler to process the request */
|
|
149
|
+
handle: HandleValue;
|
|
150
|
+
/** Optional pattern to match against the request path */
|
|
151
|
+
src?: string;
|
|
152
|
+
/** Optional path to handle the request with */
|
|
153
|
+
dest?: string;
|
|
154
|
+
/** HTTP status code to return in the response */
|
|
155
|
+
status?: number;
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* Supported image formats for the Image Optimization API.
|
|
159
|
+
* @see https://vercel.com/docs/build-output-api/configuration#images
|
|
160
|
+
*/
|
|
161
|
+
type ImageFormat = 'image/avif' | 'image/webp';
|
|
162
|
+
/**
|
|
163
|
+
* Configuration for remote image sources in Image Optimization.
|
|
164
|
+
* Defines patterns for matching and processing external images.
|
|
165
|
+
*/
|
|
166
|
+
type RemotePattern = {
|
|
167
|
+
/** Protocol allowed for remote images (http or https) */
|
|
168
|
+
protocol?: 'http' | 'https';
|
|
169
|
+
/** Hostname pattern that remote images must match */
|
|
170
|
+
hostname: string;
|
|
171
|
+
/** Optional port number for remote image URLs */
|
|
172
|
+
port?: string;
|
|
173
|
+
/** Path pattern that remote image URLs must match */
|
|
174
|
+
pathname?: string;
|
|
175
|
+
/** Search query pattern that remote image URLs must match */
|
|
176
|
+
search?: string;
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Configuration for local image patterns in Image Optimization.
|
|
180
|
+
* Defines patterns for matching and processing local images.
|
|
181
|
+
*/
|
|
182
|
+
type LocalPattern = {
|
|
183
|
+
/** Path pattern that local images must match */
|
|
184
|
+
pathname?: string;
|
|
185
|
+
/** Search query pattern that local image URLs must match */
|
|
186
|
+
search?: string;
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* Configuration for Vercel's Image Optimization feature.
|
|
190
|
+
* @see https://vercel.com/docs/build-output-api/configuration#images
|
|
191
|
+
*/
|
|
192
|
+
type ImagesConfig = {
|
|
193
|
+
/** Array of allowed image widths for resizing */
|
|
194
|
+
sizes: number[];
|
|
195
|
+
/** Array of allowed domains for remote images */
|
|
196
|
+
domains: string[];
|
|
197
|
+
/** Patterns for matching remote image sources */
|
|
198
|
+
remotePatterns?: RemotePattern[];
|
|
199
|
+
/** Patterns for matching local image sources */
|
|
200
|
+
localPatterns?: LocalPattern[];
|
|
201
|
+
/** Array of allowed quality values for image optimization */
|
|
202
|
+
qualities?: number[];
|
|
203
|
+
/** Minimum time (in seconds) to cache optimized images */
|
|
204
|
+
minimumCacheTTL?: number;
|
|
205
|
+
/** Array of supported output formats for optimization */
|
|
206
|
+
formats?: ImageFormat[];
|
|
207
|
+
/** Whether to allow processing of SVG images (use with caution) */
|
|
208
|
+
dangerouslyAllowSVG?: boolean;
|
|
209
|
+
/** Content Security Policy for optimized images */
|
|
210
|
+
contentSecurityPolicy?: string;
|
|
211
|
+
/** Content-Disposition header type for image responses */
|
|
212
|
+
contentDispositionType?: string;
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* Configuration for custom domain wildcards.
|
|
216
|
+
* Used for internationalization and dynamic routing based on domains.
|
|
217
|
+
* @see https://vercel.com/docs/build-output-api/configuration#wildcard
|
|
218
|
+
*/
|
|
219
|
+
type WildCard = {
|
|
220
|
+
/** Domain name to match for this wildcard configuration */
|
|
221
|
+
domain: string;
|
|
222
|
+
/** Value to use when this wildcard matches (available as $wildcard in routes) */
|
|
223
|
+
value: string;
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
* Configuration for path or content-type overrides of static files.
|
|
227
|
+
* @see https://vercel.com/docs/build-output-api/configuration#overrides
|
|
228
|
+
*/
|
|
229
|
+
type Override = {
|
|
230
|
+
/** URL path where the static file will be accessible */
|
|
231
|
+
path?: string;
|
|
232
|
+
/** Content-Type header value for the static file */
|
|
233
|
+
contentType?: string;
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* Configuration for scheduled tasks (Cron Jobs).
|
|
237
|
+
* @see https://vercel.com/docs/build-output-api/configuration#crons
|
|
238
|
+
*/
|
|
239
|
+
type Cron = {
|
|
240
|
+
/** Path to the API route that handles the cron job */
|
|
241
|
+
path: string;
|
|
242
|
+
/** Cron schedule expression (e.g., "0 0 * * *" for daily at midnight) */
|
|
243
|
+
schedule: string;
|
|
244
|
+
};
|
|
245
|
+
/**
|
|
246
|
+
* Configuration for a serverless function in Vercel.
|
|
247
|
+
* This type **partially** represents the configuration object that should be output in the `.vercel/output/functions/<functionName>/config.json` file.
|
|
248
|
+
* @see https://vercel.com/docs/build-output-api/primitives#serverless-function-configuration
|
|
249
|
+
*/
|
|
250
|
+
type VercelServerlessFunctionConfig = {
|
|
251
|
+
/** Indicates the initial file where code will be executed for the Serverless Function. */
|
|
252
|
+
handler?: string;
|
|
253
|
+
/** Specifies which "launcher" will be used to execute the Serverless Function */
|
|
254
|
+
launcherType?: 'Nodejs';
|
|
255
|
+
/** Specifies which "runtime" will be used to execute the Serverless Function, only Node.js is supported currently */
|
|
256
|
+
runtime?: `nodejs${number}.x`;
|
|
257
|
+
/** The amount of memory allocated to the function in MB */
|
|
258
|
+
memory?: number;
|
|
259
|
+
/** The maximum duration of the function in seconds */
|
|
260
|
+
maxDuration?: number;
|
|
261
|
+
/** The regions the function is available in */
|
|
262
|
+
regions?: string[];
|
|
263
|
+
/** Whether the function supports response streaming */
|
|
264
|
+
supportsResponseStreaming?: boolean;
|
|
265
|
+
/** Enables request and response helpers methods */
|
|
266
|
+
shouldAddHelpers?: boolean;
|
|
267
|
+
/** Enables source map generation */
|
|
268
|
+
shouldAddSourcemapSupport?: boolean;
|
|
269
|
+
};
|
|
270
|
+
|
|
271
|
+
export { VercelBuildConfigV3, VercelServerlessFunctionConfig };
|
|
File without changes
|
package/dist/base.js
CHANGED
|
@@ -34,7 +34,7 @@ const buildPlugin = (options) => {
|
|
|
34
34
|
},
|
|
35
35
|
async load(id) {
|
|
36
36
|
if (id === resolvedVirtualEntryId) {
|
|
37
|
-
|
|
37
|
+
const staticPaths = options.staticPaths ?? [];
|
|
38
38
|
const direntPaths = [];
|
|
39
39
|
try {
|
|
40
40
|
const publicDirPaths = readdirSync(resolve(config.root, config.publicDir), {
|
|
@@ -58,7 +58,7 @@ const buildPlugin = (options) => {
|
|
|
58
58
|
uniqueStaticPaths.add(`/${p.name}`);
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
|
-
staticPaths
|
|
61
|
+
staticPaths.push(...Array.from(uniqueStaticPaths));
|
|
62
62
|
const entry = options.entry ?? defaultOptions.entry;
|
|
63
63
|
return await getEntryContent({
|
|
64
64
|
entry: Array.isArray(entry) ? entry : [entry],
|
package/dist/entry/index.js
CHANGED
|
@@ -28,7 +28,13 @@ const getEntryContent = async (options) => {
|
|
|
28
28
|
let added = false
|
|
29
29
|
for (const [, app] of Object.entries(modules)) {
|
|
30
30
|
if (app) {
|
|
31
|
-
mainApp.
|
|
31
|
+
mainApp.all('*', (c) => {
|
|
32
|
+
let executionCtx
|
|
33
|
+
try {
|
|
34
|
+
executionCtx = c.executionCtx
|
|
35
|
+
} catch {}
|
|
36
|
+
return app.fetch(c.req.raw, c.env, executionCtx)
|
|
37
|
+
})
|
|
32
38
|
mainApp.notFound((c) => {
|
|
33
39
|
let executionCtx
|
|
34
40
|
try {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hono/vite-build",
|
|
3
3
|
"description": "Vite plugin to build your Hono app",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.4.0",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"module": "dist/index.js",
|
|
7
7
|
"type": "module",
|
|
@@ -43,6 +43,10 @@
|
|
|
43
43
|
"./deno": {
|
|
44
44
|
"types": "./dist/adapter/deno/index.d.ts",
|
|
45
45
|
"import": "./dist/adapter/deno/index.js"
|
|
46
|
+
},
|
|
47
|
+
"./vercel": {
|
|
48
|
+
"types": "./dist/adapter/vercel/index.d.ts",
|
|
49
|
+
"import": "./dist/adapter/vercel/index.js"
|
|
46
50
|
}
|
|
47
51
|
},
|
|
48
52
|
"typesVersions": {
|
|
@@ -64,6 +68,12 @@
|
|
|
64
68
|
],
|
|
65
69
|
"netlify-functions": [
|
|
66
70
|
"./dist/adapter/netlify-functions/index.d.ts"
|
|
71
|
+
],
|
|
72
|
+
"deno": [
|
|
73
|
+
"./dist/adapter/deno/index.d.ts"
|
|
74
|
+
],
|
|
75
|
+
"vercel": [
|
|
76
|
+
"./dist/adapter/vercel/index.d.ts"
|
|
67
77
|
]
|
|
68
78
|
}
|
|
69
79
|
},
|
|
@@ -84,7 +94,7 @@
|
|
|
84
94
|
"publint": "^0.1.12",
|
|
85
95
|
"rimraf": "^5.0.1",
|
|
86
96
|
"tsup": "^7.2.0",
|
|
87
|
-
"vite": "^
|
|
97
|
+
"vite": "^6.1.1",
|
|
88
98
|
"vitest": "^2.1.1"
|
|
89
99
|
},
|
|
90
100
|
"peerDependencies": {
|