@netlify/vite-plugin 1.0.0 → 2.0.1
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/dist/main.d.ts +1 -1
- package/dist/main.js +27 -12
- package/package.json +6 -5
package/dist/main.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { Features } from '@netlify/dev';
|
|
|
3
3
|
interface NetlifyPluginOptions extends Features {
|
|
4
4
|
/**
|
|
5
5
|
* Attach a Vite middleware that intercepts requests and handles them in the
|
|
6
|
-
* same way as the Netlify production environment.
|
|
6
|
+
* same way as the Netlify production environment (default: true).
|
|
7
7
|
*/
|
|
8
8
|
middleware?: boolean;
|
|
9
9
|
}
|
package/dist/main.js
CHANGED
|
@@ -67,31 +67,46 @@ function netlify(options = {}) {
|
|
|
67
67
|
const plugin = {
|
|
68
68
|
name: "vite-plugin-netlify",
|
|
69
69
|
async configureServer(viteDevServer) {
|
|
70
|
-
const {
|
|
70
|
+
const { port } = viteDevServer.config.server;
|
|
71
|
+
const { blobs, edgeFunctions, functions, middleware = true, redirects, staticFiles } = options;
|
|
71
72
|
const netlifyDev = new NetlifyDev({
|
|
72
73
|
blobs,
|
|
74
|
+
edgeFunctions,
|
|
73
75
|
functions,
|
|
74
76
|
logger,
|
|
75
77
|
redirects,
|
|
76
|
-
|
|
78
|
+
serverAddress: `http://localhost:${port}`,
|
|
79
|
+
staticFiles: {
|
|
80
|
+
...staticFiles,
|
|
81
|
+
directories: [viteDevServer.config.root, viteDevServer.config.publicDir]
|
|
82
|
+
},
|
|
77
83
|
projectRoot: viteDevServer.config.root
|
|
78
84
|
});
|
|
79
85
|
await netlifyDev.start();
|
|
80
86
|
if (!netlifyDev.siteIsLinked) {
|
|
81
|
-
logger.log(
|
|
87
|
+
logger.log(
|
|
88
|
+
"Linking this project to a Netlify site lets you deploy your site, use any environment variables defined on your team and site and much more. Run `npx netlify init` to get started."
|
|
89
|
+
);
|
|
82
90
|
}
|
|
83
91
|
if (middleware) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
} else {
|
|
91
|
-
next();
|
|
92
|
+
viteDevServer.middlewares.use(async function netlifyPreMiddleware(nodeReq, nodeRes, next) {
|
|
93
|
+
const req = toWebRequest(nodeReq, nodeReq.originalUrl);
|
|
94
|
+
const headers = {};
|
|
95
|
+
const result = await netlifyDev.handleAndIntrospect(req, {
|
|
96
|
+
headersCollector: (key, value) => {
|
|
97
|
+
headers[key] = value;
|
|
92
98
|
}
|
|
93
99
|
});
|
|
94
|
-
|
|
100
|
+
const isStaticFile = result?.type === "static";
|
|
101
|
+
if (result && !isStaticFile) {
|
|
102
|
+
fromWebResponse(result.response, nodeRes);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
for (const key in headers) {
|
|
106
|
+
nodeRes.setHeader(key, headers[key]);
|
|
107
|
+
}
|
|
108
|
+
next();
|
|
109
|
+
});
|
|
95
110
|
}
|
|
96
111
|
}
|
|
97
112
|
};
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@netlify/vite-plugin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "Vite plugin with a local emulation of the Netlify environment",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
7
|
-
"node": "^
|
|
7
|
+
"node": "^20.6.1 || >=22"
|
|
8
8
|
},
|
|
9
9
|
"main": "./dist/main.js",
|
|
10
10
|
"exports": "./dist/main.js",
|
|
@@ -29,16 +29,17 @@
|
|
|
29
29
|
},
|
|
30
30
|
"author": "Netlify Inc.",
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@types/node": "^20.
|
|
32
|
+
"@types/node": "^20.17.57",
|
|
33
|
+
"playwright": "^1.52.0",
|
|
33
34
|
"tsup": "^8.0.0",
|
|
34
35
|
"vite": "^6.3.4",
|
|
35
36
|
"vitest": "^3.0.0"
|
|
36
37
|
},
|
|
37
38
|
"dependencies": {
|
|
38
|
-
"@netlify/dev": "
|
|
39
|
+
"@netlify/dev": "4.0.1",
|
|
39
40
|
"chalk": "^5.4.1"
|
|
40
41
|
},
|
|
41
42
|
"peerDependencies": {
|
|
42
|
-
"vite": "^6
|
|
43
|
+
"vite": "^6"
|
|
43
44
|
}
|
|
44
45
|
}
|