@effected/app 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ The other half is the namespace itself. An application names it for its director
|
|
|
27
27
|
|
|
28
28
|
This package is the composition that gets both right, and that is all it is. It owns **no domain logic**: no service, no schema, no error class, and it re-exports nothing. The entire surface is layer factories, one config preset and one type alias. If a change here wants a `Context.Service`, that is the signal the change belongs in one of the three packages beneath it.
|
|
29
29
|
|
|
30
|
-
**
|
|
30
|
+
**No library or package may depend on `@effected/app`** — but the application at the top of the graph is exactly its intended consumer. A library taking an application control plane as a dependency would drag a SQLite driver into its own consumers' trees. This is the package an application composes at its edge — and the only one in the kit whose docs show where OpenTelemetry goes.
|
|
31
31
|
|
|
32
32
|
## Install
|
|
33
33
|
|
|
@@ -41,6 +41,8 @@ pnpm add @effected/app effect @effected/xdg @effected/store @effected/config-fil
|
|
|
41
41
|
|
|
42
42
|
Requires Node.js >=24.11.0.
|
|
43
43
|
|
|
44
|
+
All `@effected/*` packages are ESM-only: the exports maps publish only `import` conditions, so `require()` — including tools that resolve in CJS mode — fails with Node's `ERR_PACKAGE_PATH_NOT_EXPORTED` rather than loading a CJS build that does not exist. Import from an ES module.
|
|
45
|
+
|
|
44
46
|
There are **no runtime dependencies**. `effect` v4 is a peer dependency, and so are `@effected/xdg`, `@effected/store` and `@effected/config-file` — which is load-bearing rather than incidental. Each of the three appears in this package's public signature types, so a second copy of any of them in your graph would mint two distinct service tags for one concept and the layer would silently fail to satisfy the requirement. Single copies are the point, and that is exactly what a peer declares. Package managers that install peers automatically will pull them in; add them to your manifest explicitly if yours does not.
|
|
45
47
|
|
|
46
48
|
The package is integrated tier **by inheritance, not by anything it does**: `@effected/store` reaches `@effect/sql-sqlite-node`, and that propagates. It performs no IO the three packages beneath it do not already perform.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effected/app",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The application control plane for Effect: one layer wiring XDG-namespaced directories, a migrated SQLite store, a TTL cache and a config file to the same place.",
|
|
6
6
|
"keywords": [
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"./package.json": "./package.json"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@effected/config-file": "0.1.
|
|
41
|
+
"@effected/config-file": "0.1.2",
|
|
42
42
|
"@effected/store": "0.1.0",
|
|
43
|
-
"@effected/xdg": "0.1.
|
|
43
|
+
"@effected/xdg": "0.1.2",
|
|
44
44
|
"effect": "4.0.0-beta.98"
|
|
45
45
|
},
|
|
46
46
|
"engines": {
|