Skip to content

Support selecting component package files - #74

Merged
samuel-williams-shopify merged 1 commit into
mainfrom
components-update
Aug 15, 2026
Merged

Support selecting component package files#74
samuel-williams-shopify merged 1 commit into
mainfrom
components-update

Conversation

@samuel-williams-shopify

@samuel-williams-shopify samuel-williams-shopify commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Add a reusable utopia:components:update task for installing browser components from production JavaScript packages.

Projects can select files from a package through package.json:

{
  "utopia": {
    "components": {
      "mermaid": {
        "include": [
          "mermaid.esm.min.mjs",
          "chunks/mermaid.esm.min/**/*.mjs"
        ]
      }
    }
  }
}

Patterns are relative to the package dist directory when present, or otherwise its package root. Unconfigured packages retain the existing copy-all behavior. Include rules are validated before the existing installation is removed, and stale files are removed during successful updates.

This replaces the old utopia:node:update task. The JavaScript integration guide and generated documentation context now use utopia:components:update.

Validation:

  • 371 tests pass (907 assertions)
  • RuboCop reports no offenses
  • Documentation coverage is complete (485/485 definitions)
  • Added coverage for selected files, stale cleanup, unmatched patterns, and scoped packages

@samuel-williams-shopify
samuel-williams-shopify merged commit cf8535e into main Aug 15, 2026
34 of 39 checks passed
@samuel-williams-shopify
samuel-williams-shopify deleted the components-update branch August 15, 2026 05:55
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.

1 participant