This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/react](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`18.3.4` -> `18.3.5`](https://renovatebot.com/diffs/npm/@types%2freact/18.3.4/18.3.5) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.2.0` -> `8.3.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.2.0/8.3.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.2.0` -> `8.3.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.2.0/8.3.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [postcss](https://postcss.org/) ([source](https://redirect.github.com/postcss/postcss)) | [`8.4.41` -> `8.4.43`](https://renovatebot.com/diffs/npm/postcss/8.4.41/8.4.43) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [wrangler](https://redirect.github.com/cloudflare/workers-sdk) ([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`3.72.2` -> `3.73.0`](https://renovatebot.com/diffs/npm/wrangler/3.72.2/3.73.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v8.3.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#830-2024-08-26) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.2.0...v8.3.0) ##### 🚀 Features - **eslint-plugin:** \[no-deprecation] add rule ##### 🩹 Fixes - **eslint-plugin:** \[no-unnecessary-template-expression] add missing parentheses in autofix - **eslint-plugin:** \[no-unnecessary-type-parameters] check mapped alias type arguments - **utils:** add `TSDeclareFunction` to `functionTypeTypes` - **ast-spec:** use `Expression` in argument of `ThrowStatement` ##### ❤️ Thank You - Abraham Guo - Daichi Kamiyama - Josh Goldberg ✨ - Kim Sang Du - Sukka - Vida Xie You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v8.3.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#830-2024-08-26) [Compare Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.2.0...v8.3.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>postcss/postcss (postcss)</summary> ### [`v8.4.43`](https://redirect.github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8443) [Compare Source](https://redirect.github.com/postcss/postcss/compare/8.4.42...8.4.43) - Fixed `markClean is not a function` error. ### [`v8.4.42`](https://redirect.github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#8442) [Compare Source](https://redirect.github.com/postcss/postcss/compare/8.4.41...8.4.42) - Fixed CSS syntax error on long minified files (by [@​varpstar](https://redirect.github.com/varpstar)). </details> <details> <summary>cloudflare/workers-sdk (wrangler)</summary> ### [`v3.73.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#3730) [Compare Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@3.72.3...wrangler@3.73.0) ##### Minor Changes - [#​6571](https://redirect.github.com/cloudflare/workers-sdk/pull/6571) [`a7e1bfe`](a7e1bfea3e) Thanks [@​penalosa](https://redirect.github.com/penalosa)! - feat: Add deployment http targets to wrangler deploy logs, and add url to pages deploy logs - [#​6497](https://redirect.github.com/cloudflare/workers-sdk/pull/6497) [`3bd833c`](3bd833cbe2) Thanks [@​WalshyDev](https://redirect.github.com/WalshyDev)! - chore: move `wrangler versions ...`, `wrangler deployments ...`, `wrangler rollback` and `wrangler triggers ...` out of experimental and open beta. These are now available to use without the --x-versions flag, you can continue to pass this however without issue to keep compatibility with all the usage today. A few of the commands had an output that wasn't guarded by `--x-versions` those have been updated to use the newer output, we have tried to keep compatibility where possible (for example: `wrangler rollback` will continue to output "Worker Version ID:" so users can continue to grab the ID). If you wish to use the old versions of the commands you can pass the `--no-x-versions` flag. Note, these will be removed in the future so please work on migrating. - [#​6586](https://redirect.github.com/cloudflare/workers-sdk/pull/6586) [`72ea742`](72ea74214d) Thanks [@​penalosa](https://redirect.github.com/penalosa)! - feat: Inject a 404 response for browser requested `favicon.ico` files when loading the `/__scheduled` page for scheduled-only Workers - [#​6497](https://redirect.github.com/cloudflare/workers-sdk/pull/6497) [`3bd833c`](3bd833cbe2) Thanks [@​WalshyDev](https://redirect.github.com/WalshyDev)! - feat: update `wrangler deploy` to use the new versions and deployments API. This should have zero user-facing impact but sets up the most used command to deploy Workers to use the new recommended APIs and move away from the old ones. We will still call the old upload path where required (e.g. Durable Object migration or Service Worker format). ##### Patch Changes - [#​6563](https://redirect.github.com/cloudflare/workers-sdk/pull/6563) [`da48a70`](da48a70369) Thanks [@​threepointone](https://redirect.github.com/threepointone)! - chore: remove the warning about local mode flag being removed in the future - [#​6595](https://redirect.github.com/cloudflare/workers-sdk/pull/6595) [`0a76d7e`](0a76d7e550) Thanks [@​vicb](https://redirect.github.com/vicb)! - feat: update unenv to the latest available version - [#​5738](https://redirect.github.com/cloudflare/workers-sdk/pull/5738) [`c2460c4`](c2460c4d89) Thanks [@​penalosa](https://redirect.github.com/penalosa)! - fix: Prevent spaces in names when validating - [#​6586](https://redirect.github.com/cloudflare/workers-sdk/pull/6586) [`72ea742`](72ea74214d) Thanks [@​penalosa](https://redirect.github.com/penalosa)! - chore: Improve Miniflare CRON warning wording - [#​6593](https://redirect.github.com/cloudflare/workers-sdk/pull/6593) [`f097cb7`](f097cb73be) Thanks [@​vicb](https://redirect.github.com/vicb)! - fix: remove `experimental:` prefix requirement for nodejs_compat_v2 See https://jira.cfdata.org/browse/DEVDASH-218 - [#​6572](https://redirect.github.com/cloudflare/workers-sdk/pull/6572) [`0d83428`](0d834284d0) Thanks [@​penalosa](https://redirect.github.com/penalosa)! - fix: Show a clearer user error when trying to use a python worker without the `python_workers` compatibility flag specified - [#​6589](https://redirect.github.com/cloudflare/workers-sdk/pull/6589) [`f4c8cea`](f4c8cea142) Thanks [@​vicb](https://redirect.github.com/vicb)! - feat: update unenv to the latest available version - Updated dependencies \[[`45ad2e0`](45ad2e0c83)]: - [@​cloudflare/workers-shared](https://redirect.github.com/cloudflare/workers-shared)[@​0](https://redirect.github.com/0).4.1 ### [`v3.72.3`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#3723) [Compare Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@3.72.2...wrangler@3.72.3) ##### Patch Changes - [#​6548](https://redirect.github.com/cloudflare/workers-sdk/pull/6548) [`439e63a`](439e63a4ac) Thanks [@​garvit-gupta](https://redirect.github.com/garvit-gupta)! - fix: Fix Vectorize getVectors, deleteVectors payload in Wrangler Client; VS-271 - [#​6554](https://redirect.github.com/cloudflare/workers-sdk/pull/6554) [`46aee5d`](46aee5d16c) Thanks [@​andyjessop](https://redirect.github.com/andyjessop)! - fix: nodejs_compat flags no longer error when running wrangler types --x-include-runtime - [#​6548](https://redirect.github.com/cloudflare/workers-sdk/pull/6548) [`439e63a`](439e63a4ac) Thanks [@​garvit-gupta](https://redirect.github.com/garvit-gupta)! - fix: Add content-type header to Vectorize POST operations; [#​6516](https://redirect.github.com/cloudflare/workers-sdk/issues/6516)/VS-269 - [#​6566](https://redirect.github.com/cloudflare/workers-sdk/pull/6566) [`669ec1c`](669ec1c4d1) Thanks [@​penalosa](https://redirect.github.com/penalosa)! - fix: Ensure esbuild warnings are logged when running wrangler deploy - Updated dependencies \[[`6c057d1`](6c057d10b2)]: - [@​cloudflare/workers-shared](https://redirect.github.com/cloudflare/workers-shared)[@​0](https://redirect.github.com/0).4.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/astral-sh/ruff). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW50ZXJuYWwiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
playground
In-browser playground for Ruff. Available https://play.ruff.rs/.
Getting started
In order to build the WASM module install wasm-pack.
Next, build the WASM module by running npm run build:wasm (release build) or npm run dev:wasm (debug build) from the ./playground directory.
Finally, install TypeScript dependencies with npm install, and run the development server with npm run dev.
To run the datastore, which is based on Workers KV,
install the Wrangler CLI,
then run npx wrangler dev --local from the ./playground/api directory. Note that the datastore is
only required to generate shareable URLs for code snippets. The development datastore does not
require Cloudflare authentication or login, but in turn only persists data locally.
Architecture
The playground is implemented as a single-page React application powered by Vite, with the editor experience itself powered by Monaco.
The playground stores state in localStorage, but supports persisting code snippets to
a persistent datastore based on Workers KV
and exposed via a Cloudflare Worker.
The playground design is originally based on Tailwind Play, with additional inspiration from the Rome Tools Playground.