PHPackages                             tantek/cassis - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. tantek/cassis

ActiveLibrary

tantek/cassis
=============

v0.3.19425(3y ago)13299212[16 issues](https://github.com/tantek/cassis/issues)3CC-BY-SA-4.0PHP

Since Jun 30Pushed 8mo ago6 watchersCompare

[ Source](https://github.com/tantek/cassis)[ Packagist](https://packagist.org/packages/tantek/cassis)[ RSS](/packages/tantek-cassis/feed)WikiDiscussions main Synced 2mo ago

READMEChangelog (3)DependenciesVersions (7)Used By (3)

cassis.js
=========

[](#cassisjs)

[![](https://camo.githubusercontent.com/1ceb899010ea3cdcf38d232b4b2ccfa4cf795be543a68150793e0cc9c8addf75/68747470733a2f2f74616e74656b2e7062776f726b732e636f6d2f662f313239373031303932362f6361737369733132382e706e67)](https://camo.githubusercontent.com/1ceb899010ea3cdcf38d232b4b2ccfa4cf795be543a68150793e0cc9c8addf75/68747470733a2f2f74616e74656b2e7062776f726b732e636f6d2f662f313239373031303932362f6361737369733132382e706e67) CASSIS stands for: client and server scripting implementation subset.

Conceived [in late 2008](https://twitter.com/t/statuses/916632211), the goal of the CASSIS Project is universal javascript (JS) that works on the client and the server for scalable application logic. The primary use-case is writing code to implement application logic that runs in browsers, especially dynamic interfaces that make use of XMLHTTPRequest (XHR/AJAX/AHAH), and also runs on web servers.

Until typical hosting companies support running JS on the server, CASSIS code must run in at least two programming language environments, JS on the client, and something that can be made to resemble JS on typical hosting company servers, which turns out to be PHP.

For more background see:

Including CASSIS
----------------

[](#including-cassis)

Use the following code to include cassis.js locally from your server:

Clientside in HTML:

```

```

Serverside in PHP:

```
include 'cassis.php';

```

In PHP using Composer:

```
  "require": {
    "tantek/cassis": "0.1.*"
  },

```

```
require_once 'vendor/autoload.php';

```

Tests
-----

[](#tests)

To run the PHP tests:

```
$ phpunit.phar

```

To run the JS tests:

```
$ npm test

```

Experimental live
-----------------

[](#experimental-live)

Experimental CASSIS improvements and additions are tested live here:

-

If you're curious or want to try a version potentially newer than the cassis.js published here.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance41

Moderate activity, may be stable

Popularity32

Limited adoption so far

Community28

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 79.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~707 days

Recently: every ~884 days

Total

6

Last Release

1162d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/385b302aef27e9e72ddfbf65c8b15cfce5946744fe2e541c5b415665fc2351fc?d=identicon)[aaronpk](/maintainers/aaronpk)

![](https://www.gravatar.com/avatar/b2568ed5219c714e13e09a9c63e84dbb674e629dade94fd5e115c7ffb0f9ee67?d=identicon)[barnabywalters](/maintainers/barnabywalters)

---

Top Contributors

[![tantek](https://avatars.githubusercontent.com/u/46418?v=4)](https://github.com/tantek "tantek (116 commits)")[![aaronpk](https://avatars.githubusercontent.com/u/113001?v=4)](https://github.com/aaronpk "aaronpk (10 commits)")[![bcomnes](https://avatars.githubusercontent.com/u/166301?v=4)](https://github.com/bcomnes "bcomnes (8 commits)")[![barnabywalters](https://avatars.githubusercontent.com/u/968350?v=4)](https://github.com/barnabywalters "barnabywalters (2 commits)")[![hober](https://avatars.githubusercontent.com/u/6235?v=4)](https://github.com/hober "hober (2 commits)")[![jpf](https://avatars.githubusercontent.com/u/41538?v=4)](https://github.com/jpf "jpf (2 commits)")[![kevinmarks](https://avatars.githubusercontent.com/u/99008?v=4)](https://github.com/kevinmarks "kevinmarks (2 commits)")[![artlung](https://avatars.githubusercontent.com/u/70380?v=4)](https://github.com/artlung "artlung (1 commits)")[![gRegorLove](https://avatars.githubusercontent.com/u/3393009?v=4)](https://github.com/gRegorLove "gRegorLove (1 commits)")[![pfefferle](https://avatars.githubusercontent.com/u/2373?v=4)](https://github.com/pfefferle "pfefferle (1 commits)")[![strugee](https://avatars.githubusercontent.com/u/911174?v=4)](https://github.com/strugee "strugee (1 commits)")

### Embed Badge

![Health badge](/badges/tantek-cassis/health.svg)

```
[![Health](https://phpackages.com/badges/tantek-cassis/health.svg)](https://phpackages.com/packages/tantek-cassis)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
