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", "name": "cloudflare-worker",
"version": "0.0.0", "version": "0.0.0",
"private": true, "private": true,
"type": "module",
"scripts": { "scripts": {
"clear:deps": "rm -rf node_modules", "clear:deps": "rm -rf node_modules",
"example": "npx wrangler dev" "example": "pnpm wrangler dev"
}, },
"dependencies": { "dependencies": {
"passkit-generator": "workspace:*" "passkit-generator": "workspace:*"
}, },
"devDependencies": { "devDependencies": {
"@cloudflare/workers-types": "^4.20230419.0", "@cloudflare/workers-types": "^4.20250109.0",
"typescript": "^5.7.3", "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"; import { Buffer } from "node:buffer";
/** Assets are handled by Wrangler by specifying the rule inside wrangler.toml */ /** Assets are handled by Wrangler by specifying the rule inside wrangler.toml */
import icon from "../../../models/exampleBooking.pass/icon.png"; import icon from "../../models/exampleBooking.pass/icon.png";
import icon2x from "../../../models/exampleBooking.pass/icon@2x.png"; import icon2x from "../../models/exampleBooking.pass/icon@2x.png";
import footer from "../../../models/exampleBooking.pass/footer.png"; import footer from "../../models/exampleBooking.pass/footer.png";
import footer2x from "../../../models/exampleBooking.pass/footer@2x.png"; import footer2x from "../../models/exampleBooking.pass/footer@2x.png";
import background2x from "../../../models/examplePass.pass/background@2x.png"; import background2x from "../../models/examplePass.pass/background@2x.png";
export interface Env { export interface Env {
/** /**

View File

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

View File

@@ -1,13 +1,12 @@
name = "pg-cw-example" name = "pg-cw-example"
main = "src/index.ts" main = "src/index.ts"
compatibility_date = "2023-10-02"
######################################################################################### #########################################################################################
# This must be enabled to make passkit-generator compatible with cloudflare workers # # 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. ### ### This is needed to import `.png` files with esm imports. ###

96
pnpm-lock.yaml generated
View File

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