Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/design/03-domain-model/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@ substituted at any Input) and a real deployment.

## Provisioning plane — the compile target (Alchemy / Effect)

The exact substrate the authoring nouns lower **down to**, grounded in what our providers already use (`packages/alchemy`, `alchemy@2.0.0-beta.78`, `effect@4.0.0-rc.115`). Building the next layer of abstraction means defining each authoring noun as *the compile-target terms it emits*. Two families: Alchemy's IaC definition language, and the Effect primitives Alchemy is itself built on.
The exact substrate the authoring nouns lower **down to**, grounded in what our providers already use (`packages/alchemy`, `alchemy@2.0.0-beta.81`, `effect@^4.0.0`). Building the next layer of abstraction means defining each authoring noun as *the compile-target terms it emits*. Two families: Alchemy's IaC definition language, and the Effect primitives Alchemy is itself built on.

For each term: what it is, and — where it applies — `→` the the framework authoring
noun that lowers onto it. The reverse table (authoring → provisioning → hosting)
Expand Down
27 changes: 12 additions & 15 deletions docs/guides/deploying.md
Original file line number Diff line number Diff line change
Expand Up @@ -331,8 +331,8 @@ declares.

## When prisma.config.ts fails on an effect version conflict

alchemy, the deploy engine Composer drives, needs the exact `effect` version
`@prisma/composer` pins. The extensions in your `composer` section import
alchemy, the deploy engine Composer drives, needs an `effect` 4.x release, the
same range `@prisma/composer` declares. The extensions in your `composer` section import
alchemy, so when your installed tree gives alchemy a different `effect`,
evaluating `prisma.config.ts` fails before any command runs:

Expand All @@ -343,21 +343,18 @@ Schema.TaggedError is not a function

The message after the colon is the module error from inside alchemy, and it
varies with the versions involved. This happens when your app, or another
dependency of it, pins a different `effect` than `@prisma/composer` does and
your package manager hoists that copy where alchemy resolves it. npm allows
this with only a warning. A plain Composer app never hits it:
`@prisma/composer` and `@prisma/composer-prisma-cloud` pin every
`effect`-family package alchemy would otherwise float, so a fresh install
resolves a single `effect`.

The fix is to use the same `effect` as Composer. Match your own `effect`
dependency to `@prisma/composer`'s exact pin (see its `dependencies.effect`),
or, when a dependency you cannot change pins another version, force
Composer's. With npm, in your app's `package.json`:
dependency of it, requires an `effect` outside 4.x and your package manager
hoists that copy where alchemy resolves it. npm allows this with only a
warning. A plain Composer app never hits it: a fresh install resolves a single
`effect` 4.x.

The fix is to use an `effect` 4.x release. Change your own `effect`
dependency to `^4.0.0`, or, when a dependency you cannot change requires
another version, force one. With npm, in your app's `package.json`:

```json
"overrides": {
"effect": "<required>"
"effect": "^4.0.0"
}
```

Expand All @@ -366,7 +363,7 @@ With pnpm 11 and later, in `pnpm-workspace.yaml` (pnpm 11 ignores the

```yaml
overrides:
effect: <required>
effect: ^4.0.0
```

With pnpm 10 and earlier, nest the npm block under
Expand Down
4 changes: 2 additions & 2 deletions examples/bucket/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
"@prisma/composer": "workspace:0.28.0",
"@prisma/composer-cli": "workspace:0.28.0",
"@prisma/composer-prisma-cloud": "workspace:0.28.0",
"alchemy": "2.0.0-beta.78",
"effect": "4.0.0-rc.115"
"alchemy": "2.0.0-beta.81",
"effect": "^4.0.0"
},
"devDependencies": {
"@types/bun": "^1.3.13",
Expand Down
6 changes: 3 additions & 3 deletions examples/cron/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@
"destroy": "( set -a; . \"${PRISMA_DEPLOY_ENV:-../../.env}\"; set +a; bun ../../scripts/composer-destroy.ts module.ts --production ${CRON_STACK_NAME:+--name \"$CRON_STACK_NAME\"} )"
},
"dependencies": {
"@effect/platform-bun": "4.0.0-rc.115",
"@effect/platform-bun": "^4.0.0",
"@prisma/composer": "workspace:0.28.0",
"@prisma/composer-prisma-cloud": "workspace:0.28.0",
"alchemy": "2.0.0-beta.78",
"alchemy": "2.0.0-beta.81",
"arktype": "^2.2.3",
"effect": "4.0.0-rc.115"
"effect": "^4.0.0"
},
"devDependencies": {
"@prisma/composer": "workspace:0.28.0",
Expand Down
2 changes: 1 addition & 1 deletion examples/orm-demo/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"@prisma/composer": "workspace:0.28.0",
"@prisma/composer-prisma-cloud": "workspace:0.28.0",
"@prisma/orm-postgres": "8.0.0-rc.16",
"effect": "4.0.0-rc.115",
"effect": "^4.0.0",
"pg": "8.22.0"
},
"devDependencies": {
Expand Down
4 changes: 2 additions & 2 deletions examples/storage/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
"@aws-sdk/client-s3": "^3.1085.0",
"@prisma/composer": "workspace:0.28.0",
"@prisma/composer-prisma-cloud": "workspace:0.28.0",
"alchemy": "2.0.0-beta.78",
"effect": "4.0.0-rc.115"
"alchemy": "2.0.0-beta.81",
"effect": "^4.0.0"
},
"devDependencies": {
"@prisma/composer": "workspace:0.28.0",
Expand Down
6 changes: 3 additions & 3 deletions examples/store/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,17 @@
"destroy": "( set -a; . ../../.env; set +a; bun ../../scripts/composer-destroy.ts module.ts --production ${STORE_STACK_NAME:+--name \"$STORE_STACK_NAME\"} )"
},
"dependencies": {
"@effect/platform-bun": "4.0.0-rc.115",
"@effect/platform-bun": "^4.0.0",
"@prisma/composer": "workspace:0.28.0",
"@prisma/composer-cli": "workspace:0.28.0",
"@prisma/composer-prisma-cloud": "workspace:0.28.0",
"@store/catalog": "workspace:0.28.0",
"@store/orders": "workspace:0.28.0",
"@store/promotions": "workspace:0.28.0",
"@store/storefront": "workspace:0.28.0",
"alchemy": "2.0.0-beta.78",
"alchemy": "2.0.0-beta.81",
"arktype": "^2.2.3",
"effect": "4.0.0-rc.115"
"effect": "^4.0.0"
},
"devDependencies": {
"@types/bun": "^1.3.13",
Expand Down
6 changes: 3 additions & 3 deletions examples/storefront-auth/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@
"test": "bun test module.test.ts"
},
"dependencies": {
"@effect/platform-bun": "4.0.0-rc.115",
"@effect/platform-bun": "^4.0.0",
"@prisma/composer": "workspace:0.28.0",
"@prisma/composer-prisma-cloud": "workspace:0.28.0",
"@storefront-auth/auth": "workspace:0.28.0",
"@storefront-auth/storefront": "workspace:0.28.0",
"alchemy": "2.0.0-beta.78",
"alchemy": "2.0.0-beta.81",
"arktype": "^2.2.3",
"effect": "4.0.0-rc.115"
"effect": "^4.0.0"
},
"devDependencies": {
"@prisma/composer": "workspace:0.28.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/0-framework/1-core/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
},
"dependencies": {
"@standard-schema/spec": "^1.1.0",
"alchemy": "2.0.0-beta.78",
"effect": "4.0.0-rc.115",
"alchemy": "2.0.0-beta.81",
"effect": "^4.0.0",
"@internal/foundation": "workspace:0.28.0"
},
"devDependencies": {
Expand Down
4 changes: 2 additions & 2 deletions packages/1-prisma-cloud/0-lowering/local-target/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
"@internal/lowering": "workspace:0.28.0",
"@internal/s3-protocol": "workspace:0.28.0",
"@prisma/dev": "^0.25.2",
"alchemy": "2.0.0-beta.78",
"effect": "4.0.0-rc.115",
"alchemy": "2.0.0-beta.81",
"effect": "^4.0.0",
"tar": "^7.5.21"
},
"devDependencies": {
Expand Down
8 changes: 4 additions & 4 deletions packages/1-prisma-cloud/0-lowering/lowering/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@
"clean": "rm -rf dist"
},
"dependencies": {
"@distilled.cloud/prisma": "1.0.0-rc.12",
"@effect/platform-node": "4.0.0-rc.115",
"@distilled.cloud/prisma": "1.0.0-rc.13",
"@effect/platform-node": "^4.0.0",
"@internal/bundle-paths": "workspace:0.28.0",
"@internal/core": "workspace:0.28.0",
"@internal/foundation": "workspace:0.28.0",
"@prisma/management-api-sdk": "^1.80.0",
"alchemy": "2.0.0-beta.78",
"effect": "4.0.0-rc.115"
"alchemy": "2.0.0-beta.81",
"effect": "^4.0.0"
},
"devDependencies": {
"@internal/tsdown-config": "workspace:0.28.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { Credentials, Retry } from '@distilled.cloud/prisma';
import * as Effect from 'effect/Effect';
import * as HttpClient from 'effect/http/HttpClient';
import * as HttpClientResponse from 'effect/http/HttpClientResponse';
import * as Layer from 'effect/Layer';
import * as Redacted from 'effect/Redacted';
import * as HttpClient from 'effect/unstable/http/HttpClient';
import * as HttpClientResponse from 'effect/unstable/http/HttpClientResponse';

export interface ApiRequest {
method: string;
Expand Down
4 changes: 2 additions & 2 deletions packages/1-prisma-cloud/0-lowering/lowering/src/providers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import * as NodeHttpClient from '@effect/platform-node/NodeHttpClient';
import * as Prisma from 'alchemy/Prisma';
import * as Provider from 'alchemy/Provider';
import * as Effect from 'effect/Effect';
import * as HttpClient from 'effect/http/HttpClient';
import * as HttpClientRequest from 'effect/http/HttpClientRequest';
import * as Layer from 'effect/Layer';
import * as HttpClient from 'effect/unstable/http/HttpClient';
import * as HttpClientRequest from 'effect/unstable/http/HttpClientRequest';
import * as client from './client.ts';
import {
deploySourceHeaders,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ import {
import * as ConfigProvider from 'effect/ConfigProvider';
import * as Effect from 'effect/Effect';
import * as Fiber from 'effect/Fiber';
import * as FetchHttpClient from 'effect/http/FetchHttpClient';
import * as Headers from 'effect/http/Headers';
import * as HttpClientRequest from 'effect/http/HttpClientRequest';
import * as Layer from 'effect/Layer';
import * as Redacted from 'effect/Redacted';
import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
import * as Headers from 'effect/unstable/http/Headers';
import * as HttpClientRequest from 'effect/unstable/http/HttpClientRequest';
import { stateLayerAgainst } from '../layer.ts';
import {
acquireDeployLease,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import {
type StateService,
} from 'alchemy/State';
import * as Effect from 'effect/Effect';
import * as FetchHttpClient from 'effect/http/FetchHttpClient';
import * as HttpClientRequest from 'effect/http/HttpClientRequest';
import * as Layer from 'effect/Layer';
import * as Redacted from 'effect/Redacted';
import * as FetchHttpClient from 'effect/unstable/http/FetchHttpClient';
import * as HttpClientRequest from 'effect/unstable/http/HttpClientRequest';
import { buildsApi } from '../builds/api.ts';
import { BUILD_ID_ENV } from '../builds/resources.ts';
import { withResourceReporting } from '../builds/state-store.ts';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import * as os from 'node:os';
import type * as Duration from 'effect/Duration';
import * as Effect from 'effect/Effect';
import * as Headers from 'effect/http/Headers';
import * as Layer from 'effect/Layer';
import * as Redacted from 'effect/Redacted';
import * as Headers from 'effect/unstable/http/Headers';
import type { ManagementApiClient } from '../client.ts';
import { PrismaApiError } from '../http.ts';

Expand Down
6 changes: 3 additions & 3 deletions packages/1-prisma-cloud/1-extensions/target/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@
"@prisma/orm-postgres": "8.0.0-rc.16",
"@prisma/orm-toolchain": "8.0.0-rc.16",
"@standard-schema/spec": "^1.1.0",
"alchemy": "2.0.0-beta.78",
"alchemy": "2.0.0-beta.81",
"arktype": "^2.2.3",
"effect": "4.0.0-rc.115",
"effect": "^4.0.0",
"pathe": "^2.0.3",
"pg": "8.22.0"
},
"devDependencies": {
"@distilled.cloud/prisma": "1.0.0-rc.12",
"@distilled.cloud/prisma": "1.0.0-rc.13",
"@internal/tsdown-config": "workspace:0.28.0",
"@prisma/cli-engine": "0.6.3",
"@types/bun": "^1.3.13",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import type { Database as ApiDatabase } from 'alchemy/Prisma/Types';
import { Stack } from 'alchemy/Stack';
import { Stage } from 'alchemy/Stage';
import * as Effect from 'effect/Effect';
import * as HttpClient from 'effect/http/HttpClient';
import * as HttpClientResponse from 'effect/http/HttpClientResponse';
import * as Layer from 'effect/Layer';
import * as Redacted from 'effect/Redacted';
import * as HttpClient from 'effect/unstable/http/HttpClient';
import * as HttpClientResponse from 'effect/unstable/http/HttpClientResponse';

const PROJECT_ID = 'proj_1';
const DEFAULT_BRANCH_ID = 'br_default';
Expand Down
4 changes: 2 additions & 2 deletions packages/9-public/composer-cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
},
"dependencies": {
"@prisma/composer": "workspace:0.28.0",
"alchemy": "2.0.0-beta.78",
"alchemy": "2.0.0-beta.81",
"cross-spawn": "^7.0.6",
"effect": "4.0.0-rc.115",
"effect": "^4.0.0",
"esbuild": "^0.28.1"
},
"peerDependencies": {
Expand Down
11 changes: 5 additions & 6 deletions packages/9-public/composer-prisma-cloud/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,18 +39,17 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@distilled.cloud/prisma": "1.0.0-rc.12",
"@effect/platform-bun": "4.0.0-rc.115",
"@effect/platform-node": "4.0.0-rc.115",
"@effect/platform-node-shared": "4.0.0-rc.115",
"@distilled.cloud/prisma": "1.0.0-rc.13",
"@effect/platform-bun": "^4.0.0",
"@effect/platform-node": "^4.0.0",
"@prisma/composer": "workspace:0.28.0",
"@prisma/dev": "^0.25.2",
"@prisma/management-api-sdk": "^1.80.0",
"@prisma/orm-toolchain": "8.0.0-rc.16",
"@standard-schema/spec": "^1.1.0",
"alchemy": "2.0.0-beta.78",
"alchemy": "2.0.0-beta.81",
"arktype": "^2.2.3",
"effect": "4.0.0-rc.115",
"effect": "^4.0.0",
"jose": "^6.1.3",
"pathe": "^2.0.3",
"pg": "8.22.0",
Expand Down
7 changes: 2 additions & 5 deletions packages/9-public/composer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,11 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@effect/sql-d1": "4.0.0-rc.115",
"@effect/sql-sqlite-do": "4.0.0-rc.115",
"@effect/vitest": "4.0.0-rc.115",
"@standard-schema/spec": "^1.1.0",
"alchemy": "2.0.0-beta.78",
"alchemy": "2.0.0-beta.81",
"arktype": "^2.2.3",
"cross-spawn": "^7.0.6",
"effect": "4.0.0-rc.115",
"effect": "^4.0.0",
"esbuild": "^0.28.1",
"@prisma/management-api-sdk": "^1.80.0"
},
Expand Down
Loading
Loading