Bump opinionated-machine from 4.0.0 to 6.12.1#248
Bump opinionated-machine from 4.0.0 to 6.12.1#248dependabot[bot] wants to merge 1 commit intomainfrom
Conversation
Bumps [opinionated-machine](https://github.com/kibertoad/opinionated-machine) from 4.0.0 to 6.12.1. - [Commits](https://github.com/kibertoad/opinionated-machine/commits/v6.12.1) --- updated-dependencies: - dependency-name: opinionated-machine dependency-version: 6.12.1 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe pull request updates the "opinionated-machine" dependency in package.json from version ^4.0.0 to ^6.12.1. This is a straightforward version bump with no changes to source code, scripts, or other dependencies. Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@package.json`:
- Line 42: Update the three resolveControllers implementations to match the new
v6 signature by adding the required parameter: change resolveControllers() to
resolveControllers(diOptions: DependencyInjectionOptions):
MandatoryNameAndRegistrationPair<unknown> in TemplateAdapterModule
(resolveControllers), ConnectorShellModule (resolveControllers), and
CommonModule (resolveControllers); ensure you import DependencyInjectionOptions
(and MandatoryNameAndRegistrationPair if missing) and propagate/use or
explicitly ignore the diOptions parameter so the method signatures match the
abstract declaration and TypeScript compiles.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository: lokalise/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: e6eae67a-172b-49b8-b878-e04fbbb7d6b2
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (1)
package.json
| "fastify-type-provider-zod": "^6.1.0", | ||
| "newrelic": "^13.12.0", | ||
| "opinionated-machine": "^4.0.0", | ||
| "opinionated-machine": "^6.12.1", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Find usages of opinionated-machine and verify package info
echo "=== Finding imports/usages of opinionated-machine ==="
rg -n "opinionated-machine" --type ts --type js -g '!node_modules' -g '!package*.json'
echo ""
echo "=== Checking for any state machine related patterns ==="
# Look for common state machine patterns that might use this library
rg -n -C3 "createMachine|StateMachine|machine\s*\(" --type ts --type js -g '!node_modules'
echo ""
echo "=== Package info from npm ==="
curl -s https://registry.npmjs.org/opinionated-machine/6.12.1 | jq '{name: .name, version: .version, description: .description}' 2>/dev/null || echo "Could not fetch package info"Repository: lokalise/ce-connector-template-node
Length of output: 1634
🌐 Web query:
opinionated-machine npm changelog breaking changes v6
💡 Result:
opinionated-machine v6 “changelog” + breaking changes
There is no standalone CHANGELOG.md in the repo; v6 changes are tracked via git tags/commits (e.g. v6.0.0, v6.12.1). (github.com)
Latest v6
v6.12.1(tagged Mar 3, 2026) (github.com)
Breaking changes introduced in v6.0.0 (tagged Jan 28, 2026)
- SSE controller registration was refactored
resolveSSEControllers()is removed; SSE controllers are now returned fromresolveControllers(diOptions)alongside REST controllers, and auto-detected/registered as SSE. (github.com)
resolveControllerssignature changed- Examples/documentation were updated from
resolveControllers()toresolveControllers(diOptions: DependencyInjectionOptions). (github.com)
- Examples/documentation were updated from
- How to wire
asSSEControllerClasschanged- You now call
asSSEControllerClass(..., { diOptions })insideresolveControllers(diOptions)(not in a separateresolveSSEControllers). (github.com)
- You now call
(Reference: the v6.0.0 change is primarily the commit “Refactor SSE controller registration to use resolveControllers (#101)”.) (github.com)
Citations:
- 1: https://github.com/kibertoad/opinionated-machine/tags?after=v6.6.0
- 2: https://github.com/kibertoad/opinionated-machine/tags
- 3: kibertoad/opinionated-machine@4f54f71
- 4: kibertoad/opinionated-machine@4f54f71
- 5: kibertoad/opinionated-machine@4f54f71
- 6: kibertoad/opinionated-machine@4f54f71
🏁 Script executed:
#!/bin/bash
# Search for resolveControllers usage pattern
echo "=== Finding resolveControllers calls ==="
rg -n "resolveControllers" --type ts --type js -g '!node_modules'
echo ""
echo "=== Finding resolveSSEControllers calls (should be removed in v6) ==="
rg -n "resolveSSEControllers" --type ts --type js -g '!node_modules'
echo ""
echo "=== Finding asSSEControllerClass usage ==="
rg -n "asSSEControllerClass" --type ts --type js -g '!node_modules'Repository: lokalise/ce-connector-template-node
Length of output: 579
🏁 Script executed:
#!/bin/bash
# Check the resolveControllers implementations
echo "=== TemplateAdapterModule.ts resolveControllers ==="
sed -n '44,55p' src/modules/adapter/TemplateAdapterModule.ts
echo ""
echo "=== ConnectorShellModule.ts resolveControllers ==="
sed -n '47,60p' src/modules/connector-shell/ConnectorShellModule.ts
echo ""
echo "=== CommonModule.ts resolveControllers ==="
sed -n '47,60p' src/infrastructure/CommonModule.ts
echo ""
echo "=== Check imports in these files to understand base class ==="
head -20 src/modules/adapter/TemplateAdapterModule.tsRepository: lokalise/ce-connector-template-node
Length of output: 2686
Critical: This v6 upgrade requires code changes before it can be merged.
The v6.0.0 release introduced a breaking change: resolveControllers() now requires a diOptions: DependencyInjectionOptions parameter. The codebase has three implementations of this method (in TemplateAdapterModule.ts, ConnectorShellModule.ts, and CommonModule.ts) that use the old signature without parameters. All three must be updated to accept the required parameter:
resolveControllers(diOptions: DependencyInjectionOptions): MandatoryNameAndRegistrationPair<unknown> {
// existing implementation
}Without these updates, TypeScript compilation will fail due to abstract method signature mismatch when using v6.12.1.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@package.json` at line 42, Update the three resolveControllers implementations
to match the new v6 signature by adding the required parameter: change
resolveControllers() to resolveControllers(diOptions:
DependencyInjectionOptions): MandatoryNameAndRegistrationPair<unknown> in
TemplateAdapterModule (resolveControllers), ConnectorShellModule
(resolveControllers), and CommonModule (resolveControllers); ensure you import
DependencyInjectionOptions (and MandatoryNameAndRegistrationPair if missing) and
propagate/use or explicitly ignore the diOptions parameter so the method
signatures match the abstract declaration and TypeScript compiles.
Bumps opinionated-machine from 4.0.0 to 6.12.1.
Commits
Maintainer changes
This version was pushed to npm by [GitHub Actions](https://www.npmjs.com/~GitHub Actions), a new releaser for opinionated-machine since your current version.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)