Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Cssxpath Laravel Package

phpgt/cssxpath

View on GitHub
Deep Wiki
Context7
v1.5.0

This release introduces the newly refactored code, which has unlocked the possibility to implement two missing pseudo selectors: :has and :not. Thanks to @reaganch for the feature request that came in just at the right time.

New Contributors

Full Changelog: https://github.com/phpgt/CssXPath/compare/v1.4.0...v1.5.0

v1.4.0

What's Changed

Full Changelog: https://github.com/phpgt/CssXPath/compare/v1.3.0...v1.4.0

v1.3.0

What's Changed

Full Changelog: https://github.com/PhpGt/CssXPath/compare/v1.2.0...v1.2.1

v1.2.0

What's Changed

New Contributors

Full Changelog: https://github.com/PhpGt/CssXPath/compare/v1.1.4...v1.2.0

v1.1.4

Backwards compatibility is added in this release to allow PHP.Gt/Dom v2 to retain compatibility with PHP 7.3

v1.1.3

This minor patch release includes the switch from Circle CI to Github Actions along with a few improvements to how types are hinted, for static analysis improvement.

v1.1.2

When using continue within switch statements, special care has to be taken to ensure the loops are continued as expected. This release removes ambiguity by specifying the continue nesting argument.

From https://www.php.net/manual/en/control-structures.continue.php :

Note: In PHP the switch statement is considered a looping structure for the purposes of continue. continue behaves like break (when no arguments are passed). If a switch is inside a loop, continue 2 will continue with the next iteration of the outer loop.

v1.1.1

This release contains a number of bugfixes:

  • Bugfix for selecting children of attribute selector. The bug meant that the selector context was reset to the documentElement when in a deeper query than selecting attribute values.
  • Update DOM dependency fixing issue with iterators in tests. Iterating over HTMLCollections is only one method of working with HTMLCollections. Asking for the current() item would use the iterator but it would throw a RunTime exception if the iterator wasn't rewound.
  • Expose other attribute selector types. There are many types of attribute selector. Now these types are defined as constants in the Translator.
  • More descriptive variable names.
v1.1.0

Multiple CSS selectors can be present within the same query like this: div>a, div>li>a, and a simple explode() was being called to split the strings. However, this caused an issue when one selector was looking for an attribute selector whose value contained a comma.

To solve this, a regular expression has been used to split only commas that are not surrounded by quotes.

v1.0.0

With the push to release PhpGt repositories to their stable versions, this release includes the single piece of functionality that was holding it back from being integrated within WebEngine: the ability to assign a prefix to the XPath query.

This is used within the PhpGt/Dom repository to allow typical child-based searches, but also parent-based searches for using DOM functionality such as $element->closest($selector).

The library has been in use within WebEngine for a number of weeks so is receiving its first stable release, and even though advanced functionality like :not selector is missing right now (and admittedly, doing advanced CSS selectors within your server-side code is probably a bad idea), we're looking forward to adding more completeness to the library for future releases.

Have fun and stay productive!

v0.2.0

Part of the CSS specification is the ability to match multiple selectors as one, separated by a comma. This has now been implemented in this repository by splitting the input string on a comma and converting to multiple XPath queries that are chainable.

Amongst this feature, unit tests and continuous integration platforms have been upgraded to the latest versions, and unit tests have been hardened.

v0.1.0

Multiple class selectors can now be chained together, fixing a known bug. Classes are now normalised on entry to fix some false positives.

v0.0.2

Because of the reliance on Symfony's CSS selector package, it's very important to test real-world use cases of CSS selectors.

It is not greatly important to get to full CSS-spec for v1 release, because there are so many complex selectors that just shouldn't be performed on the server, but getting 100% test coverage is a must.

Currently at 68%!

v0.0.1

This first pre-release has achieved the initial goal of passing the original tests for semi-complex CSS selector translation.

There are some edge cases to work through and when more complex tests are written we will surely find some room for improvement, but for now this is 233 lines of minimal code to do the same thing as the massive dependency WebEngine currently has.

We will soon be refactoring the Translator into its own classes of functionality, which will aim the project towards a stable release.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle