Skip to content

docs: Temporal API migration plan - #142

Open
mxjxn wants to merge 1 commit into
mainfrom
feat/temporal-api
Open

docs: Temporal API migration plan#142
mxjxn wants to merge 1 commit into
mainfrom
feat/temporal-api

Conversation

@mxjxn

@mxjxn mxjxn commented May 20, 2026

Copy link
Copy Markdown
Owner

Plan to migrate from Date to Temporal

Full audit: 143 new Date(), 133 Date.now(), 40 .getTime(), 57 manual getters, 15 mutator calls, zero third-party date libs.

Five phases

  1. Foundation + Hot Pathshare-text.ts, time-utils.ts, datetime-local-utc.ts, countdown + auction hooks
  2. Create Listing Flow — DateSelector + all config pages (worst mutation bugs)
  3. Server Routes — Cron jobs, cache, notifications (Node 26 = native Temporal)
  4. Display + Admin.toLocaleString() formatting across UI
  5. Niche — kismet schedule, share image processor, misc routes

Polyfill

temporal-polyfill by FullCalendar — 20 kB gzip, near-spec compliance, tree-shakeable.

Rules

  • Never mix Temporal and Date in the same module
  • DB boundary stays Date (Drizzle expects it) — wrap in utility
  • After completion: ESLint rule banning new Date( and Date.now()

Full details in docs/plans/temporal-migration.md.

Audit found 143 new Date(), 133 Date.now(), 40 .getTime(), 57 manual
getters, 15 mutator calls, zero third-party date libs.

Five-phase migration: foundation → create listing flow → server routes
→ display/admin → niche. Uses temporal-polyfill (20 kB gzip) for Safari
coverage. Rule: never mix Temporal and Date in the same module.
@vercel

vercel Bot commented May 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cryptoart-studio-mvp Ready Ready Preview, Comment May 20, 2026 3:02pm

Request Review

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.

1 participant