diff --git a/.changeset/tender-roses-exercise.md b/.changeset/tender-roses-exercise.md deleted file mode 100644 index f7a1674f77..0000000000 --- a/.changeset/tender-roses-exercise.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -"@effect/platform": patch ---- - -# Make baseUrl() more defensive in @effect/platform - -Sometimes, third party code may patch a missing global `location` to accommodate for non-browser JavaScript -runtimes, e.g. Cloudflare Workers, -Deno. [Such patch](https://github.com/jamsinclair/jSquash/pull/21/files#diff-322ca97cdcdd0d3b85c20a7d5cac703a2f9f3766fc762f98b9f6a9d4c5063ca3R21-R23) -might not yield a fully valid `location`. This could -break `baseUrl()`, which is called by `makeUrl()`. - -For example, the following code would log `Invalid URL: '/api/v1/users' with base 'NaN'`. - -```js -import { makeUrl } from "@effect/platform/Http/UrlParams" - -globalThis.location = {href: ""} - -const url = makeUrl("/api/v1/users", []) - -// This would log "Invalid URL: '/api/v1/users' with base 'NaN'", -// because location.origin + location.pathname return NaN in baseUrl() -console.log(url.left.message) -``` - -Arguably, this is not an issue of Effect per se, but it's better to be defensive and handle such cases gracefully. -So this change does that by checking if `location.orign` and `location.pathname` are available before accessing them. diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 329715bcd8..8795ac389c 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,12 @@ # @effect/cli +## 0.36.41 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + ## 0.36.40 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 74af4af1ab..3b011d04e8 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@effect/cli", - "version": "0.36.40", + "version": "0.36.41", "type": "module", "license": "MIT", "description": "A library for building command-line interfaces with Effect", diff --git a/packages/experimental/CHANGELOG.md b/packages/experimental/CHANGELOG.md index 2d4bbd9b62..5fe1c99e1f 100644 --- a/packages/experimental/CHANGELOG.md +++ b/packages/experimental/CHANGELOG.md @@ -1,5 +1,13 @@ # @effect/experimental +## 0.16.22 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + - @effect/platform-node@0.51.6 + ## 0.16.21 ### Patch Changes diff --git a/packages/experimental/package.json b/packages/experimental/package.json index 0eb4d1028e..30eda92487 100644 --- a/packages/experimental/package.json +++ b/packages/experimental/package.json @@ -1,6 +1,6 @@ { "name": "@effect/experimental", - "version": "0.16.21", + "version": "0.16.22", "type": "module", "license": "MIT", "description": "Experimental modules for the Effect ecosystem", diff --git a/packages/platform-browser/CHANGELOG.md b/packages/platform-browser/CHANGELOG.md index 9c89e2df29..5ec8aab7c6 100644 --- a/packages/platform-browser/CHANGELOG.md +++ b/packages/platform-browser/CHANGELOG.md @@ -1,5 +1,12 @@ # @effect/platform-browser +## 0.35.6 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + ## 0.35.5 ### Patch Changes diff --git a/packages/platform-browser/package.json b/packages/platform-browser/package.json index 2714e3e6bf..247d8f8613 100644 --- a/packages/platform-browser/package.json +++ b/packages/platform-browser/package.json @@ -1,7 +1,7 @@ { "name": "@effect/platform-browser", "type": "module", - "version": "0.35.5", + "version": "0.35.6", "license": "MIT", "description": "Platform specific implementations for the browser", "homepage": "https://effect.website", diff --git a/packages/platform-bun/CHANGELOG.md b/packages/platform-bun/CHANGELOG.md index d17a3eec1b..f222c04682 100644 --- a/packages/platform-bun/CHANGELOG.md +++ b/packages/platform-bun/CHANGELOG.md @@ -1,5 +1,13 @@ # @effect/platform-bun +## 0.36.6 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + - @effect/platform-node-shared@0.6.6 + ## 0.36.5 ### Patch Changes diff --git a/packages/platform-bun/package.json b/packages/platform-bun/package.json index 356e17d54b..401ea43ee1 100644 --- a/packages/platform-bun/package.json +++ b/packages/platform-bun/package.json @@ -1,7 +1,7 @@ { "name": "@effect/platform-bun", "type": "module", - "version": "0.36.5", + "version": "0.36.6", "license": "MIT", "description": "Platform specific implementations for the Bun runtime", "homepage": "https://effect.website", diff --git a/packages/platform-node-shared/CHANGELOG.md b/packages/platform-node-shared/CHANGELOG.md index 927d05135c..e9791a6244 100644 --- a/packages/platform-node-shared/CHANGELOG.md +++ b/packages/platform-node-shared/CHANGELOG.md @@ -1,5 +1,12 @@ # @effect/platform-node-shared +## 0.6.6 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + ## 0.6.5 ### Patch Changes diff --git a/packages/platform-node-shared/package.json b/packages/platform-node-shared/package.json index cc68b52a3d..b273d41dbf 100644 --- a/packages/platform-node-shared/package.json +++ b/packages/platform-node-shared/package.json @@ -1,7 +1,7 @@ { "name": "@effect/platform-node-shared", "type": "module", - "version": "0.6.5", + "version": "0.6.6", "license": "MIT", "description": "Unified interfaces for common platform-specific services", "homepage": "https://effect.website", diff --git a/packages/platform-node/CHANGELOG.md b/packages/platform-node/CHANGELOG.md index c752d7bb6c..17aba50bd9 100644 --- a/packages/platform-node/CHANGELOG.md +++ b/packages/platform-node/CHANGELOG.md @@ -1,5 +1,13 @@ # @effect/platform-node +## 0.51.6 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + - @effect/platform-node-shared@0.6.6 + ## 0.51.5 ### Patch Changes diff --git a/packages/platform-node/package.json b/packages/platform-node/package.json index 182df7522b..86c24d020b 100644 --- a/packages/platform-node/package.json +++ b/packages/platform-node/package.json @@ -1,7 +1,7 @@ { "name": "@effect/platform-node", "type": "module", - "version": "0.51.5", + "version": "0.51.6", "license": "MIT", "description": "Platform specific implementations for the Node.js runtime", "homepage": "https://effect.website", diff --git a/packages/platform/CHANGELOG.md b/packages/platform/CHANGELOG.md index 1e13805ab6..1404766450 100644 --- a/packages/platform/CHANGELOG.md +++ b/packages/platform/CHANGELOG.md @@ -1,5 +1,34 @@ # @effect/platform +## 0.55.6 + +### Patch Changes + +- [#2903](https://github.com/Effect-TS/effect/pull/2903) [`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6) Thanks @rocwang! - # Make baseUrl() more defensive in @effect/platform + + Sometimes, third party code may patch a missing global `location` to accommodate for non-browser JavaScript + runtimes, e.g. Cloudflare Workers, + Deno. [Such patch](https://github.com/jamsinclair/jSquash/pull/21/files#diff-322ca97cdcdd0d3b85c20a7d5cac703a2f9f3766fc762f98b9f6a9d4c5063ca3R21-R23) + might not yield a fully valid `location`. This could + break `baseUrl()`, which is called by `makeUrl()`. + + For example, the following code would log `Invalid URL: '/api/v1/users' with base 'NaN'`. + + ```js + import { makeUrl } from "@effect/platform/Http/UrlParams"; + + globalThis.location = { href: "" }; + + const url = makeUrl("/api/v1/users", []); + + // This would log "Invalid URL: '/api/v1/users' with base 'NaN'", + // because location.origin + location.pathname return NaN in baseUrl() + console.log(url.left.message); + ``` + + Arguably, this is not an issue of Effect per se, but it's better to be defensive and handle such cases gracefully. + So this change does that by checking if `location.orign` and `location.pathname` are available before accessing them. + ## 0.55.5 ### Patch Changes diff --git a/packages/platform/package.json b/packages/platform/package.json index 68bd378815..b6b75de680 100644 --- a/packages/platform/package.json +++ b/packages/platform/package.json @@ -1,7 +1,7 @@ { "name": "@effect/platform", "type": "module", - "version": "0.55.5", + "version": "0.55.6", "license": "MIT", "description": "Unified interfaces for common platform-specific services", "homepage": "https://effect.website", diff --git a/packages/rpc-http/CHANGELOG.md b/packages/rpc-http/CHANGELOG.md index c589aa261e..59a3b0bfe8 100644 --- a/packages/rpc-http/CHANGELOG.md +++ b/packages/rpc-http/CHANGELOG.md @@ -1,5 +1,13 @@ # @effect/rpc-http +## 0.28.41 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + - @effect/rpc@0.30.41 + ## 0.28.40 ### Patch Changes diff --git a/packages/rpc-http/package.json b/packages/rpc-http/package.json index f22aac7f13..5502c57927 100644 --- a/packages/rpc-http/package.json +++ b/packages/rpc-http/package.json @@ -1,6 +1,6 @@ { "name": "@effect/rpc-http", - "version": "0.28.40", + "version": "0.28.41", "type": "module", "license": "MIT", "description": "Functional programming in TypeScript", diff --git a/packages/rpc/CHANGELOG.md b/packages/rpc/CHANGELOG.md index 32983bc09e..e45ab789f5 100644 --- a/packages/rpc/CHANGELOG.md +++ b/packages/rpc/CHANGELOG.md @@ -1,5 +1,12 @@ # @effect/rpc +## 0.30.41 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + ## 0.30.40 ### Patch Changes diff --git a/packages/rpc/package.json b/packages/rpc/package.json index 63f8056675..2dd89f0ded 100644 --- a/packages/rpc/package.json +++ b/packages/rpc/package.json @@ -1,6 +1,6 @@ { "name": "@effect/rpc", - "version": "0.30.40", + "version": "0.30.41", "type": "module", "license": "MIT", "description": "Functional programming in TypeScript", diff --git a/packages/sql-mssql/CHANGELOG.md b/packages/sql-mssql/CHANGELOG.md index 7afdf2f509..0be7481de2 100644 --- a/packages/sql-mssql/CHANGELOG.md +++ b/packages/sql-mssql/CHANGELOG.md @@ -1,5 +1,13 @@ # @effect/sql-mssql +## 0.3.8 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + - @effect/sql@0.3.7 + ## 0.3.7 ### Patch Changes diff --git a/packages/sql-mssql/package.json b/packages/sql-mssql/package.json index 16ce897a4e..5151edbeb4 100644 --- a/packages/sql-mssql/package.json +++ b/packages/sql-mssql/package.json @@ -1,6 +1,6 @@ { "name": "@effect/sql-mssql", - "version": "0.3.7", + "version": "0.3.8", "type": "module", "license": "MIT", "description": "A Microsoft SQL Server toolkit for Effect", diff --git a/packages/sql-mysql2/CHANGELOG.md b/packages/sql-mysql2/CHANGELOG.md index a63793479a..56cea96568 100644 --- a/packages/sql-mysql2/CHANGELOG.md +++ b/packages/sql-mysql2/CHANGELOG.md @@ -1,5 +1,13 @@ # @effect/sql-mysql2 +## 0.3.8 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + - @effect/sql@0.3.7 + ## 0.3.7 ### Patch Changes diff --git a/packages/sql-mysql2/package.json b/packages/sql-mysql2/package.json index 590e280bf3..3f4701fc9e 100644 --- a/packages/sql-mysql2/package.json +++ b/packages/sql-mysql2/package.json @@ -1,6 +1,6 @@ { "name": "@effect/sql-mysql2", - "version": "0.3.7", + "version": "0.3.8", "type": "module", "license": "MIT", "description": "A MySQL toolkit for Effect", diff --git a/packages/sql-pg/CHANGELOG.md b/packages/sql-pg/CHANGELOG.md index ce971f6aa0..93c8f473b2 100644 --- a/packages/sql-pg/CHANGELOG.md +++ b/packages/sql-pg/CHANGELOG.md @@ -1,5 +1,13 @@ # @effect/sql-pg +## 0.3.8 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + - @effect/sql@0.3.7 + ## 0.3.7 ### Patch Changes diff --git a/packages/sql-pg/package.json b/packages/sql-pg/package.json index a9fbf5da08..839399c6af 100644 --- a/packages/sql-pg/package.json +++ b/packages/sql-pg/package.json @@ -1,6 +1,6 @@ { "name": "@effect/sql-pg", - "version": "0.3.7", + "version": "0.3.8", "type": "module", "license": "MIT", "description": "A PostgreSQL toolkit for Effect", diff --git a/packages/sql-sqlite-bun/CHANGELOG.md b/packages/sql-sqlite-bun/CHANGELOG.md index 9bbc137fe7..a9b08f39d7 100644 --- a/packages/sql-sqlite-bun/CHANGELOG.md +++ b/packages/sql-sqlite-bun/CHANGELOG.md @@ -1,5 +1,13 @@ # @effect/sql-sqlite-bun +## 0.3.8 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + - @effect/sql@0.3.7 + ## 0.3.7 ### Patch Changes diff --git a/packages/sql-sqlite-bun/package.json b/packages/sql-sqlite-bun/package.json index def0c617eb..2498a92e8a 100644 --- a/packages/sql-sqlite-bun/package.json +++ b/packages/sql-sqlite-bun/package.json @@ -1,6 +1,6 @@ { "name": "@effect/sql-sqlite-bun", - "version": "0.3.7", + "version": "0.3.8", "type": "module", "license": "MIT", "description": "A SQLite toolkit for Effect", diff --git a/packages/sql-sqlite-node/CHANGELOG.md b/packages/sql-sqlite-node/CHANGELOG.md index 0b3701130b..9797358c08 100644 --- a/packages/sql-sqlite-node/CHANGELOG.md +++ b/packages/sql-sqlite-node/CHANGELOG.md @@ -1,5 +1,13 @@ # @effect/sql-sqlite-node +## 0.3.8 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + - @effect/sql@0.3.7 + ## 0.3.7 ### Patch Changes diff --git a/packages/sql-sqlite-node/package.json b/packages/sql-sqlite-node/package.json index 535711091b..effcbf4082 100644 --- a/packages/sql-sqlite-node/package.json +++ b/packages/sql-sqlite-node/package.json @@ -1,6 +1,6 @@ { "name": "@effect/sql-sqlite-node", - "version": "0.3.7", + "version": "0.3.8", "type": "module", "license": "MIT", "description": "A SQLite toolkit for Effect", diff --git a/packages/sql-sqlite-react-native/CHANGELOG.md b/packages/sql-sqlite-react-native/CHANGELOG.md index 358f612519..13e6a24678 100644 --- a/packages/sql-sqlite-react-native/CHANGELOG.md +++ b/packages/sql-sqlite-react-native/CHANGELOG.md @@ -1,5 +1,12 @@ # @effect/sql-sqlite-react-native +## 0.4.8 + +### Patch Changes + +- Updated dependencies []: + - @effect/sql@0.3.7 + ## 0.4.7 ### Patch Changes diff --git a/packages/sql-sqlite-react-native/package.json b/packages/sql-sqlite-react-native/package.json index fe032a81df..06a67ffb9d 100644 --- a/packages/sql-sqlite-react-native/package.json +++ b/packages/sql-sqlite-react-native/package.json @@ -1,6 +1,6 @@ { "name": "@effect/sql-sqlite-react-native", - "version": "0.4.7", + "version": "0.4.8", "type": "module", "license": "MIT", "description": "A SQLite toolkit for Effect", diff --git a/packages/sql-sqlite-wasm/CHANGELOG.md b/packages/sql-sqlite-wasm/CHANGELOG.md index 6f5079a6f8..e99e179f26 100644 --- a/packages/sql-sqlite-wasm/CHANGELOG.md +++ b/packages/sql-sqlite-wasm/CHANGELOG.md @@ -1,5 +1,12 @@ # @effect/sql-sqlite-wasm +## 0.2.26 + +### Patch Changes + +- Updated dependencies []: + - @effect/sql@0.3.7 + ## 0.2.25 ### Patch Changes diff --git a/packages/sql-sqlite-wasm/package.json b/packages/sql-sqlite-wasm/package.json index 2549f2faca..4850ef2056 100644 --- a/packages/sql-sqlite-wasm/package.json +++ b/packages/sql-sqlite-wasm/package.json @@ -1,6 +1,6 @@ { "name": "@effect/sql-sqlite-wasm", - "version": "0.2.25", + "version": "0.2.26", "type": "module", "license": "MIT", "description": "A SQLite toolkit for Effect", diff --git a/packages/sql/CHANGELOG.md b/packages/sql/CHANGELOG.md index 9583442c33..26a29d7a49 100644 --- a/packages/sql/CHANGELOG.md +++ b/packages/sql/CHANGELOG.md @@ -1,5 +1,12 @@ # @effect/sql +## 0.3.7 + +### Patch Changes + +- Updated dependencies [[`799aa20`](https://github.com/Effect-TS/effect/commit/799aa20b4f618736ba33a5297fda90a75d4c26c6)]: + - @effect/platform@0.55.6 + ## 0.3.6 ### Patch Changes diff --git a/packages/sql/package.json b/packages/sql/package.json index c1e30e365f..105faf82bc 100644 --- a/packages/sql/package.json +++ b/packages/sql/package.json @@ -1,6 +1,6 @@ { "name": "@effect/sql", - "version": "0.3.6", + "version": "0.3.7", "type": "module", "license": "MIT", "description": "A SQL toolkit for Effect",