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. [Utility &amp; Helpers](/categories/utility)
4. /
5. tantek/cassis

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

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

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

Since Jun 30Pushed 11mo ago5 watchersCompare

[ Source](https://github.com/tantek/cassis)[ Packagist](https://packagist.org/packages/tantek/cassis)[ RSS](/packages/tantek-cassis/feed)WikiDiscussions main Synced 2w 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 87% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity34

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

1255d 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)
```

###  Alternatives

[dekuan/dedid

An unique id generator for distributed database by DeKuan, Inc.

221.4k4](/packages/dekuan-dedid)

PHPackages © 2026

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