PHPackages                             tooeo/psalm-plugin-jms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tooeo/psalm-plugin-jms

ActivePsalm-plugin[Utility &amp; Helpers](/categories/utility)

tooeo/psalm-plugin-jms
======================

Checking JMS annotation

0.1.0(2y ago)178.7k↓91.2%[2 PRs](https://github.com/tooeo/psalm-plugin-jms/pulls)MITPHPPHP ^8

Since Jul 21Pushed 2y ago1 watchersCompare

[ Source](https://github.com/tooeo/psalm-plugin-jms)[ Packagist](https://packagist.org/packages/tooeo/psalm-plugin-jms)[ RSS](/packages/tooeo-psalm-plugin-jms/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (2)Dependencies (7)Versions (20)Used By (0)

Psalm plugin for checking JMS annotation
========================================

[](#psalm-plugin-for-checking-jms-annotation)

Plugin for [Psalm](https://github.com/vimeo/psalm) wich check [JMS serializer](https://github.com/schmittjoh/serializer) annotation&amp;

When you use JMS serializer you need add annotation for properties. And some times you can user classes as a type for properties.

**For example:**

```
class SomeTestFile
{
    /**
     * @JMS\Type('\Tooeo\PsalmPluginJms\Tests\Fixtures\JmsDto');
     * @psalm-suppress PropertyNotSetInConstructor
     */
    public string $good;
    /**
     * @JMS\Type('array');
     * @psalm-suppress PropertyNotSetInConstructor
     */
    public string $goodArray;
}

```

And you can make a mistake by typing the class name.

So if you don't have enough tests, you can get problems on production. This plugin helps avoid that behavior and prevent creating code with unexist classes in annotations.

**Installation**

```
composer require --dev tooeo/psalm-plugin-jms
vendor/bin/psalm-plugin enable tooeo/psalm-plugin-jms

```

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

16

Last Release

1073d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0034b355d7ae3fd95fd6be53b4ac82731841aee28121660ee90dacaa9a9a2453?d=identicon)[tooeo](/maintainers/tooeo)

---

Top Contributors

[![tooeo](https://avatars.githubusercontent.com/u/105053090?v=4)](https://github.com/tooeo "tooeo (27 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/tooeo-psalm-plugin-jms/health.svg)

```
[![Health](https://phpackages.com/badges/tooeo-psalm-plugin-jms/health.svg)](https://phpackages.com/packages/tooeo-psalm-plugin-jms)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M345](/packages/psalm-plugin-laravel)[php-standard-library/psalm-plugin

Psalm plugin for the PHP Standard Library

252.1M66](/packages/php-standard-library-psalm-plugin)[humanmade/psalm-plugin-wordpress

WordPress stubs and plugin for Psalm static analysis.

82505.2k24](/packages/humanmade-psalm-plugin-wordpress)[codeigniter4/devkit

Development toolkit for CodeIgniter libraries and projects

69201.9k121](/packages/codeigniter4-devkit)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
