diff --git a/.changeset/pre.json b/.changeset/pre.json index edae2bed0..13695ffcb 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -32,6 +32,7 @@ "bright-mugs-paint", "bright-peaches-wave", "bright-trees-count", + "cached-per-request-helper", "calm-pets-float", "chilly-colts-attack", "chilly-steaks-rule", @@ -78,6 +79,7 @@ "document-query-project-modes", "easy-aliens-peel", "easy-spiders-study", + "effa-sync-shared", "effect-app-prefer-fn-untraced", "eighty-aliens-hide", "eighty-signs-smile", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 309b260d1..8ce08c23c 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,26 @@ # @effect-app/cli +## 2.1.0-beta.24 + +### Minor Changes + +- 07dcd75: Add `effa sync` / `effa sync-diff` / `effa sync-push` subcommands for syncing content (architecture docs, e2e helpers, ts-plugins) from `effect-app/shared` into consuming projects per a project-side `.shared.json` lockfile. + + - `effa sync` — clone/checkout the shared repo at the pinned ref into `~/.cache/effa/shared/`, then copy the artifact map's files into the project (honoring `exclude`). + - `effa sync-diff` — sha256 compare each tracked file against the cache copy; reports `M` (modified locally), `D` (missing from project), `E` (excluded). + - `effa sync-push [--pr] [-m msg] [--branch name]` — branch in the cache off the pinned ref, copy modified project files in, commit, push. Optional `--pr` opens a PR via `gh pr create`. + + Lockfile shape: + + ```json + { + "repo": "github.com/effect-app/shared", + "ref": "", + "artifacts": { "": "" }, + "exclude": [""] + } + ``` + ## 2.1.0-beta.23 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 01d14ddd6..de0772c27 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@effect-app/cli", - "version": "2.1.0-beta.23", + "version": "2.1.0-beta.24", "license": "MIT", "type": "module", "bin": { diff --git a/packages/effect-app/CHANGELOG.md b/packages/effect-app/CHANGELOG.md index e021cba40..67e79c5ea 100644 --- a/packages/effect-app/CHANGELOG.md +++ b/packages/effect-app/CHANGELOG.md @@ -1,5 +1,7 @@ # @effect-app/prelude +## 4.0.0-beta.246 + ## 4.0.0-beta.245 ## 4.0.0-beta.244 diff --git a/packages/effect-app/package.json b/packages/effect-app/package.json index dbe6d613c..1415a8fde 100644 --- a/packages/effect-app/package.json +++ b/packages/effect-app/package.json @@ -1,6 +1,6 @@ { "name": "effect-app", - "version": "4.0.0-beta.245", + "version": "4.0.0-beta.246", "license": "MIT", "type": "module", "dependencies": { diff --git a/packages/infra/CHANGELOG.md b/packages/infra/CHANGELOG.md index a0f0205bb..550d32abe 100644 --- a/packages/infra/CHANGELOG.md +++ b/packages/infra/CHANGELOG.md @@ -1,5 +1,12 @@ # @effect-app/infra +## 4.0.0-beta.246 + +### Patch Changes + +- f4b58cd: Add `cachedPerRequest` helper to `ContextMapContainer`. Runs a given Effect at most once per ContextMap (i.e. per request) and stores the result in the ContextMap under a fresh symbol, using the ContextMap's shared semaphore for safe single initialization. Use as a building block for any per-request memoized value (request resolver caches, per-request `Cache.make` instances, etc.). + - effect-app@4.0.0-beta.246 + ## 4.0.0-beta.245 ### Patch Changes diff --git a/packages/infra/package.json b/packages/infra/package.json index 57d644a44..bc04af942 100644 --- a/packages/infra/package.json +++ b/packages/infra/package.json @@ -1,6 +1,6 @@ { "name": "@effect-app/infra", - "version": "4.0.0-beta.245", + "version": "4.0.0-beta.246", "license": "MIT", "type": "module", "dependencies": { diff --git a/packages/vue-components/CHANGELOG.md b/packages/vue-components/CHANGELOG.md index 6a57510b0..cd04401e8 100644 --- a/packages/vue-components/CHANGELOG.md +++ b/packages/vue-components/CHANGELOG.md @@ -1,5 +1,12 @@ # @effect-app/vue-components +## 4.0.0-beta.246 + +### Patch Changes + +- effect-app@4.0.0-beta.246 +- @effect-app/vue@4.0.0-beta.246 + ## 4.0.0-beta.245 ### Minor Changes diff --git a/packages/vue-components/package.json b/packages/vue-components/package.json index 718789af9..94f70765f 100644 --- a/packages/vue-components/package.json +++ b/packages/vue-components/package.json @@ -1,6 +1,6 @@ { "name": "@effect-app/vue-components", - "version": "4.0.0-beta.245", + "version": "4.0.0-beta.246", "scripts": { "check": "vue-tsc", "build": "pnpm build:run", diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index 5c18b472f..ceafac4fb 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -1,5 +1,11 @@ # @effect-app/vue +## 4.0.0-beta.246 + +### Patch Changes + +- effect-app@4.0.0-beta.246 + ## 4.0.0-beta.245 ### Patch Changes diff --git a/packages/vue/package.json b/packages/vue/package.json index 0818346a1..72a71bf78 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@effect-app/vue", - "version": "4.0.0-beta.245", + "version": "4.0.0-beta.246", "license": "MIT", "type": "module", "homepage": "https://github.com/effect-ts-app/libs/tree/main/packages/vue",