Skip to content

Conversation

@tcely
Copy link
Contributor

@tcely tcely commented Dec 1, 2025

PR Type

Enhancement, Tests


Description

  • Migrate to JSR imports and Deno configuration management

    • Replace direct URL imports with deno.json mappings
    • Update all imports to use JSR packages and aliases
  • Modernize codebase with comprehensive formatting and linting

    • Apply deno fmt across all TypeScript files
    • Add GitHub Actions workflow for CI/CD checks
  • Enhance player cache with robustness improvements

    • Implement in-flight fetch deduplication and atomic file writes
    • Add cross-platform cache directory support (Windows/Linux/macOS)
    • Improve error handling and logging with timestamps
  • Simplify build process and remove workarounds

    • Delete patch-ejs.ts script (no longer needed with JSR imports)
    • Update Dockerfile to use modern base images
    • Add tini for proper signal handling in containers

Diagram Walkthrough

flowchart LR
  A["URL Imports"] -->|"deno.json"| B["JSR Imports"]
  C["patch-ejs.ts"] -->|"Remove"| D["Direct EJS Import"]
  E["Old Dockerfile"] -->|"Modernize"| F["Debian13 + tini"]
  G["playerCache.ts"] -->|"Enhance"| H["Atomic Writes + Dedup"]
  I["All .ts files"] -->|"deno fmt"| J["Formatted Code"]
  K["Manual CI"] -->|"GitHub Actions"| L["deno.yml Workflow"]
Loading

File Walkthrough

Relevant files
Miscellaneous
1 files
patch-ejs.ts
Remove EJS patching script                                                             
+0/-36   
Enhancement
8 files
server.ts
Update imports and add timestamp logging                                 
+27/-14 
instrumentedCache.ts
Update to JSR cache import                                                             
+1/-1     
metrics.ts
Update to JSR prometheus import                                                   
+10/-8   
playerCache.ts
Implement atomic writes and in-flight deduplication           
+143/-29
solver.ts
Update EJS import path                                                                     
+3/-3     
types.ts
Remove unused imports and add linting directives                 
+3/-4     
utils.ts
Add crypto import and utility functions                                   
+25/-9   
worker.ts
Update EJS import and normalize quotes                                     
+5/-5     
Formatting
9 files
decryptSignature.ts
Format code and improve readability                                           
+23/-8   
getSts.ts
Format response headers and error handling                             
+16/-7   
resolveUrl.ts
Format code and normalize string quotes                                   
+43/-9   
middleware.ts
Format and reorder imports                                                             
+31/-7   
preprocessedCache.ts
Format and normalize string quotes                                             
+5/-2     
solverCache.ts
Normalize string quotes                                                                   
+2/-2     
stsCache.ts
Normalize string quotes                                                                   
+2/-2     
validation.ts
Format code and improve validation logic                                 
+40/-21 
workerPool.ts
Format and add timestamp logging                                                 
+12/-7   
Tests
1 files
deno.yml
Create Deno CI/CD workflow                                                             
+49/-0   
Configuration changes
3 files
main.yml
Add submodule checkout to build workflow                                 
+3/-1     
Dockerfile
Modernize with Debian13 and tini init                                       
+18/-20 
deno.json
Create Deno configuration with JSR imports                             
+21/-0   
Documentation
1 files
README.md
Simplify setup instructions                                                           
+4/-7     

tcely added 30 commits November 25, 2025 23:52
- Patching ejs is no longer needed with the imports defined in `deno.json`
- The compiler options allow including the worker
- Specify Debian for builder
- Use `tini` for proper signals
- Create appropriate cache directories
Fixes from building the branch
All the other images used are on 13 now anyway.

Also, use the debug tag so that busybox is included.
We can use that to run shell commands to avoid issues with COPY.
@tcely tcely changed the title Integrate the demo workflow and the compile checks Integrate the deno workflow and the compile checks Dec 1, 2025
@tcely tcely marked this pull request as ready for review December 1, 2025 21:47
@tcely tcely force-pushed the tcely-ejs-and-deno-workflow branch from 10985c7 to ae96b34 Compare December 3, 2025 00:55
@tcely tcely force-pushed the tcely-ejs-and-deno-workflow branch from ae96b34 to f18dab8 Compare December 3, 2025 00:57
@tcely tcely force-pushed the tcely-ejs-and-deno-workflow branch 2 times, most recently from 5d8cd5a to 0be2f1d Compare December 3, 2025 04:21
@tcely tcely force-pushed the tcely-ejs-and-deno-workflow branch from 0be2f1d to 10fe855 Compare December 6, 2025 03:47
@tcely tcely force-pushed the tcely-ejs-and-deno-workflow branch from 340eb7c to 6865cc6 Compare January 1, 2026 10:16
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.

3 participants