Matthew Brown
9bfabab976
Add support for psalter in Phar
2019-03-03 22:59:00 -05:00
Matthew Brown
674657a51d
Fix 7.0-incompatible logic
2019-02-24 01:47:53 -05:00
Matthew Brown
3ad1abece4
Add generation of json artifacts
2019-02-24 01:33:25 -05:00
Bruce Weirdan
faae9fda3b
Added option to force dead code detection
...
Previously Psalm would only check class references when there were no
paths passed on the command line. Now it's possible to force this check
even when paths are specified, with `--find-dead-code=always`.
`--find-dead-code` without a value (or with any value apart from `always`)
will continue to work the same way it did before.
2019-02-18 09:34:28 -05:00
Matthew Brown
574a5530ee
Use $baselineFile
for current baseline
2019-02-09 11:20:48 -05:00
Maria Luiza Soares
5bd16c686f
Show total fixed errors when updating baseline
2019-02-09 11:20:48 -05:00
Matthew Brown
17541b415f
Fix #1191 - allow Psalm to check against different versions of PHP
2019-02-07 12:25:57 -05:00
Brown
51c6621925
Add property lookup
2019-01-22 11:10:37 -05:00
Andrii Dembitskyi
dfedf70d5d
🐛 Fix --plugin option handling for psalm
2019-01-08 18:44:43 -05:00
Dave Liddament
5103dfd680
FIX update psalm help text to show you can also generate a report with a .emacs file ending
2018-12-18 17:24:28 -05:00
Jon Ursenbach
c6a8b53a4d
Refactoring output formats and creating a new "compact" format.
...
The new compact format generates your report within a table
structure that is similar to PHPCS.
Resolves #967
2018-12-09 17:34:47 -05:00
Matthew Brown
37dedee7b6
Fix memory leak issues and disable garbage collection
2018-11-18 11:39:14 -05:00
Brown
f10714e6f8
Add a --no-reflection-cache option for plugin use
2018-11-12 11:20:59 -05:00
Matthew Brown
4d79b61e93
Change _checker to _analyzer
2018-11-12 11:20:59 -05:00
Matthew Brown
4688b25fd9
Move internal classes to own namespace
2018-11-12 11:20:59 -05:00
Erik Booij
f05d10ebe4
Automatically add reference to baseline to config file
2018-11-04 19:28:12 -05:00
Brown
f017599b3f
Fix how InvalidDocblock is treated
...
Fixes #1051 (hopefully)
2018-11-01 17:03:08 -04:00
Matthew Brown
9c1f15526d
Remove erroneous =PATH
2018-11-01 11:16:08 -04:00
Erik Booij
635410ea41
Introduce issue baseline with --set-baseline and --with-baseline
2018-11-01 11:16:08 -04:00
Dave Liddament
14b99203d5
FIX #1047
...
FIx for issue [CLI -i flag not being processed correctly](https://github.com/vimeo/psalm/issues/1047 )
2018-10-31 22:27:21 -04:00
Brown
e286089eaa
Add onchange events and symbol lookup with disabled completion
2018-10-26 16:17:15 -04:00
Brown
4da1fd0e40
Change psalm --server
to psalm-language-server
2018-10-18 14:34:46 -04:00
Brown
54fdda651b
Add server mode support with error reporting only
2018-10-17 15:54:31 -04:00
Brown
5a484901cd
Improve the way that files are reloaded (server only)
2018-10-16 15:59:11 -04:00
Brown
13cc3b4751
Improve file hash reloading
2018-10-15 11:34:51 -04:00
Brown
ccc92d7709
Fix microtime types
2018-10-10 16:05:06 -04:00
Matthew Brown
afebefba19
Switch from --cache-results to --diff-methods flag
2018-10-07 00:42:25 -04:00
Brown
d0bd10d143
Improve provider architecture, upping test coverage
2018-09-30 11:34:51 -04:00
Brown
af163c0f53
Add better timing and profiling for autoload scanning
2018-09-25 16:35:23 -04:00
Matt Brown
956a7c749b
Improve handling of array_search and strstr, and restrict ini_set types
2018-08-29 13:58:07 -04:00
Bruce Weirdan
3b3863f3a8
Scan entire file/dir list at once ( #944 )
...
fixes vimeo/psalm#943
2018-08-15 11:57:40 -04:00
Matthew Brown
a32273b2b8
Allow use of Psalm without composer
...
Fixes #935
2018-08-09 00:03:32 -04:00
Matthew Brown
d3fc9a51e0
Improve callmap with PHPStan’s additions
...
cc @TysonAndre
2018-07-22 19:15:40 -04:00
Tyson Andre
ef1c1995a3
Split up CLI options into individual lines, and sort them ( #902 )
...
No CLI options were added or removed.
This has the following benefits:
- It makes it easier to track history of CLI flags in git
- It avoids merge conflicts if multiple PRs add CLI options
- It makes maintaining patches/forks easier.
2018-07-20 07:07:41 -04:00
Matt Brown
b831baee51
Make disabled extensions configurable
2018-07-17 16:54:34 -04:00
Matt Brown
6a06f06044
Improve API for disabling extensions and disable apc as well
2018-07-17 16:40:03 -04:00
Matt Brown
73aa0df08a
Restart without grpc if running in threaded mode
2018-07-17 14:08:40 -04:00
Matthew Brown
a7cb4664aa
Fix #542 - warn about incorrect psalm args
2018-07-15 18:43:06 -04:00
SignpostMarv
76a3fbbdf0
memory_limit specified as int to resolve windows-related issue #842 without requiring --use-ini-defaults argument to be passed ( #860 )
2018-07-03 17:22:04 -04:00
Matthew Brown
16e270f0ee
Improve loading of stub file and autoload file information
...
Ref #849
2018-06-30 15:29:37 -04:00
Matt Brown
4a975883b4
Add --use-ini-defaults arg to prevent Psalm overriding memory_limit and more
...
Fixes #842
2018-06-27 10:40:02 -04:00
Matt Brown
e53783f8f4
Add an option to hide code snippets
2018-06-04 10:19:20 -04:00
Matt Brown
37620ce2e5
Bump memory limit
2018-04-25 10:33:15 -04:00
Gabriel Ostrolucký
2295756793
fix xsd path replacement in --init
2018-04-21 18:55:42 -04:00
Matt Brown
a25a989c12
Prepare v2 dev release
2018-04-19 17:29:07 -04:00
Matthew Brown
2b34c1d315
Add extra level 8 containing PHP autoload landmines
2018-04-19 01:03:28 -04:00
Matt Brown
4c84f88668
Bump allowable config
2018-04-18 15:38:24 -04:00
Matt Brown
aa3ea9c14c
Add a 7th level with even more permissive checks
2018-04-18 15:31:00 -04:00
Matt Brown
87be0b5863
Change die($message) to explicit exit(1)
2018-04-17 11:48:29 -04:00
Matthew Brown
75e59f29ea
Check as many autoloaded files as possible
...
and ignore reflected function docblocks - fixes #629
2018-03-30 20:03:56 -04:00
Matthew Brown
871a91c850
Add debug-by-line option
2018-03-26 09:08:55 -04:00
Matthew Brown
fc20b9b63f
Improve init mechanism for different roots
...
Fixes #601
2018-03-18 19:16:35 -04:00
Matthew Brown
a668cfd78b
Add schema locations to generated XML
...
Fixes #583
2018-03-17 22:33:25 -04:00
Matt Brown
f806e16c10
Fix #516 - never show issues when finding references
2018-03-16 11:15:07 -04:00
Bruce Weirdan
e571c18299
updated xdebug-handler call to match new api
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
Matt Brown
88e0a65f18
Remove Psalm --self-check option, because it’s dumb
2018-03-05 10:31:07 -05:00
Matthew Brown
ade9e03c85
Use composer autoloader for class resolution where possible
2018-03-03 15:19:05 -05:00
Matt Brown
e8b4559a6b
Support level 6 and fix docs
2018-03-02 11:09:55 -05:00
Matthew Brown
2cec81ebfe
Fix #537 - misleading --init documentation
2018-03-02 10:58:12 -05:00
Matthew Brown
63b473966d
Fix phpcs warning
2018-02-25 12:14:35 -05:00
Matthew Brown
42965bff65
Bust Psalm statements cache when upgrading Psalm version
2018-02-25 11:35:43 -05:00
Matt Brown
39cdd00094
Add extra level for starter configs
2018-02-22 12:25:05 -05:00
Matthew Brown
d10212b393
Fix perpetual diff builds
2018-02-19 23:36:36 -05:00
Tyson Andre
cdcec69536
Support the pylint output format
...
This is a compact output format that is easy to write scripts that parse.
(And errors fit on a single line)
- E.g. jenkins violation plugin works reliably with pylint.
The multi-line details are deliberately omitted.
An application can output 'console' to stdout and to
a pylint file at the same time.
Files with the extension .pylint will use this format.
Document the emacs and pylint output formats in `psalm --help`
An optional followup task would be to create unique issue codes,
I don't have any use cases for that.
2018-02-19 22:35:48 -05:00
Matthew Brown
634375ae94
Make igbinary the default serializer
...
Fix #484 and fix #527
2018-02-19 11:14:07 -05:00
Matthew Brown
81fd016120
Fix #193 - allow caching of storages
2018-02-19 00:27:39 -05:00
Matthew Brown
61b13b68cf
Fix #376 - support turkish lowercase
2018-02-17 22:11:42 -05:00
Matthew Brown
108ca54867
Fix #516 - make sure --find-references-to doesn’t output missing references
2018-02-17 17:45:30 -05:00
Matthew Brown
078becb0b7
Fix cache clearing
2018-02-07 20:15:56 -05:00
Matthew Brown
8e0998e081
Break apart the Codebase class
2018-02-03 18:56:54 -05:00
Matt Brown
3d6bb23e28
Add stats breakdown for files
2018-01-31 17:09:09 -05:00
Matt Brown
62401f15fd
Prevent finding unused classes and methods when multithreaded
2018-01-25 15:40:01 -05:00
Matt Brown
5a4b240dc8
Prevent class references from being checked when running multithreaded
2018-01-25 15:36:02 -05:00
Matt Brown
d0de1ea641
Only check class references if we have all available data
2018-01-25 15:11:44 -05:00
Matt Brown
d67f1e3c28
Fix #252 - allow custom vendor directory
2018-01-25 11:32:54 -05:00
Matthew Brown
2994d1e339
Add tests for reference checks
2018-01-21 23:42:57 -05:00
Matthew Brown
9b6b03ff9f
Create Config before ProjectChecker, and remove test-specific code from FileChecker
2018-01-21 10:22:04 -05:00
Matt Brown
27e47365e3
Fix #422 - be better about checking isset call variables
2018-01-09 19:33:39 -05:00
Matt Brown
3b5ddb8dc2
Reduce use of __toString and remove profiling
2018-01-09 15:44:31 -05:00
Matt Brown
1a048040bf
Move IssueBuffer finish logic into the command line
2018-01-09 11:49:10 -05:00
Matthew Brown
5bae869dc6
Break file manipulation out into Psalter
2018-01-07 17:25:23 -05:00
Matt Brown
928b01a7c7
Find and fix code issues where functionality is available
2018-01-07 17:25:23 -05:00
Matt Brown
53d8c7ba52
Fix issue ideas
2018-01-07 17:25:23 -05:00
Matthew Brown
cc81d78dfd
Add code replacement api to allow Psalm to update arbitrary parts of the codebase
...
Fixes #264
2018-01-02 09:46:50 -05:00
Matthew Brown
72b127e061
Allow plugins to be run via the command line
2018-01-02 09:46:50 -05:00
Matthew Brown
81cfe09fae
Improve reporting of classlike locations in docblocks
2018-01-01 20:04:03 -05:00
Matthew Brown
72a2a80619
Fix reference PackageVersions class
2018-01-01 10:01:04 -05:00
Matthew Brown
8efc939a5f
Move Psalm execution code into PHP file that Psalm can analyse
2017-12-29 17:02:56 -05:00