Psalm: XSD file URL

Created on 25 Feb 2019  路  3Comments  路  Source: vimeo/psalm

I was told Psalm was great, so I just got to the quickstart guide, ran psalm --init from the phar archive, and the default psalm.xml shows this:

<psalm
    totallyTyped="false"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="https://getpsalm.org/schema/config"
    xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
>

However, the XSD file is not reachable. Since I'm using the phar file I don't have the XSD on my filesystem. If I want xml validation & auto-completion in my IDE, the file should be reachable.

IMO the solution would be to replace vendor/vimeo/psalm/config.xsd with a canonical URL.

For example, @Symfony does it for the DIC configuration files by having such xml header:

<container xmlns="http://symfony.com/schema/dic/services"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">

In this example, http://symfony.com/schema/dic/services/services-1.0.xsd is reachable and we can download the XSD (or the IDE can fetch it automatically).

As a workaround, I replaced vendor/vimeo/psalm/config.xsd with https://raw.githubusercontent.com/vimeo/psalm/master/config.xsd, but I was hoping you might have a better idea 馃槈

bug

Most helpful comment

All 3 comments

Yeah I should sync the master config to https://psalm.dev/config.xsd or somesuch

suggestion: sync tagged releases to https://psalm.dev/xsd/3.0/config.xsd etc.

Was this page helpful?
0 / 5 - 0 ratings