One that parses
date() parses ISO-8601 strings into native Date objects:
import {date, Parser} from '@freckle/parser'
Parser.run('2016-03-12T13:00:00Z', date()) // => DateOnly ISO-8601 is accepted. Locale-dependent formats are rejected, since
'03/12/2016' could mean either March 12 or December 3. Calendar-impossible
dates ('2016-02-30') are rejected rather than rolled over, and date-only
strings resolve to local midnight.
date() returned a Moment through v3 and returns a Date from v4 on. To
keep Moment values, convert at the boundary:
import moment from 'moment-timezone'
import {date, mapStatic} from '@freckle/parser'
const momentDate = () => mapStatic(date(), d => moment(d))- Package manager: pnpm (Node version pinned in
.nvmrc) pnpm build—tsc, emits todist/pnpm test— Vitestpnpm coverage— Vitest with coverage, thresholds invitest.config.tspnpm typecheck—tsc --noEmit, includes test filespnpm lint— ESLintpnpm format/pnpm format-check— Prettierpnpm knip— unused files/dependencies/exports- CI runs all of the above on every PR, plus a check that
dist/is up to date
See RELEASE.md.