Skip to content

feat: deno platform#859

Open
lishaduck wants to merge 1 commit intoEffect-TS:mainfrom
lishaduck:platform-deno
Open

feat: deno platform#859
lishaduck wants to merge 1 commit intoEffect-TS:mainfrom
lishaduck:platform-deno

Conversation

@lishaduck
Copy link
Contributor

Type

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Documentation Update

Description

Init @effect/platform-deno.

Related

Copy link
Contributor Author

@lishaduck lishaduck Dec 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(This shouldn't really be necessary but just in case)

This code was originally released as jsr:@lishaduck/effect-platform-deno under the Universal Permissive License v1.0, and was extensively based on the MIT-licensed @effect/platform-browser & @effect/platform-node-shared. I am the sole copyright holder (@pixeleet's single contribution was legally trivial), and I explicitly grant permission to relicense this code under the MIT License for use in this repository and its derivatives.

@lishaduck
Copy link
Contributor Author

Apologies for the ping @fubhy, but beyond resolving conflicts, what else do y'all need of me?

I'd love to help get this across the finish line; I think it'd be good to get it in for v4.

@lishaduck lishaduck force-pushed the platform-deno branch 2 times, most recently from 77bff95 to 0d2c29c Compare January 20, 2026 04:10
@lishaduck
Copy link
Contributor Author

lishaduck commented Jan 20, 2026

I've resolved the conflicts; the added tests pass for me locally, but I've got a bunch of unrelated failures. Can we give CI a go and see how it likes it?

@lishaduck lishaduck force-pushed the platform-deno branch 2 times, most recently from 237ed0d to 8972788 Compare January 20, 2026 14:20
@lishaduck
Copy link
Contributor Author

Alright, fixed the tsconfigs.

@lishaduck lishaduck force-pushed the platform-deno branch 2 times, most recently from 6486403 to 61c43fc Compare January 20, 2026 22:14
@lishaduck
Copy link
Contributor Author

lishaduck commented Jan 20, 2026

@gcanti, docs passes locally now, we'll see about CI. Thanks for helping out!

@github-actions
Copy link
Contributor

github-actions bot commented Jan 20, 2026

📊 JSDoc Documentation Analysis

📈 Current Analysis Results
Analyzing 124 TypeScript files in packages/effect/src/ (including schema and config subdirectories)...

============================================================
         EFFECT JSDOC ANALYSIS REPORT
============================================================

📊 SUMMARY STATISTICS
------------------------------
Total files analyzed: 124
Total exported members: 4013
Missing @example: 1582 (39.4%)
Missing @category: 511 (12.7%)

🎯 TOP FILES NEEDING ATTENTION
----------------------------------------
1. Schema.ts
   📝 456 missing examples, 🏷️  262 missing categories
   📦 456 total exports
2. SchemaRepresentation.ts
   📝 92 missing examples, 🏷️  91 missing categories
   📦 92 total exports
3. SchemaAST.ts
   📝 74 missing examples, 🏷️  18 missing categories
   📦 74 total exports
4. Channel.ts
   📝 76 missing examples, 🏷️  0 missing categories
   📦 147 total exports
5. Sink.ts
   📝 64 missing examples, 🏷️  2 missing categories
   📦 81 total exports
6. Predicate.ts
   📝 57 missing examples, 🏷️  0 missing categories
   📦 57 total exports
7. SchemaGetter.ts
   📝 49 missing examples, 🏷️  0 missing categories
   📦 49 total exports
8. SchemaTransformation.ts
   📝 29 missing examples, 🏷️  18 missing categories
   📦 29 total exports
9. Config.ts
   📝 33 missing examples, 🏷️  5 missing categories
   📦 33 total exports
10. Cause.ts
   📝 33 missing examples, 🏷️  2 missing categories
   📦 75 total exports
11. JsonSchema.ts
   📝 17 missing examples, 🏷️  17 missing categories
   📦 17 total exports
12. Order.ts
   📝 25 missing examples, 🏷️  0 missing categories
   📦 25 total exports
13. Filter.ts
   📝 24 missing examples, 🏷️  0 missing categories
   📦 35 total exports
14. SchemaIssue.ts
   📝 22 missing examples, 🏷️  2 missing categories
   📦 22 total exports
15. SchemaParser.ts
   📝 24 missing examples, 🏷️  0 missing categories
   📦 24 total exports

✅ PERFECTLY DOCUMENTED FILES
-----------------------------------
   Chunk.ts (87 exports)
   Clock.ts (5 exports)
   FiberHandle.ts (15 exports)
   FiberMap.ts (19 exports)
   FiberSet.ts (14 exports)
   HKT.ts (4 exports)
   HashMap.ts (44 exports)
   HashSet.ts (21 exports)
   Match.ts (57 exports)
   MutableHashSet.ts (9 exports)
   MutableRef.ts (17 exports)
   NonEmptyIterable.ts (3 exports)
   Random.ts (7 exports)
   Redacted.ts (9 exports)
   RegExp.ts (3 exports)
   Runtime.ts (3 exports)
   Symbol.ts (1 exports)
   Trie.ts (29 exports)
   TxChunk.ts (22 exports)
   TxHashMap.ts (41 exports)
   TxHashSet.ts (24 exports)
   TxRef.ts (7 exports)
   TxSemaphore.ts (14 exports)
   Unify.ts (8 exports)
   index.ts (0 exports)

🔍 SAMPLE MISSING ITEMS FROM Schema.ts
-----------------------------------
   Optionality (type, line 60): missing example, category
   Mutability (type, line 67): missing example, category
   ConstructorDefault (type, line 74): missing example, category
   MakeOptions (interface, line 82): missing example, category
   Bottom (interface, line 106): missing example, category
   declareConstructor (interface, line 158): missing example, category
   declareConstructor (function, line 182): missing example
   declare (interface, line 206): missing example
   declare (function, line 215): missing example, category
   revealBottom (function, line 235): missing example, category

📋 BREAKDOWN BY EXPORT TYPE
-----------------------------------
const: 694 missing examples, 155 missing categories
function: 333 missing examples, 97 missing categories
type: 182 missing examples, 86 missing categories
interface: 277 missing examples, 152 missing categories
class: 57 missing examples, 1 missing categories
namespace: 39 missing examples, 20 missing categories

📈 DOCUMENTATION PROGRESS
------------------------------
Examples: 2431/4013 (60.6% complete)
Categories: 3502/4013 (87.3% complete)

============================================================
Analysis complete! 2093 items need attention.
============================================================

📄 Detailed results saved to: jsdoc-analysis-results.json

This comment is automatically updated on each push. View the analysis script for details.

@lishaduck lishaduck force-pushed the platform-deno branch 4 times, most recently from bf3a36d to 5415841 Compare January 21, 2026 00:17
@lishaduck
Copy link
Contributor Author

lishaduck commented Jan 21, 2026

Cool, tests pass but https://jsonplaceholder.typicode.com/ is down rn (perhaps we should self-host a clone with effect/http lol?).

@tim-smart
Copy link
Collaborator

How is the dev tooling supposed to work here? I opened a Deno file in vscode and got type errors everywhere because I'm assuming it's loading the normal ts server too.

@lishaduck
Copy link
Contributor Author

lishaduck commented Feb 2, 2026

How is the dev tooling supposed to work here? I opened a Deno file in vscode and got type errors everywhere because I'm assuming it's loading the normal ts server too.

Right, if you install the Deno VS Code extension, it patches the TS Language Server to be Deno's fork.
It's safe to leave on in general because it only patches when deno.enable is set in the workspace settings. For Effect specifically, because we have both Deno & Node.js packages, I've been using enable/disable-for-workspace to toggle between the Deno language server and the TS language server.

@tim-smart
Copy link
Collaborator

image

Even with the extension enabled there are type errors

@lishaduck
Copy link
Contributor Author

lishaduck commented Feb 2, 2026

Even with the extension enabled there are type errors

I can repro that locally. My guess is something in the extension broke recently

I recently switched to VS Code Insiders and didn't have the Deno extension reinstalled yet. Everything seems to work fine with the extension... 🤔
Screenshot 2026-02-01 at 8 25 31 PM

@lishaduck lishaduck force-pushed the platform-deno branch 3 times, most recently from cbfed86 to 024c3ea Compare February 2, 2026 02:24
@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

Bundle Size Analysis

File Name Current Size Previous Size Difference
basic.ts 6.31 KB 6.31 KB 0.00 KB (0.00%)
batching.ts 8.56 KB 8.56 KB 0.00 KB (0.00%)
brand.ts 6.22 KB 6.22 KB 0.00 KB (0.00%)
cache.ts 9.66 KB 9.66 KB 0.00 KB (0.00%)
config.ts 16.18 KB 16.18 KB 0.00 KB (0.00%)
differ.ts 14.39 KB 14.39 KB 0.00 KB (0.00%)
http-client.ts 19.09 KB 19.09 KB 0.00 KB (0.00%)
logger.ts 8.88 KB 8.88 KB 0.00 KB (0.00%)
metric.ts 8.81 KB 8.81 KB 0.00 KB (0.00%)
optic.ts 7.47 KB 7.47 KB 0.00 KB (0.00%)
pubsub.ts 13.19 KB 13.19 KB 0.00 KB (0.00%)
queue.ts 11.05 KB 11.05 KB 0.00 KB (0.00%)
schedule.ts 9.77 KB 9.77 KB 0.00 KB (0.00%)
schema-representation-roundtrip.ts 23.92 KB 23.92 KB 0.00 KB (0.00%)
schema-string-transformation.ts 11.34 KB 11.34 KB 0.00 KB (0.00%)
schema-string.ts 9.66 KB 9.66 KB 0.00 KB (0.00%)
schema-template-literal.ts 12.17 KB 12.17 KB 0.00 KB (0.00%)
schema-toArbitraryLazy.ts 16.41 KB 16.41 KB 0.00 KB (0.00%)
schema-toCodeDocument.ts 19.27 KB 19.27 KB 0.00 KB (0.00%)
schema-toCodecJson.ts 15.25 KB 15.25 KB 0.00 KB (0.00%)
schema-toEquivalence.ts 15.54 KB 15.54 KB 0.00 KB (0.00%)
schema-toFormatter.ts 15.39 KB 15.39 KB 0.00 KB (0.00%)
schema-toJsonSchemaDocument.ts 17.99 KB 17.99 KB 0.00 KB (0.00%)
schema-toRepresentation.ts 16.18 KB 16.18 KB 0.00 KB (0.00%)
schema.ts 15.03 KB 15.03 KB 0.00 KB (0.00%)
stm.ts 12.05 KB 12.05 KB 0.00 KB (0.00%)
stream.ts 8.51 KB 8.51 KB 0.00 KB (0.00%)

@lishaduck
Copy link
Contributor Author

OH wait... @tim-smart, do you actually have Deno installed where VS Code can find it? It can't inject the server unless it can run deno lsp.

@tim-smart
Copy link
Collaborator

OH wait... @tim-smart, do you actually have Deno installed where VS Code can find it? It can't inject the server unless it can run deno lsp.

Yep. The problem seems to be that I'm getting type checking from both normal typescript and deno.

@lishaduck
Copy link
Contributor Author

lishaduck commented Feb 13, 2026

I thought I asked this but it doesn't seem I did 😅

Can you share your Deno LS logs (from the output panel)? There might be something suspicious in there... 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Deno. How to get about implementing platform-deno?

2 participants