Skip to content

Add timeZone data type; rename simple-object to simpleObject - #1300

Merged
theoephraim merged 5 commits into
mainfrom
timezone-data-type
Nov 13, 2026
Merged

theoephraim merged 5 commits into
mainfrom
timezone-data-type

Conversation

@theoephraim

@theoephraim theoephraim commented Nov 13, 2026 •

Copy link
Copy Markdown
Member

Closes #1100.

  • New built-in @type=timeZone that validates IANA time zone names using the runtime's Intl tz database, so no zone list is bundled.
    • Any name the runtime knows is accepted, including legacy aliases (US/Eastern, Asia/Calcutta, Etc/UTC). Engines disagree slightly on obscure aliases (e.g. Bun rejects EST5EDT); we accept that rather than maintain our own list.
    • UTC offsets (+05:00) are rejected, since engines accept them but they are not IANA names.
    • Wrong casing (europe/madrid) is rejected with a suggestion. Engines match case-insensitively, but consumers like TZ on Linux do not. Miscased aliases that keep a leading capital (Us/Eastern) can still slip through on Node, which does not expose alias casing.
  • Renamed simple-object to simpleObject so all built-in type names are camelCase. simple-object still works with a deprecation warning; it will be removed in the next major.
  • Docs and VS Code completions/diagnostics updated.

@github-actions

github-actions Bot commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

bumpy-frog

The changes in this PR will be included in the next version bump.

minor Minor releases

  • varlock 1.24.0 → 1.25.0

patch Patch releases

  • env-spec-language 0.5.0 → 0.5.1

Bump files in this PR

Click here if you want to add another bump file to this PR


This comment is maintained by bumpy.

@github-actions

github-actions Bot commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

📦 Bundle size

⚠️ grows the bundle by 9.4 KB (+0.2%)

Metric main This PR Δ
Total dist 5216.0 KB 5225.5 KB +9.4 KB (+0.2%)
JS 1989.1 KB 1993.4 KB +4.3 KB (+0.2%)
Sourcemaps 3083.9 KB 3089.1 KB +5.2 KB (+0.2%)
Type defs 143.1 KB 143.1 KB —
Other 0.0 KB 0.0 KB —

dist/ only; native binaries are versioned separately and not counted here.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Important

Wrongly cased legacy time zone aliases still pass validation on Node, despite the case-sensitive contract.

Reviewed changes: Reviewed the new time zone validator, the backward-compatible object type rename, and their editor, documentation, and test updates.

  • Time zone validation: Adds timeZone using the runtime database, with offset rejection and casing suggestions.
  • Object type rename: Introduces simpleObject while retaining simple-object with deprecation warnings.
  • User-facing support: Updates reference documentation, VS Code completions and diagnostics, and serialization and code-generation fixtures.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using gpt-6.1-sol | 𝕏

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

ℹ️ No new issues found in the icon-bundling changes. Existing validation feedback remains unresolved, so approval is still withheld.

Reviewed changes: Reviewed the changes since c6cbeb4.

  • Bundled the timeZone icon: Added the SVG and generated icon-map entry so TypeScript generation can embed it without a network request.
  • Updated icon attribution: Added the icon to the license inventory; verified the bundled entry matches the source SVG.

Pullfrog  | Fix it ➔ | View workflow run | Using gpt-6.1-sol | 𝕏

@pkg-pr-new

pkg-pr-new Bot commented Nov 13, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

varlock

npm i https://pkg.pr.new/varlock@1300

@varlock/astro-integration

npm i https://pkg.pr.new/@varlock/astro-integration@1300

@varlock/cloudflare-integration

npm i https://pkg.pr.new/@varlock/cloudflare-integration@1300

@varlock/nextjs-integration

npm i https://pkg.pr.new/@varlock/nextjs-integration@1300

@varlock/nuxt-integration

npm i https://pkg.pr.new/@varlock/nuxt-integration@1300

@varlock/vite-integration

npm i https://pkg.pr.new/@varlock/vite-integration@1300

@varlock/1password-plugin

npm i https://pkg.pr.new/@varlock/1password-plugin@1300

@varlock/aws-secrets-plugin

npm i https://pkg.pr.new/@varlock/aws-secrets-plugin@1300

@varlock/azure-key-vault-plugin

npm i https://pkg.pr.new/@varlock/azure-key-vault-plugin@1300

@varlock/bitwarden-plugin

npm i https://pkg.pr.new/@varlock/bitwarden-plugin@1300

@varlock/keepass-plugin

npm i https://pkg.pr.new/@varlock/keepass-plugin@1300

@varlock/pass-plugin

npm i https://pkg.pr.new/@varlock/pass-plugin@1300

@varlock/proton-pass-plugin

npm i https://pkg.pr.new/@varlock/proton-pass-plugin@1300

commit: fa065ad

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

ℹ️ No new distinct issues found. Approval remains withheld because the existing alias-casing concern is only partially addressed: Node still accepts Us/Eastern, US/EASTERN, and Etc/Utc.

Reviewed changes: Reviewed the validator and editor changes since 9580529.

  • Added alias checks: Rejected lowercase segment starts for legacy aliases and added runtime regressions while preserving correctly cased aliases.
  • Mirrored editor validation: Added runtime-equivalent casing diagnostics and regression coverage, resolving the previous editor feedback.

Pullfrog  | Fix it ➔ | View workflow run | Using gpt-6.1-sol | 𝕏

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Important

Zero-offset aliases still bypass the new standard-name-only validation policy.

Reviewed changes: Reviewed the validation changes since d94e84f.

  • Restricted accepted spellings: Replaced alias-casing heuristics with runtime standard names, current IANA replacements for frozen CLDR names, and fixed-offset exceptions.
  • Aligned editor validation: Extracted mirrored runtime and editor helpers and updated alias rejection and suggestion tests.
  • Updated the documented contract: Documented legacy alias rejection and UTC as the accepted zero-offset spelling.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using gpt-6.1-sol | 𝕏

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Nov 13, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
varlock-website fa065ad Commit Preview URL

Branch Preview URL
Nov 13 2026, 12:53 AM

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

✅ No new issues found.

Reviewed changes: Reviewed the time zone validation changes since 24df6e8, including the explicitly accepted alias-casing limitation on Node.

  • Restored runtime-known aliases: Removed the standard-name inventory while retaining offset rejection and best-effort casing checks.
  • Aligned editor validation: Mirrored runtime acceptance and updated regression tests; data-type tests passed on Node and Bun, and editor diagnostics tests passed.
  • Updated the documented contract: Removed the one-spelling restriction to match restored alias support.

Pullfrog  | View workflow run | Using gpt-6.1-sol | 𝕏

@theoephraim
theoephraim merged commit 5f7f9b4 into main Nov 13, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Built-in timeZone data type

1 participant