JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 792856
  • Score
    100M100P100Q179970F

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

    npm version npm downloads

    🌴 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.