README
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.
effectis the library, from the package'ssrc/, with seven small changes: four where TypeScript 7.1, which tcm checks with, reports errors 7.0 doesn't; a module object used as a value, which tcm can't import yet; and two imports of the package by its own name. Left out: a module that's only there for its side effect, and the Scalar and Swagger pages, which load their bundled UIs withimport().demois programs using it, from#codebase/effect/…: generators, a typed error caught by its tag, an asynchronous sleep, and their tests.tcm run demo.mainruns them.
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