kylekatarnls/nodejs-php-fallback

View on GitHub

Showing 54 of 54 total issues

Avoid assigning values to variables in if clauses and the like (line '104', column '70').
Open

    protected static function getNpmConfig(Composer $composer, $key = null)
    {
        $vendorDir = $composer->getConfig()->get('vendor-dir');

        $npm = [];

IfStatementAssignment

Since: 2.7.0

Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.

Example

class Foo
{
    public function bar($flag)
    {
        if ($foo = 'bar') { // possible typo
            // ...
        }
        if ($baz = 0) { // always false
            // ...
        }
    }
}

Source http://phpmd.org/rules/cleancode.html#ifstatementassignment

Avoid unused parameters such as '$composer'.
Open

    public function activate(Composer $composer, IOInterface $io)

UnusedFormalParameter

Since: 0.2

Avoid passing parameters to methods or constructors and then not using those parameters.

Example

class Foo
{
    private function bar($howdy)
    {
        // $howdy is not used
    }
}

Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter

Avoid unused parameters such as '$composer'.
Open

    public function uninstall(Composer $composer, IOInterface $io)

UnusedFormalParameter

Since: 0.2

Avoid passing parameters to methods or constructors and then not using those parameters.

Example

class Foo
{
    private function bar($howdy)
    {
        // $howdy is not used
    }
}

Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter

Avoid assigning values to variables in if clauses and the like (line '109', column '76').
Open

    protected static function getNpmConfig(Composer $composer, $key = null)
    {
        $vendorDir = $composer->getConfig()->get('vendor-dir');

        $npm = [];

IfStatementAssignment

Since: 2.7.0

Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.

Example

class Foo
{
    public function bar($flag)
    {
        if ($foo = 'bar') { // possible typo
            // ...
        }
        if ($baz = 0) { // always false
            // ...
        }
    }
}

Source http://phpmd.org/rules/cleancode.html#ifstatementassignment

The method askForInstall() has a Cyclomatic Complexity of 11. The configured cyclomatic complexity threshold is 10.
Open

    public static function askForInstall(Event $event, $npmConfirm, $npm)
    {
        $io = $event->getIO();

        if (!$io->isInteractive()) {

CyclomaticComplexity

Since: 0.1

Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.

Example

// Cyclomatic Complexity = 11
class Foo {
1   public function example() {
2       if ($a == $b) {
3           if ($a1 == $b1) {
                fiddle();
4           } elseif ($a2 == $b2) {
                fiddle();
            } else {
                fiddle();
            }
5       } elseif ($c == $d) {
6           while ($c == $d) {
                fiddle();
            }
7        } elseif ($e == $f) {
8           for ($n = 0; $n < $h; $n++) {
                fiddle();
            }
        } else {
            switch ($z) {
9               case 1:
                    fiddle();
                    break;
10              case 2:
                    fiddle();
                    break;
11              case 3:
                    fiddle();
                    break;
                default:
                    fiddle();
                    break;
            }
        }
    }
}

Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity

Line exceeds 120 characters; contains 137 characters
Open

                if ($dependency === '.' || $dependency === '..' || !is_dir($subDirectory = $directory.DIRECTORY_SEPARATOR.$dependency)) {

Line exceeds 120 characters; contains 127 characters
Open

            if ($namespace === '.' || $namespace === '..' || !is_dir($directory = $vendorDir.DIRECTORY_SEPARATOR.$namespace)) {

Parameter $event has undeclared type \Composer\EventDispatcher\Event
Open

    protected static function getPackagesList(Event $event, array $config, array $npm): array

Parameter $event has undeclared type \Composer\EventDispatcher\Event
Open

    public static function install(Event $event)

Call to method getComposer from undeclared class \Composer\EventDispatcher\Event
Open

        $composer = $event->getComposer();

Parameter $composer has undeclared type \Composer\Composer
Open

    public function uninstall(Composer $composer, IOInterface $io)

Call to method getIO from undeclared class \Composer\EventDispatcher\Event
Open

        $io = $event->getIO();

Parameter $io has undeclared type \Composer\IO\IOInterface
Open

    public function uninstall(Composer $composer, IOInterface $io)

Parameter $composer has undeclared type \Composer\Composer
Open

    protected static function getNpmConfig(Composer $composer, $key = null)

Call to method getConfig from undeclared class \Composer\Composer
Open

        $vendorDir = $composer->getConfig()->get('vendor-dir');

Call to method getIO from undeclared class \Composer\EventDispatcher\Event
Open

        $io = $event->getIO();

Call to method read from undeclared class \Composer\Json\JsonFile
Open

            $dependencyConfig = $json->read();

Parameter $event has undeclared type \Composer\EventDispatcher\Event
Open

    public function onAutoloadDump(Event $event)

Variable $directory is undeclared
Open

                if ($dependency === '.' || $dependency === '..' || !is_dir($subDirectory = $directory.DIRECTORY_SEPARATOR.$dependency)) {

Argument 1 (haystack) is ?string but \strpos() takes string
Open

            if (strpos($result, 'npm ERR!') === false && static::isInstalledPackage($packageNames)) {
Severity
Category
Status
Source
Language