@cloudflare/vite-plugin 0.0.0-fcaa02cdf → 0.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # `@cloudflare/vite-plugin`
2
2
 
3
- [Intro](#intro) | [Quick start](#quick-start) | [Tutorial](#tutorial) | [API](#api) | [Cloudflare environments](#worker-environments) | [Migrating from `wrangler dev`](#migrating-from-wrangler-dev)
3
+ [Intro](#intro) | [Quick start](#quick-start) | [Tutorial](#tutorial) | [API](#api) | [Cloudflare environments](#cloudflare-environments) | [Migrating from `wrangler dev`](#migrating-from-wrangler-dev)
4
4
 
5
5
  ## Intro
6
6
 
@@ -16,23 +16,42 @@ Your Worker code runs inside [workerd](https://github.com/cloudflare/workerd), m
16
16
 
17
17
  ## Quick start
18
18
 
19
+ ### Start with a basic `package.json`
20
+
21
+ ```json
22
+ {
23
+ "name": "cloudflare-vite-quick-start",
24
+ "private": true,
25
+ "version": "0.0.0",
26
+ "type": "module",
27
+ "scripts": {
28
+ "dev": "vite",
29
+ "build": "vite build",
30
+ "preview": "vite preview"
31
+ }
32
+ }
33
+ ```
34
+
35
+ > [!NOTE]
36
+ > Ensure that you include `"type": "module"` in order to use ES modules by default.
37
+
19
38
  ### Install the dependencies
20
39
 
21
40
  ```sh
22
- npm install @cloudflare/vite-plugin wrangler --save-dev
41
+ npm install vite @cloudflare/vite-plugin wrangler --save-dev
23
42
  ```
24
43
 
25
- ### Add the plugin to your Vite config
44
+ ### Create your Vite config file and include the Cloudflare plugin
26
45
 
27
46
  ```ts
28
47
  // vite.config.ts
29
48
 
30
- import { defineConfig } from 'vite'
31
- import { cloudflare } from '@cloudflare/vite-plugin'
49
+ import { defineConfig } from "vite";
50
+ import { cloudflare } from "@cloudflare/vite-plugin";
32
51
 
33
52
  export default defineConfig({
34
53
  plugins: [cloudflare()],
35
- })
54
+ });
36
55
  ```
37
56
 
38
57
  ### Create your Worker config file
@@ -40,7 +59,7 @@ export default defineConfig({
40
59
  ```toml
41
60
  # wrangler.toml
42
61
 
43
- name = "my-worker"
62
+ name = "cloudflare-vite-quick-start"
44
63
  compatibility_date = "2024-12-30"
45
64
  main = "./src/index.ts"
46
65
  ```
@@ -52,12 +71,12 @@ main = "./src/index.ts"
52
71
 
53
72
  export default {
54
73
  fetch() {
55
- return new Response(`Running in ${navigator.userAgent}!`)
74
+ return new Response(`Running in ${navigator.userAgent}!`);
56
75
  },
57
- }
76
+ };
58
77
  ```
59
78
 
60
- You can now develop (`vite dev`), build (`vite build`), preview (`vite preview`), and deploy (`wrangler deploy`) your application.
79
+ You can now develop (`npm run dev`), build (`npm run build`), preview (`npm run preview`), and deploy (`npm exec wrangler deploy`) your application.
61
80
 
62
81
  ## Tutorial
63
82
 
@@ -88,13 +107,13 @@ npm install @cloudflare/vite-plugin wrangler --save-dev
88
107
  ```ts
89
108
  // vite.config.ts
90
109
 
91
- import { defineConfig } from 'vite'
92
- import react from '@vitejs/plugin-react'
93
- import { cloudflare } from '@cloudflare/vite-plugin'
110
+ import { defineConfig } from "vite";
111
+ import react from "@vitejs/plugin-react";
112
+ import { cloudflare } from "@cloudflare/vite-plugin";
94
113
 
95
114
  export default defineConfig({
96
115
  plugins: [react(), cloudflare()],
97
- })
116
+ });
98
117
  ```
99
118
 
100
119
  #### Create your Worker config file
@@ -181,22 +200,22 @@ The assets `binding` defined here will allow you to access the assets functional
181
200
  // api/index.ts
182
201
 
183
202
  interface Env {
184
- ASSETS: Fetcher
203
+ ASSETS: Fetcher;
185
204
  }
186
205
 
187
206
  export default {
188
207
  fetch(request, env) {
189
- const url = new URL(request.url)
208
+ const url = new URL(request.url);
190
209
 
191
- if (url.pathname.startsWith('/api/')) {
210
+ if (url.pathname.startsWith("/api/")) {
192
211
  return Response.json({
193
- name: 'Cloudflare',
194
- })
212
+ name: "Cloudflare",
213
+ });
195
214
  }
196
215
 
197
- return env.ASSETS.fetch(request)
216
+ return env.ASSETS.fetch(request);
198
217
  },
199
- } satisfies ExportedHandler<Env>
218
+ } satisfies ExportedHandler<Env>;
200
219
  ```
201
220
 
202
221
  The Worker above will be invoked for any request not matching a static asset.
@@ -211,14 +230,14 @@ Replace the file contents with the following code:
211
230
  ```tsx
212
231
  // src/App.tsx
213
232
 
214
- import { useState } from 'react'
215
- import reactLogo from './assets/react.svg'
216
- import viteLogo from '/vite.svg'
217
- import './App.css'
233
+ import { useState } from "react";
234
+ import reactLogo from "./assets/react.svg";
235
+ import viteLogo from "/vite.svg";
236
+ import "./App.css";
218
237
 
219
238
  function App() {
220
- const [count, setCount] = useState(0)
221
- const [name, setName] = useState('unknown')
239
+ const [count, setCount] = useState(0);
240
+ const [name, setName] = useState("unknown");
222
241
 
223
242
  return (
224
243
  <>
@@ -245,9 +264,9 @@ function App() {
245
264
  <div className="card">
246
265
  <button
247
266
  onClick={() => {
248
- fetch('/api/')
267
+ fetch("/api/")
249
268
  .then((res) => res.json() as Promise<{ name: string }>)
250
- .then((data) => setName(data.name))
269
+ .then((data) => setName(data.name));
251
270
  }}
252
271
  aria-label="get name"
253
272
  >
@@ -261,10 +280,10 @@ function App() {
261
280
  Click on the Vite and React logos to learn more
262
281
  </p>
263
282
  </>
264
- )
283
+ );
265
284
  }
266
285
 
267
- export default App
286
+ export default App;
268
287
  ```
269
288
 
270
289
  Now, if you click the button, it will display 'Name from API is: Cloudflare'.
@@ -310,12 +329,12 @@ The `cloudflare` plugin should be included in the Vite `plugins` array:
310
329
  ```ts
311
330
  // vite.config.ts
312
331
 
313
- import { defineConfig } from 'vite'
314
- import { cloudflare } from '@cloudflare/vite-plugin'
332
+ import { defineConfig } from "vite";
333
+ import { cloudflare } from "@cloudflare/vite-plugin";
315
334
 
316
335
  export default defineConfig({
317
336
  plugins: [cloudflare()],
318
- })
337
+ });
319
338
  ```
320
339
 
321
340
  It accepts an optional `PluginConfig` parameter.
package/dist/index.d.ts CHANGED
@@ -19,6 +19,13 @@ interface PluginConfig extends EntryWorkerConfig {
19
19
  persistState?: PersistState;
20
20
  }
21
21
 
22
+ /**
23
+ * Vite plugin that enables a full-featured integration between Vite and the Cloudflare Workers runtime.
24
+ *
25
+ * See the [README](https://github.com/cloudflare/workers-sdk/tree/main/packages/vite-plugin-cloudflare#readme) for more details.
26
+ *
27
+ * @param pluginConfig An optional {@link PluginConfig} object.
28
+ */
22
29
  declare function cloudflare(pluginConfig?: PluginConfig): vite.Plugin;
23
30
 
24
31
  export { cloudflare };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudflare/vite-plugin",
3
- "version": "0.0.0-fcaa02cdf",
3
+ "version": "0.0.1",
4
4
  "description": "Cloudflare plugin for Vite",
5
5
  "keywords": [
6
6
  "cloudflare",
@@ -36,7 +36,7 @@
36
36
  "@hattip/adapter-node": "^0.0.49",
37
37
  "unenv": "npm:unenv-nightly@2.0.0-20241218-183400-5d6aec3",
38
38
  "ws": "^8.18.0",
39
- "miniflare": "0.0.0-fcaa02cdf"
39
+ "miniflare": "3.20241230.2"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@cloudflare/workers-types": "^4.20241230.0",
@@ -46,13 +46,13 @@
46
46
  "tsup": "^8.3.0",
47
47
  "typescript": "^5.7.2",
48
48
  "vite": "^6.0.7",
49
- "@cloudflare/workers-shared": "0.0.0-fcaa02cdf",
49
+ "@cloudflare/workers-shared": "0.12.2",
50
50
  "@cloudflare/workers-tsconfig": "0.0.0",
51
- "wrangler": "0.0.0-fcaa02cdf"
51
+ "wrangler": "3.104.0"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "vite": "^6.0.7",
55
- "wrangler": "^0.0.0-fcaa02cdf"
55
+ "wrangler": "^3.101.0"
56
56
  },
57
57
  "publishConfig": {
58
58
  "access": "public"