Commit Graph

370 Commits

Author SHA1 Message Date
chris 36233f5918 chore: update phpunit 9 = 10 and psalm 4 = 5 (#368)
Co-authored-by: Christopher Georg <christopher.georg@sr-travel.de>
2023-07-28 20:33:18 +02:00
Márk Magyar 27be0e7157 code refactor (#364)
* use spread syntax instead of array_merge()

* use type cast instead of function cast

* removed redundant returns

* removed redundant phpdoc - type is already inferred

* removed invalid phpdoc - type is already inferred

The PHPDoc return type hint was incomplete, it should have been `InvalidEmail|null`, however, it can be removed altogether as the return type is already inferred from the code.

* changed warnEscaping()'s return value from bool to void

This is not a breaking change as the method is private,  and it's only used at one place, where the return value was not used anyway.

* made private class property local

`private $parser` was used in only one place, hence it can be local, there is no reason to put it into the class' scope.

* removed unnecessary type casting

Concatenation already casts `static::CODE` from `int` to `string`, no reason to do it explicitly.

* removed redundant initializers - constructor overwrites them immediately

* removed redundant else block

* simplified if-else statement

* wrapped if body in brackets to comply with PSR12

* fixed README formatting

- fixed numbering at the `Available validations` section
- fixed overall formatting

* Revert "removed redundant phpdoc - type is already inferred"

This reverts commit 68a9ae20bd.

* don't wrap long lines

* make properties typed

Also using constructor property promotion, see more info about it [here](https://php.watch/versions/8.0/constructor-property-promotion).
2023-06-07 16:47:52 +02:00
Eduardo Gulias Davis 97c28cd611 Badges and Scrutinezr config (#366)
* Codacy badges and removing Scrutinizr config
2023-05-23 22:25:38 +02:00
Eduardo Gulias Davis 178d148438 Codacy GitHub action (#365)
* README for v4

* badges update

* license year

* Adding codacy reporter action

* plain text secret for testing

* using bash

* downloading artifact

* all in one

* path to coverage

* removing extra job and adding sending coverage report only once
2023-05-23 17:55:24 +02:00
Grégoire Pineau c4f65a68ee Fixed typo in CHANGELOG.md (#363) 2023-05-22 16:53:31 +02:00
KergeKacsa 3a85486b70 DNS record check now passes if email address has no top-level domain (#355) 4.0.1 2023-01-14 15:17:03 +01:00
Eduardo Gulias Davis db4c31490b V4 readme updates (#353)
* README for v4
4.0.0
2023-01-07 12:14:40 +01:00
Alexander M. Turek 17865e0fb7 Fix Lexer 2 compatibility (#349) 2023-01-02 23:13:52 +01:00
Eduardo Gulias Davis 2a096c7219 Behold the birth of v4! 2023-01-02 19:01:12 +01:00
Eduardo Gulias Davis 28e911fa56 Resolve conflicts for v4 first commit 2023-01-02 19:00:18 +01:00
Dries Vints b531a23117 GitHub Actions (#348)
* Add GitHub Actions workflow

* Ignore composer.lock

* Separate static analysis build

* Use ramsey/composer-install

* Add 7.2 and 7.3

* Remove coveralls
3.2.5
2023-01-02 18:26:14 +01:00
Alexander M. Turek 5f35e41eba Allow doctrine/lexer 2 (#345) 3.2.4 2022-12-30 15:09:25 +01:00
Bastien Wermeille b3a424f63d loosen constraint over lexer 2022-12-29 12:17:25 +01:00
Bastien Wermeille d25d60679b Fix readme + clean composer.json 2022-12-28 23:06:42 +01:00
Bastien Wermeille 4898bc2528 Fix psalm type check 2022-12-18 23:38:43 +01:00
Bastien Wermeille 4665415250 Fix psalm type issues info 2022-12-18 23:33:57 +01:00
Bastien Wermeille 7771e2bf2c Fix types issues 2022-12-18 22:43:52 +01:00
Bastien Wermeille f9e4bc5835 Use php nullsafe operator to fix type issues 2022-12-18 22:04:37 +01:00
Bastien Wermeille 0841364b8d Upgrade to doctrine/lexer 3.x 2022-12-18 21:51:37 +01:00
Bastien Wermeille 3d25492123 Fix Tests + Psalm issues 2022-12-15 00:04:10 +01:00
Bastien Wermeille d80748070a Apply feedbacks 2022-12-14 20:29:41 +01:00
Bastien Wermeille 86933da4bb Migrate to doctrine/lexer v2.0 2022-12-14 14:12:31 +01:00
Alexis Lefebvre 0170967656 CHANGELOG: Fix typo “Breacking” (#333) 3.2.3 2022-09-03 11:54:08 +02:00
Eduardo Gulias Davis 4c72190f32 Update LICENSE 2022-08-14 20:36:33 +02:00
Mathias Reker ⚡️ 413b263617 Nullable type declaration for default null value (#328)
Adds ? before type declarations for parameters with a default null value
2022-07-13 16:53:11 +02:00
Mathias Reker ⚡️ 18b9e5b572 Visibility required (#329)
Visibility MUST be declared on all properties and methods; abstract and final MUST be declared before the visibility; static MUST be declared after the visibility.
2022-07-13 16:52:42 +02:00
Mathias Reker ⚡️ 1ca313dfcd Single blank line at eof (#330)
A PHP file without end tag must always end with a single empty line feed.
2022-07-13 16:51:51 +02:00
Mathias Reker ⚡️ cf5908bb1a No superfluous elseif (#331)
Replaces superfluous elseif with if.
2022-07-13 16:51:22 +02:00
Mathias Reker ⚡️ b241b54919 No unused imports (#332)
Unused use statements must be removed.
2022-07-13 16:50:27 +02:00
dependabot[bot] 74d2f16d9d Bump guzzlehttp/guzzle from 7.4.3 to 7.4.5 (#326)
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.3 to 7.4.5.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.3...7.4.5)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-24 20:51:04 +02:00
Nicolas Grekas f88dcf4b14 Don't use utf8_en/decode() functions, they're deprecated on PHP 8.2 (#325) 3.2.1 2022-06-18 22:57:19 +02:00
Eduardo Gulias Davis a5ed8d58ed Bug #321 (#323)
* Update dependencies

* dns_get_record wrapper for testing of the function's behaviour

* remove unused classes

* Fix Psalm errors

* Increase PHP Version
3.2
2022-05-29 00:19:18 +02:00
Daniel Winzen 312b65911f Fixed Spoofchecking link (#314) 2022-02-18 16:25:29 +01:00
Denis Gurov d51b279b5f Typos (#313)
A few typos in README
2022-02-11 18:09:16 +01:00
Robert Fridzema 9aab2ceed6 Typos (#311) 2022-02-04 21:30:40 +01:00
Julien Gidel 007bfd424e Small contribution - code readability improvements (#306)
* Some code improvements - tests same as beginning

* isUTF8Invalid returns a boolean

* Changes for tests passed

* Revert change + scrutinizer to flaky

* Null coalescing on token to return a null token

* Psalm pass and PHPunit too (php 7.4)

* Minor change to set lookahead to nullToken
2021-11-20 22:34:12 +01:00
Eduardo Gulias Davis 5cc04719d0 CI update to min supported version 2021-10-11 18:18:50 +02:00
Eduardo Gulias Davis c70449e7b1 CI update to supported versions in matrix 2021-10-11 18:15:58 +02:00
Eduardo Gulias Davis 36425ab1f9 Merge branch '3.x' of github.com:egulias/EmailValidator into 3.x 2021-10-11 18:11:58 +02:00
Eduardo Gulias Davis 4c7033b422 CI and dependencies update 2021-10-11 18:11:44 +02:00
Eduardo Gulias Davis 037594add3 Code quality 2021-10-11 17:54:24 +02:00
Eduardo Gulias Davis 4cccb8186b Update badges 2021-10-11 17:52:58 +02:00
Samuel Vicent ee0db30118 MultipleErrors->reason always returns [0] and should return first item from associative array (#305)
* Patch MultipleErrors->reason method by getting always the first item - Added Tests and a custom Exception

* Return EmptyReason instead of throwing exception when MultipleErrors has no reasons (validations accomplished)

Co-authored-by: Samuel Vicent <samuel.vicent@takeachef.com>
3.1.2
2021-10-11 11:18:27 +02:00
John Congdon c81f18a3ef Reset the label when a S_DOT is encountered. (#297)
This will allow multi label domain's to still validate correctly.

Reset the label when a S_DOT is encountered.
3.1.1
2021-04-01 20:37:14 +02:00
Dries Vints 95979e2ad6 Add null return type to getError DocBlock (#293) 2021-03-11 14:36:15 +01:00
Eduardo Gulias Davis 62c3b73c58 Update README.md 3.1.0 2021-03-07 15:33:28 +01:00
Eduardo Gulias Davis 8e526a57c1 Message-id validator (#290)
* scafolding for MessageID validation

* Improve domain valid tokens

* Improved EmailParser to remove leaked logic. User of lexer recorder within parsers.

* MessageIDParser passing tests.

* change left for right, which is the right one

* psaml errors

* Better naming

* comments are not allowed in IDLeft for message-id

* Suppress psalm inheritance over tokens and dependencies

* Update src/Parser.php

Co-authored-by: Alexander M. Turek <me@derrabus.de>

* Update src/Parser.php

Co-authored-by: Alexander M. Turek <me@derrabus.de>

* improve parser from comments

Co-authored-by: Alexander M. Turek <me@derrabus.de>
2021-03-06 18:29:10 +01:00
Alies Lapatsin 451b438902 Use a safe way to execute dns_get_record (v3) (#286)
* #256 Bypass a PHP warning generated by @dns_get_record

The idea is to create a custom error handler for dns_get_record(), call dns_get_record and then restore the original error handler.
This way we can catch PHP warnings (e.g. "Warning: dns_get_record(): DNS Query failed" or "dns_get_record(): A temporary server error occurred." [ErrorException])

* #256 Make `UnableToGetDNSRecord` reason more testable

* #256 Suppress psalm’s false-positive error

see https://github.com/vimeo/psalm/issues/5134#issuecomment-782937791

* #256 Speed up tests: start from previously failed

* #256 Suppress psalm’s false-positive error

We don’t have a control over AbstractLexer and can’t specify array shape in this parent class
3.0.1
2021-02-28 15:27:57 +01:00
Chun-Sheng, Li 04cad1a5ec Fix testing class name and namespaces (#284) 2021-02-07 15:42:56 +01:00
Eduardo Gulias Davis de0fb24141 Typo & correct RFC 2021-01-27 17:48:19 +01:00