Skip to content

Bump opinionated-machine from 4.0.0 to 6.12.1#248

Open
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/npm_and_yarn/opinionated-machine-6.12.1
Open

Bump opinionated-machine from 4.0.0 to 6.12.1#248
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/npm_and_yarn/opinionated-machine-6.12.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Mar 9, 2026

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 compatibility score

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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

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>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Mar 9, 2026
@dependabot dependabot bot requested review from a team and kibertoad as code owners March 9, 2026 07:46
@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Mar 9, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 9, 2026

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Updated internal dependencies to latest versions.

Walkthrough

The 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)
Check name Status Explanation
Title check ✅ Passed The title clearly and accurately summarizes the main change: bumping the opinionated-machine dependency from version 4.0.0 to 6.12.1, which matches the changeset exactly.
Description check ✅ Passed The description is directly related to the changeset, providing details about the dependency bump including version numbers, links to the upstream repository, and Dependabot-generated information about the update.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dependabot/npm_and_yarn/opinionated-machine-6.12.1

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

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

📥 Commits

Reviewing files that changed from the base of the PR and between 78609cb and 76403da.

⛔ Files ignored due to path filters (1)
  • package-lock.json is 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",
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 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

Breaking changes introduced in v6.0.0 (tagged Jan 28, 2026)

  1. SSE controller registration was refactored
    • resolveSSEControllers() is removed; SSE controllers are now returned from resolveControllers(diOptions) alongside REST controllers, and auto-detected/registered as SSE. (github.com)
  2. resolveControllers signature changed
    • Examples/documentation were updated from resolveControllers() to resolveControllers(diOptions: DependencyInjectionOptions). (github.com)
  3. How to wire asSSEControllerClass changed
    • You now call asSSEControllerClass(..., { diOptions }) inside resolveControllers(diOptions) (not in a separate resolveSSEControllers). (github.com)

(Reference: the v6.0.0 change is primarily the commit “Refactor SSE controller registration to use resolveControllers (#101)”.) (github.com)

Citations:


🏁 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.ts

Repository: 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants