daun/statamic-latte
Use the Latte templating engine in Statamic. This addon integrates Latte rendering into your Statamic site, letting you build layouts, views, and components with Latte’s clean, secure syntax alongside Statamic’s content and data.
Package profile (inferred): A Laravel testing/assertion package that inspects rendered HTML responses, exposing Nette/Latte-style attribute and tag conventions (n:href, n:iftext) alongside fieldtype-aware escaping. Release 2.6.0 is a minor-version feature release in the assertion/rendering layer, not a framework or runtime dependency change.
Architecture fit
require-dev), operating on HTTP responses and view output. It does not intercept routing, container bindings, or Eloquent, so it imposes no architectural constraints on application code.n:href), a new tag/attribute pair (iftext/n:iftext), and refinement of escaping behavior for HTML-emitting fieldtypes. Additive surface area is the lowest-risk category of change, but "smart escaping" is a behavior change on an existing code path and deserves separate scrutiny from the two new selectors.n:* naming signals deliberate affinity with Nette/Latte conventions rather than Blade-native idioms. That is a reasonable design choice for DOM-assertion ergonomics, but it means the package carries its own mental model that new contributors will not arrive with.Integration feasibility
assertSee string matching, which is the primary reason teams adopt this class of package.iftext/n:iftext is the highest-value addition: asserting on visible content rather than raw markup aligns tests with what a user actually sees and cuts false positives from hidden markup, JSON blobs, or commented-out blocks.Technical risk
n:href classification (low–moderate): Distinguishing current / external / download links is heuristic. Query strings, trailing slashes, protocol-relative URLs, subdomain vs. apex hosts, download attributes, and target="_blank" all create edge cases where classification may not match intent. Expect a period of "is this a package bug or a test bug?" triage.iftext visibility semantics (moderate): "Visible" is only well-defined if the package resolves CSS hiding, hidden attributes, and inline styles. If detection is shallow (class-name matching), tests may pass on content that is hidden in a real browser — a false sense of coverage, which is worse than no assertion.Key questions for the maintainer
iftext consider "visible" — inline styles, display:none, hidden, class-based CSS from a stylesheet, or markup presence only?n:href classify current vs. external (host comparison? configured APP_URL? relative resolution?), and how are query strings and trailing slashes normalized?Stack fit
iftext cannot see Alpine/JS-driven visibility.assertSee/assertSeeText heavily, this is a natural consolidation rather than a competing tool.Migration path
composer.json so an unexpected patch does not land mid-sprint.n:* syntax. Convert opportunistically where a test is already being touched.Compatibility
Sequencing
iftext/n:iftext in one or two view-heavy feature tests; validate visibility semantics against a deliberately hidden element.n:href in navigation/link tests; validate classification against real internal, external, and download links.Maintenance
n:* conventions create a package-specific dialect that new hires must learn. Budget a short section in the testing guide.n:* attribute syntax is not standard HTML, so it only works through this package's parser. That is an acceptable but real coupling — swapping test tooling later means rewriting those assertions.Support
Scaling
iftext may be slower than raw string matching on very large pages. Only a concern for large suites; parallelization absorbs it.Failure modes
iftext: content asserted as visible that a browser would hide. Worst failure mode here, because it inflates confidence in UI tests.n:href matching: internal links misclassified as external (or vice versa) after a domain or environment change, producing confusing failures in CI that pass locally.Ramp-up
Recommendation: Adopt 2.6.0, but sequence it as a test-tier upgrade with the escaping change explicitly validated before enabling the new selectors. Treat iftext visibility semantics as an open question to verify empirically rather than assume — and gate broad adoption of n:href on confirming its link-classification rules.
How can I help you explore Laravel packages today?