1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-15 10:57:08 +01:00
Commit Graph

210 Commits

Author SHA1 Message Date
Matt Brown
6afaf5aae9 Make Psalm compatible with PHP Parser 4 2018-04-17 13:06:02 -04:00
Matthew Brown
f604ed99d5 Bump composer version of package-versions 2018-03-26 23:43:54 -04:00
Matthew Brown
0ac526fecd Use v1 composer/xdebug-handler 2018-03-08 16:42:53 -05:00
Bruce Weirdan
9a27583253 replace composer/composer with composer/xdebug-handler
Fixes vimeo/psalm#349

Note: there's no stable release at the moment, so it's using dev-master
for now.
2018-03-08 16:42:53 -05:00
Matthew Brown
1982d08573 Undo prepend-autoloader change 2018-03-03 13:47:09 -05:00
Matthew Brown
33827d4eeb Don’t prepend autoloader 2018-03-03 13:40:02 -05:00
Tyson Andre
7c4683784f Add a script to run the same tests as jenkins locally
Make `composer tests` use only phpcs

Also add `composer all-tests`, which also runs the self-check.

php-cs-fixer was removed from .travis.yml earlier.
I'm guessing that composer was overlooked?

The goal is to make it easy to create PRs passing travis checks.
2018-02-19 15:34:26 -05:00
Matthew Brown
58be09d36b Bump suggested igbinary version 2018-02-19 11:16:13 -05:00
Matthew Brown
634375ae94 Make igbinary the default serializer
Fix #484 and fix #527
2018-02-19 11:14:07 -05:00
Nicky Robinson
8e77ff1ce9 Throw error if magic getter or setter called for undefined property or invalid type specified with annotations (#500)
* Fix path to psalm

* If a magic getter or setter is used to access a property on a class
that is not defined but a `@property` annotation for the property
exists, throw an error. If no `@property` annotation exists, it's not
an error because you're allowed to make magic getters and setters do
crazy things.

Fixes #480

* Move logic to a better place to avoid duplicate checks

* Move logic into function

* Remove some nesting

* Check psalm-seal-properties and property type correctly
2018-02-09 19:37:09 -05:00
Matthew Brown
456a2ebaaa Add --dry-run option 2018-01-07 17:25:23 -05:00
Matthew Brown
5bae869dc6 Break file manipulation out into Psalter 2018-01-07 17:25:23 -05:00
Matthew Brown
30754bcd52 Allow more versions for php-cs-fixer 2018-01-02 20:47:11 -05:00
Matthew Brown
236fa893a8 Update PackageVersions version to one that doesn’t replace other similar packages 2018-01-01 09:53:21 -05:00
Matthew Brown
a26aecd45b Use non-clashing name for package versions 2018-01-01 09:25:32 -05:00
Matthew Brown
8efc939a5f Move Psalm execution code into PHP file that Psalm can analyse 2017-12-29 17:02:56 -05:00
Matt Brown
6fedeb647c Bump composer/composer version 2017-12-18 16:11:49 -05:00
Matthew Brown
e4f0dcaae3 Update php-parser 2017-12-14 09:14:23 -05:00
Matthew Brown
6c735b7699 Make coverage work proper good 2017-12-14 01:10:20 -05:00
Matthew Brown
a151fe5d3e
Add code coverage checks by @SignpostMarv (#388)
* Add code coverage checks

* Add coveralls badge
2017-12-14 00:40:22 -05:00
Matt Brown
d6960f526c Remove testing support for 7.2 2017-11-30 19:11:06 -05:00
Matt Brown
062d46c132 Update to latest php-cs-fixer 2017-11-30 19:00:09 -05:00
Matthew Brown
d21cb08e31 Bump package-versions version 2017-11-13 22:09:12 -05:00
Matthew Brown
7f3f30c0ab Use different package-versions module 2017-11-13 21:46:11 -05:00
Jon Ursenbach
fe514b6a9f Adding a --version argument to the Psalm executable. (#226)
* Adding a `--version` argument to the Psalm executable.

* Using ocramius/package-versions instead of hardcoding a version.

* Backporting PackageVersions to a PHP 5.6+ compatible fork.
2017-11-11 12:11:11 -05:00
Matthew Brown
92ec985ac0 Allow different versions of lib-array2xml 2017-09-13 22:07:44 -04:00
Matthew Brown
93cff78101 Do not require latest lib2xml 2017-09-13 21:53:41 -04:00
MacFJA
c4ce8bede9 Add XML as possible output format + add report generation (#206)
* Add XML as possible output format + add report generation

* Add missing xml root node

* Change XML generator (previous one don't escape '<' and '>')

* Change option (only one option) + unit test
2017-09-08 11:18:48 -04:00
SignpostMarv
07bab52aca adding editorconfig that seems to match the php files (#163)
* adding editorconfig that seems to match the php files

* adding additional check covered by travis

* trailing line
2017-06-26 00:22:05 -04:00
Sergei Morozov
a3bedb4045 Moved dependencies friendsofphp/php-cs-fixer and squizlabs/php_codesniffer to "require-dev" (#170) 2017-06-18 14:39:06 -04:00
SignpostMarv
adef59629a scrutinizer-ci (#152)
* swapping phpcs for php-cs-fixer

* workaround for php-cs-fixer treating parenthesis following echo as the function call variant

* amending rules

* blank_line_before_return

* majority of files pass with these disabled, could remove later

* combine_consecutive_unsets

* concat_space

* placeholder for if vimeo/psalm ever goes php:^7.0

* function_to_constant

* disabling include

* linebreak_after_opening_tag, lowercase_cast, magic_constant_casing

* mb_str_functions disabled

* method_separation

* native_function_casing

* native_function_invocations

* new_with_braces disabled to match usage

* no_alias_functions

* no_blank_lines_after_class_opening

* no_blank_lines_after_phpdoc

* no_blank_lines_before_namespace

* no_empty_comment

* no_empty_phpdoc

* no_empty_statement

* no_extra_consecutive_blank_lines

* no_leading_import_slash to discuss

* no_leading_namespace_whitespace

* no_mixed_echo_print

* no_multiline_whitespace_around_double_arrow

* no_multiline_whitespace_before_semicolons

* no_php4_constructor

* no_short_bool_cast

* no_short_echo_tag

* no_singleline_whitespace_before_semicolons

* no_spaces_around_offset

* no_trailing_comma_in_list_call

* no_trailing_comma_in_singleline_array

* no_unneeded_control_parentheses to discuss

* no_unreachable_default_argument_value

* no_unused_imports to discuss

* no_useless_else to discuss

* no_useless_return

* no_whitespace_before_comma_in_array

* no_whitespace_in_blank_line

* non_printable_character

* normalize_index_brace

* ordered_class_elements to discuss

* ordered_imports to discss

* php_unit_construct

* php_unit_dedicate_assert

* php_unit_fqcn_annotation

* php_unit_strict to discuss

* php_unit_test_class_requires_covers to discuss

* phpdoc_add_missing_param_annotation

* phpdoc_align to discuss

* phpdoc_annotation_without_dot to discuss

* phpdoc_indent to discuss

* phpdoc_inline_tag

* phpdoc_no_access

* phpdoc_no_alias_tag

* phpdoc_no_empty_return

* phpdoc_no_package

* phpdoc_no_useless_inheritdoc

* phpdoc_order to discuss

* phpdoc_return_self_reference

* phpdoc_scalar to discuss

* phpdoc_separation to discuss

* phpdoc_single_line_var_spacing

* phpdoc_summary to discuss

* phpdoc_to_comment to discuss

* phpdoc_trim to discuss

* phpdoc_types

* phpdoc_var_without_name

* pow_to_exponentiation

* pre_increment to discuss

* protected_to_private

* psr0 turned off

* psr4 turned on

* random_api_migration

* return_type_declaration to discuss

* self_accessor to discuss

* semicolon_after_instruction

* short_scalar_cast

* silenced_deprecation_error turned off

* simplified_null_return to discuss

* single_quote

* space_after_semicolon

* standardize_not_equals

* strict_comparison to discuss

* strict_param to discuss

* ternary_operator_spaces

* ternary_to_null_coalescing should be set to true if vimeo/psalm ever goes php:^7.0

* trailing_comma_in_multiline_array to discuss

* trim_array_spaces

* unary_operator_spaces

* whitespace_after_comma_in_array to discuss

* multi-version scrutinizer to match travis

* binary_operator_space

* not the best solution, but it works to exclude the call map from php-cs-fixer

* reducing verbosity of config where defaults were used

* dry run php-cs-fixer as part of tests

* disabling rule pending FriendsOfPHP/PHP-CS-Fixer#2739

* enabling no_unused_imports

* enabling ordered_imports

* ignoring user-defined .php_cs

* using $TRAVIS_COMMIT_RANGE to only test modified files

* enabling no_leading_import_slash

* conditionally testing everything

* filter output then perform exact match

* restoring phpcs via partial cherry pick of f65c618
2017-05-26 18:26:14 -04:00
Tomáš Votruba
a84e70c3d0 composer: bump to PHP 5.6, as in travis (#141) 2017-04-26 14:53:39 -04:00
Matthew Brown
13d84367d9 Restart with xdebug turned off 2017-02-18 17:49:05 -05:00
Matthew Brown
3c3224591a Update to latest PHP-Parser 2017-02-10 20:46:38 -05:00
Matthew Brown
11859e9cc0 Bump PhpParser version 2017-02-03 20:14:48 -05:00
Richard Fussenegger
f7c309d8f6
Fixed dependency bounds
Current definition of dependencies would result in **any** version being installed that is greater than the one specified. This is problematic since new major releases imply breaking changes and nothing ensures that psalm will be compatible with those updated dependencies. Using an operator that instructs Composer to ensure that this does not happen is therefore inalienable.
2017-01-19 21:18:46 +01:00
Matthew Brown
35e3b17545 Add phpcs as a dev dep cc @erunion 2016-12-23 23:50:57 +00:00
Matthew Brown
ea74388c7d Update PHPUnit to version without count bug 2016-12-23 21:50:31 +00:00
Matthew Brown
562f71b21f Add TypeDoesNotContainType issue and fix those issues in Psalm code 2016-12-11 13:48:11 -05:00
Matthew Brown
d094df30b6 Add phpunit config 2016-12-07 00:12:06 -05:00
Matt Brown
48e19fc7e5 Add support for closure docblocks 2016-12-06 19:41:52 -05:00
Matthew Brown
ff409a7f01 Update minimum requirements 2016-12-04 23:19:14 -05:00
Matthew Brown
3159d4e7aa Update nikic/php-parser for PHP 7.1 support 2016-12-03 20:04:42 -05:00
Matthew Brown
0cf3787b7f Be more lenient with requirements 2016-11-21 22:27:33 -05:00
Matthew Brown
09a1a92a8e Update composer for public repo 2016-11-21 17:08:17 -05:00
Jon Ursenbach
b744ba547a Adding a Composer run script for running a Psalm self check. 2016-11-06 22:15:03 -05:00
Jon Ursenbach
27c2db1d1d PSR-2 2016-11-02 17:50:54 -04:00
Jon Ursenbach
41c548c092 Adding PHPUnit as a dev dependency and a Composer script to run tests. 2016-10-20 11:54:55 -04:00
Jon Ursenbach
8ff2f8bddb "A non-empty PSR-4 prefix must end with a namespace separator." 2016-10-20 11:51:45 -04:00
Matthew Brown
2a2b5f7efc Add psalm bin folder 2016-07-26 15:12:44 -04:00
Matthew Brown
df28d24803 Change name to Psalm 2016-07-25 18:37:44 -04:00
Matthew Brown
fb51ef6d4c Update name here, too 2016-07-18 18:06:20 -04:00
Matthew Brown
e9bf13ecc0 Go back to regular nikic parser 2016-04-30 11:53:54 -04:00
Matthew Brown
c2817d4168 Fix booboo 2016-04-03 19:49:32 -04:00
Matthew Brown
b60213395b Add initial rudimentary tests 2016-04-03 19:47:06 -04:00
Steve Miketa
ea5948dedb Use dev-master alias 2016-03-07 13:51:42 -05:00
Steve Miketa
42b24bd5f0 Update php-parser package 2016-03-07 13:28:02 -05:00
Steve Miketa
d09e172b8b Update patched version of php-parser 2016-03-03 12:32:37 -05:00
Matthew Brown
0fff1b31f2 Fix ref 2016-01-07 18:45:20 -05:00
Matthew Brown
d689c6f765 Add composer 2016-01-07 18:33:37 -05:00