Skip to content

fix: check composer global deployer binary#118

Open
bgauger wants to merge 1 commit into
deployphp:masterfrom
bgauger:fix/composer-global-deployer-binary
Open

fix: check composer global deployer binary#118
bgauger wants to merge 1 commit into
deployphp:masterfrom
bgauger:fix/composer-global-deployer-binary

Conversation

@bgauger
Copy link
Copy Markdown

@bgauger bgauger commented Jun 4, 2026

Summary

  • Add Composer global home lookup when no project-local Deployer binary is present.
  • Preserve existing local lookup precedence before falling back to Composer global vendor/bin/dep.
  • Add focused tests for global fallback, local precedence, trailing slash handling, and missing Composer global home.
  • Update README lookup documentation.

Closes #76

Verification

  • npm test
  • npm run typecheck
  • npm run build
  • npm run format:check
  • independent pre-commit review: no blockers

Copilot AI review requested due to automatic review settings June 4, 2026 14:22
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR factors deployer-binary discovery into a shared helper and extends lookup to include Composer’s global home, with accompanying unit tests and documentation updates.

Changes:

  • Added findLocalDeployerBinary() helper to prefer project-local binaries and fall back to Composer global vendor/bin/dep.
  • Updated action runtime logic to use the new helper when deployer-binary input is not provided.
  • Added Node test runner wiring and unit tests for the helper.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/deployer-binary.test.mjs Adds unit tests for deployer-binary resolution logic.
src/index.ts Replaces inline binary probing with findLocalDeployerBinary() and adds Composer global home detection.
src/deployerBinary.ts Introduces the shared binary discovery helper (project-local + Composer global).
package.json Adds a test script using Node’s built-in test runner.
dist/index.js Updates bundled build output to include the new helper and logic.
README.md Documents additional lookup location (Composer global home) and fixes grammar.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1 to +3
import assert from 'node:assert/strict'
import { test } from 'node:test'
import { findLocalDeployerBinary } from '../src/deployerBinary.ts'
Comment thread src/deployerBinary.ts
Comment on lines +26 to +34
const composerGlobalHome = (await getComposerGlobalHome?.())?.trim()
if (composerGlobalHome === undefined || composerGlobalHome === '') {
return ''
}

const composerGlobalDep = `${composerGlobalHome.replace(/\/+$/, '')}/vendor/bin/dep`
if (fs.existsSync(composerGlobalDep)) {
return composerGlobalDep
}
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.

Check composer global home for dep binary as well

2 participants