Converted wrangler example to work on ESM and upgraded it

This commit is contained in:
Alexander Cerutti
2025-01-11 16:20:52 +01:00
parent aae3ad5982
commit 0c128b57de
5 changed files with 48 additions and 75 deletions

View File

@@ -2,16 +2,18 @@
"name": "cloudflare-worker",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"clear:deps": "rm -rf node_modules",
"example": "npx wrangler dev"
"example": "pnpm wrangler dev"
},
"dependencies": {
"passkit-generator": "workspace:*"
},
"devDependencies": {
"@cloudflare/workers-types": "^4.20230419.0",
"@cloudflare/workers-types": "^4.20250109.0",
"typescript": "^5.7.3",
"wrangler": "^3.0.0"
"wrangler": "^3.101.0",
"@types/node": "^20"
}
}

View File

@@ -2,11 +2,11 @@ import { PKPass } from "passkit-generator";
import { Buffer } from "node:buffer";
/** Assets are handled by Wrangler by specifying the rule inside wrangler.toml */
import icon from "../../../models/exampleBooking.pass/icon.png";
import icon2x from "../../../models/exampleBooking.pass/icon@2x.png";
import footer from "../../../models/exampleBooking.pass/footer.png";
import footer2x from "../../../models/exampleBooking.pass/footer@2x.png";
import background2x from "../../../models/examplePass.pass/background@2x.png";
import icon from "../../models/exampleBooking.pass/icon.png";
import icon2x from "../../models/exampleBooking.pass/icon@2x.png";
import footer from "../../models/exampleBooking.pass/footer.png";
import footer2x from "../../models/exampleBooking.pass/footer@2x.png";
import background2x from "../../models/examplePass.pass/background@2x.png";
export interface Env {
/**

View File

@@ -3,8 +3,8 @@
"target": "es2021",
"lib": ["es2021"],
"jsx": "react",
"module": "es2022",
"moduleResolution": "node",
"module": "Node16",
"moduleResolution": "Node16",
"types": ["@cloudflare/workers-types"],
"resolveJsonModule": true,
"allowJs": true,

View File

@@ -1,13 +1,12 @@
name = "pg-cw-example"
main = "src/index.ts"
compatibility_date = "2023-10-02"
#########################################################################################
# This must be enabled to make passkit-generator compatible with cloudflare workers #
#########################################################################################
node_compat = true
compatibility_flags = [ "nodejs_compat" ]
compatibility_date = "2024-09-23"
###################################################################
### This is needed to import `.png` files with esm imports. ###

96
pnpm-lock.yaml generated
View File

@@ -59,13 +59,16 @@ importers:
version: link:../..
devDependencies:
'@cloudflare/workers-types':
specifier: ^4.20230419.0
specifier: ^4.20250109.0
version: 4.20250109.0
'@types/node':
specifier: ^20
version: 20.17.12
typescript:
specifier: ^5.7.3
version: 5.7.3
wrangler:
specifier: ^3.0.0
specifier: ^3.101.0
version: 3.101.0(@cloudflare/workers-types@4.20250109.0)
examples/firebase/functions:
@@ -7903,7 +7906,7 @@ snapshots:
'@jest/console@29.7.0':
dependencies:
'@jest/types': 29.6.3
'@types/node': 18.19.70
'@types/node': 20.17.12
chalk: 4.1.2
jest-message-util: 29.7.0
jest-util: 29.7.0
@@ -7916,14 +7919,14 @@ snapshots:
'@jest/test-result': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@types/node': 18.19.70
'@types/node': 20.17.12
ansi-escapes: 4.3.2
chalk: 4.1.2
ci-info: 3.9.0
exit: 0.1.2
graceful-fs: 4.2.11
jest-changed-files: 29.7.0
jest-config: 29.7.0(@types/node@18.19.70)(ts-node@10.9.2(@types/node@16.11.26)(typescript@5.7.3))
jest-config: 29.7.0(@types/node@20.17.12)(ts-node@10.9.2(@types/node@16.11.26)(typescript@5.7.3))
jest-haste-map: 29.7.0
jest-message-util: 29.7.0
jest-regex-util: 29.6.3
@@ -7951,14 +7954,14 @@ snapshots:
'@jest/test-result': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@types/node': 18.19.70
'@types/node': 20.17.12
ansi-escapes: 4.3.2
chalk: 4.1.2
ci-info: 3.9.0
exit: 0.1.2
graceful-fs: 4.2.11
jest-changed-files: 29.7.0
jest-config: 29.7.0(@types/node@18.19.70)(ts-node@10.9.2(@types/node@20.17.12)(typescript@5.7.3))
jest-config: 29.7.0(@types/node@20.17.12)(ts-node@10.9.2(@types/node@20.17.12)(typescript@5.7.3))
jest-haste-map: 29.7.0
jest-message-util: 29.7.0
jest-regex-util: 29.6.3
@@ -7983,7 +7986,7 @@ snapshots:
dependencies:
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
'@types/node': 18.19.70
'@types/node': 20.17.12
jest-mock: 29.7.0
'@jest/expect-utils@29.7.0':
@@ -8001,7 +8004,7 @@ snapshots:
dependencies:
'@jest/types': 29.6.3
'@sinonjs/fake-timers': 10.3.0
'@types/node': 18.19.70
'@types/node': 20.17.12
jest-message-util: 29.7.0
jest-mock: 29.7.0
jest-util: 29.7.0
@@ -8023,7 +8026,7 @@ snapshots:
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@jridgewell/trace-mapping': 0.3.25
'@types/node': 18.19.70
'@types/node': 20.17.12
chalk: 4.1.2
collect-v8-coverage: 1.0.2
exit: 0.1.2
@@ -8093,7 +8096,7 @@ snapshots:
'@jest/schemas': 29.6.3
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
'@types/node': 18.19.70
'@types/node': 20.17.12
'@types/yargs': 17.0.33
chalk: 4.1.2
@@ -8717,20 +8720,20 @@ snapshots:
'@types/body-parser@1.19.5':
dependencies:
'@types/connect': 3.4.38
'@types/node': 18.19.70
'@types/node': 20.17.12
'@types/cacheable-request@6.0.3':
dependencies:
'@types/http-cache-semantics': 4.0.4
'@types/keyv': 3.1.4
'@types/node': 18.19.70
'@types/node': 20.17.12
'@types/responselike': 1.0.3
'@types/caseless@0.12.5': {}
'@types/connect@3.4.38':
dependencies:
'@types/node': 18.19.70
'@types/node': 20.17.12
'@types/cors@2.8.17':
dependencies:
@@ -8749,7 +8752,7 @@ snapshots:
'@types/express-serve-static-core@5.0.4':
dependencies:
'@types/node': 18.19.70
'@types/node': 20.17.12
'@types/qs': 6.9.17
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
@@ -8771,11 +8774,11 @@ snapshots:
'@types/glob@7.2.0':
dependencies:
'@types/minimatch': 5.1.2
'@types/node': 18.19.70
'@types/node': 20.17.12
'@types/graceful-fs@4.1.9':
dependencies:
'@types/node': 18.19.70
'@types/node': 20.17.12
'@types/http-cache-semantics@4.0.4': {}
@@ -8799,7 +8802,7 @@ snapshots:
'@types/keyv@3.1.4':
dependencies:
'@types/node': 18.19.70
'@types/node': 20.17.12
'@types/lodash@4.17.14': {}
@@ -8840,19 +8843,19 @@ snapshots:
'@types/responselike@1.0.3':
dependencies:
'@types/node': 18.19.70
'@types/node': 20.17.12
'@types/retry@0.12.0': {}
'@types/send@0.17.4':
dependencies:
'@types/mime': 1.3.5
'@types/node': 18.19.70
'@types/node': 20.17.12
'@types/serve-static@1.15.7':
dependencies:
'@types/http-errors': 2.0.4
'@types/node': 18.19.70
'@types/node': 20.17.12
'@types/send': 0.17.4
'@types/stack-utils@2.0.3': {}
@@ -11464,7 +11467,7 @@ snapshots:
'@jest/expect': 29.7.0
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
'@types/node': 18.19.70
'@types/node': 20.17.12
chalk: 4.1.2
co: 4.6.0
dedent: 1.5.3
@@ -11553,7 +11556,7 @@ snapshots:
- babel-plugin-macros
- supports-color
jest-config@29.7.0(@types/node@18.19.70)(ts-node@10.9.2(@types/node@16.11.26)(typescript@5.7.3)):
jest-config@29.7.0(@types/node@20.17.12)(ts-node@10.9.2(@types/node@16.11.26)(typescript@5.7.3)):
dependencies:
'@babel/core': 7.25.8
'@jest/test-sequencer': 29.7.0
@@ -11578,43 +11581,12 @@ snapshots:
slash: 3.0.0
strip-json-comments: 3.1.1
optionalDependencies:
'@types/node': 18.19.70
'@types/node': 20.17.12
ts-node: 10.9.2(@types/node@16.11.26)(typescript@5.7.3)
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
jest-config@29.7.0(@types/node@18.19.70)(ts-node@10.9.2(@types/node@20.17.12)(typescript@5.7.3)):
dependencies:
'@babel/core': 7.25.8
'@jest/test-sequencer': 29.7.0
'@jest/types': 29.6.3
babel-jest: 29.7.0(@babel/core@7.25.8)
chalk: 4.1.2
ci-info: 3.9.0
deepmerge: 4.3.1
glob: 7.2.3
graceful-fs: 4.2.11
jest-circus: 29.7.0
jest-environment-node: 29.7.0
jest-get-type: 29.6.3
jest-regex-util: 29.6.3
jest-resolve: 29.7.0
jest-runner: 29.7.0
jest-util: 29.7.0
jest-validate: 29.7.0
micromatch: 4.0.8
parse-json: 5.2.0
pretty-format: 29.7.0
slash: 3.0.0
strip-json-comments: 3.1.1
optionalDependencies:
'@types/node': 18.19.70
ts-node: 10.9.2(@types/node@20.17.12)(typescript@5.7.3)
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
jest-config@29.7.0(@types/node@20.17.12)(ts-node@10.9.2(@types/node@20.17.12)(typescript@5.7.3)):
dependencies:
'@babel/core': 7.25.8
@@ -11680,7 +11652,7 @@ snapshots:
dependencies:
'@jest/types': 29.6.3
'@types/graceful-fs': 4.1.9
'@types/node': 18.19.70
'@types/node': 20.17.12
anymatch: 3.1.3
fb-watchman: 2.0.2
graceful-fs: 4.2.11
@@ -11719,7 +11691,7 @@ snapshots:
jest-mock@29.7.0:
dependencies:
'@jest/types': 29.6.3
'@types/node': 18.19.70
'@types/node': 20.17.12
jest-util: 29.7.0
jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
@@ -11754,7 +11726,7 @@ snapshots:
'@jest/test-result': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@types/node': 18.19.70
'@types/node': 20.17.12
chalk: 4.1.2
emittery: 0.13.1
graceful-fs: 4.2.11
@@ -11782,7 +11754,7 @@ snapshots:
'@jest/test-result': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@types/node': 18.19.70
'@types/node': 20.17.12
chalk: 4.1.2
cjs-module-lexer: 1.4.1
collect-v8-coverage: 1.0.2
@@ -11828,7 +11800,7 @@ snapshots:
jest-util@29.7.0:
dependencies:
'@jest/types': 29.6.3
'@types/node': 18.19.70
'@types/node': 20.17.12
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
@@ -11847,7 +11819,7 @@ snapshots:
dependencies:
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
'@types/node': 18.19.70
'@types/node': 20.17.12
ansi-escapes: 4.3.2
chalk: 4.1.2
emittery: 0.13.1
@@ -11856,7 +11828,7 @@ snapshots:
jest-worker@29.7.0:
dependencies:
'@types/node': 18.19.70
'@types/node': 20.17.12
jest-util: 29.7.0
merge-stream: 2.0.0
supports-color: 8.1.1