-
Notifications
You must be signed in to change notification settings - Fork 772
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Images bindings, with dynamic Sharp import #8008
base: main
Are you sure you want to change the base?
Conversation
* Add Images binding * Add Images remote preview mode * Plumb images local mode flag through * Add Images binding local mode * Add Images E2E test * Hoist @img packages This fixes the fixture tests, perhaps because sharp does something unusual with imports, see GH comment: nuxt/image#1210 (comment) * Add local suffix when printing bindings * Swap describe/it in E2E test * Mark sharp as unbundled, rather than hoisting * Remove zod * Improve error messages
We want everything that doesn't depend on sharp to work if it is unavailable, so we need to import it dynamically.
🦋 Changeset detectedLatest commit: 9b522ac The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
A wrangler prerelease is available for testing. You can install this latest build in your project with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13120191853/npm-package-wrangler-8008 You can reference the automatically updated head of this PR with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/prs/8008/npm-package-wrangler-8008 Or you can use npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13120191853/npm-package-wrangler-8008 dev path/to/script.js Additional artifacts:cloudflare-workers-bindings-extension: wget https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13120191853/npm-package-cloudflare-workers-bindings-extension-8008 -O ./cloudflare-workers-bindings-extension.0.0.0-v88c7b426e.vsix && code --install-extension ./cloudflare-workers-bindings-extension.0.0.0-v88c7b426e.vsix create-cloudflare: npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13120191853/npm-package-create-cloudflare-8008 --no-auto-update @cloudflare/kv-asset-handler: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13120191853/npm-package-cloudflare-kv-asset-handler-8008 miniflare: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13120191853/npm-package-miniflare-8008 @cloudflare/pages-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13120191853/npm-package-cloudflare-pages-shared-8008 @cloudflare/unenv-preset: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13120191853/npm-package-cloudflare-unenv-preset-8008 @cloudflare/vite-plugin: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13120191853/npm-package-cloudflare-vite-plugin-8008 @cloudflare/vitest-pool-workers: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13120191853/npm-package-cloudflare-vitest-pool-workers-8008 @cloudflare/workers-editor-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13120191853/npm-package-cloudflare-workers-editor-shared-8008 @cloudflare/workers-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13120191853/npm-package-cloudflare-workers-shared-8008 @cloudflare/workflows-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13120191853/npm-package-cloudflare-workflows-shared-8008 Note that these links will no longer work once the GitHub Actions artifact expires.
Please ensure constraints are pinned, and |
Co-authored-by: Edmund Hung <me@edmund.dev>
I have tested the prerelease version locally with node 16 and I can confirm the issue with sharp is gone: With prerelease version: > npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13112532233/npm-package-wrangler-8008 --help
Need to install the following packages:
https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/13112532233/npm-package-wrangler-8008
Ok to proceed? (y)
npm WARN deprecated rollup-plugin-inject@3.0.2: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
npm WARN deprecated sourcemap-codec@1.4.8: Please use @jridgewell/sourcemap-codec instead
wrangler
COMMANDS
wrangler docs [search..] 📚 Open Wrangler's command documentation in your browser
... With v3.107.1: > npx wrangler@3.107.1 --help
Need to install the following packages:
wrangler@3.107.1
Ok to proceed? (y)
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'sharp@0.33.5',
npm WARN EBADENGINE required: { node: '^18.17.0 || ^20.3.0 || >=21.0.0' },
npm WARN EBADENGINE current: { node: 'v16.20.2', npm: '8.19.4' }
npm WARN EBADENGINE }
npm WARN deprecated rollup-plugin-inject@3.0.2: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
npm WARN deprecated sourcemap-codec@1.4.8: Please use @jridgewell/sourcemap-codec instead
npm WARN deprecated wrangler@3.107.1: Please downgrade to v3.106.0
/Users/edmund/.npm/_npx/368e997908476be9/node_modules/sharp/lib/sharp.js:113
throw new Error(help.join('\n'));
^
Error: Could not load the "sharp" module using the darwin-arm64 runtime
Possible solutions:
- Please upgrade Node.js:
Found 16.20.2
Requires ^18.17.0 || ^20.3.0 || >=21.0.0
- Consult the installation documentation:
See https://sharp.pixelplumbing.com/install
at Object.<anonymous> (/Users/edmund/.npm/_npx/368e997908476be9/node_modules/sharp/lib/sharp.js:113:9)
... |
Previous attempts:
#7424 - Reverted because of a missing permission in E2E tests
#7945 - Reverted because some platforms we support don't have Sharp available
These are both now fixed.