Skip to content

feat(local-explorer-ui): Added initial data studio plumbing#12518

Merged
NuroDev merged 44 commits intomainfrom
NuroDev/local-explorer-studio-plumbing
Feb 12, 2026
Merged

feat(local-explorer-ui): Added initial data studio plumbing#12518
NuroDev merged 44 commits intomainfrom
NuroDev/local-explorer-studio-plumbing

Conversation

@NuroDev
Copy link
Member

@NuroDev NuroDev commented Feb 10, 2026

The first of many PRs towards fixing DEVX-2415.

Screenshot 2026-02-11 at 11 33 16 am

Changes

  • Implements the core (data) driver support.
    • The base is ported from outerbase/studio and the internal dashboard fork for D1 SQLite support only
    • Cleaned up a lot of code's linting errors to appease our workspace linting config
    • Applied a lot of type tweaks / fixes to appease reduce the type errors to 0
    • Added / improved JSDoc comments when possible to try and better document the code being added
  • Added lodash dependency (+types)
  • Added D1 database listing to the sidebar
    • Also includes some refactoring to make error handling more granular (setKVError + setD1Error instead of just setError)
  • Added the initial placeholder routes for where to add the data studio in a later PR.
  • Fixed a number of Tailwind CSS linting warnings (EG: min-h-[67px] replaced with min-h-16.75)

  • Tests
    • Tests included/updated
    • Automated tests not possible - manual testing has been completed as follows:
    • Additional testing not necessary because:
  • Public documentation
    • Cloudflare docs PR(s):
    • Documentation not necessary because: WIP Experimental feature

A picture of a cute animal (not mandatory, but encouraged)


Open with Devin

@NuroDev NuroDev self-assigned this Feb 10, 2026
@changeset-bot
Copy link

changeset-bot bot commented Feb 10, 2026

🦋 Changeset detected

Latest commit: d934801

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

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

@claude
Copy link
Contributor

claude bot commented Feb 10, 2026

Claude finished @NuroDev's task —— View job


Changeset Review

  • Read changeset guidelines
  • Read changeset file
  • Validate changeset
  • Check for cute animal
  • Post results

⚠️ Issues found

The changeset .changeset/chilly-pans-follow.md has the following issue:

Missing experimental feature opt-in instructions: According to the changeset guidelines, "If the change collects more analytics, it should be a minor even though there is no user-visible change" and "Changesets for experimental features should include note on how users can opt in."

While the changeset correctly mentions "This is an experimental WIP feature," it doesn't explain how users can actually use or access this feature. Since D1 databases now appear in the sidebar, users should know:

  • How to enable/access the local explorer
  • Any flags or configuration needed
  • That this is incomplete and more functionality is coming

Suggestion: Add a brief note about how to access the local explorer (e.g., what command to run, what flag to use) or clarify that this feature is automatically available but incomplete.


Everything else looks good:

  • ✅ Version type: minor is correct for new functionality
  • ✅ Changelog quality: Clear description with good context
  • ✅ No h1/h2/h3 headers
  • ✅ Not analytics-related
  • ✅ Package is correct: @cloudflare/local-explorer-ui

Screenshot Review: This is the Local Explorer UI showing the new D1 databases sidebar. The interface looks clean and organized with KV namespaces and D1 databases properly separated. No cute animals detected, but the database icons are giving strong organized-container vibes. 📦/10

@pkg-pr-new
Copy link

pkg-pr-new bot commented Feb 10, 2026

create-cloudflare

npm i https://pkg.pr.new/create-cloudflare@12518

@cloudflare/kv-asset-handler

npm i https://pkg.pr.new/@cloudflare/kv-asset-handler@12518

miniflare

npm i https://pkg.pr.new/miniflare@12518

@cloudflare/pages-shared

npm i https://pkg.pr.new/@cloudflare/pages-shared@12518

@cloudflare/unenv-preset

npm i https://pkg.pr.new/@cloudflare/unenv-preset@12518

@cloudflare/vite-plugin

npm i https://pkg.pr.new/@cloudflare/vite-plugin@12518

@cloudflare/vitest-pool-workers

npm i https://pkg.pr.new/@cloudflare/vitest-pool-workers@12518

@cloudflare/workers-editor-shared

npm i https://pkg.pr.new/@cloudflare/workers-editor-shared@12518

@cloudflare/workers-utils

npm i https://pkg.pr.new/@cloudflare/workers-utils@12518

wrangler

npm i https://pkg.pr.new/wrangler@12518

commit: d934801

@NuroDev NuroDev marked this pull request as ready for review February 11, 2026 10:27
@NuroDev NuroDev requested a review from a team as a code owner February 11, 2026 10:27
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

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

Devin Review found 5 potential issues.

View 9 additional findings in Devin Review.

Open in Devin Review

Copy link
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

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

Devin Review found 2 new potential issues.

View 11 additional findings in Devin Review.

Open in Devin Review

Copy link
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

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

Devin Review found 1 new potential issue.

View 15 additional findings in Devin Review.

Open in Devin Review

NuroDev and others added 6 commits February 11, 2026 15:08
…eses support

Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…/frameworks (#12482)

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>
Co-authored-by: James Opstad <13586373+jamesopstad@users.noreply.github.com>
Copy link
Contributor

@emily-shen emily-shen left a comment

Choose a reason for hiding this comment

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

the studio driver code is quite dense, would it be safe to assume its pretty much alright since it is being used in the outerbase studio and stratus? if there are any specific areas you modified i can have a closer look otherwise i'll assume its alright :)

loading: boolean;
error: string | null;
currentPath: string;
d1Error: string | null;
Copy link
Contributor

Choose a reason for hiding this comment

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

should we have a single error banner? instead of making it resource specific.

i see the pr description says you made it more granular but i'm just wondering why

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah I thought about this as well. The only reason I made these errors unique is so if (for whatever reason) D1 databases fail to load but KV does, you can still access your local KV namespaces and not have the sidebar just set all items to render an error.

Copy link
Contributor

Choose a reason for hiding this comment

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

What about setting a single error, and returning an empty array for the problematic resource if there is an error?

Copy link
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

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

Devin Review found 1 new potential issue.

View 19 additional findings in Devin Review.

Open in Devin Review

Copy link
Contributor

@emily-shen emily-shen left a comment

Choose a reason for hiding this comment

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

approved, not crucial but the one outstanding comment is that i think it would be better to have a single unified error if we fail to fetch something in the sidebar

@github-project-automation github-project-automation bot moved this from Untriaged to Approved in workers-sdk Feb 12, 2026
@NuroDev NuroDev merged commit 323f14e into main Feb 12, 2026
36 checks passed
@NuroDev NuroDev deleted the NuroDev/local-explorer-studio-plumbing branch February 12, 2026 16:36
@github-project-automation github-project-automation bot moved this from Approved to Done in workers-sdk Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants