Download the PHP package particle-academy/fancy-conformance without Composer

On this page you can find all versions of the php package particle-academy/fancy-conformance. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package fancy-conformance

fancy-conformance

Shared cross-language conformance fixtures for the Fancy suite.

One contract, N implementations, and a single fixture table that every implementation asserts in its own CI, on every push — so "parity" is a test result rather than a claim.

For a language with no package yet, every release attaches a plain fancy-conformance-<version>.tar.gz containing just the fixtures — no npm, no Composer, no JavaScript toolchain.

The policy

N implementations of one contract are acceptable if and only if a shared fixture table is asserted by every implementation, in that implementation's own CI, on every push.

Anything less is not parity. It is a transliteration with a README.

Why this exists

Most Fancy server capabilities ship as a matched PHP + Node pair, so the same feature works behind the same UI whichever backend runs it. Keeping two implementations honest by hand does not work, and we have the receipts:

The counter-example is in the same org and is the whole argument. satisfiesRange is also a three-way duplicate — fancy-ui-cli, fancy-flow, fancy-flow-php — and it has not drifted. The only thing it does differently: each repo carries the identical case table in its own CI, the PHP one literally titled "matches the TypeScript satisfiesRange, clause for clause."

Same organisation, same problem shape, opposite outcome. The variable is the shared table. That table is now suites/shared/satisfies-range/, promoted here verbatim.

What is in here

Suite Cases Pins
shared/satisfies-range 17 Minimal semver range matching, including two rows that deliberately disagree with standard semver
shared/decimal 18 Float formatting, numeric-string coercion, and money rounding
shared/money-minor-units 26 Minor-unit conversion across zero-decimal and three-decimal currencies
shared/strings 8 Inline-markdown segmentation across CJK, emoji, combining marks and accented Latin
shared/expr 20 {{ }} dot-path resolution and branch truthiness for fancy-flow node config
shared/image-header 16 Image dimensions read from the header bytes, without an image library
shared/flow-run-identity 25 fancy-flow's run/step identity: the idempotency key a retrying connector sends, and when a retry may still reuse it
flow/graph-runs 23 Whole-graph execution: the same WorkflowSchema in, the same RunResult.outputs out

Every case carries an id, a title, the suite version it arrived in, and — where it exists to catch something specific — a notes field saying what.

Using it

Full runner contract, including the subprocess CLI for suites that emit documents rather than return values: runners/README.md.

The four rules for a consuming repo

Each one is traceable to a suite in this org that reported green while covering nothing.

  1. Run the suite on every push and PR. Not nightly, not at release.
  2. A missing toolchain is a FAILURE, not a skip. skipIf(!HAS_PHP) returning green is the specific mechanism that hid two-way drift for months. If the suite cannot run, the job goes red.
  3. Print the summary unconditionally, including every skip and its reason. A bare "3 skipped" reads identically to full coverage at a glance.
  4. Print and assert the pinned suite version, so "we're on an old fixture set" is visible rather than inferred.

Skipping a case

skip is the only sanctioned way not to run a case, it is keyed by language, and the reason may not be empty — an empty one is a load error, in both loaders, asserted on both sides:

Every runner prints every skip. A silent skip is what turned two existing parity suites into decoration, so it is not representable here.

This repository holds itself to the same standard

It ships four loaders for one fixture format, which is itself a duplicated contract. So:

Adding a case

A new case lands here first, red, then in each implementation. Where an implementation cannot pass it yet, it gets a skip with a real reason and a tracking issue — and that skip appears in that repo's CI log every run until it is gone.

Never renumber an id. Ids appear in changelogs and in other repos' skip lists.

Versioning

VERSION is the fixture set's own semver, and the publish workflow refuses a tag unless the tag, VERSION and package.json all agree. Every implementation pins a version and states it in its README; raising the pin is a deliberate act with a changelog entry.

Pre-1.0, breaking changes land in minor releases.

License

MIT


All versions of fancy-conformance with dependencies

PHP Build Version
Package Version
Requires php Version ^8.4
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package particle-academy/fancy-conformance contains the following files

Loading the files please wait ...