Skip to content

fix: declare plugins.sentry plural mapping so vendor install works#3

Merged
bpamiri merged 1 commit into
mainfrom
peter/fix-vendor-install-plugins-mapping
May 16, 2026
Merged

fix: declare plugins.sentry plural mapping so vendor install works#3
bpamiri merged 1 commit into
mainfrom
peter/fix-vendor-install-plugins-mapping

Conversation

@bpamiri
Copy link
Copy Markdown
Contributor

@bpamiri bpamiri commented May 16, 2026

Summary

  • Declares "mappings": {"plugins.sentry": "."} in package.json so wheels packages add wheels-sentry produces a working install. Without this, the auto-init mixin's new plugins.sentry.SentryClient(...) on Sentry.cfc:79 silently failed (caught by the surrounding try/catch in initSentry()) because the dotted path only resolved when the package was hand-installed into plugins/sentry/.
  • Bumps version to 1.0.1 and refreshes README.md install instructions to use wheels packages add. Removes the now-defunct set(overwritePlugins=false) guidance since the package no longer lives in plugins/.

Fixes wheels-dev/wheels#2705.

How the fix works

At load time, the framework's vendor/wheels/PackageLoader.cfc reads the mappings block and registers application.mappings["/plugins/sentry"]vendor/wheels-sentry/. The existing Sentry.cfc:79 callsite resolves against that mapping with no application-side changes.

The plural mappings field was added in wheels-dev/wheels#2705 (merged as commit 9293ec5a02), which is why this fix bumps the minimum wheelsVersion to >=4.0.

Test plan

  • Fresh app: wheels new sentryapp && cd sentryapp && wheels packages add wheels-sentry — verify vendor/wheels-sentry/ exists.
  • Boot the app with SENTRY_DSN=https://test@example/1 wheels start and confirm the application log shows wheels-sentry initialized rather than the silent-fail path.
  • Trigger a controller action that calls sentryCapture(e) and verify application.sentry is a populated component (not undefined).
  • Sanity check on Lucee 6/7 and Adobe 2023/2025; BoxLang opt-in if the surrounding framework matrix runs it.

🤖 Generated with Claude Code

…works

`wheels packages add wheels-sentry` installs into `vendor/wheels-sentry/`, but
`Sentry.cfc:79` still instantiates `new plugins.sentry.SentryClient(...)`. That
dotted path only resolves when the package is hand-installed into the legacy
`plugins/sentry/` directory, so `initSentry()` silently caught a class-not-found
error and `application.sentry` was never populated.

Declare `"mappings": {"plugins.sentry": "."}` in `package.json`. At load time
the framework's `PackageLoader.cfc` (wheels-dev/wheels#2705) registers
`/plugins/sentry` against the install directory, so the existing callsite
resolves with no application or framework changes. Also bumps the minimum
`wheelsVersion` requirement to 4.0 in README and refreshes the install
instructions to use `wheels packages add`.

Fixes wheels-dev/wheels#2705.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Peter Amiri <peter@alurium.com>
@bpamiri bpamiri marked this pull request as ready for review May 16, 2026 23:06
@bpamiri bpamiri merged commit a41a783 into main May 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant