Files
headroom/frontend/node_modules/effect/README.md
Santhosh Janardhanan de2d83092e feat: Reinitialize frontend with SvelteKit and TypeScript
- Delete old Vite+Svelte frontend
- Initialize new SvelteKit project with TypeScript
- Configure Tailwind CSS v4 + DaisyUI
- Implement JWT authentication with auto-refresh
- Create login page with form validation (Zod)
- Add protected route guards
- Update Docker configuration for single-stage build
- Add E2E tests with Playwright (6/11 passing)
- Fix Svelte 5 reactivity with $state() runes

Known issues:
- 5 E2E tests failing (timing/async issues)
- Token refresh implementation needs debugging
- Validation error display timing
2026-02-17 16:19:59 -05:00

54 lines
2.6 KiB
Markdown

# `effect` Core Package
The `effect` package is the heart of the Effect framework, providing robust primitives for managing side effects, ensuring type safety, and supporting concurrency in your TypeScript applications.
## Requirements
- **TypeScript 5.4 or Newer:**
Ensure you are using a compatible TypeScript version.
- **Strict Type-Checking:**
The `strict` flag must be enabled in your `tsconfig.json`. For example:
```json
{
"compilerOptions": {
"strict": true
// ...other options
}
}
```
## Installation
Install the core package using your preferred package manager. For example, with npm:
```bash
npm install effect
```
## Documentation
- **Website:**
For detailed information and usage examples, visit the [Effect website](https://www.effect.website/).
- **API Reference:**
For a complete API reference of the core package `effect`, see the [Effect API documentation](https://effect-ts.github.io/effect/).
## Overview of Effect Modules
The `effect` package provides a collection of modules designed for functional programming in TypeScript. Below is a brief overview of the core modules:
| Module | Description |
| -------- | -------------------------------------------------------------------------------------------------------------------------- |
| Effect | The core abstraction for managing side effects, concurrency, and error handling in a structured way. |
| Context | A lightweight dependency injection mechanism that enables passing services through computations without direct references. |
| Layer | A system for managing dependencies, allowing for modular and composable resource allocation. |
| Fiber | Lightweight virtual threads with resource-safe cancellation capabilities, enabling many features in Effect. |
| Stream | A powerful abstraction for handling asynchronous, event-driven data processing. |
| Schedule | A module for defining retry and repeat policies with composable schedules. |
| Scope | Manages the lifecycle of resources, ensuring proper acquisition and release. |
| Schema | A powerful library for defining, validating, and transforming structured data with type-safe encoding and decoding. |
For a comparison between `effect/Schema` and `zod`, see [Schema vs Zod](https://github.com/Effect-TS/effect/tree/main/packages/effect/schema-vs-zod.md).