Skip to content

Conversation

@leobenzol
Copy link
Contributor

Summary

What

Copies the generated types inside .medusa/types to all "local" plugins(i.e plugins added with plugin:develop)

Why

Currently the only way to get type support for query.graph etc inside plugins is to manually copy the .medusa/types folder from the main project, this is clunky and prone to confusion if you forget to paste the changed types after editing a model.

How

Changed the type generation to a loop over all "local" plugins, detected as plugins with a local admin type(which includes the main project's "local plugin")

Testing

Local testing


Checklist

Please ensure the following before requesting a review:

  • I have added a changeset for this PR
    • Every non-breaking change should be marked as a patch
    • To add a changeset, run yarn changeset and follow the prompts
  • The changes are covered by relevant tests
  • I have verified the code works as intended locally
  • I have linked the related issue(s) if applicable

@leobenzol leobenzol requested a review from a team as a code owner October 18, 2025 14:26
@changeset-bot
Copy link

changeset-bot bot commented Oct 18, 2025

🦋 Changeset detected

Latest commit: 68ac53e

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

This PR includes changesets to release 74 packages
Name Type
@medusajs/medusa Patch
@medusajs/test-utils Patch
@medusajs/medusa-oas-cli Patch
integration-tests-http Patch
@medusajs/analytics Patch
@medusajs/api-key Patch
@medusajs/auth Patch
@medusajs/caching Patch
@medusajs/cart Patch
@medusajs/currency Patch
@medusajs/customer Patch
@medusajs/file Patch
@medusajs/fulfillment Patch
@medusajs/index Patch
@medusajs/inventory Patch
@medusajs/link-modules Patch
@medusajs/locking Patch
@medusajs/notification Patch
@medusajs/order Patch
@medusajs/payment Patch
@medusajs/pricing Patch
@medusajs/product Patch
@medusajs/promotion Patch
@medusajs/region Patch
@medusajs/sales-channel Patch
@medusajs/settings Patch
@medusajs/stock-location Patch
@medusajs/store Patch
@medusajs/tax Patch
@medusajs/user Patch
@medusajs/workflow-engine-inmemory Patch
@medusajs/workflow-engine-redis Patch
@medusajs/draft-order Patch
@medusajs/oas-github-ci Patch
@medusajs/cache-inmemory Patch
@medusajs/cache-redis Patch
@medusajs/event-bus-local Patch
@medusajs/event-bus-redis Patch
@medusajs/analytics-local Patch
@medusajs/analytics-posthog Patch
@medusajs/auth-emailpass Patch
@medusajs/auth-github Patch
@medusajs/auth-google Patch
@medusajs/caching-redis Patch
@medusajs/file-local Patch
@medusajs/file-s3 Patch
@medusajs/fulfillment-manual Patch
@medusajs/locking-postgres Patch
@medusajs/locking-redis Patch
@medusajs/notification-local Patch
@medusajs/notification-sendgrid Patch
@medusajs/payment-stripe Patch
@medusajs/core-flows Patch
@medusajs/framework Patch
@medusajs/js-sdk Patch
@medusajs/modules-sdk Patch
@medusajs/orchestration Patch
@medusajs/types Patch
@medusajs/utils Patch
@medusajs/workflows-sdk Patch
@medusajs/cli Patch
@medusajs/deps Patch
@medusajs/telemetry Patch
@medusajs/admin-bundler Patch
@medusajs/admin-sdk Patch
@medusajs/admin-shared Patch
@medusajs/admin-vite-plugin Patch
@medusajs/dashboard Patch
@medusajs/icons Patch
@medusajs/toolbox Patch
@medusajs/ui-preset Patch
create-medusa-app Patch
medusa-dev-cli Patch
@medusajs/ui 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

@vercel
Copy link

vercel bot commented Oct 18, 2025

@leobenzol is attempting to deploy a commit to the medusajs Team on Vercel.

A member of the Team first needs to authorize it.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

This PR is being reviewed by Cursor Bugbot

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

Copy link
Contributor

@willbouch willbouch left a comment

Choose a reason for hiding this comment

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

@adrien2p wdyt?

@adrien2p
Copy link
Member

adrien2p commented Oct 29, 2025

hey @leobenzol, just want to be sure I understand the needs correctly, did you face this needs in the following context?

  • you create a new plugin
  • in the meantime you have some customization part of your medusa project, let say a module
  • in your plugin you want to query data from that module part of your medusa project but you dont have any types

is the comprehension correct?

@leobenzol
Copy link
Contributor Author

@adrien2p the module would be from the plugin itself. So you create a new plugin -> add module to the plugin -> use query.graph in a http route/workflow in the plugin.

Unless I'm missing something there isnt currently a way to generate types inside plugins, which makes sense since they dont have access to a medusa container without a project to run in. That's why for the PR I had to copy the type definitions from the main project(which also generates types for plugins added with plugin:develop)

@adrien2p
Copy link
Member

@adrien2p the module would be from the plugin itself. So you create a new plugin -> add module to the plugin -> use query.graph in a http route/workflow in the plugin.

Unless I'm missing something there isnt currently a way to generate types inside plugins, which makes sense since they dont have access to a medusa container without a project to run in. That's why for the PR I had to copy the type definitions from the main project(which also generates types for plugins added with plugin:develop)

yeah Understood, just thinking about something, have you tried to configure medusa-config in your plugin (setting up the plugin itself as well) and run yarn build?

@leobenzol
Copy link
Contributor Author

@adrien2p yeah that would work, it'd be pretty much the same as what i do already for integration tests. But I thought it'd be nice to have them update automatically when a file changes and the server restarts, like it happens in the main project.

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.

3 participants