Skip to content

[Release] v0.3.0#2

Merged
NishargShah merged 61 commits into
masterfrom
canary
Jun 20, 2026
Merged

[Release] v0.3.0#2
NishargShah merged 61 commits into
masterfrom
canary

Conversation

@NishargShah

Copy link
Copy Markdown
Contributor

0.3.0 (2026-06-20)

🚀 Features

  • sanity-plugin-structure-tool:
    • Added dynamic callback support for almost all ListItem properties (e.g. title, schemaType, singleton, children, filter, filterParams, hideAddButton, templates, apiVersion, defaultOrdering, defaultLayout, showIcons, id).
    • Updated workspaces and roles callbacks to receive standard desk context (workspace, currentUser, context) alongside default values.
    • Added support for custom component options via componentOptions for user components.
    • Added defaultOrdering and defaultLayout properties for list view configuration.
    • Added support for showIcons and icon: false to customize icon visibility.
    • Added dynamic id callback support with access to uniqueId, sanitizedPaths, id, and slugify.
    • Exposed URL_PATH_SEPARATOR as a public constant.
  • docs:
    • Added dedicated documentation and examples for id, showIcons, defaultOrdering, defaultLayout, componentOptions, and URL_PATH_SEPARATOR.
    • Reorganized Property Reference guide tables and sidebar menus.
  • studio:
    • Added interactive feature demonstration drawers in the reference studio for all newly introduced layout, ordering, and configuration options.

Copilot AI review requested due to automatic review settings June 20, 2026 13:30
@vercel

vercel Bot commented Jun 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sanity-structure-tool Ready Ready Preview, Comment Jun 20, 2026 1:43pm
sanity-structure-tool-studio Ready Ready Preview, Comment Jun 20, 2026 1:43pm

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Release PR for v0.3.0, primarily expanding sanity-plugin-structure-tool with dynamic callback support across most ListItem properties, adding a typed helpers API, and updating the docs + reference studio to demonstrate the new configuration options.

Changes:

  • Refactors core plugin types/rendering to support dynamic callbacks, computed list-item resolution, and new list view options (showIcons, defaultOrdering, defaultLayout, dynamic id, componentOptions).
  • Introduces a typed helpers factory (listing/singleton/divider/raw/component/children/filters) and updates the reference studio structure to use it.
  • Updates documentation site structure/examples and bumps versions/dependencies for the monorepo release.

Reviewed changes

Copilot reviewed 89 out of 90 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
pnpm-workspace.yaml Updates catalog versions and adds minimumReleaseAgeExclude entries.
packages/sanity-plugin-structure-tool/src/types/index.ts Adjusts exported public types.
packages/sanity-plugin-structure-tool/src/structure/types/listItemCore.types.ts Refactors workspace/role typing via shared generic callback params.
packages/sanity-plugin-structure-tool/src/structure/types/listItem.types.ts Introduces new core list item surface (icons/layout/ordering/component/id callbacks).
packages/sanity-plugin-structure-tool/src/structure/types/common.types.ts Adds shared StructureToolParams + generic callback parameter types.
packages/sanity-plugin-structure-tool/src/structure/templates/templates.types.ts Changes templates API to accept params object with list items.
packages/sanity-plugin-structure-tool/src/structure/templates/templates.ts Resolves dynamic list item fields when generating templates.
packages/sanity-plugin-structure-tool/src/structure/structureToolPlugin/structureToolPlugin.types.ts Updates plugin param/output typing; adds helpers to output.
packages/sanity-plugin-structure-tool/src/structure/structureToolPlugin/structureToolPlugin.ts Wires new helpers + updated templates/structure plumbing.
packages/sanity-plugin-structure-tool/src/structure/structure/structure.types.ts Refactors structure params/types and adds shared StructureCommonParams.
packages/sanity-plugin-structure-tool/src/structure/structure/structure.ts Uses new context extraction + workspace list item computation pipeline.
packages/sanity-plugin-structure-tool/src/structure/renderListItem/renderListItem.types.ts Updates renderListItem API to take a params object.
packages/sanity-plugin-structure-tool/src/structure/renderListItem/renderListItem.ts Adds support for showIcons/layout/ordering/components; refactors rendering.
packages/sanity-plugin-structure-tool/src/structure/getWorkspaceListItem/getWorkspaceListItem.types.ts Adds types for new workspace item computation.
packages/sanity-plugin-structure-tool/src/structure/getWorkspaceListItem/getWorkspaceListItem.ts New workspace-aware filtering + id generation + child recursion.
packages/sanity-plugin-structure-tool/src/structure/getComputedListItems/getComputedListItems.types.ts Adds types for computed/dynamic property resolution.
packages/sanity-plugin-structure-tool/src/structure/getComputedListItems/getComputedListItems.ts Computes resolved list-item values (pluralization, dynamic callbacks, etc.).
packages/sanity-plugin-structure-tool/src/helpers/getWorkspacesWithDefaults.ts Updates workspace restriction resolution to support callback context.
packages/sanity-plugin-structure-tool/src/helpers/getWorkspaceListItems.ts Removes old workspace list item helper.
packages/sanity-plugin-structure-tool/src/helpers/getValidListItem.ts Adds a small utility to resolve static vs callback values.
packages/sanity-plugin-structure-tool/src/helpers/getRolesWithDefaults.ts Updates role restriction resolution to support callback context.
packages/sanity-plugin-structure-tool/src/helpers/getListItems.ts Removes old list-item computation helper.
packages/sanity-plugin-structure-tool/src/helpers/getCurrentUserRoles.ts Retypes role extraction helper to new generic params.
packages/sanity-plugin-structure-tool/src/helpers/getContextValues.ts Adds common context extraction for callbacks.
packages/sanity-plugin-structure-tool/src/helpers/getAllListItems.ts Updates list flattening to resolve dynamic schemaType/children.
packages/sanity-plugin-structure-tool/src/factories/helpers/singletonHelper.ts Adds typed singleton helper.
packages/sanity-plugin-structure-tool/src/factories/helpers/rawHelper.ts Adds typed raw helper.
packages/sanity-plugin-structure-tool/src/factories/helpers/listingHelper.ts Adds typed listing helper.
packages/sanity-plugin-structure-tool/src/factories/helpers/index.ts Aggregates helpers and exports Helpers<T> contract.
packages/sanity-plugin-structure-tool/src/factories/helpers/filtersHelper.ts Adds typed helper for filter-only list items.
packages/sanity-plugin-structure-tool/src/factories/helpers/dividerHelper.ts Adds typed divider helper.
packages/sanity-plugin-structure-tool/src/factories/helpers/componentHelper.ts Adds typed component helper.
packages/sanity-plugin-structure-tool/src/factories/helpers/childrenHelper.ts Adds typed children helper.
packages/sanity-plugin-structure-tool/src/factories/defineListItems.ts Allows defineListItems to accept callback receiving helpers.
packages/sanity-plugin-structure-tool/src/factories/defineListItem.ts Allows defineListItem to accept callback receiving helpers.
packages/sanity-plugin-structure-tool/src/constants/export.ts Exposes URL_PATH_SEPARATOR constant publicly.
packages/sanity-plugin-structure-tool/package.json Bumps plugin version; script rename; updates inlined deps.
package.json Bumps tooling deps and pnpm version.
docs/package.json Bumps docs package version and a doc dependency.
docs/introduction/why.md Updates intro copy to mention helpers and JSON APIs.
docs/introduction/upcoming-features.md Updates upcoming features content and examples.
docs/guide/setup/define-list-items.md Updates guide to document helpers + callback define patterns.
docs/guide/setup/configuration.md Updates configuration docs to include helpers return and callback params.
docs/guide/setup.md Updates setup guide to mention helpers and new examples.
docs/guide/list-items.md Replaces per-field explanations with index + callback overview.
docs/guide/helpers.md Adds dedicated helpers guide and examples.
docs/guide/faq.md Updates FAQ to include helpers and callback patterns.
docs/guide/comparison.md Updates comparison guide to show JSON vs Helpers vs native API.
docs/examples/workspaces.md Reworks workspaces docs + adds helpers variants.
docs/examples/title.md Reworks title docs + adds helpers and callback examples.
docs/examples/templates.md Reworks templates docs + adds helpers and callback examples.
docs/examples/singleton.md Reworks singleton docs + adds callback example.
docs/examples/show-icons.md Adds new example page for showIcons.
docs/examples/schema-type.md Reworks schemaType docs + adds helpers and callback examples.
docs/examples/roles.md Reworks roles docs + adds helpers variants.
docs/examples/raw.md Reworks raw docs + adds helpers variants.
docs/examples/is-plural.md Reworks isPlural docs + adds helpers and callback examples.
docs/examples/is-divider.md Reworks isDivider docs + adds helpers variants.
docs/examples/id.md Adds new example page for dynamic/static id.
docs/examples/icon.md Reworks icon docs + adds helpers variants and icon: false.
docs/examples/hide-add-button.md Reworks hideAddButton docs + adds helpers/callback examples.
docs/examples/filter.md Reworks filter/filterParams docs + adds helpers/callback examples.
docs/examples/default-ordering.md Adds new example page for defaultOrdering.
docs/examples/default-layout.md Adds new example page for defaultLayout.
docs/examples/component.md Adds new example page for component.
docs/examples/component-options.md Adds new example page for componentOptions.
docs/examples/children.md Reworks children docs + adds helpers/callback examples.
docs/examples/api-version.md Reworks apiVersion docs + adds helpers/callback examples.
docs/customization/singleton-action.md Updates singleton link target after docs reorg.
docs/customization/constants.md Documents new URL_PATH_SEPARATOR constant.
docs/.vitepress/config.ts Updates sidebar/nav to include helpers + new example pages.
configs/typescript-config/package.json Bumps config package version for release.
configs/tsdown-config/package.json Bumps version + renames watch script.
configs/prettier-config/package.json Bumps config package version for release.
configs/lint-staged-config/package.json Bumps config package version for release.
configs/eslint-config/src/eslint/javascript.eslint.js Updates unicorn rule option (plugin version bump related).
configs/eslint-config/package.json Bumps config package version + lint plugin versions.
CHANGELOG.md Adds 0.3.0 release notes.
apps/studio/src/structure/listItems.ts Updates reference studio structure to use helpers and new features.
apps/studio/src/components/Components.tsx Adds demo IframeComponent for component pane examples.
apps/studio/package.json Bumps studio version and updates Sanity/React deps.
.agents/THOUGHTS.md Adds agent-oriented deep-dive notes (non-runtime docs).
.agents/TECHNICAL_IMPLEMENTATION.md Adds agent-oriented technical implementation notes.
.agents/PROJECT_OVERVIEW.md Adds agent-oriented project overview.
.agents/MEMORY.md Adds agent-oriented index for .agents docs.
.agents/DEVELOPMENT_GUIDE.md Adds agent-oriented dev commands reference.
.agents/CORE_FEATURES.md Adds agent-oriented feature summary.
.agents/CONVENTIONS.md Adds agent-oriented conventions (non-runtime docs).
.agents/AGENTS.md Adds agent onboarding/constraints doc.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/guide/setup.md
Comment thread docs/guide/helpers.md
Comment thread apps/studio/src/components/Components.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants