diff --git a/.changeset/config.json b/.changeset/config.json index eea0b0316d9f..fad426fe011e 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,5 +1,5 @@ { - "$schema": "https://unpkg.com/@changesets/config@2.3.1/schema.json", + "$schema": "https://unpkg.com/@changesets/config@4.0.1/schema.json", "changelog": ["./changelog-github-custom.js", { "repo": "reactive/data-client" }], "commit": false, "linked": [ @@ -26,5 +26,6 @@ "___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": { "onlyUpdatePeerDependentsWhenOutOfRange": true }, + "privatePackages": { "version": true, "tag": false }, "ignore": [] } diff --git a/.github/renovate.json b/.github/renovate.json index 8d0083ceb270..359cdb1871ba 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -176,6 +176,13 @@ "groupSlug": "react-navigation-monorepo", "groupName": "react-navigation monorepo" }, + { + "description": "changesets/action requires a matching Changesets CLI (action v2 refuses CLI v2), so every update of either lands in one PR", + "matchPackageNames": ["changesets/action", "@changesets/cli"], + "separateMajorMinor": false, + "groupName": "changesets", + "groupSlug": "changesets" + }, { "matchPackageNames": ["node", "@types/node", "cimg/node"], "matchUpdateTypes": ["major"], diff --git a/.github/workflows/agent-rules.yml b/.github/workflows/agent-rules.yml index f74b740be00a..53b186ced962 100644 --- a/.github/workflows/agent-rules.yml +++ b/.github/workflows/agent-rules.yml @@ -41,7 +41,7 @@ jobs: uses: actions/checkout@v7 with: fetch-depth: 1 - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v7 with: node-version: '26' # no install: these only need node and git diff --git a/.github/workflows/benchmark-react.yml b/.github/workflows/benchmark-react.yml index f22e12df368a..55538b8f35fb 100644 --- a/.github/workflows/benchmark-react.yml +++ b/.github/workflows/benchmark-react.yml @@ -64,7 +64,7 @@ jobs: fetch-depth: 1 # PR code runs here; the benchmark action passes its own token to git persist-credentials: false - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v7 with: node-version: '26' cache: 'yarn' diff --git a/.github/workflows/benchmark-spread.yml b/.github/workflows/benchmark-spread.yml index 119268d5a34f..2fcf233595e6 100644 --- a/.github/workflows/benchmark-spread.yml +++ b/.github/workflows/benchmark-spread.yml @@ -68,7 +68,7 @@ jobs: fetch-depth: 1 # PR code runs here; the benchmark action passes its own token to git persist-credentials: false - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v7 with: node-version: '26' cache: 'yarn' diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index ba03807701f6..56e9455a1b26 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -61,7 +61,7 @@ jobs: fetch-depth: 1 # PR code runs here; the benchmark action passes its own token to git persist-credentials: false - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v7 with: node-version: '26' cache: 'yarn' diff --git a/.github/workflows/beta-release.yml b/.github/workflows/beta-release.yml index f7a68b31692b..2ac71a966ead 100644 --- a/.github/workflows/beta-release.yml +++ b/.github/workflows/beta-release.yml @@ -31,7 +31,7 @@ jobs: steps: - uses: actions/checkout@v7 - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v7 with: node-version: '26' cache: 'yarn' @@ -41,12 +41,12 @@ jobs: - name: Create Beta Release Pull Request or Publish to npm id: changesets - uses: changesets/action@v1 + uses: changesets/action@v2.1.2 with: - version: yarn changeset:version:beta - publish: yarn changeset:publish:beta - commit: "internal: Publish beta version" - title: "Version Packages (Beta)" - createGithubReleases: false + version-script: yarn changeset:version:beta + publish-script: yarn changeset:publish:beta + commit-message: "internal: Publish beta version" + pr-title: "Version Packages (Beta)" + create-github-releases: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/bundle_size.yml b/.github/workflows/bundle_size.yml index 6c2905750d56..a278ccf8c583 100644 --- a/.github/workflows/bundle_size.yml +++ b/.github/workflows/bundle_size.yml @@ -50,7 +50,7 @@ jobs: fetch-depth: 2 # PR code runs here; the action's git fetches need no token (public repo) persist-credentials: false - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v7 with: node-version: '26' cache: 'yarn' diff --git a/.github/workflows/docs-snapshot.yml b/.github/workflows/docs-snapshot.yml index 1ac89fd58b95..80fe7dd5d5b1 100644 --- a/.github/workflows/docs-snapshot.yml +++ b/.github/workflows/docs-snapshot.yml @@ -70,7 +70,7 @@ jobs: run: echo "sha=$(git -C release rev-parse HEAD)" >> "$GITHUB_OUTPUT" # No dependency cache: this job runs the release's third-party code, # which must not leave anything later runs restore - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v7 with: node-version: '26' - run: corepack enable diff --git a/.github/workflows/regenerate.yml b/.github/workflows/regenerate.yml index aefecf210b16..2fc77facd525 100644 --- a/.github/workflows/regenerate.yml +++ b/.github/workflows/regenerate.yml @@ -66,7 +66,7 @@ jobs: with: fetch-depth: 1 persist-credentials: false - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v7 with: node-version: '26' cache: 'yarn' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 823757f5f6fc..c7e8b4d26d73 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,7 +29,7 @@ jobs: steps: - uses: actions/checkout@v7 - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v7 with: node-version: '26' cache: 'yarn' @@ -39,21 +39,21 @@ jobs: - name: Create Release Pull Request or Publish to npm id: changesets - uses: changesets/action@v1 + uses: changesets/action@v2.1.2 with: - version: yarn changeset:version - publish: yarn changeset:publish - commit: "internal: Publish new version" - createGithubReleases: false + version-script: yarn changeset:version + publish-script: yarn changeset:publish + commit-message: "internal: Publish new version" + create-github-releases: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # hasChangesets is 'false' after the Version Packages PR is merged (no + # has-changesets is 'false' after the Version Packages PR is merged (no # changeset files remain), which is the same run where publish executes. # We can't use `published == 'true'` because the custom yarn publish # command isn't detectable by changesets/action. - name: Create GitHub Releases - if: steps.changesets.outputs.hasChangesets == 'false' + if: steps.changesets.outputs.has-changesets == 'false' run: node scripts/create-github-releases.mjs env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -63,7 +63,7 @@ jobs: # at .dataclient.io - name: Find docs to archive id: archive - if: steps.changesets.outputs.hasChangesets == 'false' + if: steps.changesets.outputs.has-changesets == 'false' env: BEFORE: ${{ github.event.before }} run: | diff --git a/.github/workflows/site-preview.yml b/.github/workflows/site-preview.yml index 42bbd20e5822..263a264837d8 100644 --- a/.github/workflows/site-preview.yml +++ b/.github/workflows/site-preview.yml @@ -69,7 +69,7 @@ jobs: if: github.event_name != 'pull_request' run: | [ ! -f website/versionCurrent.json ] || echo "next=1" >> "$GITHUB_OUTPUT" - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v7 with: node-version: '26' cache: 'yarn' @@ -252,7 +252,7 @@ jobs: filter: blob:none # No dependency cache, like an archive build: the branch has its own lockfile - if: steps.current.outputs.sha && !steps.cache.outputs.cache-hit - uses: actions/setup-node@v6 + uses: actions/setup-node@v7 with: node-version: '26' - name: Build @@ -342,7 +342,7 @@ jobs: { echo "::error::vercel.json has no /next/:path* redirect to drop"; exit 1; } jq '.redirects |= map(select(.source != "/next/:path*"))' website/vercel.json > vercel.json.tmp mv vercel.json.tmp website/vercel.json - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v7 with: node-version: '26' - run: npm install --global "vercel@$VERCEL_CLI_VERSION" diff --git a/docs/core/concepts/expiry-policy.md b/docs/core/concepts/expiry-policy.md index 55b0ac1d209a..2beb53c1a7f9 100644 --- a/docs/core/concepts/expiry-policy.md +++ b/docs/core/concepts/expiry-policy.md @@ -807,7 +807,7 @@ render(); Using the [Invalidate schema](/rest/api/Invalidate) allows us to invalidate _any_ endpoint that includes that relies on that [entity](/rest/api/Entity) in their response. If the endpoint uses the entity in an [Array](/rest/api/Array), it will simply be removed from that [Array](/rest/api/Array). - + ```ts title="Ticker" collapsed import { Entity } from '@data-client/rest'; diff --git a/docs/graphql/README.md b/docs/graphql/README.md index 3b5134d3fe79..320a129c6531 100644 --- a/docs/graphql/README.md +++ b/docs/graphql/README.md @@ -133,7 +133,7 @@ suspends.
SWAPI Demo - + ```tsx import { useSuspense } from '@data-client/react'; diff --git a/docs/rest/guides/mocking-unfinished.md b/docs/rest/guides/mocking-unfinished.md index 9fd7ccf7c506..c444a38f520c 100644 --- a/docs/rest/guides/mocking-unfinished.md +++ b/docs/rest/guides/mocking-unfinished.md @@ -9,7 +9,7 @@ but they are starting to code the same time as you. It would be nice to easily mock the endpoint and use it in a way such that when the endpoint is done you won't need to make major changes to your code. - + ```typescript title="resources/Rating" import { Entity, resource } from '@data-client/rest'; diff --git a/docs/rest/guides/relational-data.md b/docs/rest/guides/relational-data.md index 356d9e8ac02d..8824b60f8934 100644 --- a/docs/rest/guides/relational-data.md +++ b/docs/rest/guides/relational-data.md @@ -214,7 +214,7 @@ Nesting data when your endpoint doesn't. Even if the network responses don't nest data, we can perform client-side joins by specifying the relationship in [Entity.schema](../api/Entity.md#schema) - + ```ts title="resources/User" collapsed import { Entity, resource } from '@data-client/rest'; diff --git a/examples/github-app/package-lock.json b/examples/github-app/package-lock.json index f757eee74424..d82b4689e23f 100644 --- a/examples/github-app/package-lock.json +++ b/examples/github-app/package-lock.json @@ -28,7 +28,7 @@ "rehype-highlight": "7.0.2", "remark-gfm": "4.0.1", "remark-remove-comments": "1.1.1", - "temporal-polyfill": "^0.3.0", + "temporal-polyfill": "^1.0.0", "uuid": "^14.0.0" }, "devDependencies": { @@ -24520,19 +24520,26 @@ } }, "node_modules/temporal-polyfill": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/temporal-polyfill/-/temporal-polyfill-0.3.2.tgz", - "integrity": "sha512-TzHthD/heRK947GNiSu3Y5gSPpeUDH34+LESnfsq8bqpFhsB79HFBX8+Z834IVX68P3EUyRPZK5bL/1fh437Eg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/temporal-polyfill/-/temporal-polyfill-1.0.6.tgz", + "integrity": "sha512-tYyEry1HLGUDbm2356W3iYD0OZdo7rlP7h98Zr/EnjqLZQwTAfcBDUvJnJbfA15v/vQad57hJZScG5O0W2oKEA==", "license": "MIT", "dependencies": { - "temporal-spec": "0.3.1" + "temporal-spec": "1.0.1", + "temporal-utils": "1.0.3" } }, "node_modules/temporal-spec": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/temporal-spec/-/temporal-spec-0.3.1.tgz", - "integrity": "sha512-B4TUhezh9knfSIMwt7RVggApDRJZo73uZdj8AacL2mZ8RP5KtLianh2MXxL06GN9ESYiIsiuoLQhgVfwe55Yhw==", - "license": "ISC" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/temporal-spec/-/temporal-spec-1.0.1.tgz", + "integrity": "sha512-wxVoanmDeavXie1vu2JaQ3WIc3JZnWAOYFBsJyATaVsXsycKYUflGsyBmrRSnoCpZJpwPyr38VpgSUlQ8CbFxg==", + "license": "Apache-2.0" + }, + "node_modules/temporal-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/temporal-utils/-/temporal-utils-1.0.3.tgz", + "integrity": "sha512-9jbTSX3HvkOWvDpNpFzwX/d1mkCrgQgwLmVTOEiuocZGKHsrQJtttGZFmybJ2zYP5zCSZuU5ZyeS8+eOEPABiQ==", + "license": "MIT" }, "node_modules/terser": { "version": "5.46.0", diff --git a/examples/github-app/package.json b/examples/github-app/package.json index a996c8a96241..df3704e87e46 100644 --- a/examples/github-app/package.json +++ b/examples/github-app/package.json @@ -57,7 +57,7 @@ "@data-client/img": "0.18.2", "@data-client/react": "0.18.2", "@data-client/rest": "0.18.2", - "temporal-polyfill": "^0.3.0", + "temporal-polyfill": "^1.0.0", "antd": "6.6.6", "core-js": "^3.48.0", "history": "^5.3.0", diff --git a/jest.config.js b/jest.config.js index ada354a3bb14..ec59f06c9eaa 100644 --- a/jest.config.js +++ b/jest.config.js @@ -5,7 +5,14 @@ process.env.ANANSI_JEST_TSCONFIG = 'tsconfig.test.json'; const fs = require('fs'); const path = require('path'); +// ESM-only dependencies tests import; Jest must compile them to CommonJS +const esmModules = 'temporal-polyfill|temporal-utils'; + const baseConfig = { + transformIgnorePatterns: [ + `/node_modules/(?!@babel/runtime|${esmModules})`, + '\\.pnp\\.[^\\/]+$', + ], testEnvironmentOptions: { globalsCleanup: 'on', url: 'http://localhost', @@ -108,8 +115,7 @@ const projects = [ ], }, transformIgnorePatterns: [ - '/node_modules/(?!@babel/runtime)', - '\\.pnp\\.[^\\/]+$', + ...baseConfig.transformIgnorePatterns, '/.*__tests__/[^/]+\\.(web|native)\\.(j|t)sx?$', ], testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.node\\.(j|t)sx?$', @@ -136,7 +142,7 @@ const projects = [ testEnvironment: require.resolve('@react-native/jest-preset/jest/react-native-env.js'), transformIgnorePatterns: [ - 'node_modules\\/(?!(((jest-)?react-native)|@react-native(-community)?|@react-navigation))', + `node_modules\\/(?!(((jest-)?react-native)|@react-native(-community)?|@react-navigation|${esmModules}))`, '/.*__tests__/[^/]+\\.(web|node)\\.(j|t)sx?$', '/scripts', ], diff --git a/package.json b/package.json index d741e3903e1c..8d0263cc6806 100644 --- a/package.json +++ b/package.json @@ -75,8 +75,8 @@ "@babel/core": "8.0.7", "@babel/node": "8.0.6", "@babel/preset-flow": "^8.0.0", - "@changesets/changelog-github": "^0.7.0", - "@changesets/cli": "^2.26.1", + "@changesets/changelog-github": "^1.0.1", + "@changesets/cli": "^3.0.3", "@data-client/react": "workspace:*", "@data-client/rest": "workspace:*", "@data-client/test": "workspace:*", @@ -111,14 +111,14 @@ "prettier": "3.9.10", "react": "19.3.0", "react-dom": "19.3.0", - "react-live": "^4.0.0", + "react-live": "^5.0.0", "react-native": "0.87.1", "react-native-safe-area-context": "^5.0.0", "react-native-screens": "^4.1.0", "react-test-renderer": "19.3.0", "rimraf": "^6.0.0", "rollup": "4.62.2", - "temporal-polyfill": "^0.3.0", + "temporal-polyfill": "^1.0.0", "typescript": "npm:@typescript/typescript6@6.0.2", "whatwg-fetch": "3.0.0" }, diff --git a/packages/endpoint/package.json b/packages/endpoint/package.json index 22da9b685295..24d9c4f5c28d 100644 --- a/packages/endpoint/package.json +++ b/packages/endpoint/package.json @@ -136,6 +136,6 @@ "immutable": "5.1.9", "nock": "13.3.1", "rollup-plugins": "workspace:*", - "temporal-polyfill": "^0.3.0" + "temporal-polyfill": "^1.0.0" } } diff --git a/packages/normalizr/package.json b/packages/normalizr/package.json index 4f5080f27b10..900bd43fab88 100644 --- a/packages/normalizr/package.json +++ b/packages/normalizr/package.json @@ -123,6 +123,6 @@ "@types/node": "^26.0.0", "immutable": "5.1.9", "rollup-plugins": "workspace:*", - "temporal-polyfill": "^0.3.0" + "temporal-polyfill": "^1.0.0" } } diff --git a/packages/react/package.json b/packages/react/package.json index cda4b6d5c10e..6d6b51c679b4 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -201,6 +201,6 @@ "react-test-renderer": "^19.0.0", "redux": "^5.0.1", "rollup-plugins": "workspace:*", - "temporal-polyfill": "^0.3.0" + "temporal-polyfill": "^1.0.0" } } diff --git a/packages/vue/package.json b/packages/vue/package.json index 1aa0632d8a15..e6be4863f659 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -135,7 +135,7 @@ "jest-mock": "^30.0.0", "nock": "13.3.1", "rollup-plugins": "workspace:*", - "temporal-polyfill": "^0.3.0", + "temporal-polyfill": "^1.0.0", "vue": "^3.4.0" } } diff --git a/scripts/create-github-releases.mjs b/scripts/create-github-releases.mjs index f2b22a962a83..78b659e446d7 100644 --- a/scripts/create-github-releases.mjs +++ b/scripts/create-github-releases.mjs @@ -2,7 +2,7 @@ /** * Creates GitHub releases for published packages. * Scans all packages, checks if a release already exists for the current version, - * and creates one if not. Gated in CI by `hasChangesets == 'false'` so it only + * and creates one if not. Gated in CI by `has-changesets == 'false'` so it only * runs after the Version Packages PR is merged and publish executes. */ import { execSync } from 'child_process'; diff --git a/scripts/maintenance/cut.sh b/scripts/maintenance/cut.sh index 0ac58068a75c..654e5a96bf43 100755 --- a/scripts/maintenance/cut.sh +++ b/scripts/maintenance/cut.sh @@ -29,7 +29,9 @@ cd "$tree" # has it, and builds a site preview for its PRs. The first `- master` in each # is its pull_request (site-preview.yml) or push (release.yml) branch. sed -i "s/\"baseBranch\": \"master\"/\"baseBranch\": \"$branch\"/" .changeset/config.json -sed -i 's#publish: yarn changeset:publish$#publish: bash scripts/maintenance/publish.sh#' \ +# The ref may predate changesets/action v2, whose input is publish-script: +# instead of publish:, so match either spelling +sed -Ei 's#(publish(-script)?): yarn changeset:publish$#\1: bash scripts/maintenance/publish.sh#' \ .github/workflows/release.yml for workflow in release site-preview; do sed -i "0,/^ - master$/s// - $branch/" ".github/workflows/$workflow.yml" diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index d56266f8ccd0..cc33cdf1bc17 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -292,7 +292,7 @@ const config: Config = { : []), ], //favicon: '/favicon.ico', we declare our own headers for this above - themes: ['@docusaurus/theme-live-codeblock', '@docusaurus/theme-mermaid'], + themes: ['@docusaurus/theme-mermaid'], customFields: { repoUrl: 'https://github.com/reactive/data-client', // read by FrameworkSelector to switch between differently named pages diff --git a/website/i18n/es/code.json b/website/i18n/es/code.json index 1465b8ad1210..c803ba1ca3bf 100644 --- a/website/i18n/es/code.json +++ b/website/i18n/es/code.json @@ -509,10 +509,6 @@ "message": "Buscar documentos", "description": "The placeholder of the input of the DocSearch pop-up modal" }, - "theme.Playground.buttons.reset": { - "message": "Restablecer", - "description": "The reset button label for live code blocks" - }, "theme.blog.post.plurals": { "message": "Una publicación|{count} publicaciones", "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" diff --git a/website/i18n/pt-BR/code.json b/website/i18n/pt-BR/code.json index 09ae2c885b0c..9fecc4c338c2 100644 --- a/website/i18n/pt-BR/code.json +++ b/website/i18n/pt-BR/code.json @@ -509,10 +509,6 @@ "message": "Procurar documentos", "description": "The placeholder of the input of the DocSearch pop-up modal" }, - "theme.Playground.buttons.reset": { - "message": "Redefinir", - "description": "The reset button label for live code blocks" - }, "theme.blog.post.plurals": { "message": "Uma publicação|{count} publicações", "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" diff --git a/website/i18n/zh-Hans/code.json b/website/i18n/zh-Hans/code.json index fa04ecbdc8f5..e1c4fc46137e 100644 --- a/website/i18n/zh-Hans/code.json +++ b/website/i18n/zh-Hans/code.json @@ -710,10 +710,6 @@ "message": "搜索文档", "description": "The placeholder of the input of the DocSearch pop-up modal" }, - "theme.Playground.buttons.reset": { - "message": "重置", - "description": "The reset button label for live code blocks" - }, "theme.blog.post.plurals": { "message": "{count} 篇博文", "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" diff --git a/website/package.json b/website/package.json index 9a8c1e6ba14f..d62470f23831 100644 --- a/website/package.json +++ b/website/package.json @@ -45,7 +45,7 @@ "raw-loader": "^4.0.2", "react-redux": "^9.2.0", "redux": "^5.0.1", - "remark-directive": "^3.0.0", + "remark-directive": "^4.0.0", "remark-frontmatter": "^5.0.0", "remark-gfm": "^4.0.0", "remark-mdx": "^3.0.0", @@ -72,7 +72,6 @@ "@docusaurus/plugin-content-docs": "^3.0.1", "@docusaurus/plugin-pwa": "^3.10.2", "@docusaurus/preset-classic": "^3.0.1", - "@docusaurus/theme-live-codeblock": "^3.0.1", "@docusaurus/theme-mermaid": "^3.0.1", "@docusaurus/utils": "^3.0.1", "@mdx-js/react": "^3.1.0", @@ -86,8 +85,8 @@ "parse-numeric-range": "^1.3.0", "react": "^19.0.0", "react-dom": "^19.0.0", - "react-live": "^4.0.0", - "temporal-polyfill": "^0.3.0", + "react-live": "^5.0.0", + "temporal-polyfill": "^1.0.0", "typescript": "npm:@typescript/typescript6@6.0.2", "uuid": "^14.0.0" }, diff --git a/website/src/components/Playground/editor-types/temporal.d.ts b/website/src/components/Playground/editor-types/temporal.d.ts index c29e54693f77..626e9c1c176f 100644 --- a/website/src/components/Playground/editor-types/temporal.d.ts +++ b/website/src/components/Playground/editor-types/temporal.d.ts @@ -1,772 +1,365 @@ /* -NOTE: keep synced with all other definition files +This file was derived from the TypeScript project. +Original source: https://github.com/microsoft/TypeScript/blob/main/src/lib/esnext.intl.d.ts +Copyright (c) Microsoft Corporation. Licensed under the Apache License 2.0. */ -export namespace Temporal { - type ComparisonResult = -1 | 0 | 1; - type RoundingMode = - | 'ceil' - | 'floor' - | 'expand' - | 'trunc' - | 'halfCeil' - | 'halfFloor' - | 'halfExpand' - | 'halfTrunc' - | 'halfEven'; - - /** - * Options for assigning fields using `with()` or entire objects with - * `from()`. - * */ - type AssignmentOptions = { - /** - * How to deal with out-of-range values - * - * - In `'constrain'` mode, out-of-range values are clamped to the nearest - * in-range value. - * - In `'reject'` mode, out-of-range values will cause the function to - * throw a RangeError. - * - * The default is `'constrain'`. - */ - overflow?: 'constrain' | 'reject' | undefined; - }; - - /** - * Options for assigning fields using `Duration.prototype.with()` or entire - * objects with `Duration.from()`, and for arithmetic with - * `Duration.prototype.add()` and `Duration.prototype.subtract()`. - * */ - type DurationOptions = { - /** - * How to deal with out-of-range values - * - * - In `'constrain'` mode, out-of-range values are clamped to the nearest - * in-range value. - * - In `'balance'` mode, out-of-range values are resolved by balancing them - * with the next highest unit. - * - * The default is `'constrain'`. - */ - overflow?: 'constrain' | 'balance' | undefined; - }; - - /** - * Options for conversions of `Temporal.PlainDateTime` to `Temporal.Instant` - * */ - type ToInstantOptions = { - /** - * Controls handling of invalid or ambiguous times caused by time zone - * offset changes like Daylight Saving time (DST) transitions. - * - * This option is only relevant if a `DateTime` value does not exist in the - * destination time zone (e.g. near "Spring Forward" DST transitions), or - * exists more than once (e.g. near "Fall Back" DST transitions). - * - * In case of ambiguous or nonexistent times, this option controls what - * exact time to return: - * - `'compatible'`: Equivalent to `'earlier'` for backward transitions like - * the start of DST in the Spring, and `'later'` for forward transitions - * like the end of DST in the Fall. This matches the behavior of legacy - * `Date`, of libraries like moment.js, Luxon, or date-fns, and of - * cross-platform standards like [RFC 5545 - * (iCalendar)](https://tools.ietf.org/html/rfc5545). - * - `'earlier'`: The earlier time of two possible times - * - `'later'`: The later of two possible times - * - `'reject'`: Throw a RangeError instead - * - * The default is `'compatible'`. - * - * */ - disambiguation?: 'compatible' | 'earlier' | 'later' | 'reject' | undefined; - }; - - type OffsetDisambiguationOptions = { - /** - * Time zone definitions can change. If an application stores data about - * events in the future, then stored data about future events may become - * ambiguous, for example if a country permanently abolishes DST. The - * `offset` option controls this unusual case. - * - * - `'use'` always uses the offset (if it's provided) to calculate the - * instant. This ensures that the result will match the instant that was - * originally stored, even if local clock time is different. - * - `'prefer'` uses the offset if it's valid for the date/time in this time - * zone, but if it's not valid then the time zone will be used as a - * fallback to calculate the instant. - * - `'ignore'` will disregard any provided offset. Instead, the time zone - * and date/time value are used to calculate the instant. This will keep - * local clock time unchanged but may result in a different real-world - * instant. - * - `'reject'` acts like `'prefer'`, except it will throw a RangeError if - * the offset is not valid for the given time zone identifier and - * date/time value. - * - * If the ISO string ends in 'Z' then this option is ignored because there - * is no possibility of ambiguity. - * - * If a time zone offset is not present in the input, then this option is - * ignored because the time zone will always be used to calculate the - * offset. - * - * If the offset is not used, and if the date/time and time zone don't - * uniquely identify a single instant, then the `disambiguation` option will - * be used to choose the correct instant. However, if the offset is used - * then the `disambiguation` option will be ignored. - */ - offset?: 'use' | 'prefer' | 'ignore' | 'reject' | undefined; - }; - - type ZonedDateTimeAssignmentOptions = AssignmentOptions & ToInstantOptions & OffsetDisambiguationOptions; - - /** - * Options for arithmetic operations like `add()` and `subtract()` - * */ - type ArithmeticOptions = { - /** - * Controls handling of out-of-range arithmetic results. - * - * If a result is out of range, then `'constrain'` will clamp the result to - * the allowed range, while `'reject'` will throw a RangeError. - * - * The default is `'constrain'`. - */ - overflow?: 'constrain' | 'reject' | undefined; - }; - - type DateUnit = 'year' | 'month' | 'week' | 'day'; - type TimeUnit = 'hour' | 'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond'; - type DateTimeUnit = DateUnit | TimeUnit; - - /** - * When the name of a unit is provided to a Temporal API as a string, it is - * usually singular, e.g. 'day' or 'hour'. But plural unit names like 'days' - * or 'hours' are also accepted. - * */ - type PluralUnit = { - year: 'years'; - month: 'months'; - week: 'weeks'; - day: 'days'; - hour: 'hours'; - minute: 'minutes'; - second: 'seconds'; - millisecond: 'milliseconds'; - microsecond: 'microseconds'; - nanosecond: 'nanoseconds'; - }[T]; - - type LargestUnit = 'auto' | T | PluralUnit; - type SmallestUnit = T | PluralUnit; - type TotalUnit = T | PluralUnit; - - /** - * Options for outputting precision in toString() on types with seconds - */ - type ToStringPrecisionOptions = { - fractionalSecondDigits?: 'auto' | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | undefined; - smallestUnit?: SmallestUnit<'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond'> | undefined; - - /** - * Controls how rounding is performed: - * - `halfExpand`: Round to the nearest of the values allowed by - * `roundingIncrement` and `smallestUnit`. When there is a tie, round up. - * This mode is the default. - * - `ceil`: Always round up, towards the end of time. - * - `trunc`: Always round down, towards the beginning of time. - * - `floor`: Also round down, towards the beginning of time. This mode acts - * the same as `trunc`, but it's included for consistency with - * `Temporal.Duration.round()` where negative values are allowed and - * `trunc` rounds towards zero, unlike `floor` which rounds towards - * negative infinity which is usually unexpected. For this reason, `trunc` - * is recommended for most use cases. - */ - roundingMode?: RoundingMode | undefined; - }; - - type ShowCalendarOption = { - calendarName?: 'auto' | 'always' | 'never' | 'critical' | undefined; - }; - - type CalendarTypeToStringOptions = ToStringPrecisionOptions & ShowCalendarOption; +/// +/// +/// - type ZonedDateTimeToStringOptions = CalendarTypeToStringOptions & { - timeZoneName?: 'auto' | 'never' | 'critical' | undefined; - offset?: 'auto' | 'never' | undefined; - }; +export namespace Temporal { + type CalendarLike = + | PlainDate + | PlainDateTime + | PlainMonthDay + | PlainYearMonth + | ZonedDateTime + | string + type DurationLike = Duration | DurationLikeObject | string + type InstantLike = Instant | ZonedDateTime | string + type PlainDateLike = + | PlainDate + | ZonedDateTime + | PlainDateTime + | DateLikeObject + | string + type PlainDateTimeLike = + | PlainDateTime + | ZonedDateTime + | PlainDate + | DateTimeLikeObject + | string + type PlainMonthDayLike = PlainMonthDay | DateLikeObject | string + type PlainTimeLike = + | PlainTime + | PlainDateTime + | ZonedDateTime + | TimeLikeObject + | string + type PlainYearMonthLike = PlainYearMonth | YearMonthLikeObject | string + type TimeZoneLike = ZonedDateTime | string + type ZonedDateTimeLike = ZonedDateTime | ZonedDateTimeLikeObject | string + + type PartialTemporalLike = { + [P in Exclude]?: T[P] | undefined + } - type InstantToStringOptions = ToStringPrecisionOptions & { - timeZone?: TimeZoneLike | undefined; - }; + interface DateLikeObject { + year?: number | undefined + era?: string | undefined + eraYear?: number | undefined + month?: number | undefined + monthCode?: string | undefined + day: number + calendar?: string | undefined + } - /** - * Options to control the result of `until()` and `since()` methods in - * `Temporal` types. - */ - interface DifferenceOptions { - /** - * The unit to round to. For example, to round to the nearest minute, use - * `smallestUnit: 'minute'`. This property is optional for `until()` and - * `since()`, because those methods default behavior is not to round. - * However, the same property is required for `round()`. - */ - smallestUnit?: SmallestUnit | undefined; + interface DateTimeLikeObject extends DateLikeObject, TimeLikeObject {} + + interface DurationLikeObject { + years?: number | undefined + months?: number | undefined + weeks?: number | undefined + days?: number | undefined + hours?: number | undefined + minutes?: number | undefined + seconds?: number | undefined + milliseconds?: number | undefined + microseconds?: number | undefined + nanoseconds?: number | undefined + } - /** - * The largest unit to allow in the resulting `Temporal.Duration` object. - * - * Larger units will be "balanced" into smaller units. For example, if - * `largestUnit` is `'minute'` then a two-hour duration will be output as a - * 120-minute duration. - * - * Valid values may include `'year'`, `'month'`, `'week'`, `'day'`, - * `'hour'`, `'minute'`, `'second'`, `'millisecond'`, `'microsecond'`, - * `'nanosecond'` and `'auto'`, although some types may throw an exception - * if a value is used that would produce an invalid result. For example, - * `hours` is not accepted by `Temporal.PlainDate.prototype.since()`. - * - * The default is always `'auto'`, though the meaning of this depends on the - * type being used. - */ - largestUnit?: LargestUnit | undefined; + interface TimeLikeObject { + hour?: number | undefined + minute?: number | undefined + second?: number | undefined + millisecond?: number | undefined + microsecond?: number | undefined + nanosecond?: number | undefined + } - /** - * Allows rounding to an integer number of units. For example, to round to - * increments of a half hour, use `{ smallestUnit: 'minute', - * roundingIncrement: 30 }`. - */ - roundingIncrement?: number | undefined; + interface YearMonthLikeObject extends Omit {} - /** - * Controls how rounding is performed: - * - `halfExpand`: Round to the nearest of the values allowed by - * `roundingIncrement` and `smallestUnit`. When there is a tie, round away - * from zero like `ceil` for positive durations and like `floor` for - * negative durations. - * - `ceil`: Always round up, towards the end of time. - * - `trunc`: Always round down, towards the beginning of time. This mode is - * the default. - * - `floor`: Also round down, towards the beginning of time. This mode acts - * the same as `trunc`, but it's included for consistency with - * `Temporal.Duration.round()` where negative values are allowed and - * `trunc` rounds towards zero, unlike `floor` which rounds towards - * negative infinity which is usually unexpected. For this reason, `trunc` - * is recommended for most use cases. - */ - roundingMode?: RoundingMode | undefined; + interface ZonedDateTimeLikeObject extends DateTimeLikeObject { + timeZone: TimeZoneLike + offset?: string | undefined } - /** - * `round` methods take one required parameter. If a string is provided, the - * resulting `Temporal.Duration` object will be rounded to that unit. If an - * object is provided, its `smallestUnit` property is required while other - * properties are optional. A string is treated the same as an object whose - * `smallestUnit` property value is that string. - */ - type RoundTo = - | SmallestUnit + type DateUnit = 'year' | 'month' | 'week' | 'day' + type TimeUnit = + | 'hour' + | 'minute' + | 'second' + | 'millisecond' + | 'microsecond' + | 'nanosecond' + type PluralizeUnit = + | T | { - /** - * The unit to round to. For example, to round to the nearest minute, - * use `smallestUnit: 'minute'`. This option is required. Note that the - * same-named property is optional when passed to `until` or `since` - * methods, because those methods do no rounding by default. - */ - smallestUnit: SmallestUnit; - - /** - * Allows rounding to an integer number of units. For example, to round to - * increments of a half hour, use `{ smallestUnit: 'minute', - * roundingIncrement: 30 }`. - */ - roundingIncrement?: number | undefined; - - /** - * Controls how rounding is performed: - * - `halfExpand`: Round to the nearest of the values allowed by - * `roundingIncrement` and `smallestUnit`. When there is a tie, round up. - * This mode is the default. - * - `ceil`: Always round up, towards the end of time. - * - `trunc`: Always round down, towards the beginning of time. - * - `floor`: Also round down, towards the beginning of time. This mode acts - * the same as `trunc`, but it's included for consistency with - * `Temporal.Duration.round()` where negative values are allowed and - * `trunc` rounds towards zero, unlike `floor` which rounds towards - * negative infinity which is usually unexpected. For this reason, `trunc` - * is recommended for most use cases. - */ - roundingMode?: RoundingMode | undefined; - }; - - /** - * The `round` method of the `Temporal.Duration` accepts one required - * parameter. If a string is provided, the resulting `Temporal.Duration` - * object will be rounded to that unit. If an object is provided, the - * `smallestUnit` and/or `largestUnit` property is required, while other - * properties are optional. A string parameter is treated the same as an - * object whose `smallestUnit` property value is that string. - */ - type DurationRoundTo = - | SmallestUnit - | (( - | { - /** - * The unit to round to. For example, to round to the nearest - * minute, use `smallestUnit: 'minute'`. This property is normally - * required, but is optional if `largestUnit` is provided and not - * undefined. - */ - smallestUnit: SmallestUnit; - - /** - * The largest unit to allow in the resulting `Temporal.Duration` - * object. - * - * Larger units will be "balanced" into smaller units. For example, - * if `largestUnit` is `'minute'` then a two-hour duration will be - * output as a 120-minute duration. - * - * Valid values include `'year'`, `'month'`, `'week'`, `'day'`, - * `'hour'`, `'minute'`, `'second'`, `'millisecond'`, - * `'microsecond'`, `'nanosecond'` and `'auto'`. - * - * The default is `'auto'`, which means "the largest nonzero unit in - * the input duration". This default prevents expanding durations to - * larger units unless the caller opts into this behavior. - * - * If `smallestUnit` is larger, then `smallestUnit` will be used as - * `largestUnit`, superseding a caller-supplied or default value. - */ - largestUnit?: LargestUnit | undefined; - } - | { - /** - * The unit to round to. For example, to round to the nearest - * minute, use `smallestUnit: 'minute'`. This property is normally - * required, but is optional if `largestUnit` is provided and not - * undefined. - */ - smallestUnit?: SmallestUnit | undefined; - - /** - * The largest unit to allow in the resulting `Temporal.Duration` - * object. - * - * Larger units will be "balanced" into smaller units. For example, - * if `largestUnit` is `'minute'` then a two-hour duration will be - * output as a 120-minute duration. - * - * Valid values include `'year'`, `'month'`, `'week'`, `'day'`, - * `'hour'`, `'minute'`, `'second'`, `'millisecond'`, - * `'microsecond'`, `'nanosecond'` and `'auto'`. - * - * The default is `'auto'`, which means "the largest nonzero unit in - * the input duration". This default prevents expanding durations to - * larger units unless the caller opts into this behavior. - * - * If `smallestUnit` is larger, then `smallestUnit` will be used as - * `largestUnit`, superseding a caller-supplied or default value. - */ - largestUnit: LargestUnit; - } - ) & { - /** - * Allows rounding to an integer number of units. For example, to round - * to increments of a half hour, use `{ smallestUnit: 'minute', - * roundingIncrement: 30 }`. - */ - roundingIncrement?: number | undefined; - - /** - * Controls how rounding is performed: - * - `halfExpand`: Round to the nearest of the values allowed by - * `roundingIncrement` and `smallestUnit`. When there is a tie, round - * away from zero like `ceil` for positive durations and like `floor` - * for negative durations. This mode is the default. - * - `ceil`: Always round towards positive infinity. For negative - * durations this option will decrease the absolute value of the - * duration which may be unexpected. To round away from zero, use - * `ceil` for positive durations and `floor` for negative durations. - * - `trunc`: Always round down towards zero. - * - `floor`: Always round towards negative infinity. This mode acts the - * same as `trunc` for positive durations but for negative durations - * it will increase the absolute value of the result which may be - * unexpected. For this reason, `trunc` is recommended for most "round - * down" use cases. - */ - roundingMode?: RoundingMode | undefined; + year: 'years' + month: 'months' + week: 'weeks' + day: 'days' + hour: 'hours' + minute: 'minutes' + second: 'seconds' + millisecond: 'milliseconds' + microsecond: 'microseconds' + nanosecond: 'nanoseconds' + }[T] + + interface DisambiguationOptions { + disambiguation?: 'compatible' | 'earlier' | 'later' | 'reject' | undefined + } - /** - * The starting point to use for rounding and conversions when - * variable-length units (years, months, weeks depending on the - * calendar) are involved. This option is required if any of the - * following are true: - * - `unit` is `'week'` or larger units - * - `this` has a nonzero value for `weeks` or larger units - * - * This value must be either a `Temporal.PlainDateTime`, a - * `Temporal.ZonedDateTime`, or a string or object value that can be - * passed to `from()` of those types. Examples: - * - `'2020-01-01T00:00-08:00[America/Los_Angeles]'` - * - `'2020-01-01'` - * - `Temporal.PlainDate.from('2020-01-01')` - * - * `Temporal.ZonedDateTime` will be tried first because it's more - * specific, with `Temporal.PlainDateTime` as a fallback. - * - * If the value resolves to a `Temporal.ZonedDateTime`, then operation - * will adjust for DST and other time zone transitions. Otherwise - * (including if this option is omitted), then the operation will ignore - * time zone transitions and all days will be assumed to be 24 hours - * long. - */ - relativeTo?: - | Temporal.PlainDateTime - | Temporal.ZonedDateTime - | PlainDateTimeLike - | ZonedDateTimeLike - | string - | undefined; - }); + interface OverflowOptions { + overflow?: 'constrain' | 'reject' | undefined + } - /** - * Options to control behavior of `Duration.prototype.total()` - */ - type DurationTotalOf = - | TotalUnit - | { - /** - * The unit to convert the duration to. This option is required. - */ - unit: TotalUnit; + interface TransitionOptions { + direction: 'next' | 'previous' + } - /** - * The starting point to use when variable-length units (years, months, - * weeks depending on the calendar) are involved. This option is required if - * any of the following are true: - * - `unit` is `'week'` or larger units - * - `this` has a nonzero value for `weeks` or larger units - * - * This value must be either a `Temporal.PlainDateTime`, a - * `Temporal.ZonedDateTime`, or a string or object value that can be passed - * to `from()` of those types. Examples: - * - `'2020-01-01T00:00-08:00[America/Los_Angeles]'` - * - `'2020-01-01'` - * - `Temporal.PlainDate.from('2020-01-01')` - * - * `Temporal.ZonedDateTime` will be tried first because it's more - * specific, with `Temporal.PlainDateTime` as a fallback. - * - * If the value resolves to a `Temporal.ZonedDateTime`, then operation will - * adjust for DST and other time zone transitions. Otherwise (including if - * this option is omitted), then the operation will ignore time zone - * transitions and all days will be assumed to be 24 hours long. - */ - relativeTo?: - | Temporal.ZonedDateTime - | Temporal.PlainDateTime - | ZonedDateTimeLike - | PlainDateTimeLike - | string - | undefined; - }; + interface RoundingOptions { + smallestUnit?: PluralizeUnit | undefined + roundingIncrement?: number | undefined + roundingMode?: + | 'ceil' + | 'floor' + | 'expand' + | 'trunc' + | 'halfCeil' + | 'halfFloor' + | 'halfExpand' + | 'halfTrunc' + | 'halfEven' + | undefined + } - /** - * Options to control behavior of `Duration.compare()` - */ - interface DurationArithmeticOptions { - /** - * The starting point to use when variable-length units (years, months, - * weeks depending on the calendar) are involved. This option is required if - * either of the durations has a nonzero value for `weeks` or larger units. - * - * This value must be either a `Temporal.PlainDateTime`, a - * `Temporal.ZonedDateTime`, or a string or object value that can be passed - * to `from()` of those types. Examples: - * - `'2020-01-01T00:00-08:00[America/Los_Angeles]'` - * - `'2020-01-01'` - * - `Temporal.PlainDate.from('2020-01-01')` - * - * `Temporal.ZonedDateTime` will be tried first because it's more - * specific, with `Temporal.PlainDateTime` as a fallback. - * - * If the value resolves to a `Temporal.ZonedDateTime`, then operation will - * adjust for DST and other time zone transitions. Otherwise (including if - * this option is omitted), then the operation will ignore time zone - * transitions and all days will be assumed to be 24 hours long. - */ - relativeTo?: - | Temporal.ZonedDateTime - | Temporal.PlainDateTime - | ZonedDateTimeLike - | PlainDateTimeLike - | string - | undefined; + interface RoundingOptionsWithLargestUnit + extends RoundingOptions { + largestUnit?: 'auto' | PluralizeUnit | undefined } - /** - * Options to control behaviour of `ZonedDateTime.prototype.getTimeZoneTransition()` - */ - type TransitionDirection = 'next' | 'previous' | { direction: 'next' | 'previous' }; + interface ToStringRoundingOptions + extends Pick, 'smallestUnit' | 'roundingMode'> {} + + interface ToStringRoundingOptionsWithFractionalSeconds< + Units extends DateUnit | TimeUnit, + > extends ToStringRoundingOptions { + fractionalSecondDigits?: + | 'auto' + | 0 + | 1 + | 2 + | 3 + | 4 + | 5 + | 6 + | 7 + | 8 + | 9 + | undefined + } - type DurationLike = { - years?: number | undefined; - months?: number | undefined; - weeks?: number | undefined; - days?: number | undefined; - hours?: number | undefined; - minutes?: number | undefined; - seconds?: number | undefined; - milliseconds?: number | undefined; - microseconds?: number | undefined; - nanoseconds?: number | undefined; - }; + namespace Now { + function timeZoneId(): string + function instant(): Instant + function plainDateTimeISO(timeZone?: TimeZoneLike): PlainDateTime + function zonedDateTimeISO(timeZone?: TimeZoneLike): ZonedDateTime + function plainDateISO(timeZone?: TimeZoneLike): PlainDate + function plainTimeISO(timeZone?: TimeZoneLike): PlainTime + } - /** - * Options for Intl.DurationFormat - */ - export type DurationFormatOptions = { - localeMatcher?: 'lookup' | 'best fit' | undefined; - numberingSystem?: string | undefined; - style?: 'long' | 'short' | 'narrow' | 'digital' | undefined; - years?: 'long' | 'short' | 'narrow' | undefined; - yearsDisplay?: 'always' | 'auto' | undefined; - months?: 'long' | 'short' | 'narrow' | undefined; - monthsDisplay?: 'always' | 'auto' | undefined; - weeks?: 'long' | 'short' | 'narrow' | undefined; - weeksDisplay?: 'always' | 'auto' | undefined; - days?: 'long' | 'short' | 'narrow' | undefined; - daysDisplay?: 'always' | 'auto' | undefined; - hours?: 'long' | 'short' | 'narrow' | 'numeric' | '2-digit' | undefined; - hoursDisplay?: 'always' | 'auto' | undefined; - minutes?: 'long' | 'short' | 'narrow' | 'numeric' | '2-digit' | undefined; - minutesDisplay?: 'always' | 'auto' | undefined; - seconds?: 'long' | 'short' | 'narrow' | 'numeric' | '2-digit' | undefined; - secondsDisplay?: 'always' | 'auto' | undefined; - milliseconds?: 'long' | 'short' | 'narrow' | 'numeric' | undefined; - millisecondsDisplay?: 'always' | 'auto' | undefined; - microseconds?: 'long' | 'short' | 'narrow' | 'numeric' | undefined; - microsecondsDisplay?: 'always' | 'auto' | undefined; - nanoseconds?: 'long' | 'short' | 'narrow' | 'numeric' | undefined; - nanosecondsDisplay?: 'always' | 'auto' | undefined; - fractionalDigits?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | undefined; - }; + interface PlainDateToStringOptions { + calendarName?: 'auto' | 'always' | 'never' | 'critical' | undefined + } - /** - * - * A `Temporal.Duration` represents an immutable duration of time which can be - * used in date/time arithmetic. - * - * See https://tc39.es/proposal-temporal/docs/duration.html for more details. - */ - class Duration { - static from(item: Temporal.Duration | DurationLike | string): Temporal.Duration; - static compare( - one: Temporal.Duration | DurationLike | string, - two: Temporal.Duration | DurationLike | string, - options?: DurationArithmeticOptions - ): ComparisonResult; - constructor( - years?: number, - months?: number, - weeks?: number, - days?: number, - hours?: number, - minutes?: number, - seconds?: number, - milliseconds?: number, - microseconds?: number, - nanoseconds?: number - ); - readonly sign: -1 | 0 | 1; - readonly blank: boolean; - readonly years: number; - readonly months: number; - readonly weeks: number; - readonly days: number; - readonly hours: number; - readonly minutes: number; - readonly seconds: number; - readonly milliseconds: number; - readonly microseconds: number; - readonly nanoseconds: number; - negated(): Temporal.Duration; - abs(): Temporal.Duration; - with(durationLike: DurationLike): Temporal.Duration; - add(other: Temporal.Duration | DurationLike | string): Temporal.Duration; - subtract(other: Temporal.Duration | DurationLike | string): Temporal.Duration; - round(roundTo: DurationRoundTo): Temporal.Duration; - total(totalOf: DurationTotalOf): number; - toLocaleString(locales?: globalThis.Intl.LocalesArgument, options?: DurationFormatOptions): string; - toJSON(): string; - toString(options?: ToStringPrecisionOptions): string; - valueOf(): never; - readonly [Symbol.toStringTag]: 'Temporal.Duration'; + interface PlainDateToZonedDateTimeOptions { + plainTime?: PlainTimeLike | undefined + timeZone: TimeZoneLike } - /** - * A `Temporal.Instant` is an exact point in time, with a precision in - * nanoseconds. No time zone or calendar information is present. Therefore, - * `Temporal.Instant` has no concept of days, months, or even hours. - * - * For convenience of interoperability, it internally uses nanoseconds since - * the {@link https://en.wikipedia.org/wiki/Unix_time|Unix epoch} (midnight - * UTC on January 1, 1970). However, a `Temporal.Instant` can be created from - * any of several expressions that refer to a single point in time, including - * an {@link https://datatracker.ietf.org/doc/html/rfc9557|RFC 9557 string} - * with a time zone offset such as '2020-01-23T17:04:36.491865121-08:00'. - * - * See https://tc39.es/proposal-temporal/docs/instant.html for more details. - */ - class Instant { - static fromEpochMilliseconds(epochMilliseconds: number): Temporal.Instant; - static fromEpochNanoseconds(epochNanoseconds: bigint): Temporal.Instant; - static from(item: Temporal.Instant | string): Temporal.Instant; - static compare(one: Temporal.Instant | string, two: Temporal.Instant | string): ComparisonResult; - constructor(epochNanoseconds: bigint); - readonly epochMilliseconds: number; - readonly epochNanoseconds: bigint; - equals(other: Temporal.Instant | string): boolean; - add( - durationLike: Omit | string - ): Temporal.Instant; - subtract( - durationLike: Omit | string - ): Temporal.Instant; + interface PlainDate { + readonly calendarId: string + readonly era: string | undefined + readonly eraYear: number | undefined + readonly year: number + readonly month: number + readonly monthCode: string + readonly day: number + readonly dayOfWeek: number + readonly dayOfYear: number + readonly weekOfYear: number | undefined + readonly yearOfWeek: number | undefined + readonly daysInWeek: number + readonly daysInMonth: number + readonly daysInYear: number + readonly monthsInYear: number + readonly inLeapYear: boolean + toPlainYearMonth(): PlainYearMonth + toPlainMonthDay(): PlainMonthDay + add(duration: DurationLike, options?: OverflowOptions): PlainDate + subtract(duration: DurationLike, options?: OverflowOptions): PlainDate + with( + dateLike: PartialTemporalLike, + options?: OverflowOptions, + ): PlainDate + withCalendar(calendarLike: CalendarLike): PlainDate until( - other: Temporal.Instant | string, - options?: DifferenceOptions<'hour' | 'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond'> - ): Temporal.Duration; + other: PlainDateLike, + options?: RoundingOptionsWithLargestUnit, + ): Duration since( - other: Temporal.Instant | string, - options?: DifferenceOptions<'hour' | 'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond'> - ): Temporal.Duration; - round( - roundTo: RoundTo<'hour' | 'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond'> - ): Temporal.Instant; - toZonedDateTimeISO(tzLike: TimeZoneLike): Temporal.ZonedDateTime; - toLocaleString(locales?: globalThis.Intl.LocalesArgument, options?: globalThis.Intl.DateTimeFormatOptions): string; - toJSON(): string; - toString(options?: InstantToStringOptions): string; - valueOf(): never; - readonly [Symbol.toStringTag]: 'Temporal.Instant'; + other: PlainDateLike, + options?: RoundingOptionsWithLargestUnit, + ): Duration + equals(other: PlainDateLike): boolean + toPlainDateTime(time?: PlainTimeLike): PlainDateTime + toZonedDateTime(timeZone: TimeZoneLike): ZonedDateTime + toZonedDateTime(item: PlainDateToZonedDateTimeOptions): ZonedDateTime + toString(options?: PlainDateToStringOptions): string + toLocaleString( + locales?: globalThis.Intl.LocalesArgument, + options?: globalThis.Intl.DateTimeFormatOptions, + ): string + toJSON(): string + valueOf(): never + readonly [Symbol.toStringTag]: 'Temporal.PlainDate' } - /** - * Any of these types can be passed to Temporal methods instead of a calendar ID. - * */ - export type CalendarLike = string | ZonedDateTime | PlainDateTime | PlainDate | PlainYearMonth | PlainMonthDay; - - type PlainDateLike = { - era?: string | undefined; - eraYear?: number | undefined; - year?: number | undefined; - month?: number | undefined; - monthCode?: string | undefined; - day?: number | undefined; - calendar?: CalendarLike | undefined; - }; + interface PlainDateConstructor { + new ( + isoYear: number, + isoMonth: number, + isoDay: number, + calendar?: string, + ): PlainDate + readonly prototype: PlainDate + from(item: PlainDateLike, options?: OverflowOptions): PlainDate + compare(one: PlainDateLike, two: PlainDateLike): number + } + var PlainDate: PlainDateConstructor + + interface PlainTimeToStringOptions + extends ToStringRoundingOptionsWithFractionalSeconds< + Exclude + > {} + + interface PlainTime { + readonly hour: number + readonly minute: number + readonly second: number + readonly millisecond: number + readonly microsecond: number + readonly nanosecond: number + add(duration: DurationLike): PlainTime + subtract(duration: DurationLike): PlainTime + with( + timeLike: PartialTemporalLike, + options?: OverflowOptions, + ): PlainTime + until( + other: PlainTimeLike, + options?: RoundingOptionsWithLargestUnit, + ): Duration + since( + other: PlainTimeLike, + options?: RoundingOptionsWithLargestUnit, + ): Duration + equals(other: PlainTimeLike): boolean + round(roundTo: PluralizeUnit): PlainTime + round(roundTo: RoundingOptions): PlainTime + toString(options?: PlainTimeToStringOptions): string + toLocaleString( + locales?: globalThis.Intl.LocalesArgument, + options?: globalThis.Intl.DateTimeFormatOptions, + ): string + toJSON(): string + valueOf(): never + readonly [Symbol.toStringTag]: 'Temporal.PlainTime' + } - /** - * A `Temporal.PlainDate` represents a calendar date. "Calendar date" refers to the - * concept of a date as expressed in everyday usage, independent of any time - * zone. For example, it could be used to represent an event on a calendar - * which happens during the whole day no matter which time zone it's happening - * in. - * - * See https://tc39.es/proposal-temporal/docs/date.html for more details. - */ - class PlainDate { - static from(item: Temporal.PlainDate | PlainDateLike | string, options?: AssignmentOptions): Temporal.PlainDate; - static compare( - one: Temporal.PlainDate | PlainDateLike | string, - two: Temporal.PlainDate | PlainDateLike | string - ): ComparisonResult; - constructor(isoYear: number, isoMonth: number, isoDay: number, calendar?: string); - readonly era: string | undefined; - readonly eraYear: number | undefined; - readonly year: number; - readonly month: number; - readonly monthCode: string; - readonly day: number; - readonly calendarId: string; - readonly dayOfWeek: number; - readonly dayOfYear: number; - readonly weekOfYear: number | undefined; - readonly yearOfWeek: number | undefined; - readonly daysInWeek: number; - readonly daysInYear: number; - readonly daysInMonth: number; - readonly monthsInYear: number; - readonly inLeapYear: boolean; - equals(other: Temporal.PlainDate | PlainDateLike | string): boolean; - with(dateLike: PlainDateLike, options?: AssignmentOptions): Temporal.PlainDate; - withCalendar(calendar: CalendarLike): Temporal.PlainDate; - add(durationLike: Temporal.Duration | DurationLike | string, options?: ArithmeticOptions): Temporal.PlainDate; - subtract(durationLike: Temporal.Duration | DurationLike | string, options?: ArithmeticOptions): Temporal.PlainDate; + interface PlainTimeConstructor { + new ( + hour?: number, + minute?: number, + second?: number, + millisecond?: number, + microsecond?: number, + nanosecond?: number, + ): PlainTime + readonly prototype: PlainTime + from(item: PlainTimeLike, options?: OverflowOptions): PlainTime + compare(one: PlainTimeLike, two: PlainTimeLike): number + } + var PlainTime: PlainTimeConstructor + + interface PlainDateTimeToStringOptions + extends PlainDateToStringOptions, + PlainTimeToStringOptions {} + + interface PlainDateTime { + readonly calendarId: string + readonly era: string | undefined + readonly eraYear: number | undefined + readonly year: number + readonly month: number + readonly monthCode: string + readonly day: number + readonly hour: number + readonly minute: number + readonly second: number + readonly millisecond: number + readonly microsecond: number + readonly nanosecond: number + readonly dayOfWeek: number + readonly dayOfYear: number + readonly weekOfYear: number | undefined + readonly yearOfWeek: number | undefined + readonly daysInWeek: number + readonly daysInMonth: number + readonly daysInYear: number + readonly monthsInYear: number + readonly inLeapYear: boolean + with( + dateTimeLike: PartialTemporalLike, + options?: OverflowOptions, + ): PlainDateTime + withPlainTime(plainTime?: PlainTimeLike): PlainDateTime + withCalendar(calendar: CalendarLike): PlainDateTime + add(duration: DurationLike, options?: OverflowOptions): PlainDateTime + subtract(duration: DurationLike, options?: OverflowOptions): PlainDateTime until( - other: Temporal.PlainDate | PlainDateLike | string, - options?: DifferenceOptions<'year' | 'month' | 'week' | 'day'> - ): Temporal.Duration; + other: PlainDateTimeLike, + options?: RoundingOptionsWithLargestUnit, + ): Duration since( - other: Temporal.PlainDate | PlainDateLike | string, - options?: DifferenceOptions<'year' | 'month' | 'week' | 'day'> - ): Temporal.Duration; - toPlainDateTime(temporalTime?: Temporal.PlainTime | PlainTimeLike | string): Temporal.PlainDateTime; + other: PlainDateTimeLike, + options?: RoundingOptionsWithLargestUnit, + ): Duration + round(roundTo: PluralizeUnit<'day' | TimeUnit>): PlainDateTime + round(roundTo: RoundingOptions<'day' | TimeUnit>): PlainDateTime + equals(other: PlainDateTimeLike): boolean + toString(options?: PlainDateTimeToStringOptions): string + toLocaleString( + locales?: globalThis.Intl.LocalesArgument, + options?: globalThis.Intl.DateTimeFormatOptions, + ): string + toJSON(): string + valueOf(): never toZonedDateTime( - timeZoneAndTime: - | string - | { - timeZone: TimeZoneLike; - plainTime?: Temporal.PlainTime | PlainTimeLike | string | undefined; - } - ): Temporal.ZonedDateTime; - toPlainYearMonth(): Temporal.PlainYearMonth; - toPlainMonthDay(): Temporal.PlainMonthDay; - toLocaleString(locales?: globalThis.Intl.LocalesArgument, options?: globalThis.Intl.DateTimeFormatOptions): string; - toJSON(): string; - toString(options?: ShowCalendarOption): string; - valueOf(): never; - readonly [Symbol.toStringTag]: 'Temporal.PlainDate'; + timeZone: TimeZoneLike, + options?: DisambiguationOptions, + ): ZonedDateTime + toPlainDate(): PlainDate + toPlainTime(): PlainTime + readonly [Symbol.toStringTag]: 'Temporal.PlainDateTime' } - type PlainDateTimeLike = { - era?: string | undefined; - eraYear?: number | undefined; - year?: number | undefined; - month?: number | undefined; - monthCode?: string | undefined; - day?: number | undefined; - hour?: number | undefined; - minute?: number | undefined; - second?: number | undefined; - millisecond?: number | undefined; - microsecond?: number | undefined; - nanosecond?: number | undefined; - calendar?: CalendarLike | undefined; - }; - - /** - * A `Temporal.PlainDateTime` represents a calendar date and wall-clock time, with - * a precision in nanoseconds, and without any time zone. Of the Temporal - * classes carrying human-readable time information, it is the most general - * and complete one. `Temporal.PlainDate`, `Temporal.PlainTime`, `Temporal.PlainYearMonth`, - * and `Temporal.PlainMonthDay` all carry less information and should be used when - * complete information is not required. - * - * See https://tc39.es/proposal-temporal/docs/datetime.html for more details. - */ - class PlainDateTime { - static from( - item: Temporal.PlainDateTime | PlainDateTimeLike | string, - options?: AssignmentOptions - ): Temporal.PlainDateTime; - static compare( - one: Temporal.PlainDateTime | PlainDateTimeLike | string, - two: Temporal.PlainDateTime | PlainDateTimeLike | string - ): ComparisonResult; - constructor( + interface PlainDateTimeConstructor { + new ( isoYear: number, isoMonth: number, isoDay: number, @@ -776,471 +369,365 @@ export namespace Temporal { millisecond?: number, microsecond?: number, nanosecond?: number, - calendar?: string - ); - readonly era: string | undefined; - readonly eraYear: number | undefined; - readonly year: number; - readonly month: number; - readonly monthCode: string; - readonly day: number; - readonly hour: number; - readonly minute: number; - readonly second: number; - readonly millisecond: number; - readonly microsecond: number; - readonly nanosecond: number; - readonly calendarId: string; - readonly dayOfWeek: number; - readonly dayOfYear: number; - readonly weekOfYear: number | undefined; - readonly yearOfWeek: number | undefined; - readonly daysInWeek: number; - readonly daysInYear: number; - readonly daysInMonth: number; - readonly monthsInYear: number; - readonly inLeapYear: boolean; - equals(other: Temporal.PlainDateTime | PlainDateTimeLike | string): boolean; - with(dateTimeLike: PlainDateTimeLike, options?: AssignmentOptions): Temporal.PlainDateTime; - withPlainTime(timeLike?: Temporal.PlainTime | PlainTimeLike | string): Temporal.PlainDateTime; - withCalendar(calendar: CalendarLike): Temporal.PlainDateTime; - add(durationLike: Temporal.Duration | DurationLike | string, options?: ArithmeticOptions): Temporal.PlainDateTime; - subtract( - durationLike: Temporal.Duration | DurationLike | string, - options?: ArithmeticOptions - ): Temporal.PlainDateTime; - until( - other: Temporal.PlainDateTime | PlainDateTimeLike | string, - options?: DifferenceOptions< - 'year' | 'month' | 'week' | 'day' | 'hour' | 'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond' - > - ): Temporal.Duration; - since( - other: Temporal.PlainDateTime | PlainDateTimeLike | string, - options?: DifferenceOptions< - 'year' | 'month' | 'week' | 'day' | 'hour' | 'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond' - > - ): Temporal.Duration; - round( - roundTo: RoundTo<'day' | 'hour' | 'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond'> - ): Temporal.PlainDateTime; - toZonedDateTime(tzLike: TimeZoneLike, options?: ToInstantOptions): Temporal.ZonedDateTime; - toPlainDate(): Temporal.PlainDate; - toPlainTime(): Temporal.PlainTime; - toLocaleString(locales?: globalThis.Intl.LocalesArgument, options?: globalThis.Intl.DateTimeFormatOptions): string; - toJSON(): string; - toString(options?: CalendarTypeToStringOptions): string; - valueOf(): never; - readonly [Symbol.toStringTag]: 'Temporal.PlainDateTime'; + calendar?: string, + ): PlainDateTime + readonly prototype: PlainDateTime + from(item: PlainDateTimeLike, options?: OverflowOptions): PlainDateTime + compare(one: PlainDateTimeLike, two: PlainDateTimeLike): number } + var PlainDateTime: PlainDateTimeConstructor - type PlainMonthDayLike = { - era?: string | undefined; - eraYear?: number | undefined; - year?: number | undefined; - month?: number | undefined; - monthCode?: string | undefined; - day?: number | undefined; - calendar?: CalendarLike | undefined; - }; - - /** - * A `Temporal.PlainMonthDay` represents a particular day on the calendar, but - * without a year. For example, it could be used to represent a yearly - * recurring event, like "Bastille Day is on the 14th of July." - * - * See https://tc39.es/proposal-temporal/docs/monthday.html for more details. - */ - class PlainMonthDay { - static from( - item: Temporal.PlainMonthDay | PlainMonthDayLike | string, - options?: AssignmentOptions - ): Temporal.PlainMonthDay; - constructor(isoMonth: number, isoDay: number, calendar?: string, referenceISOYear?: number); - readonly monthCode: string; - readonly day: number; - readonly calendarId: string; - equals(other: Temporal.PlainMonthDay | PlainMonthDayLike | string): boolean; - with(monthDayLike: PlainMonthDayLike, options?: AssignmentOptions): Temporal.PlainMonthDay; - toPlainDate(year: { year: number }): Temporal.PlainDate; - toLocaleString(locales?: globalThis.Intl.LocalesArgument, options?: globalThis.Intl.DateTimeFormatOptions): string; - toJSON(): string; - toString(options?: ShowCalendarOption): string; - valueOf(): never; - readonly [Symbol.toStringTag]: 'Temporal.PlainMonthDay'; + interface ZonedDateTimeToStringOptions extends PlainDateTimeToStringOptions { + offset?: 'auto' | 'never' | undefined + timeZoneName?: 'auto' | 'never' | 'critical' | undefined } - type PlainTimeLike = { - hour?: number | undefined; - minute?: number | undefined; - second?: number | undefined; - millisecond?: number | undefined; - microsecond?: number | undefined; - nanosecond?: number | undefined; - }; + interface ZonedDateTimeFromOptions + extends OverflowOptions, + DisambiguationOptions { + offset?: 'use' | 'ignore' | 'prefer' | 'reject' | undefined + } - /** - * A `Temporal.PlainTime` represents a wall-clock time, with a precision in - * nanoseconds, and without any time zone. "Wall-clock time" refers to the - * concept of a time as expressed in everyday usage — the time that you read - * off the clock on the wall. For example, it could be used to represent an - * event that happens daily at a certain time, no matter what time zone. - * - * `Temporal.PlainTime` refers to a time with no associated calendar date; if you - * need to refer to a specific time on a specific day, use - * `Temporal.PlainDateTime`. A `Temporal.PlainTime` can be converted into a - * `Temporal.PlainDateTime` by combining it with a `Temporal.PlainDate` using the - * `toPlainDateTime()` method. - * - * See https://tc39.es/proposal-temporal/docs/time.html for more details. - */ - class PlainTime { - static from(item: Temporal.PlainTime | PlainTimeLike | string, options?: AssignmentOptions): Temporal.PlainTime; - static compare( - one: Temporal.PlainTime | PlainTimeLike | string, - two: Temporal.PlainTime | PlainTimeLike | string - ): ComparisonResult; - constructor( - hour?: number, - minute?: number, - second?: number, - millisecond?: number, - microsecond?: number, - nanosecond?: number - ); - readonly hour: number; - readonly minute: number; - readonly second: number; - readonly millisecond: number; - readonly microsecond: number; - readonly nanosecond: number; - equals(other: Temporal.PlainTime | PlainTimeLike | string): boolean; - with(timeLike: Temporal.PlainTime | PlainTimeLike, options?: AssignmentOptions): Temporal.PlainTime; - add(durationLike: Temporal.Duration | DurationLike | string, options?: ArithmeticOptions): Temporal.PlainTime; - subtract(durationLike: Temporal.Duration | DurationLike | string, options?: ArithmeticOptions): Temporal.PlainTime; + interface ZonedDateTime { + readonly calendarId: string + readonly timeZoneId: string + readonly era: string | undefined + readonly eraYear: number | undefined + readonly year: number + readonly month: number + readonly monthCode: string + readonly day: number + readonly hour: number + readonly minute: number + readonly second: number + readonly millisecond: number + readonly microsecond: number + readonly nanosecond: number + readonly epochMilliseconds: number + readonly epochNanoseconds: bigint + readonly dayOfWeek: number + readonly dayOfYear: number + readonly weekOfYear: number | undefined + readonly yearOfWeek: number | undefined + readonly hoursInDay: number + readonly daysInWeek: number + readonly daysInMonth: number + readonly daysInYear: number + readonly monthsInYear: number + readonly inLeapYear: boolean + readonly offsetNanoseconds: number + readonly offset: string + with( + zonedDateTimeLike: PartialTemporalLike, + options?: ZonedDateTimeFromOptions, + ): ZonedDateTime + withPlainTime(plainTime?: PlainTimeLike): ZonedDateTime + withTimeZone(timeZone: TimeZoneLike): ZonedDateTime + withCalendar(calendar: CalendarLike): ZonedDateTime + add(duration: DurationLike, options?: OverflowOptions): ZonedDateTime + subtract(duration: DurationLike, options?: OverflowOptions): ZonedDateTime until( - other: Temporal.PlainTime | PlainTimeLike | string, - options?: DifferenceOptions<'hour' | 'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond'> - ): Temporal.Duration; + other: ZonedDateTimeLike, + options?: RoundingOptionsWithLargestUnit, + ): Duration since( - other: Temporal.PlainTime | PlainTimeLike | string, - options?: DifferenceOptions<'hour' | 'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond'> - ): Temporal.Duration; - round( - roundTo: RoundTo<'hour' | 'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond'> - ): Temporal.PlainTime; - toLocaleString(locales?: globalThis.Intl.LocalesArgument, options?: globalThis.Intl.DateTimeFormatOptions): string; - toJSON(): string; - toString(options?: ToStringPrecisionOptions): string; - valueOf(): never; - readonly [Symbol.toStringTag]: 'Temporal.PlainTime'; + other: ZonedDateTimeLike, + options?: RoundingOptionsWithLargestUnit, + ): Duration + round(roundTo: PluralizeUnit<'day' | TimeUnit>): ZonedDateTime + round(roundTo: RoundingOptions<'day' | TimeUnit>): ZonedDateTime + equals(other: ZonedDateTimeLike): boolean + toString(options?: ZonedDateTimeToStringOptions): string + toLocaleString( + locales?: globalThis.Intl.LocalesArgument, + options?: globalThis.Intl.DateTimeFormatOptions, + ): string + toJSON(): string + valueOf(): never + startOfDay(): ZonedDateTime + getTimeZoneTransition(direction: 'next' | 'previous'): ZonedDateTime | null + getTimeZoneTransition(direction: TransitionOptions): ZonedDateTime | null + toInstant(): Instant + toPlainDate(): PlainDate + toPlainTime(): PlainTime + toPlainDateTime(): PlainDateTime + readonly [Symbol.toStringTag]: 'Temporal.ZonedDateTime' + } + + interface ZonedDateTimeConstructor { + new ( + epochNanoseconds: bigint, + timeZone: string, + calendar?: string, + ): ZonedDateTime + readonly prototype: ZonedDateTime + from( + item: ZonedDateTimeLike, + options?: ZonedDateTimeFromOptions, + ): ZonedDateTime + compare(one: ZonedDateTimeLike, two: ZonedDateTimeLike): number } + var ZonedDateTime: ZonedDateTimeConstructor - /** - * Any of these types can be passed to Temporal methods instead of a time zone ID. - * */ - type TimeZoneLike = string | ZonedDateTime; + interface DurationRelativeToOptions { + relativeTo?: ZonedDateTimeLike | PlainDateLike | undefined + } - type PlainYearMonthLike = { - era?: string | undefined; - eraYear?: number | undefined; - year?: number | undefined; - month?: number | undefined; - monthCode?: string | undefined; - calendar?: CalendarLike | undefined; - }; + interface DurationRoundingOptions + extends DurationRelativeToOptions, + RoundingOptionsWithLargestUnit {} - /** - * A `Temporal.PlainYearMonth` represents a particular month on the calendar. For - * example, it could be used to represent a particular instance of a monthly - * recurring event, like "the June 2019 meeting". - * - * See https://tc39.es/proposal-temporal/docs/yearmonth.html for more details. - */ - class PlainYearMonth { - static from( - item: Temporal.PlainYearMonth | PlainYearMonthLike | string, - options?: AssignmentOptions - ): Temporal.PlainYearMonth; - static compare( - one: Temporal.PlainYearMonth | PlainYearMonthLike | string, - two: Temporal.PlainYearMonth | PlainYearMonthLike | string - ): ComparisonResult; - constructor(isoYear: number, isoMonth: number, calendar?: string, referenceISODay?: number); - readonly era: string | undefined; - readonly eraYear: number | undefined; - readonly year: number; - readonly month: number; - readonly monthCode: string; - readonly calendarId: string; - readonly daysInMonth: number; - readonly daysInYear: number; - readonly monthsInYear: number; - readonly inLeapYear: boolean; - equals(other: Temporal.PlainYearMonth | PlainYearMonthLike | string): boolean; - with(yearMonthLike: PlainYearMonthLike, options?: AssignmentOptions): Temporal.PlainYearMonth; - add(durationLike: Temporal.Duration | DurationLike | string, options?: ArithmeticOptions): Temporal.PlainYearMonth; - subtract( - durationLike: Temporal.Duration | DurationLike | string, - options?: ArithmeticOptions - ): Temporal.PlainYearMonth; - until( - other: Temporal.PlainYearMonth | PlainYearMonthLike | string, - options?: DifferenceOptions<'year' | 'month'> - ): Temporal.Duration; - since( - other: Temporal.PlainYearMonth | PlainYearMonthLike | string, - options?: DifferenceOptions<'year' | 'month'> - ): Temporal.Duration; - toPlainDate(day: { day: number }): Temporal.PlainDate; - toLocaleString(locales?: globalThis.Intl.LocalesArgument, options?: globalThis.Intl.DateTimeFormatOptions): string; - toJSON(): string; - toString(options?: ShowCalendarOption): string; - valueOf(): never; - readonly [Symbol.toStringTag]: 'Temporal.PlainYearMonth'; + interface DurationToStringOptions + extends ToStringRoundingOptionsWithFractionalSeconds< + Exclude + > {} + + interface DurationTotalOptions extends DurationRelativeToOptions { + unit: PluralizeUnit } - type ZonedDateTimeLike = { - era?: string | undefined; - eraYear?: number | undefined; - year?: number | undefined; - month?: number | undefined; - monthCode?: string | undefined; - day?: number | undefined; - hour?: number | undefined; - minute?: number | undefined; - second?: number | undefined; - millisecond?: number | undefined; - microsecond?: number | undefined; - nanosecond?: number | undefined; - offset?: string | undefined; - timeZone?: TimeZoneLike | undefined; - calendar?: CalendarLike | undefined; - }; + // Use the host's Intl.DurationFormat options when the consumer includes a + // lib that declares Intl.DurationFormat, without forcing this file to + // reference es2025.intl for every consumer. + type DurationFormatOptions = typeof Intl extends { + DurationFormat: { + new (locales?: unknown, options?: infer Options): unknown + } + } + ? NonNullable + : unknown + + interface Duration { + readonly years: number + readonly months: number + readonly weeks: number + readonly days: number + readonly hours: number + readonly minutes: number + readonly seconds: number + readonly milliseconds: number + readonly microseconds: number + readonly nanoseconds: number + readonly sign: number + readonly blank: boolean + with(durationLike: PartialTemporalLike): Duration + negated(): Duration + abs(): Duration + add(other: DurationLike): Duration + subtract(other: DurationLike): Duration + round(roundTo: PluralizeUnit<'day' | TimeUnit>): Duration + round(roundTo: DurationRoundingOptions): Duration + total(totalOf: PluralizeUnit<'day' | TimeUnit>): number + total(totalOf: DurationTotalOptions): number + toString(options?: DurationToStringOptions): string + toLocaleString( + locales?: globalThis.Intl.LocalesArgument, + options?: DurationFormatOptions, + ): string + toJSON(): string + valueOf(): never + readonly [Symbol.toStringTag]: 'Temporal.Duration' + } - class ZonedDateTime { - static from( - item: Temporal.ZonedDateTime | ZonedDateTimeLike | string, - options?: ZonedDateTimeAssignmentOptions - ): ZonedDateTime; - static compare( - one: Temporal.ZonedDateTime | ZonedDateTimeLike | string, - two: Temporal.ZonedDateTime | ZonedDateTimeLike | string - ): ComparisonResult; - constructor(epochNanoseconds: bigint, timeZone: string, calendar?: string); - readonly era: string | undefined; - readonly eraYear: number | undefined; - readonly year: number; - readonly month: number; - readonly monthCode: string; - readonly day: number; - readonly hour: number; - readonly minute: number; - readonly second: number; - readonly millisecond: number; - readonly microsecond: number; - readonly nanosecond: number; - readonly timeZoneId: string; - readonly calendarId: string; - readonly dayOfWeek: number; - readonly dayOfYear: number; - readonly weekOfYear: number | undefined; - readonly yearOfWeek: number | undefined; - readonly hoursInDay: number; - readonly daysInWeek: number; - readonly daysInMonth: number; - readonly daysInYear: number; - readonly monthsInYear: number; - readonly inLeapYear: boolean; - readonly offsetNanoseconds: number; - readonly offset: string; - readonly epochMilliseconds: number; - readonly epochNanoseconds: bigint; - equals(other: Temporal.ZonedDateTime | ZonedDateTimeLike | string): boolean; - with(zonedDateTimeLike: ZonedDateTimeLike, options?: ZonedDateTimeAssignmentOptions): Temporal.ZonedDateTime; - withPlainTime(timeLike?: Temporal.PlainTime | PlainTimeLike | string): Temporal.ZonedDateTime; - withCalendar(calendar: CalendarLike): Temporal.ZonedDateTime; - withTimeZone(timeZone: TimeZoneLike): Temporal.ZonedDateTime; - add(durationLike: Temporal.Duration | DurationLike | string, options?: ArithmeticOptions): Temporal.ZonedDateTime; - subtract( - durationLike: Temporal.Duration | DurationLike | string, - options?: ArithmeticOptions - ): Temporal.ZonedDateTime; + interface DurationConstructor { + new ( + years?: number, + months?: number, + weeks?: number, + days?: number, + hours?: number, + minutes?: number, + seconds?: number, + milliseconds?: number, + microseconds?: number, + nanoseconds?: number, + ): Duration + readonly prototype: Duration + from(item: DurationLike): Duration + compare( + one: DurationLike, + two: DurationLike, + options?: DurationRelativeToOptions, + ): number + } + var Duration: DurationConstructor + + interface InstantToStringOptions extends PlainTimeToStringOptions { + timeZone?: TimeZoneLike | undefined + } + + interface Instant { + readonly epochMilliseconds: number + readonly epochNanoseconds: bigint + add(duration: DurationLike): Instant + subtract(duration: DurationLike): Instant until( - other: Temporal.ZonedDateTime | ZonedDateTimeLike | string, - options?: Temporal.DifferenceOptions< - 'year' | 'month' | 'week' | 'day' | 'hour' | 'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond' - > - ): Temporal.Duration; + other: InstantLike, + options?: RoundingOptionsWithLargestUnit, + ): Duration since( - other: Temporal.ZonedDateTime | ZonedDateTimeLike | string, - options?: Temporal.DifferenceOptions< - 'year' | 'month' | 'week' | 'day' | 'hour' | 'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond' - > - ): Temporal.Duration; - round( - roundTo: RoundTo<'day' | 'hour' | 'minute' | 'second' | 'millisecond' | 'microsecond' | 'nanosecond'> - ): Temporal.ZonedDateTime; - startOfDay(): Temporal.ZonedDateTime; - getTimeZoneTransition(direction: TransitionDirection): Temporal.ZonedDateTime | null; - toInstant(): Temporal.Instant; - toPlainDateTime(): Temporal.PlainDateTime; - toPlainDate(): Temporal.PlainDate; - toPlainTime(): Temporal.PlainTime; - toLocaleString(locales?: globalThis.Intl.LocalesArgument, options?: globalThis.Intl.DateTimeFormatOptions): string; - toJSON(): string; - toString(options?: ZonedDateTimeToStringOptions): string; - valueOf(): never; - readonly [Symbol.toStringTag]: 'Temporal.ZonedDateTime'; + other: InstantLike, + options?: RoundingOptionsWithLargestUnit, + ): Duration + round(roundTo: PluralizeUnit): Instant + round(roundTo: RoundingOptions): Instant + equals(other: InstantLike): boolean + toString(options?: InstantToStringOptions): string + toLocaleString( + locales?: globalThis.Intl.LocalesArgument, + options?: globalThis.Intl.DateTimeFormatOptions, + ): string + toJSON(): string + valueOf(): never + toZonedDateTimeISO(timeZone: TimeZoneLike): ZonedDateTime + readonly [Symbol.toStringTag]: 'Temporal.Instant' } - /** - * The `Temporal.Now` object has several methods which give information about - * the current date, time, and time zone. - * - * See https://tc39.es/proposal-temporal/docs/now.html for more details. - */ - const Now: { - /** - * Get the exact system date and time as a `Temporal.Instant`. - * - * This method gets the current exact system time, without regard to - * calendar or time zone. This is a good way to get a timestamp for an - * event, for example. It works like the old-style JavaScript `Date.now()`, - * but with nanosecond precision instead of milliseconds. - * - * Note that a `Temporal.Instant` doesn't know about time zones. For the - * exact time in a specific time zone, use `Temporal.Now.zonedDateTimeISO` - * or `Temporal.Now.zonedDateTime`. - * */ - instant: () => Temporal.Instant; + interface InstantConstructor { + new (epochNanoseconds: bigint): Instant + readonly prototype: Instant + from(item: InstantLike): Instant + fromEpochMilliseconds(epochMilliseconds: number): Instant + fromEpochNanoseconds(epochNanoseconds: bigint): Instant + compare(one: InstantLike, two: InstantLike): number + } + var Instant: InstantConstructor - /** - * Get the current calendar date and clock time in a specific time zone, - * using the ISO 8601 calendar. - * - * @param {TimeZoneLike} [tzLike] - - * {@link https://en.wikipedia.org/wiki/List_of_tz_database_time_zones|IANA time zone identifier} - * string (e.g. `'Europe/London'`). If omitted, the environment's - * current time zone will be used. - */ - zonedDateTimeISO: (tzLike?: TimeZoneLike) => Temporal.ZonedDateTime; + interface PlainYearMonthToPlainDateOptions { + day: number + } - /** - * Get the current date and clock time in a specific time zone, using the - * ISO 8601 calendar. - * - * Note that the `Temporal.PlainDateTime` type does not persist the time zone, - * but retaining the time zone is required for most time-zone-related use - * cases. Therefore, it's usually recommended to use - * `Temporal.Now.zonedDateTimeISO` instead of this function. - * - * @param {TimeZoneLike} [tzLike] - - * {@link https://en.wikipedia.org/wiki/List_of_tz_database_time_zones|IANA time zone identifier} - * string (e.g. `'Europe/London'`). If omitted, the environment's - * current time zone will be used. - */ - plainDateTimeISO: (tzLike?: TimeZoneLike) => Temporal.PlainDateTime; + interface PlainYearMonth { + readonly calendarId: string + readonly era: string | undefined + readonly eraYear: number | undefined + readonly year: number + readonly month: number + readonly monthCode: string + readonly daysInYear: number + readonly daysInMonth: number + readonly monthsInYear: number + readonly inLeapYear: boolean + with( + yearMonthLike: PartialTemporalLike, + options?: OverflowOptions, + ): PlainYearMonth + add(duration: DurationLike, options?: OverflowOptions): PlainYearMonth + subtract(duration: DurationLike, options?: OverflowOptions): PlainYearMonth + until( + other: PlainYearMonthLike, + options?: RoundingOptionsWithLargestUnit<'year' | 'month'>, + ): Duration + since( + other: PlainYearMonthLike, + options?: RoundingOptionsWithLargestUnit<'year' | 'month'>, + ): Duration + equals(other: PlainYearMonthLike): boolean + toString(options?: PlainDateToStringOptions): string + toLocaleString( + locales?: globalThis.Intl.LocalesArgument, + options?: globalThis.Intl.DateTimeFormatOptions, + ): string + toJSON(): string + valueOf(): never + toPlainDate(item: PlainYearMonthToPlainDateOptions): PlainDate + readonly [Symbol.toStringTag]: 'Temporal.PlainYearMonth' + } - /** - * Get the current date in a specific time zone, using the ISO 8601 - * calendar. - * - * @param {TimeZoneLike} [tzLike] - - * {@link https://en.wikipedia.org/wiki/List_of_tz_database_time_zones|IANA time zone identifier} - * string (e.g. `'Europe/London'`). If omitted, the environment's - * current time zone will be used. - */ - plainDateISO: (tzLike?: TimeZoneLike) => Temporal.PlainDate; + interface PlainYearMonthConstructor { + new ( + isoYear: number, + isoMonth: number, + calendar?: string, + referenceISODay?: number, + ): PlainYearMonth + readonly prototype: PlainYearMonth + from(item: PlainYearMonthLike, options?: OverflowOptions): PlainYearMonth + compare(one: PlainYearMonthLike, two: PlainYearMonthLike): number + } + var PlainYearMonth: PlainYearMonthConstructor - /** - * Get the current clock time in a specific time zone, using the ISO 8601 calendar. - * - * @param {TimeZoneLike} [tzLike] - - * {@link https://en.wikipedia.org/wiki/List_of_tz_database_time_zones|IANA time zone identifier} - * string (e.g. `'Europe/London'`). If omitted, the environment's - * current time zone will be used. - */ - plainTimeISO: (tzLike?: TimeZoneLike) => Temporal.PlainTime; + interface PlainMonthDayToPlainDateOptions { + era?: string | undefined + eraYear?: number | undefined + year?: number | undefined + } - /** - * Get the identifier of the environment's current time zone. - * - * This method gets the identifier of the current system time zone. This - * will usually be a named - * {@link https://en.wikipedia.org/wiki/List_of_tz_database_time_zones|IANA time zone}. - */ - timeZoneId: () => string; + interface PlainMonthDay { + readonly calendarId: string + readonly monthCode: string + readonly day: number + with( + monthDayLike: PartialTemporalLike, + options?: OverflowOptions, + ): PlainMonthDay + equals(other: PlainMonthDayLike): boolean + toString(options?: PlainDateToStringOptions): string + toLocaleString( + locales?: globalThis.Intl.LocalesArgument, + options?: globalThis.Intl.DateTimeFormatOptions, + ): string + toJSON(): string + valueOf(): never + toPlainDate(item: PlainMonthDayToPlainDateOptions): PlainDate + readonly [Symbol.toStringTag]: 'Temporal.PlainMonthDay' + } - readonly [Symbol.toStringTag]: 'Temporal.Now'; - }; + interface PlainMonthDayConstructor { + new ( + isoMonth: number, + isoDay: number, + calendar?: string, + referenceISOYear?: number, + ): PlainMonthDay + readonly prototype: PlainMonthDay + from(item: PlainMonthDayLike, options?: OverflowOptions): PlainMonthDay + } + var PlainMonthDay: PlainMonthDayConstructor } export namespace Intl { - type Formattable = - | Date - | Temporal.Instant + type FormattableTemporalObject = | Temporal.PlainDate + | Temporal.PlainYearMonth + | Temporal.PlainMonthDay | Temporal.PlainTime | Temporal.PlainDateTime - | Temporal.PlainYearMonth - | Temporal.PlainMonthDay; - - interface DateTimeFormat extends globalThis.Intl.DateTimeFormat { - /** - * Format a date into a string according to the locale and formatting - * options of this `Intl.DateTimeFormat` object. - * - * @param date The date to format. - */ - format(date?: Formattable | number): string; - - /** - * Allow locale-aware formatting of strings produced by - * `Intl.DateTimeFormat` formatters. - * - * @param date The date to format. - */ - formatToParts(date?: Formattable | number): globalThis.Intl.DateTimeFormatPart[]; - - /** - * Format a date range in the most concise way based on the locale and - * options provided when instantiating this `Intl.DateTimeFormat` object. - * - * @param startDate The start date of the range to format. - * @param endDate The start date of the range to format. Must be the same - * type as `startRange`. - */ - formatRange(startDate: T, endDate: T): string; - formatRange(startDate: Date | number, endDate: Date | number): string; + | Temporal.Instant - /** - * Allow locale-aware formatting of tokens representing each part of the - * formatted date range produced by `Intl.DateTimeFormat` formatters. - * - * @param startDate The start date of the range to format. - * @param endDate The start date of the range to format. Must be the same - * type as `startRange`. - */ - formatRangeToParts(startDate: T, endDate: T): globalThis.Intl.DateTimeRangeFormatPart[]; - formatRangeToParts(startDate: Date | number, endDate: Date | number): globalThis.Intl.DateTimeRangeFormatPart[]; + interface DateTimeFormat + extends Omit< + globalThis.Intl.DateTimeFormat, + 'format' | 'formatToParts' | 'formatRange' | 'formatRangeToParts' + > { + format(date?: FormattableTemporalObject | Date | number): string + formatToParts( + date?: FormattableTemporalObject | Date | number, + ): globalThis.Intl.DateTimeFormatPart[] + formatRange( + startDate: FormattableTemporalObject | Date | number, + endDate: FormattableTemporalObject | Date | number, + ): string + formatRangeToParts( + startDate: FormattableTemporalObject | Date | number, + endDate: FormattableTemporalObject | Date | number, + ): globalThis.Intl.DateTimeRangeFormatPart[] } - const DateTimeFormat: { - /** - * Creates `Intl.DateTimeFormat` objects that enable language-sensitive - * date and time formatting. - */ - new (locales?: globalThis.Intl.LocalesArgument, options?: globalThis.Intl.DateTimeFormatOptions): DateTimeFormat; - (locales?: globalThis.Intl.LocalesArgument, options?: globalThis.Intl.DateTimeFormatOptions): DateTimeFormat; - - /** - * Get an array containing those of the provided locales that are supported - * in date and time formatting without having to fall back to the runtime's - * default locale. - */ - supportedLocalesOf(locales: globalThis.Intl.LocalesArgument, options?: globalThis.Intl.DateTimeFormatOptions): string[]; - }; + const DateTimeFormat: Omit< + typeof globalThis.Intl.DateTimeFormat, + 'prototype' + > & { + new ( + locales?: globalThis.Intl.LocalesArgument, + options?: globalThis.Intl.DateTimeFormatOptions, + ): DateTimeFormat + ( + locales?: globalThis.Intl.LocalesArgument, + options?: globalThis.Intl.DateTimeFormatOptions, + ): DateTimeFormat + readonly prototype: DateTimeFormat + } } -export function toTemporalInstant(this: Date): Temporal.Instant; +export function toTemporalInstant(this: Date): Temporal.Instant diff --git a/website/src/components/Playground/index.tsx b/website/src/components/Playground/index.tsx index 0c31124fffaa..1a4898157272 100644 --- a/website/src/components/Playground/index.tsx +++ b/website/src/components/Playground/index.tsx @@ -28,7 +28,11 @@ export interface PlaygroundProps { groupId?: string; /** Store inspector open by default */ defaultOpen?: 'y' | 'n'; - /** Tabs for files + editor beside preview (when wide enough) */ + /** Tabs for files + editor beside preview (when wide enough). + * Use when the code is one tall open file and the preview is short. Stay + * stacked when the Store opens by default (it would cover the code), when + * the fixtures are the lesson (row hides them), or when the preview renders + * a long list (it gets tall in the narrow column). */ row?: boolean; /** Inactive (e.g. unselected Demo tab): no Monaco until first shown, no preview */ hidden?: boolean; diff --git a/website/src/components/Playground/preview/__tests__/usePlaygroundConsoleDemotion.test.tsx b/website/src/components/Playground/preview/__tests__/usePlaygroundConsoleDemotion.test.tsx new file mode 100644 index 000000000000..62b85a57ed90 --- /dev/null +++ b/website/src/components/Playground/preview/__tests__/usePlaygroundConsoleDemotion.test.tsx @@ -0,0 +1,44 @@ +/// +import { ErrorBoundary } from '@data-client/react'; +import { render, renderHook } from '@testing-library/react'; +import React from 'react'; + +import { usePlaygroundConsoleDemotion } from '../usePlaygroundConsoleDemotion'; + +function Throws(): React.ReactNode { + throw new Error('boom'); +} +/** Has React log an error a boundary caught, as a throwing preview does */ +const throwCaught = () => + render( + + + , + ).unmount(); + +let error: jest.SpyInstance; +let warn: jest.SpyInstance; +beforeEach(() => { + error = jest.spyOn(console, 'error').mockImplementation(() => {}); + warn = jest.spyOn(console, 'warn').mockImplementation(() => {}); +}); +afterEach(() => jest.restoreAllMocks()); + +it("demotes React's caught-error log to a warning while any preview is mounted", () => { + const first = renderHook(() => usePlaygroundConsoleDemotion()); + const second = renderHook(() => usePlaygroundConsoleDemotion()); + throwCaught(); + console.error('something else'); + expect(warn).toHaveBeenCalledTimes(1); + expect(error).toHaveBeenCalledTimes(1); + expect(error).toHaveBeenCalledWith('something else'); + + first.unmount(); + throwCaught(); + expect(warn).toHaveBeenCalledTimes(2); + + second.unmount(); + throwCaught(); + expect(warn).toHaveBeenCalledTimes(2); + expect(error).toHaveBeenCalledTimes(2); +}); diff --git a/website/src/components/Playground/preview/scope.ts b/website/src/components/Playground/preview/scope.ts index cf5cb3efb753..fbcfbad27766 100644 --- a/website/src/components/Playground/preview/scope.ts +++ b/website/src/components/Playground/preview/scope.ts @@ -4,11 +4,12 @@ import * as rhReactNext from '@data-client/react/next'; import * as rest from '@data-client/rest'; import BigNumber from 'bignumber.js'; import { Suspense, use } from 'react'; +// uses native Temporal (and its Intl) when the browser has it +import { Temporal, Intl } from 'temporal-polyfill'; import { v4 as uuid } from 'uuid'; import * as designSystem from '../DesignSystem'; import { Link, ROUTER, Router, useNavigate } from './router'; -import { Temporal, Intl, DateTimeFormat } from './temporal'; function randomFloatInRange(min: number, max: number, decimals: number) { return parseFloat((Math.random() * (max - min) + min).toFixed(decimals)); @@ -41,7 +42,7 @@ export const previewScope = { BigNumber, Temporal, Intl, - DateTimeFormat, + DateTimeFormat: Intl.DateTimeFormat, ...designSystem, Link, useNavigate, diff --git a/website/src/components/Playground/preview/temporal.ts b/website/src/components/Playground/preview/temporal.ts deleted file mode 100644 index f9b059586ff9..000000000000 --- a/website/src/components/Playground/preview/temporal.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Temporal as PolyTemporal, Intl as PolyIntl } from 'temporal-polyfill'; - -export const Temporal = globalThis.Temporal ?? PolyTemporal; - -export const Intl = - globalThis.Temporal ? globalThis.Intl : { ...globalThis.Intl, ...PolyIntl }; - -export const DateTimeFormat = - globalThis.Temporal ? - globalThis.Intl.DateTimeFormat - : PolyIntl.DateTimeFormat; diff --git a/website/src/components/Playground/preview/usePlaygroundConsoleDemotion.ts b/website/src/components/Playground/preview/usePlaygroundConsoleDemotion.ts index 082d47aaab22..5765c55b51db 100644 --- a/website/src/components/Playground/preview/usePlaygroundConsoleDemotion.ts +++ b/website/src/components/Playground/preview/usePlaygroundConsoleDemotion.ts @@ -3,9 +3,10 @@ import { useEffect } from 'react'; /** * Playground console demotion — third-party noise only. * - * Live previews pull in packages we do not own (react-live, React's reaction to - * react-live's ErrorBoundary, sucrase's classic JSX). Those emit development - * console noise that is expected during demos and is safe to demote/suppress. + * When preview code throws, react-live's ErrorBoundary shows the error, and + * React still logs it as a console.error. That is expected during demos, so it + * is demoted to a warning. (Docusaurus creates the React root, so we can't pass + * it an `onCaughtError` instead.) * * Do NOT add matchers for anything we control and should fix instead: * - `@data-client/*` packages @@ -15,23 +16,11 @@ import { useEffect } from 'react'; * paper over it here. */ -/** react-live / React ErrorBoundary follow-ups (not @data-client). → warn */ -const DEMOTE_ERROR = [ - // React after a preview throw caught by react-live's ErrorBoundary - /The above error occurred in the <[^>]+> component:/, - /React will try to recreate this component tree/, - // react-live's ErrorBoundary only implements componentDidCatch - /Error boundaries should implement getDerivedStateFromError\(\)/, -]; - -/** react-live → sucrase classic JSX (emits __self). Not our transform. → drop */ -const DEMOTE_WARN = [ - /Your app \(or one of its dependencies\) is using an outdated JSX transform/, -]; +/** React's report of an error a preview's ErrorBoundary caught. → warn */ +const DEMOTE_ERROR = /React will try to recreate this component tree/; let refCount = 0; let originalError: typeof console.error | undefined; -let originalWarn: typeof console.warn | undefined; /** Flatten console args the way React 19 may pass them (format string + Error). */ function consoleMessage(args: unknown[]): string { @@ -45,50 +34,31 @@ function consoleMessage(args: unknown[]): string { .join('\n'); } -function shouldDemoteConsole(args: unknown[], patterns: RegExp[]): boolean { - const message = consoleMessage(args); - return Boolean(message) && patterns.some(pattern => pattern.test(message)); -} - function demotedConsoleError(...args: unknown[]) { - if (shouldDemoteConsole(args, DEMOTE_ERROR)) { + const message = consoleMessage(args); + if (DEMOTE_ERROR.test(message)) { console.warn(...args); return; } originalError?.apply(console, args); } -function demotedConsoleWarn(...args: unknown[]) { - if (shouldDemoteConsole(args, DEMOTE_WARN)) { - return; - } - originalWarn?.apply(console, args); -} - -/** Demote third-party react-live / React preview console noise while previews are mounted. */ +/** Demote React's caught-error logs to warnings while previews are mounted. */ export function usePlaygroundConsoleDemotion() { useEffect(() => { if (typeof console === 'undefined') return; if (refCount === 0) { originalError = console.error; - originalWarn = console.warn; console.error = demotedConsoleError as typeof console.error; - console.warn = demotedConsoleWarn as typeof console.warn; } refCount += 1; return () => { refCount -= 1; - if (refCount === 0) { - if (originalError) { - console.error = originalError; - originalError = undefined; - } - if (originalWarn) { - console.warn = originalWarn; - originalWarn = undefined; - } + if (refCount === 0 && originalError) { + console.error = originalError; + originalError = undefined; } }; }, []); diff --git a/website/src/theme/ReactLiveScope/index.js b/website/src/theme/ReactLiveScope/index.js deleted file mode 100644 index e3c7de5fec01..000000000000 --- a/website/src/theme/ReactLiveScope/index.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -import * as endpoint from '@data-client/endpoint'; -import React from 'react'; - -// Add react-live imports you need here -const ReactLiveScope = { - React, - ...React, - ...endpoint, -}; - -export default ReactLiveScope; diff --git a/website/translate/lock/es.json b/website/translate/lock/es.json index 8e55dcc71f89..6eed5ec48fb4 100644 --- a/website/translate/lock/es.json +++ b/website/translate/lock/es.json @@ -268,7 +268,6 @@ "theme.SearchModal.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": "Let us know.", "theme.SearchModal.placeholder": "Search docs", - "theme.Playground.buttons.reset": "Reset", "theme.blog.post.plurals": "One post|{count} posts", "theme.blog.tagTitle": "{nPosts} tagged with \"{tagName}\"", "theme.blog.authorsList.pageTitle": "Authors", diff --git a/website/translate/lock/pt-BR.json b/website/translate/lock/pt-BR.json index 60861f043225..c9664de12f15 100644 --- a/website/translate/lock/pt-BR.json +++ b/website/translate/lock/pt-BR.json @@ -280,7 +280,6 @@ "theme.SearchModal.startScreen.removeRecentConversationButtonTitle": "Remove this conversation from history", "theme.SearchModal.askAiScreen.likeButtonTitle": "Like", "theme.SearchModal.askAiScreen.dislikeButtonTitle": "Dislike", - "theme.Playground.buttons.reset": "Reset", "theme.SearchModal.searchBox.enterKeyHintAskAi": "enter", "theme.blog.author.pageTitle": "{authorName} - {nPosts}", "homepage.githubStars.star": "Star", diff --git a/website/translate/lock/zh-Hans.json b/website/translate/lock/zh-Hans.json index b7c80930127c..7ecbdcf59309 100644 --- a/website/translate/lock/zh-Hans.json +++ b/website/translate/lock/zh-Hans.json @@ -345,7 +345,6 @@ "theme.SearchModal.askAiScreen.afterToolCallText": "Searched for", "theme.SearchModal.footer.submitQuestionText": "Submit question", "theme.SearchModal.footer.backToSearchText": "Back to search", - "theme.Playground.buttons.reset": "Reset", "homepage.githubStars.star": "Star", "errors.dklj.customLink": "Entity key", "errors.osid.customLink": "Endpoint name", diff --git a/yarn.lock b/yarn.lock index 03f518d9d60f..27241ab56495 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3399,7 +3399,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.25.9, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6": +"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.25.9, @babel/runtime@npm:^7.7.6": version: 7.29.10 resolution: "@babel/runtime@npm:7.29.10" checksum: 10c0/32f975da8e9c2cae6b33e1a477f8fe8bbff6722c982b5ce35f99affaf3a7a1b612c8272b43afa0e51d3000928d6f3ba38f9296301115db5640264907c027b0cd @@ -3521,257 +3521,203 @@ __metadata: languageName: node linkType: hard -"@changesets/apply-release-plan@npm:^7.1.1": - version: 7.1.1 - resolution: "@changesets/apply-release-plan@npm:7.1.1" - dependencies: - "@changesets/config": "npm:^3.1.4" - "@changesets/get-version-range-type": "npm:^0.4.0" - "@changesets/git": "npm:^3.0.4" - "@changesets/should-skip-package": "npm:^0.1.2" - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - detect-indent: "npm:^6.0.0" - fs-extra: "npm:^7.0.1" - lodash.startcase: "npm:^4.4.0" - outdent: "npm:^0.5.0" - prettier: "npm:^2.7.1" - resolve-from: "npm:^5.0.0" - semver: "npm:^7.5.3" - checksum: 10c0/27de184e74e8e48b43fca1f73e7c7a2887b0cdacfe7ba9c09cdc4547dff0de1587bed5fe2d5ec0a3754fa422f6b8a528e0ac452c22ac7a6ae5211f5ac089bfb2 +"@changesets/apply-release-plan@npm:^8.1.1": + version: 8.1.1 + resolution: "@changesets/apply-release-plan@npm:8.1.1" + dependencies: + "@changesets/config": "npm:^4.0.1" + "@changesets/format": "npm:^0.1.2" + "@changesets/git": "npm:^4.0.1" + "@changesets/should-skip-package": "npm:^1.0.0" + "@changesets/types": "npm:^7.0.0" + import-meta-resolve: "npm:^4.2.0" + jsonc-parser: "npm:^3.3.1" + semver: "npm:^7.8.1" + checksum: 10c0/2a1cfb9e4e3feb2c76bcec646e116ebebc81271fed21a3e77d5f170963f88347a34e5d1474f8b87258448182cfa651c047282c8b1a741613a7f7d3fefc2eb9a2 languageName: node linkType: hard -"@changesets/assemble-release-plan@npm:^6.0.10": - version: 6.0.10 - resolution: "@changesets/assemble-release-plan@npm:6.0.10" +"@changesets/assemble-release-plan@npm:^7.0.0": + version: 7.0.0 + resolution: "@changesets/assemble-release-plan@npm:7.0.0" dependencies: - "@changesets/errors": "npm:^0.2.0" - "@changesets/get-dependents-graph": "npm:^2.1.4" - "@changesets/should-skip-package": "npm:^0.1.2" - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - semver: "npm:^7.5.3" - checksum: 10c0/a0ea336a5f19f8d0a97b684983bcd9c3bb8d6881b7b6abd5b482b301795ae4600924c188982f5f98dc48ac88e94a063b66ab72659041eb2623ade3e35f05d555 + "@changesets/errors": "npm:^1.0.0" + "@changesets/get-dependents-graph": "npm:^3.0.0" + "@changesets/should-skip-package": "npm:^1.0.0" + "@changesets/types": "npm:^7.0.0" + semver: "npm:^7.8.1" + checksum: 10c0/2544759583889865487aec744e948c6d84206a42aa593430436ace83003fe00d3880ef623114c396cd5fd883eccb1e03fc4a719ba5c33038a8556df8fca4b9b7 languageName: node linkType: hard -"@changesets/changelog-git@npm:^0.2.1": - version: 0.2.1 - resolution: "@changesets/changelog-git@npm:0.2.1" +"@changesets/changelog-git@npm:^1.0.0": + version: 1.0.0 + resolution: "@changesets/changelog-git@npm:1.0.0" dependencies: - "@changesets/types": "npm:^6.1.0" - checksum: 10c0/6a6fb315ffb2266fcb8f32ae9a60ccdb5436e52350a2f53beacf9822d3355f9052aba5001a718e12af472b4a8fabd69b408d0b11c02ac909ba7a183d27a9f7fd + "@changesets/types": "npm:^7.0.0" + checksum: 10c0/f0f0ab31e6e6ac35ecdae46a521d4c84aab77bbb035898e364d8f9082391b2b8064ba33d9f97d4f1526195f8278f41910c72382b12fcc0092d5bb9ff3ae05310 languageName: node linkType: hard -"@changesets/changelog-github@npm:^0.7.0": - version: 0.7.0 - resolution: "@changesets/changelog-github@npm:0.7.0" - dependencies: - "@changesets/get-github-info": "npm:^0.8.0" - "@changesets/types": "npm:^6.1.0" - dotenv: "npm:^8.1.0" - checksum: 10c0/8054f8d5057e79eccf6658712603c9df04906f6b9c7a8b3581e63d178328ca9ba7cb27e4f2241115c3c3430099dd92ebdea097be86921d0a3cd0d07e06e896eb - languageName: node - linkType: hard - -"@changesets/cli@npm:^2.26.1": - version: 2.31.1 - resolution: "@changesets/cli@npm:2.31.1" - dependencies: - "@changesets/apply-release-plan": "npm:^7.1.1" - "@changesets/assemble-release-plan": "npm:^6.0.10" - "@changesets/changelog-git": "npm:^0.2.1" - "@changesets/config": "npm:^3.1.4" - "@changesets/errors": "npm:^0.2.0" - "@changesets/get-dependents-graph": "npm:^2.1.4" - "@changesets/get-release-plan": "npm:^4.0.16" - "@changesets/git": "npm:^3.0.4" - "@changesets/logger": "npm:^0.1.1" - "@changesets/pre": "npm:^2.0.2" - "@changesets/read": "npm:^0.6.7" - "@changesets/should-skip-package": "npm:^0.1.2" - "@changesets/types": "npm:^6.1.0" - "@changesets/write": "npm:^0.4.0" - "@inquirer/external-editor": "npm:^1.0.2" - "@manypkg/get-packages": "npm:^1.1.3" - ansi-colors: "npm:^4.1.3" - enquirer: "npm:^2.4.1" - fs-extra: "npm:^7.0.1" - mri: "npm:^1.2.0" - package-manager-detector: "npm:^0.2.0" - picocolors: "npm:^1.1.0" - resolve-from: "npm:^5.0.0" - semver: "npm:^7.5.3" - spawndamnit: "npm:^3.0.1" - term-size: "npm:^2.1.0" - bin: - changeset: bin.js - checksum: 10c0/375789e85def0bb303ada45d5085c92765010e6b88b8252eb459346ac8a94eba098c9cb8ad416241757796a8828c417fc9e0a23011bd3a74ce33eef013d8311a +"@changesets/changelog-github@npm:^1.0.1": + version: 1.0.1 + resolution: "@changesets/changelog-github@npm:1.0.1" + dependencies: + "@changesets/get-github-info": "npm:^1.0.1" + "@changesets/types": "npm:^7.0.0" + checksum: 10c0/d1538b48d8cfa8846ff5428f7c98301342378c5d8fe0c077679dfdcf373f53e989553783159e5e594cf292b61d303560d32de4abb57b77453cc0c872acc8420b languageName: node linkType: hard -"@changesets/config@npm:^3.1.4": - version: 3.1.4 - resolution: "@changesets/config@npm:3.1.4" - dependencies: - "@changesets/errors": "npm:^0.2.0" - "@changesets/get-dependents-graph": "npm:^2.1.4" - "@changesets/logger": "npm:^0.1.1" - "@changesets/should-skip-package": "npm:^0.1.2" - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - fs-extra: "npm:^7.0.1" - micromatch: "npm:^4.0.8" - checksum: 10c0/1c0e7975aa719e2c87dfda3f5a1eb81b9f4852cdfb5b5c9d181fa2f8f485e92370b3bdfdb6f666432207dd75a3f79fa8fffe7847d48fb11308acb5ecf327bc12 +"@changesets/cli@npm:^3.0.3": + version: 3.0.3 + resolution: "@changesets/cli@npm:3.0.3" + dependencies: + "@changesets/apply-release-plan": "npm:^8.1.1" + "@changesets/assemble-release-plan": "npm:^7.0.0" + "@changesets/changelog-git": "npm:^1.0.0" + "@changesets/config": "npm:^4.0.1" + "@changesets/errors": "npm:^1.0.0" + "@changesets/get-dependents-graph": "npm:^3.0.0" + "@changesets/git": "npm:^4.0.1" + "@changesets/pre": "npm:^3.0.0" + "@changesets/read": "npm:^1.0.1" + "@changesets/should-skip-package": "npm:^1.0.0" + "@changesets/types": "npm:^7.0.0" + "@changesets/write": "npm:^1.0.1" + "@clack/prompts": "npm:^1.7.0" + "@manypkg/get-packages": "npm:^3.1.0" + "@pnpm/deps.graph-sequencer": "npm:^1100.0.1" + cac: "npm:^7.0.0" + import-meta-resolve: "npm:^4.2.0" + launch-editor: "npm:^2.14.1" + package-manager-detector: "npm:^1.6.0" + semver: "npm:^7.8.1" + tinyexec: "npm:^1.3.1" + bin: + changeset: bin.js + checksum: 10c0/238b98c590bfe33e794cf5ab47e0fa6eb46fc587da9498af49037877f1043b3e91dac65c990ebd1675115d82f2a3a2b3e7aa1b5d385369b0322a24e858eb1313 languageName: node linkType: hard -"@changesets/errors@npm:^0.2.0": - version: 0.2.0 - resolution: "@changesets/errors@npm:0.2.0" +"@changesets/config@npm:^4.0.1": + version: 4.0.1 + resolution: "@changesets/config@npm:4.0.1" dependencies: - extendable-error: "npm:^0.1.5" - checksum: 10c0/f2757c752ab04e9733b0dfd7903f1caf873f9e603794c4d9ea2294af4f937c73d07273c24be864ad0c30b6a98424360d5b96a6eab14f97f3cf2cbfd3763b95c1 + "@changesets/get-dependents-graph": "npm:^3.0.0" + "@changesets/should-skip-package": "npm:^1.0.0" + "@changesets/types": "npm:^7.0.0" + "@manypkg/get-packages": "npm:^3.1.0" + picomatch: "npm:^4.0.7" + checksum: 10c0/959dbbb3ab9fab0427a8990cbe7d4465d9b67042c96108209c8110b7c5ccb2fc3303b75d5c024e911d3a51ca082d13d49a5091edf52014a2b8d69e89b58188ed languageName: node linkType: hard -"@changesets/get-dependents-graph@npm:^2.1.4": - version: 2.1.4 - resolution: "@changesets/get-dependents-graph@npm:2.1.4" - dependencies: - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - picocolors: "npm:^1.1.0" - semver: "npm:^7.5.3" - checksum: 10c0/37b12ba42f16c458d0b574bcafa0247ff2b9a218686a64c86fc75bccc9ba3982f9c27206542941cf3a0563d9b199f40a830682b45e9fd902536de91344cbd0a2 +"@changesets/errors@npm:^1.0.0": + version: 1.0.0 + resolution: "@changesets/errors@npm:1.0.0" + checksum: 10c0/502439fb046b9916e8a0745374c75fa80883b0bdeea92aa2e85be07b8675dcdb50df5bd108ce66eddbda1f8863be750bf817301c9d4904c2168305df870e3f9f languageName: node linkType: hard -"@changesets/get-github-info@npm:^0.8.0": - version: 0.8.0 - resolution: "@changesets/get-github-info@npm:0.8.0" +"@changesets/format@npm:^0.1.1, @changesets/format@npm:^0.1.2": + version: 0.1.2 + resolution: "@changesets/format@npm:0.1.2" dependencies: - dataloader: "npm:^1.4.0" - node-fetch: "npm:^2.5.0" - checksum: 10c0/b7c53e368a1e77504a704de3080ee99c63e7610c3a69549ab6709089bdb3ae2faed33059852033440afe8225827504aae8124c464a65cd91a9ada1de1955cb9e + package-manager-detector: "npm:^1.8.0" + tinyexec: "npm:^1.3.0" + checksum: 10c0/fdb35b885b0923c2fac48433f5d633cc1a091f10e589eb65e3cd33c6702864ea26ef41d7bb434f0c91715dafa609442b91a780e84089b9bd33b7906d65d13f39 languageName: node linkType: hard -"@changesets/get-release-plan@npm:^4.0.16": - version: 4.0.16 - resolution: "@changesets/get-release-plan@npm:4.0.16" +"@changesets/get-dependents-graph@npm:^3.0.0": + version: 3.0.0 + resolution: "@changesets/get-dependents-graph@npm:3.0.0" dependencies: - "@changesets/assemble-release-plan": "npm:^6.0.10" - "@changesets/config": "npm:^3.1.4" - "@changesets/pre": "npm:^2.0.2" - "@changesets/read": "npm:^0.6.7" - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - checksum: 10c0/4be4553e13fe331f6d5b2ed98fece21c8d2b38c04a0543f726a0398b7538ef8fd073d712c35ae4540ed4fc6f84f08de6335318bc09dd562b189fb6968d049e95 - languageName: node - linkType: hard - -"@changesets/get-version-range-type@npm:^0.4.0": - version: 0.4.0 - resolution: "@changesets/get-version-range-type@npm:0.4.0" - checksum: 10c0/e466208c8383489a383f37958d8b5b9aed38539f9287b47fe155a2e8855973f6960fb1724a1ee33b11580d65e1011059045ee654e8ef51e4783017d8989c9d3f + "@changesets/types": "npm:^7.0.0" + semver: "npm:^7.8.1" + checksum: 10c0/ab675098db0b92f61115952fb793620bb5b76e502bad5f7f63bcc85a50e5515f70e08957be87381a58141ab2078bf94dd92df86efa55e73227e7604ba6a3968b languageName: node linkType: hard -"@changesets/git@npm:^3.0.4": - version: 3.0.4 - resolution: "@changesets/git@npm:3.0.4" +"@changesets/get-github-info@npm:^1.0.1": + version: 1.0.1 + resolution: "@changesets/get-github-info@npm:1.0.1" dependencies: - "@changesets/errors": "npm:^0.2.0" - "@manypkg/get-packages": "npm:^1.1.3" - is-subdir: "npm:^1.1.1" - micromatch: "npm:^4.0.8" - spawndamnit: "npm:^3.0.1" - checksum: 10c0/4abbdc1dec6ddc50b6ad927d9eba4f23acd775fdff615415813099befb0cecd1b0f56ceea5e18a5a3cbbb919d68179366074b02a954fbf4016501e5fd125d2b5 + dataloader: "npm:^2.2.3" + checksum: 10c0/7b45b5ebc97b297e1c373ec782c501c3b6cc911badf43e4ebaaf46ce1d8b94f62e4d758705e03d3b9df06b730ab85b9dab5ad76ff070f8ff65ef2fb21647d61b languageName: node linkType: hard -"@changesets/logger@npm:^0.1.1": - version: 0.1.1 - resolution: "@changesets/logger@npm:0.1.1" +"@changesets/git@npm:^4.0.1": + version: 4.0.1 + resolution: "@changesets/git@npm:4.0.1" dependencies: - picocolors: "npm:^1.1.0" - checksum: 10c0/a0933b5bd4d99e10730b22612dc1bdfd25b8804c5b48f8cada050bf5c7a89b2ae9a61687f846a5e9e5d379a95b59fef795c8d5d91e49a251f8da2be76133f83f + "@changesets/errors": "npm:^1.0.0" + "@changesets/types": "npm:^7.0.0" + "@manypkg/get-packages": "npm:^3.1.0" + picomatch: "npm:^4.0.4" + tinyexec: "npm:^1.3.0" + checksum: 10c0/b548ecfafb238ff477a793e4ee91c1fe818274b9ea5b6d5a9d619f75a915ad27831f2accf2edce77da57f918bf1009b59cca2c5aaa7288db4b266f87872c2c23 languageName: node linkType: hard -"@changesets/parse@npm:^0.4.3": - version: 0.4.3 - resolution: "@changesets/parse@npm:0.4.3" +"@changesets/parse@npm:^1.0.0": + version: 1.0.0 + resolution: "@changesets/parse@npm:1.0.0" dependencies: - "@changesets/types": "npm:^6.1.0" - js-yaml: "npm:^4.1.1" - checksum: 10c0/4d8488eaf224974ae335fec964dc1dc486abcfa9f96856cf4267c2765b02ed6af1778375ec03d38252ebab9e191aa4a11c5f37a6ad42e907e08290fed2b9690c + "@changesets/types": "npm:^7.0.0" + yaml: "npm:^2.9.0" + checksum: 10c0/76e93b099015420dfc08f3e3a9321ea2512659d8946d1ed86de64899b52d37faa87173cc80ead5d313ffce2f829ce380a0188c0a1cccaad48350e7c6a83720d0 languageName: node linkType: hard -"@changesets/pre@npm:^2.0.2": - version: 2.0.2 - resolution: "@changesets/pre@npm:2.0.2" +"@changesets/pre@npm:^3.0.0": + version: 3.0.0 + resolution: "@changesets/pre@npm:3.0.0" dependencies: - "@changesets/errors": "npm:^0.2.0" - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - fs-extra: "npm:^7.0.1" - checksum: 10c0/0af9396d84c47a88d79b757e9db4e3579b6620260f92c243b8349e7fcefca3c2652583f6d215c13115bed5d5cdc30c975f307fd6acbb89d205b1ba2ae403b918 + "@changesets/errors": "npm:^1.0.0" + "@changesets/types": "npm:^7.0.0" + "@manypkg/get-packages": "npm:^3.1.0" + checksum: 10c0/56e49668f25cabf50dcab12b6ae20fd7dbeba628390149d38a9075b05c41b954d4fbcebe7535878087c5f0b707ce96b90b727286850c71d6d321477bd1a1c18e languageName: node linkType: hard -"@changesets/read@npm:^0.6.7": - version: 0.6.7 - resolution: "@changesets/read@npm:0.6.7" +"@changesets/read@npm:^1.0.1": + version: 1.0.1 + resolution: "@changesets/read@npm:1.0.1" dependencies: - "@changesets/git": "npm:^3.0.4" - "@changesets/logger": "npm:^0.1.1" - "@changesets/parse": "npm:^0.4.3" - "@changesets/types": "npm:^6.1.0" - fs-extra: "npm:^7.0.1" - p-filter: "npm:^2.1.0" - picocolors: "npm:^1.1.0" - checksum: 10c0/eebda5f5cea8684b9cb470e74cd5e67043a62ca54452ac88bb1a998bebeee1a2e3a642dc76818155a145863551c65f10f9c4ff85378b0419179fc60049edbbc6 + "@changesets/git": "npm:^4.0.1" + "@changesets/parse": "npm:^1.0.0" + "@changesets/types": "npm:^7.0.0" + checksum: 10c0/125de7132b71e9c184f35ec0ad4d23b9accb0aa04d178c835ef575fbf12afbed2fd2d975e987ebb70c007c9a08dc97a267123ba515a4c2f4f070279ad8193f46 languageName: node linkType: hard -"@changesets/should-skip-package@npm:^0.1.2": - version: 0.1.2 - resolution: "@changesets/should-skip-package@npm:0.1.2" +"@changesets/should-skip-package@npm:^1.0.0": + version: 1.0.0 + resolution: "@changesets/should-skip-package@npm:1.0.0" dependencies: - "@changesets/types": "npm:^6.1.0" - "@manypkg/get-packages": "npm:^1.1.3" - checksum: 10c0/484e339e7d6e6950e12bff4eda6e8eccb077c0fbb1f09dd95d2ae948b715226a838c71eaf50cd2d7e0e631ce3bfb1ca93ac752436e6feae5b87aece2e917b440 + "@changesets/types": "npm:^7.0.0" + checksum: 10c0/9beb51e7a6a6d678fbfe60efca4646d7daf117ffb90d3dbe3e8b07806f87383cf2a49b0e15b5fe2b827b69f61c0cf7cb77c4bf27b403c2ce835c5ba7990ed0e5 languageName: node linkType: hard -"@changesets/types@npm:^4.0.1": - version: 4.1.0 - resolution: "@changesets/types@npm:4.1.0" - checksum: 10c0/a372ad21f6a1e0d4ce6c19573c1ca269eef1ad53c26751ad9515a24f003e7c49dcd859dbb1fedb6badaf7be956c1559e8798304039e0ec0da2d9a68583f13464 - languageName: node - linkType: hard - -"@changesets/types@npm:^6.1.0": - version: 6.1.0 - resolution: "@changesets/types@npm:6.1.0" - checksum: 10c0/b4cea3a4465d1eaf0bbd7be1e404aca5a055a61d4cc72aadcb73bbbda1670b4022736b8d3052616cbf1f451afa0637545d077697f4b923236539af9cd5abce6c +"@changesets/types@npm:^7.0.0": + version: 7.0.0 + resolution: "@changesets/types@npm:7.0.0" + checksum: 10c0/494e09ff94968c1c81521f5ac8c6ab60a1e30d7d0cd9ea7f83c2cbac92efba38b03e008ee6fb4592d90b05d69bad864b6ae8155827d52a51c652f5c24d36ec83 languageName: node linkType: hard -"@changesets/write@npm:^0.4.0": - version: 0.4.0 - resolution: "@changesets/write@npm:0.4.0" +"@changesets/write@npm:^1.0.1": + version: 1.0.1 + resolution: "@changesets/write@npm:1.0.1" dependencies: - "@changesets/types": "npm:^6.1.0" - fs-extra: "npm:^7.0.1" - human-id: "npm:^4.1.1" - prettier: "npm:^2.7.1" - checksum: 10c0/311f4d0e536d1b5f2d3f9053537d62b2d4cdbd51e1d2767807ac9d1e0f380367f915d2ad370e5c73902d5a54bffd282d53fff5418c8ad31df51751d652bea826 + "@changesets/format": "npm:^0.1.1" + "@changesets/types": "npm:^7.0.0" + human-id: "npm:^4.2.0" + checksum: 10c0/c9cb074a8c524db1327e54dc1379ff4b50d3a4915409a3e5abe1edaf1ce45f6dafc6c8aced17a1f3eebfa162241b5fd8ea74fc751d2e24df56c2966e4169fcaf languageName: node linkType: hard @@ -3815,6 +3761,28 @@ __metadata: languageName: node linkType: hard +"@clack/core@npm:1.5.1": + version: 1.5.1 + resolution: "@clack/core@npm:1.5.1" + dependencies: + fast-wrap-ansi: "npm:^0.2.0" + sisteransi: "npm:^1.0.5" + checksum: 10c0/6dca93ff5a34bfe8c150367519bc40a847e9172cb1a78b18c88da0507cb6ad899debe1ad5cfcb9796e439108f12f003cf06fd002e2293bc85ff500975e45ff13 + languageName: node + linkType: hard + +"@clack/prompts@npm:^1.7.0": + version: 1.8.1 + resolution: "@clack/prompts@npm:1.8.1" + dependencies: + "@clack/core": "npm:1.5.1" + fast-string-width: "npm:^3.0.2" + fast-wrap-ansi: "npm:^0.2.0" + sisteransi: "npm:^1.0.5" + checksum: 10c0/ed38748acde0cb1e7ebdac1242470c78bd90380cbdde1e5560e0828881e3c74e2676de666086cf8183c8d4d3f1fc6e489f15a004f0d9f8ee294a3aa744de2093 + languageName: node + linkType: hard + "@colordx/core@npm:^5.4.3": version: 5.8.0 resolution: "@colordx/core@npm:5.8.0" @@ -5159,7 +5127,7 @@ __metadata: immutable: "npm:5.1.9" nock: "npm:13.3.1" rollup-plugins: "workspace:*" - temporal-polyfill: "npm:^0.3.0" + temporal-polyfill: "npm:^1.0.0" languageName: unknown linkType: soft @@ -5215,7 +5183,7 @@ __metadata: "@types/node": "npm:^26.0.0" immutable: "npm:5.1.9" rollup-plugins: "workspace:*" - temporal-polyfill: "npm:^0.3.0" + temporal-polyfill: "npm:^1.0.0" languageName: unknown linkType: soft @@ -5252,7 +5220,7 @@ __metadata: react-test-renderer: "npm:^19.0.0" redux: "npm:^5.0.1" rollup-plugins: "workspace:*" - temporal-polyfill: "npm:^0.3.0" + temporal-polyfill: "npm:^1.0.0" peerDependencies: "@react-navigation/native": ^6.0.0 || ^7.0.0 "@types/react": ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-0 || ^19.0.0 @@ -5370,7 +5338,7 @@ __metadata: jest-mock: "npm:^30.0.0" nock: "npm:13.3.1" rollup-plugins: "workspace:*" - temporal-polyfill: "npm:^0.3.0" + temporal-polyfill: "npm:^1.0.0" vue: "npm:^3.4.0" peerDependencies: "@types/vue": ^3.0.0 @@ -6080,26 +6048,6 @@ __metadata: languageName: node linkType: hard -"@docusaurus/theme-live-codeblock@npm:^3.0.1": - version: 3.10.2 - resolution: "@docusaurus/theme-live-codeblock@npm:3.10.2" - dependencies: - "@docusaurus/core": "npm:3.10.2" - "@docusaurus/theme-common": "npm:3.10.2" - "@docusaurus/theme-translations": "npm:3.10.2" - "@docusaurus/utils-validation": "npm:3.10.2" - "@philpl/buble": "npm:^0.19.7" - clsx: "npm:^2.0.0" - fs-extra: "npm:^11.1.1" - react-live: "npm:^4.1.6" - tslib: "npm:^2.6.0" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/f1951bc6bda1e46d5936d7d15423bc94c33018e236bac0eb76eeec3e8f9154af2d7210e52ae0bc3072c1051d546a00d33bbea0e6be560f17a6daba0fad8253c1 - languageName: node - linkType: hard - "@docusaurus/theme-mermaid@npm:^3.0.1": version: 3.10.2 resolution: "@docusaurus/theme-mermaid@npm:3.10.2" @@ -6900,7 +6848,7 @@ __metadata: languageName: node linkType: hard -"@inquirer/external-editor@npm:^1.0.2, @inquirer/external-editor@npm:^1.0.3": +"@inquirer/external-editor@npm:^1.0.3": version: 1.0.3 resolution: "@inquirer/external-editor@npm:1.0.3" dependencies: @@ -7849,29 +7797,33 @@ __metadata: languageName: node linkType: hard -"@manypkg/find-root@npm:^1.1.0": - version: 1.1.0 - resolution: "@manypkg/find-root@npm:1.1.0" +"@manypkg/find-root@npm:^3.1.0": + version: 3.1.0 + resolution: "@manypkg/find-root@npm:3.1.0" dependencies: - "@babel/runtime": "npm:^7.5.5" - "@types/node": "npm:^12.7.1" - find-up: "npm:^4.1.0" - fs-extra: "npm:^8.1.0" - checksum: 10c0/0ee907698e6c73d6f1821ff630f3fec6dcf38260817c8752fec8991ac38b95ba431ab11c2773ddf9beb33d0e057f1122b00e8ffc9b8411b3fd24151413626fa6 + "@manypkg/tools": "npm:^2.1.0" + checksum: 10c0/15b3f5c5c66881af88c1c70dcec805237a2b7e1d541ca7687aade00978680024f8e77ca2f4bac1415e00377f2e78a998d842c345c288d3e69383d50280620b1c languageName: node linkType: hard -"@manypkg/get-packages@npm:^1.1.3": - version: 1.1.3 - resolution: "@manypkg/get-packages@npm:1.1.3" +"@manypkg/get-packages@npm:^3.1.0": + version: 3.1.0 + resolution: "@manypkg/get-packages@npm:3.1.0" + dependencies: + "@manypkg/find-root": "npm:^3.1.0" + "@manypkg/tools": "npm:^2.1.0" + checksum: 10c0/e8baabd85a13f4537ae22124d5e53f1523ba0653f33006da45fc8bd642e0134786a6aad9d0a7ed99282ae20a80687ef5700bd72980441627b5c96658503ad83d + languageName: node + linkType: hard + +"@manypkg/tools@npm:^2.1.0": + version: 2.1.2 + resolution: "@manypkg/tools@npm:2.1.2" dependencies: - "@babel/runtime": "npm:^7.5.5" - "@changesets/types": "npm:^4.0.1" - "@manypkg/find-root": "npm:^1.1.0" - fs-extra: "npm:^8.1.0" - globby: "npm:^11.0.0" - read-yaml-file: "npm:^1.1.0" - checksum: 10c0/f05907d1174ae28861eaa06d0efdc144f773d9a4b8b65e1e7cdc01eb93361d335351b4a336e05c6aac02661be39e8809a3f7ad28bc67b6b338071434ab442130 + jju: "npm:^1.4.0" + tinyglobby: "npm:^0.2.13" + yaml: "npm:^2.9.0" + checksum: 10c0/05c8ece3b3b3ff170765ecf230f0a5408543f1ad43f8b5dc97651adff0ffed3d860dabdd1e2d1068aa247832d473c4de583791675b8f3d07568da4cab2a0ebc3 languageName: node linkType: hard @@ -9164,25 +9116,6 @@ __metadata: languageName: node linkType: hard -"@philpl/buble@npm:^0.19.7": - version: 0.19.7 - resolution: "@philpl/buble@npm:0.19.7" - dependencies: - acorn: "npm:^6.1.1" - acorn-class-fields: "npm:^0.2.1" - acorn-dynamic-import: "npm:^4.0.0" - acorn-jsx: "npm:^5.0.1" - chalk: "npm:^2.4.2" - magic-string: "npm:^0.25.2" - minimist: "npm:^1.2.0" - os-homedir: "npm:^1.0.1" - regexpu-core: "npm:^4.5.4" - bin: - buble: ./bin/buble - checksum: 10c0/3347a4f5ae1bde6b9cd40e1e9d6f1b7e8defa1d7d1d148f0a0a87f1f4489d7c6826bd0c2334add1233bbf378eb6397d9d3b9269baeb66341df7773751483a8ef - languageName: node - linkType: hard - "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -9251,6 +9184,13 @@ __metadata: languageName: node linkType: hard +"@pnpm/deps.graph-sequencer@npm:^1100.0.1": + version: 1100.0.1 + resolution: "@pnpm/deps.graph-sequencer@npm:1100.0.1" + checksum: 10c0/b38a152e1184055a358e7c522f068572e84759a88dfc56c98a349125b11d3cce72e452424c235af5cf18258a5034f88fe203c72ba57ffbe70b297afc50d08dea + languageName: node + linkType: hard + "@pnpm/network.ca-file@npm:^1.0.1": version: 1.0.2 resolution: "@pnpm/network.ca-file@npm:1.0.2" @@ -11654,13 +11594,6 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^12.7.1": - version: 12.20.55 - resolution: "@types/node@npm:12.20.55" - checksum: 10c0/3b190bb0410047d489c49bbaab592d2e6630de6a50f00ba3d7d513d59401d279972a8f5a598b5bb8ddc1702f8a2f4ec57a65d93852f9c329639738e7053637d1 - languageName: node - linkType: hard - "@types/node@npm:^17.0.5": version: 17.0.45 resolution: "@types/node@npm:17.0.45" @@ -13063,24 +12996,6 @@ __metadata: languageName: node linkType: hard -"acorn-class-fields@npm:^0.2.1": - version: 0.2.1 - resolution: "acorn-class-fields@npm:0.2.1" - peerDependencies: - acorn: ^6.0.0 - checksum: 10c0/45f27a849178974e5b0fd727bbb63b5aa5498a58d9417b0bb3ad52979c66c94ec43b4de2c5a34f269b204bdad0cf47d55879a98f2171a8cc6bd3dde9c2a6f118 - languageName: node - linkType: hard - -"acorn-dynamic-import@npm:^4.0.0": - version: 4.0.0 - resolution: "acorn-dynamic-import@npm:4.0.0" - peerDependencies: - acorn: ^6.0.0 - checksum: 10c0/5450c917d28f39cabf64495928a711f446cb6a4731d45fcd8f160cc3ceb6fee3e1b4a8cb308b5ba4e9a0e450742f67d7295322033ffaa378a355af6cd2232693 - languageName: node - linkType: hard - "acorn-import-phases@npm:^1.0.3": version: 1.0.4 resolution: "acorn-import-phases@npm:1.0.4" @@ -13090,7 +13005,7 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.0.1, acorn-jsx@npm:^5.3.2": +"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" peerDependencies: @@ -13106,15 +13021,6 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^6.1.1": - version: 6.4.2 - resolution: "acorn@npm:6.4.2" - bin: - acorn: bin/acorn - checksum: 10c0/52a72d5d785fa64a95880f2951021a38954f8f69a4944dfeab6fb1449b0f02293eae109a56d55b58ff31a90a00d16a804658a12db8ef834c20b3d1201fe5ba5b - languageName: node - linkType: hard - "acorn@npm:^8.0.0, acorn@npm:^8.0.4, acorn@npm:^8.16.0, acorn@npm:^8.8.2": version: 8.16.0 resolution: "acorn@npm:8.16.0" @@ -13295,13 +13201,6 @@ __metadata: languageName: node linkType: hard -"ansi-colors@npm:^4.1.1, ansi-colors@npm:^4.1.3": - version: 4.1.3 - resolution: "ansi-colors@npm:4.1.3" - checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 - languageName: node - linkType: hard - "ansi-escapes@npm:^4.3.2": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" @@ -14067,15 +13966,6 @@ __metadata: languageName: node linkType: hard -"better-path-resolve@npm:1.0.0": - version: 1.0.0 - resolution: "better-path-resolve@npm:1.0.0" - dependencies: - is-windows: "npm:^1.0.0" - checksum: 10c0/7335130729d59a14b8e4753fea180ca84e287cccc20cb5f2438a95667abc5810327c414eee7b3c79ed1b5a348a40284ea872958f50caba69432c40405eb0acce - languageName: node - linkType: hard - "big.js@npm:^5.2.2": version: 5.2.2 resolution: "big.js@npm:5.2.2" @@ -14480,6 +14370,13 @@ __metadata: languageName: node linkType: hard +"cac@npm:^7.0.0": + version: 7.1.0 + resolution: "cac@npm:7.1.0" + checksum: 10c0/8bfeef75404cf7d1799abdf6e07b276f3bb646caacdef4d492c64dcff6d4277ec81254612343d041e00ede588fd57117d1a46238b6db18770461dcb2cb1f7487 + languageName: node + linkType: hard + "cacache@npm:20.0.3, cacache@npm:^20.0.0, cacache@npm:^20.0.1": version: 20.0.3 resolution: "cacache@npm:20.0.3" @@ -14664,7 +14561,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.3.0, chalk@npm:^2.4.1, chalk@npm:^2.4.2": +"chalk@npm:^2.3.0, chalk@npm:^2.4.1": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -15648,7 +15545,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -16589,10 +16486,10 @@ __metadata: languageName: node linkType: hard -"dataloader@npm:^1.4.0": - version: 1.4.0 - resolution: "dataloader@npm:1.4.0" - checksum: 10c0/5fa4c843b9e60195092f1fc7e2acaff318ed46886dc670ddff683bc560f12d4079e6d1e77749501b7e111a8582d26a2aa2a2fbe6d7d5e1520cef64f4e1fd242d +"dataloader@npm:^2.2.3": + version: 2.2.3 + resolution: "dataloader@npm:2.2.3" + checksum: 10c0/9b9a056fbc863ca86da87d59e053e871e263b4966aa4d55e40d61a65e96815fae5530ca220629064ca5f8e3000c0c4ec93292e170c38ff393fb34256b4d7c1aa languageName: node linkType: hard @@ -16827,13 +16724,6 @@ __metadata: languageName: node linkType: hard -"detect-indent@npm:^6.0.0": - version: 6.1.0 - resolution: "detect-indent@npm:6.1.0" - checksum: 10c0/dd83cdeda9af219cf77f5e9a0dc31d828c045337386cfb55ce04fad94ba872ee7957336834154f7647b89b899c3c7acc977c57a79b7c776b506240993f97acc7 - languageName: node - linkType: hard - "detect-libc@npm:^2.0.3": version: 2.1.2 resolution: "detect-libc@npm:2.1.2" @@ -17057,13 +16947,6 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^8.1.0": - version: 8.6.0 - resolution: "dotenv@npm:8.6.0" - checksum: 10c0/6750431dea8efbd54b9f2d9681b04e1ccc7989486461dcf058bb708d9e3d63b04115fcdf8840e38ad1e24a4a2e1e7c1560626c5e3ac7bc09371b127c49e2d45f - languageName: node - linkType: hard - "downlevel-dts@npm:^0.10.0": version: 0.10.0 resolution: "downlevel-dts@npm:0.10.0" @@ -17302,16 +17185,6 @@ __metadata: languageName: node linkType: hard -"enquirer@npm:^2.4.1": - version: 2.4.1 - resolution: "enquirer@npm:2.4.1" - dependencies: - ansi-colors: "npm:^4.1.1" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/43850479d7a51d36a9c924b518dcdc6373b5a8ae3401097d336b7b7e258324749d0ad37a1fcaa5706f04799baa05585cd7af19ebdf7667673e7694435fcea918 - languageName: node - linkType: hard - "entities@npm:^2.0.0": version: 2.2.0 resolution: "entities@npm:2.2.0" @@ -18373,13 +18246,6 @@ __metadata: languageName: node linkType: hard -"extendable-error@npm:^0.1.5": - version: 0.1.7 - resolution: "extendable-error@npm:0.1.7" - checksum: 10c0/c46648b7682448428f81b157cbfe480170fd96359c55db477a839ddeaa34905a18cba0b989bafe5e83f93c2491a3fcc7cc536063ea326ba9d72e9c6e2fe736a7 - languageName: node - linkType: hard - "fast-content-type-parse@npm:^3.0.0": version: 3.0.0 resolution: "fast-content-type-parse@npm:3.0.0" @@ -18435,6 +18301,22 @@ __metadata: languageName: node linkType: hard +"fast-string-truncated-width@npm:^3.0.2": + version: 3.0.3 + resolution: "fast-string-truncated-width@npm:3.0.3" + checksum: 10c0/043b8663397d14a3880ce4f3407bcda60b40db9bbeafe62863a35d1f9c69ea17c8da3fcd72de235553e6c9cd053128cde9e24ca0d4a7463208f48db3cd23d981 + languageName: node + linkType: hard + +"fast-string-width@npm:^3.0.2": + version: 3.0.2 + resolution: "fast-string-width@npm:3.0.2" + dependencies: + fast-string-truncated-width: "npm:^3.0.2" + checksum: 10c0/c8822d175315bb353ebe782b65214ac53b13e3bf704e03b132ea7bdfa8de6a636375b3ab7a4097545393d109381c37c4f387c72a462c90b61412dbc4632f39a7 + languageName: node + linkType: hard + "fast-uri@npm:^3.0.1": version: 3.1.8 resolution: "fast-uri@npm:3.1.8" @@ -18442,6 +18324,15 @@ __metadata: languageName: node linkType: hard +"fast-wrap-ansi@npm:^0.2.0": + version: 0.2.2 + resolution: "fast-wrap-ansi@npm:0.2.2" + dependencies: + fast-string-width: "npm:^3.0.2" + checksum: 10c0/1aa7be4f7cb86f4bdb14691cb6bcc0b8df8b3b89df142ade3ae1602332dcf6f990cd750a923cd581ca0847808cb4ec1aa5afaafa7a72f849e87a2a62c98fa370 + languageName: node + linkType: hard + "fastq@npm:^1.6.0": version: 1.8.0 resolution: "fastq@npm:1.8.0" @@ -18914,28 +18805,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^7.0.1": - version: 7.0.1 - resolution: "fs-extra@npm:7.0.1" - dependencies: - graceful-fs: "npm:^4.1.2" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 10c0/1943bb2150007e3739921b8d13d4109abdc3cc481e53b97b7ea7f77eda1c3c642e27ae49eac3af074e3496ea02fde30f411ef410c760c70a38b92e656e5da784 - languageName: node - linkType: hard - -"fs-extra@npm:^8.1.0": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 10c0/259f7b814d9e50d686899550c4f9ded85c46c643f7fe19be69504888e007fcbc08f306fae8ec495b8b998635e997c9e3e175ff2eeed230524ef1c1684cc96423 - languageName: node - linkType: hard - "fs-extra@npm:^9.0.0, fs-extra@npm:^9.0.1": version: 9.1.0 resolution: "fs-extra@npm:9.1.0" @@ -19199,7 +19068,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.3.10, glob@npm:^10.4.1": +"glob@npm:^10.4.1": version: 10.5.0 resolution: "glob@npm:10.5.0" dependencies: @@ -19321,7 +19190,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.0.0, globby@npm:^11.0.4, globby@npm:^11.1.0": +"globby@npm:^11.0.4, globby@npm:^11.1.0": version: 11.1.0 resolution: "globby@npm:11.1.0" dependencies: @@ -19394,7 +19263,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -20182,12 +20051,12 @@ __metadata: languageName: node linkType: hard -"human-id@npm:^4.1.1": - version: 4.1.1 - resolution: "human-id@npm:4.1.1" +"human-id@npm:^4.2.0": + version: 4.2.2 + resolution: "human-id@npm:4.2.2" bin: human-id: dist/cli.js - checksum: 10c0/9a9a18130fb7d6bc707054bacc32cb328289be0de47ba5669fd04995435e7e59931b87c644a223d68473c450221d104175a5fefe93d77f3522822ead8945def8 + checksum: 10c0/7bf51bf2cec8c26129d3f6ea068b18eca702130641afe5c475cb92270015e403be5bdd35f53b2da38a058a3c1c2632c2d0576c026ad78dc33d30af53eb7d426d languageName: node linkType: hard @@ -21054,15 +20923,6 @@ __metadata: languageName: node linkType: hard -"is-subdir@npm:^1.1.1": - version: 1.2.0 - resolution: "is-subdir@npm:1.2.0" - dependencies: - better-path-resolve: "npm:1.0.0" - checksum: 10c0/03a03ee2ee6578ce589b1cfaf00e65c86b20fd1b82c1660625557c535439a7477cda77e20c62cda6d4c99e7fd908b4619355ae2d989f4a524a35350a44353032 - languageName: node - linkType: hard - "is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": version: 1.1.1 resolution: "is-symbol@npm:1.1.1" @@ -21130,13 +20990,6 @@ __metadata: languageName: node linkType: hard -"is-windows@npm:^1.0.0": - version: 1.0.2 - resolution: "is-windows@npm:1.0.2" - checksum: 10c0/b32f418ab3385604a66f1b7a3ce39d25e8881dee0bd30816dc8344ef6ff9df473a732bcc1ec4e84fe99b2f229ae474f7133e8e93f9241686cfcf7eebe53ba7a5 - languageName: node - linkType: hard - "is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" @@ -21899,6 +21752,13 @@ __metadata: languageName: node linkType: hard +"jju@npm:^1.4.0": + version: 1.4.0 + resolution: "jju@npm:1.4.0" + checksum: 10c0/f3f444557e4364cfc06b1abf8331bf3778b26c0c8552ca54429bc0092652172fdea26cbffe33e1017b303d5aa506f7ede8571857400efe459cb7439180e2acad + languageName: node + linkType: hard + "joi@npm:^17.9.2": version: 17.13.8 resolution: "joi@npm:17.13.8" @@ -21950,7 +21810,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.13.1, js-yaml@npm:^3.6.1": +"js-yaml@npm:^3.13.1": version: 3.15.2 resolution: "js-yaml@npm:3.15.2" dependencies: @@ -21962,7 +21822,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.0, js-yaml@npm:^4.1.1": +"js-yaml@npm:^4.1.0": version: 4.3.2 resolution: "js-yaml@npm:4.3.2" dependencies: @@ -22055,15 +21915,6 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:~0.5.0": - version: 0.5.0 - resolution: "jsesc@npm:0.5.0" - bin: - jsesc: bin/jsesc - checksum: 10c0/f93792440ae1d80f091b65f8ceddf8e55c4bb7f1a09dee5dcbdb0db5612c55c0f6045625aa6b7e8edb2e0a4feabd80ee48616dbe2d37055573a84db3d24f96d9 - languageName: node - linkType: hard - "json-buffer@npm:3.0.1": version: 3.0.1 resolution: "json-buffer@npm:3.0.1" @@ -22147,6 +21998,13 @@ __metadata: languageName: node linkType: hard +"jsonc-parser@npm:^3.3.1": + version: 3.3.1 + resolution: "jsonc-parser@npm:3.3.1" + checksum: 10c0/269c3ae0a0e4f907a914bf334306c384aabb9929bd8c99f909275ebd5c2d3bc70b9bcd119ad794f339dec9f24b6a4ee9cd5a8ab2e6435e730ad4075388fc2ab6 + languageName: node + linkType: hard + "jsondiffpatch@npm:^0.7.3": version: 0.7.6 resolution: "jsondiffpatch@npm:0.7.6" @@ -22158,18 +22016,6 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^4.0.0": - version: 4.0.0 - resolution: "jsonfile@npm:4.0.0" - dependencies: - graceful-fs: "npm:^4.1.6" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10c0/7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480 - languageName: node - linkType: hard - "jsonfile@npm:^6.0.1": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" @@ -22578,13 +22424,6 @@ __metadata: languageName: node linkType: hard -"lodash.startcase@npm:^4.4.0": - version: 4.4.0 - resolution: "lodash.startcase@npm:4.4.0" - checksum: 10c0/bd82aa87a45de8080e1c5ee61128c7aee77bf7f1d86f4ff94f4a6d7438fc9e15e5f03374b947be577a93804c8ad6241f0251beaf1452bf716064eeb657b3a9f0 - languageName: node - linkType: hard - "lodash.throttle@npm:^4.1.1": version: 4.1.1 resolution: "lodash.throttle@npm:4.1.1" @@ -22682,7 +22521,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.25.2, magic-string@npm:^0.25.7": +"magic-string@npm:^0.25.7": version: 0.25.9 resolution: "magic-string@npm:0.25.9" dependencies: @@ -23542,6 +23381,21 @@ __metadata: languageName: node linkType: hard +"micromark-extension-directive@npm:^4.0.0": + version: 4.0.0 + resolution: "micromark-extension-directive@npm:4.0.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-factory-whitespace: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + parse-entities: "npm:^4.0.0" + checksum: 10c0/b4aef0f44339543466ae186130a4514985837b6b12d0c155bd1162e740f631e58f0883a39d0c723206fa0ff53a9b579965c79116f902236f6f123c3340b5fefb + languageName: node + linkType: hard + "micromark-extension-frontmatter@npm:^2.0.0": version: 2.0.0 resolution: "micromark-extension-frontmatter@npm:2.0.0" @@ -24388,13 +24242,6 @@ __metadata: languageName: node linkType: hard -"mri@npm:^1.2.0": - version: 1.2.0 - resolution: "mri@npm:1.2.0" - checksum: 10c0/a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7 - languageName: node - linkType: hard - "mrmime@npm:^1.0.0": version: 1.0.1 resolution: "mrmime@npm:1.0.1" @@ -24600,7 +24447,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.5.0, node-fetch@npm:^2.7.0": +"node-fetch@npm:^2.7.0": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -25312,20 +25159,6 @@ __metadata: languageName: node linkType: hard -"os-homedir@npm:^1.0.1": - version: 1.0.2 - resolution: "os-homedir@npm:1.0.2" - checksum: 10c0/6be4aa67317ee247b8d46142e243fb4ef1d2d65d3067f54bfc5079257a2f4d4d76b2da78cba7af3cb3f56dbb2e4202e0c47f26171d11ca1ed4008d842c90363f - languageName: node - linkType: hard - -"outdent@npm:^0.5.0": - version: 0.5.0 - resolution: "outdent@npm:0.5.0" - checksum: 10c0/e216a4498889ba1babae06af84cdc4091f7cac86da49d22d0163b3be202a5f52efcd2bcd3dfca60a361eb3a27b4299f185c5655061b6b402552d7fcd1d040cff - languageName: node - linkType: hard - "own-keys@npm:^1.0.1": version: 1.0.1 resolution: "own-keys@npm:1.0.1" @@ -25549,15 +25382,6 @@ __metadata: languageName: node linkType: hard -"p-filter@npm:^2.1.0": - version: 2.1.0 - resolution: "p-filter@npm:2.1.0" - dependencies: - p-map: "npm:^2.0.0" - checksum: 10c0/5ac34b74b3b691c04212d5dd2319ed484f591c557a850a3ffc93a08cb38c4f5540be059c6b10a185773c479ca583a91ea00c7d6c9958c815e6b74d052f356645 - languageName: node - linkType: hard - "p-finally@npm:^1.0.0": version: 1.0.0 resolution: "p-finally@npm:1.0.0" @@ -25728,13 +25552,6 @@ __metadata: languageName: node linkType: hard -"package-manager-detector@npm:^0.2.0": - version: 0.2.0 - resolution: "package-manager-detector@npm:0.2.0" - checksum: 10c0/1ad699098018f9425b0f0a197537e085420ebcb7b6c49ef5a8dcff198f50d8de206f52ed10867624b7cb01bebac76396f5ac020dcff96f44154d59e6a5dcf36a - languageName: node - linkType: hard - "package-manager-detector@npm:^1.3.0": version: 1.3.0 resolution: "package-manager-detector@npm:1.3.0" @@ -25742,6 +25559,13 @@ __metadata: languageName: node linkType: hard +"package-manager-detector@npm:^1.6.0, package-manager-detector@npm:^1.8.0": + version: 1.9.0 + resolution: "package-manager-detector@npm:1.9.0" + checksum: 10c0/c901b08e9d284e9b517d27be1783fc279f3e814fac9de4c30441129a3a4b1475b16314ff95b98268daf49e20d5076478c50bc7b1b3ff8a591eb39f03f02dbb16 + languageName: node + linkType: hard + "pacote@npm:^21.5.1": version: 21.5.1 resolution: "pacote@npm:21.5.1" @@ -26120,7 +25944,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:1.1.1, picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": +"picocolors@npm:1.1.1, picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 @@ -26134,7 +25958,7 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^4.0.2, picomatch@npm:^4.0.3, picomatch@npm:^4.0.4": +"picomatch@npm:^4.0.2, picomatch@npm:^4.0.3, picomatch@npm:^4.0.4, picomatch@npm:^4.0.7": version: 4.0.7 resolution: "picomatch@npm:4.0.7" checksum: 10c0/beb6ae02c43ae44e84883b90830196d9046b1726ead292adcf7f57945e0bb0d992d68563d87e03b484b6f3c9a5c6defda7523477f047d7f0e663f126cc01787f @@ -27806,15 +27630,6 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^2.7.1": - version: 2.8.8 - resolution: "prettier@npm:2.8.8" - bin: - prettier: bin-prettier.js - checksum: 10c0/463ea8f9a0946cd5b828d8cf27bd8b567345cf02f56562d5ecde198b91f47a76b7ac9eae0facd247ace70e927143af6135e8cf411986b8cb8478784a4d6d724a - languageName: node - linkType: hard - "pretty-bytes@npm:^5.3.0": version: 5.6.0 resolution: "pretty-bytes@npm:5.6.0" @@ -27882,15 +27697,15 @@ __metadata: languageName: node linkType: hard -"prism-react-renderer@npm:^2.3.0, prism-react-renderer@npm:^2.4.0": - version: 2.4.0 - resolution: "prism-react-renderer@npm:2.4.0" +"prism-react-renderer@npm:^2.3.0, prism-react-renderer@npm:^2.4.1": + version: 2.4.1 + resolution: "prism-react-renderer@npm:2.4.1" dependencies: "@types/prismjs": "npm:^1.26.0" clsx: "npm:^2.0.0" peerDependencies: react: ">=16.0.0" - checksum: 10c0/3d6969b057da0efe39e3e637bf93601cd5757de5919180e8df16daf1d1b8eedc39b70c7f6f28724fba0a01bc857c6b78312ab027f4e913159d1165c5aba235bb + checksum: 10c0/ebbe8feb975224344bbdd046b3a937d121592dbe4b8f22ba0be31f5af37b9a8219f441138ef6cab1c5b96f2aa6b529015200959f7e5e85b60ca69c81d35edcd4 languageName: node linkType: hard @@ -28242,7 +28057,6 @@ __metadata: "@docusaurus/plugin-content-docs": "npm:^3.0.1" "@docusaurus/plugin-pwa": "npm:^3.10.2" "@docusaurus/preset-classic": "npm:^3.0.1" - "@docusaurus/theme-live-codeblock": "npm:^3.0.1" "@docusaurus/theme-mermaid": "npm:^3.0.1" "@docusaurus/utils": "npm:^3.0.1" "@emotion/react": "npm:^11.14.0" @@ -28272,17 +28086,17 @@ __metadata: raw-loader: "npm:^4.0.2" react: "npm:^19.0.0" react-dom: "npm:^19.0.0" - react-live: "npm:^4.0.0" + react-live: "npm:^5.0.0" react-redux: "npm:^9.2.0" redux: "npm:^5.0.1" - remark-directive: "npm:^3.0.0" + remark-directive: "npm:^4.0.0" remark-frontmatter: "npm:^5.0.0" remark-gfm: "npm:^4.0.0" remark-mdx: "npm:^3.0.0" remark-parse: "npm:^11.0.0" remark-stringify: "npm:^11.0.0" serve: "npm:14.2.6" - temporal-polyfill: "npm:^0.3.0" + temporal-polyfill: "npm:^1.0.0" typescript: "npm:@typescript/typescript6@6.0.2" unified: "npm:^11.0.4" unist-util-visit: "npm:^5.0.0" @@ -28460,17 +28274,17 @@ __metadata: languageName: node linkType: hard -"react-live@npm:^4.0.0, react-live@npm:^4.1.6": - version: 4.1.8 - resolution: "react-live@npm:4.1.8" +"react-live@npm:^5.0.0": + version: 5.0.1 + resolution: "react-live@npm:5.0.1" dependencies: - prism-react-renderer: "npm:^2.4.0" - sucrase: "npm:^3.35.0" + prism-react-renderer: "npm:^2.4.1" + sucrase: "npm:^3.35.1" use-editable: "npm:^2.3.3" peerDependencies: react: ">=18.0.0" react-dom: ">=18.0.0" - checksum: 10c0/fa96ca176bc9074e4892d6a079b94488ba74e95907ea187678afb17e4a23cc7760c3774ef17f4429d2ba562f1fda852a822e18a161ef386676371c56a7585970 + checksum: 10c0/9e7a85c8fe3ec364b19ff0ad43f7c931bc811d75b7eaa8583b7a2051b77600a6bd67a5d311e9379cd343ec84961cbc096d16aba871a8c0e5d971a41d04ccba47 languageName: node linkType: hard @@ -28508,15 +28322,15 @@ __metadata: linkType: hard "react-native-screens@npm:^4.1.0": - version: 4.26.2 - resolution: "react-native-screens@npm:4.26.2" + version: 4.29.0 + resolution: "react-native-screens@npm:4.29.0" dependencies: react-freeze: "npm:^1.0.0" warn-once: "npm:^0.1.0" peerDependencies: react: "*" react-native: "*" - checksum: 10c0/3cdc702d8e21c63331e306a2b971307d5d9e13df52d94f435c5bb8d5dcf09fed00f4ef788e85ba87fae1ba5b155f4cdc2ee177a70f1f512adff73f94eef844d1 + checksum: 10c0/12f38ff90405dc3d4319fd2d91426fc68feee535c80e2890c99fc3a50b6c782ac4ae74af72a28e64d01a8d4bbf6ae3242966f8cf3285cc615d0e8c371512c90b languageName: node linkType: hard @@ -28701,18 +28515,6 @@ __metadata: languageName: node linkType: hard -"read-yaml-file@npm:^1.1.0": - version: 1.1.0 - resolution: "read-yaml-file@npm:1.1.0" - dependencies: - graceful-fs: "npm:^4.1.5" - js-yaml: "npm:^3.6.1" - pify: "npm:^4.0.1" - strip-bom: "npm:^3.0.0" - checksum: 10c0/85a9ba08bb93f3c91089bab4f1603995ec7156ee595f8ce40ae9f49d841cbb586511508bd47b7cf78c97f678c679b2c6e2c0092e63f124214af41b6f8a25ca31 - languageName: node - linkType: hard - "readable-stream@npm:^2.0.1, readable-stream@npm:^2.3.8, readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" @@ -28878,15 +28680,6 @@ __metadata: languageName: node linkType: hard -"regenerate-unicode-properties@npm:^9.0.0": - version: 9.0.0 - resolution: "regenerate-unicode-properties@npm:9.0.0" - dependencies: - regenerate: "npm:^1.4.2" - checksum: 10c0/dc648891572f1d8326c01b335b126d766fe6684e5e760d4daa6c1d214d162b8c027fe0e6ee0a3e3d8d20bd869567f363f6be60bdfc054a14e7ad7d347891a506 - languageName: node - linkType: hard - "regenerate@npm:^1.4.2, regenerate@npm:^1.5.0": version: 1.5.0 resolution: "regenerate@npm:1.5.0" @@ -28915,20 +28708,6 @@ __metadata: languageName: node linkType: hard -"regexpu-core@npm:^4.5.4": - version: 4.8.0 - resolution: "regexpu-core@npm:4.8.0" - dependencies: - regenerate: "npm:^1.4.2" - regenerate-unicode-properties: "npm:^9.0.0" - regjsgen: "npm:^0.5.2" - regjsparser: "npm:^0.7.0" - unicode-match-property-ecmascript: "npm:^2.0.0" - unicode-match-property-value-ecmascript: "npm:^2.0.0" - checksum: 10c0/cea09893ae49956ba11c3a7433295c61bfbaa92792f565fb54c463dfdd5a81a150ba67a22cd4ecded005425cbb78dc0ea34d5ff771f07f9d31931bafb189e367 - languageName: node - linkType: hard - "regexpu-core@npm:^6.3.1, regexpu-core@npm:^6.5.3": version: 6.5.3 resolution: "regexpu-core@npm:6.5.3" @@ -28980,13 +28759,6 @@ __metadata: languageName: node linkType: hard -"regjsgen@npm:^0.5.2": - version: 0.5.2 - resolution: "regjsgen@npm:0.5.2" - checksum: 10c0/66cd5a9427a6db11a18eb544ecadf6866c8eeb3bf66d57185a9788929263b42641068df014d7e4d32a5cfbf114676f9bdd3013629203f03b1538416a1f4050e3 - languageName: node - linkType: hard - "regjsgen@npm:^0.8.0": version: 0.8.0 resolution: "regjsgen@npm:0.8.0" @@ -29005,17 +28777,6 @@ __metadata: languageName: node linkType: hard -"regjsparser@npm:^0.7.0": - version: 0.7.0 - resolution: "regjsparser@npm:0.7.0" - dependencies: - jsesc: "npm:~0.5.0" - bin: - regjsparser: bin/parser - checksum: 10c0/4b891ff0d2c835717d6e7ad9194da7f5271e410422fe51fa73b1f33978df8f6784e2a079938c9827f62fd13c258ae7e7e69f910799bb003b6a0b5e8854801719 - languageName: node - linkType: hard - "rehype-raw@npm:^7.0.0": version: 7.0.0 resolution: "rehype-raw@npm:7.0.0" @@ -29046,6 +28807,18 @@ __metadata: languageName: node linkType: hard +"remark-directive@npm:^4.0.0": + version: 4.0.0 + resolution: "remark-directive@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-directive: "npm:^3.0.0" + micromark-extension-directive: "npm:^4.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/ab1f71ae220913f62833464d483f29de7b4af0dcf1ff626d33cdb5dd81eda1c553a11f779de9fd9b641802586c5f070175824d70f14d53e451a484850705d53a + languageName: node + linkType: hard + "remark-emoji@npm:^4.0.0": version: 4.0.1 resolution: "remark-emoji@npm:4.0.1" @@ -29086,12 +28859,12 @@ __metadata: linkType: hard "remark-mdx@npm:^3.0.0": - version: 3.0.0 - resolution: "remark-mdx@npm:3.0.0" + version: 3.1.1 + resolution: "remark-mdx@npm:3.1.1" dependencies: mdast-util-mdx: "npm:^3.0.0" micromark-extension-mdxjs: "npm:^3.0.0" - checksum: 10c0/e7a59428c55753f89f1bd299bc92cfd96fb3289285384b631f8af253d8df6473ebdba085e6d1a846b55b46700aafc76f35810a3268733e6a7c676bc2a8648f17 + checksum: 10c0/3e5585d4c2448d8ac7548b1d148f04b89251ff47fbfc80be1428cecec2fc2530abe30a5da53bb031283f8a78933259df6120c1cd4cc7cc1d43978d508798ba88 languageName: node linkType: hard @@ -29629,8 +29402,8 @@ __metadata: "@babel/core": "npm:8.0.7" "@babel/node": "npm:8.0.6" "@babel/preset-flow": "npm:^8.0.0" - "@changesets/changelog-github": "npm:^0.7.0" - "@changesets/cli": "npm:^2.26.1" + "@changesets/changelog-github": "npm:^1.0.1" + "@changesets/cli": "npm:^3.0.3" "@data-client/react": "workspace:*" "@data-client/rest": "workspace:*" "@data-client/test": "workspace:*" @@ -29665,14 +29438,14 @@ __metadata: prettier: "npm:3.9.10" react: "npm:19.3.0" react-dom: "npm:19.3.0" - react-live: "npm:^4.0.0" + react-live: "npm:^5.0.0" react-native: "npm:0.87.1" react-native-safe-area-context: "npm:^5.0.0" react-native-screens: "npm:^4.1.0" react-test-renderer: "npm:19.3.0" rimraf: "npm:^6.0.0" rollup: "npm:4.62.2" - temporal-polyfill: "npm:^0.3.0" + temporal-polyfill: "npm:^1.0.0" typescript: "npm:@typescript/typescript6@6.0.2" whatwg-fetch: "npm:3.0.0" languageName: unknown @@ -29990,7 +29763,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.1.1, semver@npm:^7.1.3, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.7.4, semver@npm:^7.8.5": +"semver@npm:^7.1.1, semver@npm:^7.1.3, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.7.4, semver@npm:^7.8.1, semver@npm:^7.8.5": version: 7.8.5 resolution: "semver@npm:7.8.5" bin: @@ -30620,16 +30393,6 @@ __metadata: languageName: node linkType: hard -"spawndamnit@npm:^3.0.1": - version: 3.0.1 - resolution: "spawndamnit@npm:3.0.1" - dependencies: - cross-spawn: "npm:^7.0.5" - signal-exit: "npm:^4.0.1" - checksum: 10c0/a9821a59bc78a665bd44718dea8f4f4010bb1a374972b0a6a1633b9186cda6d6fd93f22d1e49d9944d6bb175ba23ce29036a4bd624884fb157d981842c3682f3 - languageName: node - linkType: hard - "spdx-correct@npm:^3.0.0": version: 3.1.0 resolution: "spdx-correct@npm:3.1.0" @@ -31199,21 +30962,21 @@ __metadata: languageName: node linkType: hard -"sucrase@npm:^3.35.0": - version: 3.35.0 - resolution: "sucrase@npm:3.35.0" +"sucrase@npm:^3.35.1": + version: 3.35.1 + resolution: "sucrase@npm:3.35.1" dependencies: "@jridgewell/gen-mapping": "npm:^0.3.2" commander: "npm:^4.0.0" - glob: "npm:^10.3.10" lines-and-columns: "npm:^1.1.6" mz: "npm:^2.7.0" pirates: "npm:^4.0.1" + tinyglobby: "npm:^0.2.11" ts-interface-checker: "npm:^0.1.9" bin: sucrase: bin/sucrase sucrase-node: bin/sucrase-node - checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef + checksum: 10c0/6fa22329c261371feb9560630d961ad0d0b9c87dce21ea74557c5f3ffbe5c1ee970ea8bcce9962ae9c90c3c47165ffa7dd41865c7414f5d8ea7a40755d612c5c languageName: node linkType: hard @@ -31418,19 +31181,27 @@ __metadata: languageName: node linkType: hard -"temporal-polyfill@npm:^0.3.0": - version: 0.3.2 - resolution: "temporal-polyfill@npm:0.3.2" +"temporal-polyfill@npm:^1.0.0": + version: 1.0.5 + resolution: "temporal-polyfill@npm:1.0.5" dependencies: - temporal-spec: "npm:0.3.1" - checksum: 10c0/762795c94e1b6cb0574541d0b09f805ff23b0a2c9d0356ab3fc0205e390a3bce73e047de2fdc54c7d149d6e6d781aa1d95aa62afa5de4c83cb79c129b0e502da + temporal-spec: "npm:1.0.1" + temporal-utils: "npm:1.0.3" + checksum: 10c0/88928e40e60d0da0c998af2b8da09768ee2c8784fec7526317fde83f55eb69926209a6bbc4360792cac7ace7371949718bc1f12edac1df0fe42eba5d55a43451 languageName: node linkType: hard -"temporal-spec@npm:0.3.1": - version: 0.3.1 - resolution: "temporal-spec@npm:0.3.1" - checksum: 10c0/e38eae391bd59ae675f1925a65c8ef302933cf9ce98efedaf2e69269e8c36f2b5d486cd3084367f04a6c1ea0289b925690c0df20a73f0c4629b531775924e850 +"temporal-spec@npm:1.0.1": + version: 1.0.1 + resolution: "temporal-spec@npm:1.0.1" + checksum: 10c0/99f6bfe4a8e59cd0664d0e97706798a1e10d42b1b682da9b60778a4cb9a23362da01ea3d83a674ef426ed743bbab835e2e3d1acea5d2d4a9eabe33863237b014 + languageName: node + linkType: hard + +"temporal-utils@npm:1.0.3": + version: 1.0.3 + resolution: "temporal-utils@npm:1.0.3" + checksum: 10c0/185928a75aba0496ebbbdecbbbbd55cc817756bc39e099424e86477da01042a84ed27482bfc2168b6802fed2f01f004739f174f907e2e125b2fa060a978024b6 languageName: node linkType: hard @@ -31446,13 +31217,6 @@ __metadata: languageName: node linkType: hard -"term-size@npm:^2.1.0": - version: 2.2.1 - resolution: "term-size@npm:2.2.1" - checksum: 10c0/89f6bba1d05d425156c0910982f9344d9e4aebf12d64bfa1f460d93c24baa7bc4c4a21d355fbd7153c316433df0538f64d0ae6e336cc4a69fdda4f85d62bc79d - languageName: node - linkType: hard - "terser-webpack-plugin@npm:^5.3.9, terser-webpack-plugin@npm:^5.6.1": version: 5.6.1 resolution: "terser-webpack-plugin@npm:5.6.1" @@ -31659,13 +31423,20 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15": - version: 0.2.15 - resolution: "tinyglobby@npm:0.2.15" +"tinyexec@npm:^1.3.0, tinyexec@npm:^1.3.1": + version: 1.3.1 + resolution: "tinyexec@npm:1.3.1" + checksum: 10c0/c590369cb3fa73cc18a3998caec8a00f9712d91309c881be3ac52b160fb2f80c7b1fbf3591858ab6abab47ad55385b0c86ec19982e32441a01f55298dab9ccd2 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15": + version: 0.2.17 + resolution: "tinyglobby@npm:0.2.17" dependencies: fdir: "npm:^6.5.0" - picomatch: "npm:^4.0.3" - checksum: 10c0/869c31490d0d88eedb8305d178d4c75e7463e820df5a9b9d388291daf93e8b1eb5de1dad1c1e139767e4269fe75f3b10d5009b2cc14db96ff98986920a186844 + picomatch: "npm:^4.0.4" + checksum: 10c0/7f7bb0f197c88bc4b20c231e0deca4240ca3bf313a88f5a7fee93a872b84966a4d50220947c0455ad07a60b3b360961c5b7fd979222aeb716a9f99b412002e4c languageName: node linkType: hard @@ -32226,7 +31997,7 @@ __metadata: languageName: node linkType: hard -"unicode-match-property-value-ecmascript@npm:^2.0.0, unicode-match-property-value-ecmascript@npm:^2.2.1": +"unicode-match-property-value-ecmascript@npm:^2.2.1": version: 2.2.1 resolution: "unicode-match-property-value-ecmascript@npm:2.2.1" checksum: 10c0/93acd1ad9496b600e5379d1aaca154cf551c5d6d4a0aefaf0984fc2e6288e99220adbeb82c935cde461457fb6af0264a1774b8dfd4d9a9e31548df3352a4194d @@ -32381,13 +32152,6 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.1.0": - version: 0.1.2 - resolution: "universalify@npm:0.1.2" - checksum: 10c0/e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045 - languageName: node - linkType: hard - "universalify@npm:^2.0.0": version: 2.0.0 resolution: "universalify@npm:2.0.0" @@ -33855,6 +33619,15 @@ __metadata: languageName: node linkType: hard +"yaml@npm:^2.9.0": + version: 2.9.1 + resolution: "yaml@npm:2.9.1" + bin: + yaml: bin.mjs + checksum: 10c0/9d06676ef02b89559a8b10a71882bd2cdae81e8393dc8dbc871615c3259475d9609ad973d19cb3c9e71e72d6206e3d1e7aa241c7e55f3d16fd2e77db305827d6 + languageName: node + linkType: hard + "yargs-parser@npm:^20.2.2": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9"