Skip to content

chore(deps): upgrade cronstrue to 3.38.0 - #9891

Merged
waleedlatif1 merged 1 commit into
stagingfrom
chore/deps-cronstrue
Nov 11, 2026
Merged

waleedlatif1 merged 1 commit into
stagingfrom
chore/deps-cronstrue

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

Summary

  • Upgrades cronstrue 3.3.0 → 3.38.0 (apps/sim only; no transitive deps, lockfile changes only this package).
  • cronstrue is used in one place: parseCronToHumanReadable, which renders the schedule description in the Schedule block's schedule info.
  • 3.14 added a trimHoursLeadingZero option, so the regex that stripped the hour's leading zero from cronstrue's output (09:00 AM → 9:00 AM) is replaced by the option. Output is identical: checked against every hour × several minutes plus ranges, lists, and nth-weekday expressions (105 expressions, 0 differences).
  • English wording changes visible in Sim (from the release notes and confirmed by running both versions):
    • singular units: 1 * * * * "At 1 minutes past the hour" → "At 1 minute past the hour"
    • minute 0 with an hour step: 0 */2 * * * "At 0 minutes past the hour, every 2 hours" → "On the hour, every 2 hours"
    • day-of-month steps: 0 0 */2 * * "every 2 days" → "every 2 days in a month"
    • Every other expression the schedule builder generates (minutes, daily, weekly, monthly) renders exactly as before.
  • Stricter validation (zero steps, out-of-range range ends, #0/#6 nth weekdays) now throws in cronstrue. Every newly throwing expression is already rejected by croner, so validateCronExpression refuses it before a schedule is saved; if one is already stored, the existing fallback shows Schedule: <expr> instead of misleading text like "on the null Monday" or "January through undefined". No change to Sim's validation needed.
  • No UI copy or docs hard-code cronstrue's wording.

Type of Change

  • Other: dependency upgrade

Testing

  • Ran the same expressions through 3.3.0 and 3.38.0 with Sim's exact options, with croner checking validity for each: every builder path (minutes intervals 1-1440, hourly minutes 0-59, daily times, weekdays 0-6, month days 1-31), the test fixtures, and ~35 common custom crons (ranges, lists, L, W, #n, #L, macros, 6-field). The only differences are the wording changes above and the newly throwing expressions, all of which croner already rejects.
  • Called the real parseCronToHumanReadable from the branch with and without a timezone. The new wording, the #L normalization, the timezone suffix, and the Schedule: <expr> fallback all work.
  • utils.test.ts: the description tests now use exact strings (they were mostly toContain) and cover the singular-unit and step wording. Without trimHoursLeadingZero the builder test fails (At 09:00 AM). lib/workflows/schedules/ tests: 58 passed.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

🤖 Generated with Claude Code

Use cronstrue's trimHoursLeadingZero option instead of a regex over its
output, and update the schedule description tests to the new English
wording.
@waleedlatif1
waleedlatif1 requested a review from a team as a code owner November 11, 2026 21:06
@vercel

vercel Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
docs Ready Ready Preview Nov 11, 2026 9:12pm UTC

Request Review

@cubic-dev-ai cubic-dev-ai 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 issues found across 4 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Turn on auto-fix | Re-trigger cubic

@greptile-apps

greptile-apps Bot commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] The PR appears safe to merge; no actionable issues were found.

Summary

Upgrades cronstrue from 3.3.0 to 3.38.0.

  • Schedule blocks show updated descriptions for cron expressions.

No actionable issues found. Tests were not run; installed dependencies were unavailable.

Reviews (1) · Last reviewed commit: "chore(deps): upgrade cronstrue to 3.38.0" · Reviewed by Greptile

This branch was successfully deployed

1 active deployment
Preview — 657fc53d Deployed Nov 11, 2026 by vercel[bot]
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