Skip to content
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

fix: allow the asset directory to be omitted in Wrangler config for commands that don't need it #7426

Merged

Conversation

petebacondarwin
Copy link
Contributor

@petebacondarwin petebacondarwin commented Dec 3, 2024

Fixes #0000

We want to allow build tools (e.g. Nuxt/Vite/Next.js etc) to own the main and assets.directory fields in deployment configuration since they are the ones that generate these files.
In that case it doesn't makes sense for the user to provide them in their user configuration.
The main field is already optional from the point of view of the syntax check of the user's configuration file (e.g. wrangler.toml); this PR just makes the assets.directory field the same.
It is still an error to attempt to deploy or dev a Worker with an assets field but no assets.directory.


  • Tests
    • TODO (before merge)
    • Tests included
    • Tests not necessary because:
  • E2E Tests CI Job required? (Use "e2e" label or ask maintainer to run separately)
    • I don't know
    • Required
    • Not required because:
  • Public documentation
    • TODO (before merge)
    • Cloudflare docs PR(s):
    • Documentation not necessary because: the docs don't specify that the wrangler.toml must have a directory, just that a directory is required.

@petebacondarwin petebacondarwin requested a review from a team as a code owner December 3, 2024 15:33
Copy link

changeset-bot bot commented Dec 3, 2024

🦋 Changeset detected

Latest commit: e4413c9

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
wrangler Patch
@cloudflare/vitest-pool-workers Patch

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

Copy link
Contributor

github-actions bot commented Dec 3, 2024

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/12155292375/npm-package-wrangler-7426

You can reference the automatically updated head of this PR with:

npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/prs/7426/npm-package-wrangler-7426

Or you can use npx with this latest build directly:

npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12155292375/npm-package-wrangler-7426 dev path/to/script.js
Additional artifacts:
npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12155292375/npm-package-create-cloudflare-7426 --no-auto-update
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12155292375/npm-package-cloudflare-kv-asset-handler-7426
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12155292375/npm-package-miniflare-7426
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12155292375/npm-package-cloudflare-pages-shared-7426
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12155292375/npm-package-cloudflare-vitest-pool-workers-7426
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12155292375/npm-package-cloudflare-workers-editor-shared-7426
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12155292375/npm-package-cloudflare-workers-shared-7426
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12155292375/npm-package-cloudflare-workflows-shared-7426

Note that these links will no longer work once the GitHub Actions artifact expires.


wrangler@3.92.0 includes the following runtime dependencies:

Package Constraint Resolved
miniflare workspace:* 3.20241106.2
workerd 1.20241106.2 1.20241106.2
workerd --version 1.20241106.2 2024-11-06

Please ensure constraints are pinned, and miniflare/workerd minor versions match.

Copy link
Contributor

@penalosa penalosa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but could you add some context to the PR description for why this is needed?

@petebacondarwin petebacondarwin added the e2e Run e2e tests on a PR label Dec 3, 2024
@petebacondarwin petebacondarwin force-pushed the pbd/only-validate-asset-directory-when-needed branch from b5c72af to ccde92b Compare December 4, 2024 07:47
@petebacondarwin petebacondarwin force-pushed the pbd/only-validate-asset-directory-when-needed branch from ccde92b to e4413c9 Compare December 4, 2024 07:51
@petebacondarwin petebacondarwin merged commit b40d0ab into main Dec 4, 2024
32 checks passed
@petebacondarwin petebacondarwin deleted the pbd/only-validate-asset-directory-when-needed branch December 4, 2024 11:43
@workers-devprod workers-devprod mentioned this pull request Dec 4, 2024
emily-shen added a commit that referenced this pull request Dec 4, 2024
* add telemetry commands

* changeset

* fix and test dates

* update changeset

* add global/project status

* default true

* remove changeset

* update wrangler telemetry status

feat: add `wrangler metrics` as an alias for `wrangler telemetry` (#7284)

* add metrics alias

* tests

* use each to test alias

feat: send metrics for command start/complete/error (#7267)

* stop collecting userId in telemetry

Co-authored-by: emily-shen <emily-shen@users.noreply.github.com>

* implement telemetry collection

* infer errorType based on the constructor name

* implement common event properties

* log common event properties

Co-authored-by: Edmund Hung <me@edmund.dev>

* respect metric enabled/disabled

* remove dispatcher.identify

* include SPARROW_SOURCE_KEY in PR pre-release build

* fix tests

* ensure debug log covers the request failed message

* replace SPARROW_SOURCE_KEY regardless whethe env exists

---------

Co-authored-by: Edmund Hung <edmund@cloudflare.com>
Co-authored-by: emily-shen <emily-shen@users.noreply.github.com>
Co-authored-by: Edmund Hung <me@edmund.dev>

fix nested properties (#7300)

feat: add banner to indicate when telemetry is on (#7302)

* add banner

* abort if telemetry disable

* basic sendNewEvent tests

* banner tests

* settle promises before exiting

* remove unnecessary banner logic

* just check if version is different

feat: add some more properties to telemetry events (#7320)

* isCI and isNonInteractive

* add argsUsed and argsCombination

* don't include args if value is false

* redact arg values if string

* lint

* isNonInteractive -> isInteractive

cleanup defineCommand

test duration

log metrics request failure

add draft telemetry.md

add node and os versions

don't send wrangler metrics from c3 if disabled

don't send c3 metrics from wrangler init

add config type

add more comments to send-event

move types out of send-event.ts

add comment about applyBeforeValidation

normalize into camelcase

refactor telemetry command

update tests and some comments

normalise all args

pr feedback

update telemetry.md

use useragent to get package manager

make sendEvent/sendNewEvent sync

rename sendEvent and sendNewEvent

fix lock file

remove flushPromises

changeset

fail silently

feat(wrangler): make resources identifier optional if x-provision flag is enabled (#7377)

Fix wrangler module import under npm monorepos (#7130)

* Update import resolution for files and package exports

In an npm workspace environment, wrangler will now be able to
successfully resolve package exports.

Previously, wrangler would only be able to resolve modules in a relative
`node_modules` directory and not workspace root `node_modules`
directory.

* Use esbuild plugin

chore(wrangler): fix type errors with experimental flags (#7391)

refactor(wrangler): Explicitely pick node compat plugins for each mode (#7387)

* refactor: cleanup & simplify

* refactor(wrangler): Explicitely pick node compat plugins for each mode

* Update packages/wrangler/src/deployment-bundle/esbuild-plugins/hybrid-nodejs-compat.ts

Co-authored-by: Pete Bacon Darwin <pete@bacondarwin.com>

* fixup! renamed vars (review feedback)

* fixup! format

---------

Co-authored-by: Pete Bacon Darwin <pete@bacondarwin.com>

fix: error in angular c3 template (#7342)

* fixed: related to issues-7341
AngularAppEngine class does not have .render, instead it should be
.handle method

* added: changeset

* Tidy up changeset

* fix Angular template

- add a preview script so that it gets included in CI test
- remove unnecessary --`experimnental-local` CLI arg
- add missing `xhr2` dependency

---------

Co-authored-by: Peter Bacon Darwin <pbacondarwin@cloudflare.com>

[C3] Bump create-qwik from 1.10.0 to 1.11.0 in /packages/create-cloudflare/src/frameworks (#7359)

* [C3] Bump create-qwik in /packages/create-cloudflare/src/frameworks

Bumps [create-qwik](https://github.com/QwikDev/qwik/tree/HEAD/packages/create-qwik) from 1.10.0 to 1.11.0.
- [Release notes](https://github.com/QwikDev/qwik/releases)
- [Changelog](https://github.com/QwikDev/qwik/blob/create-qwik@1.11.0/packages/create-qwik/CHANGELOG.md)
- [Commits](https://github.com/QwikDev/qwik/commits/create-qwik@1.11.0/packages/create-qwik)

---
updated-dependencies:
- dependency-name: create-qwik
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: update dependencies of "create-cloudflare" package

The following dependency versions have been updated:

| Dependency  | From   | To     |
| ----------- | ------ | ------ |
| create-qwik | 1.10.0 | 1.11.0 |

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wrangler automated PR updater <wrangler@cloudflare.com>

Remove await from user Worker fetch in router-worker (#7410)

fix: update Angular experimental Workers + Assets template (#7409)

* fix: update Angular experimental Workers + Assets template

* ci: enable tests on experimental Workers + Assets C3 templates

fix: update queues max_batch_timeout in miniflare (#7399)

* update timeout limit

* changeset

* test

* remove only

Co-authored-by: Carmen Popoviciu <cpopoviciu@cloudflare.com>

---------

Co-authored-by: Carmen Popoviciu <cpopoviciu@cloudflare.com>

refactor: move projectRoot computation to config validation (#7415)

move telemetry.md out of src

fixups

tiody up readRawConfig

Rename serve_directly to experimental_serve_directly (#7429)

chore(deps): bump the workerd-and-workers-types group across 1 directory with 2 updates (#7418)

Updates `workerd` from 1.20241106.1 to 1.20241202.2

Version Packages (#7358)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

ci: don't watch for changes on the workers-shared test:ci job (#7420)

refactor: remove missed redundant computation of `projectRoot` (#7421)

* refactor: remove missed redundant computation of `projectRoot`

* test: do not watch test files in workflow fixture test jobs

feat(wrangler): add inherit bindings support (#7385)

* feat(wrangler): add inherit bindings support

* add test

* add changeset

* rename file to bindings

Relax type on `observability.enabled` (#7436)

fix: C3 experimental template for Solid now uses correct preset (#7343)

fix: allow the asset directory to be omitted in Wrangler config for commands that don't need it (#7426)

fix: C3 experimental template for Nuxt now uses correct preset (#7332)

* fix: C3 experimental template for Nuxt now uses correct preset

* test: remove quarantine from Nuxt experimental template

using the github browser merge is always a bad idea

fix e2e
penalosa pushed a commit that referenced this pull request Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e2e Run e2e tests on a PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants