tcmts.examples.effect

effect

Effect 4.1.2, a large TypeScript library, imported whole from its npm package's source. It's 580 files and 15,671 definitions: a namespace per file (effect.Effect, effect.Schema, …) and a definition per name.

It's tcm's stress test, a library written without tcm in mind, and it takes most of what importing does: interfaces with namespaces of types beside them (Effect.Success<…>), statements setting up constants (Impl.prototype = Proto), declare global and declare module augmentations, namespace imports everywhere, and large cycles. Once imported it's code like any other.

To build it yourself (it fetches effect@4.1.2 from npm, and the import takes minutes):

curl -fsSL https://tcm.codes/docs/examples/effect.tar.gz | tar xz
effect/setup.sh /tmp/effect
cd /tmp/effect && tcm view effect.Effect.Effect && tcm run demo.main

The other examples: https://tcm.codes/docs/examples.html

README file
changes file
playground file
setup file