Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (compatx) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
compatx
🌴 Compatibility toolkit.
[!NOTE] This is a WIP toolkit. See RFC for initial motivations.
Install
# ✨ Auto-detect
npx nypm install -D compatx
# npm
npm install -D compatx
# yarn
yarn add -D compatx
# pnpm
pnpm install -D compatx
# bun
bun install -D compatx
# deno
deno install --dev compatx
Utils
formatCompatibilityDate(input)
Format compatibility date spec to a string
formatDate(date)
Format a date to a YYYY-MM-DD
string
Example:
formatDateString(new Date("2021/01/01")) // "2021-01-01"
getCompatibilityChanges(allUpdates, compatibilityDate1, compatibilityDate2)
Get compatibility changes between two dates.
getCompatibilityUpdates(allUpdates, compatibilityDate)
Get compatibility updates applicable for the user given platform and date range.
platforms
- Type:
array
- Default:
["aws","azure","cloudflare","deno","firebase","netlify","vercel"]
resolveCompatibilityDates(input?, defaults?)
Normalize the compatibility dates from input config and defaults.
resolveCompatibilityDatesFromEnv(overridesInput?)
Resolve compatibility dates with environment variables as defaults.
Environment variable name format is COMPATIBILITY_DATE
for default and COMPATIBILITY_DATE_<PLATFORM>
for specific platforms.
Types
import type {
// Typed date string in `YYYY-MM-DD` format
DateString,
// Platform names
PlatformName,
// Compatibility dates
CompatibilityDateSpec,
CompatibilityDates,
// Compatibility updates
CompatibilityUpdate,
CompatibilityUpdates
} from "./types";
Development
- Clone this repository
- Install latest LTS version of Node.js
- Enable Corepack using
corepack enable
- Install dependencies using
pnpm install
- Run interactive tests using
pnpm dev
License
Made with 💛
Published under MIT License.