From 29b2302d1742acc27a5984e75423ad04871483ec Mon Sep 17 00:00:00 2001 From: Aram <37216945+alimpens@users.noreply.github.com> Date: Sun, 4 Feb 2024 11:30:27 +0100 Subject: [PATCH 1/3] chore: Implement Release Please GitHub actions (#1058) Co-authored-by: Vincent Smedinga --- .github/workflows/feature-branch-cleanup.yml | 2 +- .github/workflows/feature-branch-deploy.yml | 2 +- .github/workflows/lint-test.yml | 21 +- .github/workflows/main-deploy.yml | 41 - .github/workflows/publish.yml | 105 +++ .release-please-manifest.json | 7 + documentation/publishing.md | 52 +- lerna.json | 18 +- package.json | 4 - pnpm-lock.yaml | 854 +------------------ release-please-config.json | 14 + 11 files changed, 170 insertions(+), 950 deletions(-) delete mode 100644 .github/workflows/main-deploy.yml create mode 100644 .github/workflows/publish.yml create mode 100644 .release-please-manifest.json create mode 100644 release-please-config.json diff --git a/.github/workflows/feature-branch-cleanup.yml b/.github/workflows/feature-branch-cleanup.yml index bf19d8b071..4645a92d78 100644 --- a/.github/workflows/feature-branch-cleanup.yml +++ b/.github/workflows/feature-branch-cleanup.yml @@ -18,7 +18,7 @@ jobs: BRANCH_NAME=$(echo $RAW_BRANCH_NAME | sed 's/[^/]*\///') echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV - - name: Checkout + - name: Check out uses: actions/checkout@v4 with: ref: gh-pages diff --git a/.github/workflows/feature-branch-deploy.yml b/.github/workflows/feature-branch-deploy.yml index 374a1819cb..37620227de 100644 --- a/.github/workflows/feature-branch-deploy.yml +++ b/.github/workflows/feature-branch-deploy.yml @@ -20,7 +20,7 @@ jobs: BRANCH_NAME=$(echo $RAW_BRANCH_NAME | sed 's/[^/]*\///') echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV - - name: Checkout + - name: Check out uses: actions/checkout@v4 - name: Create deployment diff --git a/.github/workflows/lint-test.yml b/.github/workflows/lint-test.yml index f3f3d8941d..2ed719e23a 100644 --- a/.github/workflows/lint-test.yml +++ b/.github/workflows/lint-test.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - - name: Checkout branch + - name: Check out branch uses: actions/checkout@v4 - name: Set up Node.js version @@ -18,8 +18,8 @@ jobs: with: node-version: "20" - - uses: pnpm/action-setup@v2 - name: Install pnpm + - name: Install pnpm + uses: pnpm/action-setup@v2 id: pnpm-install with: version: 8 @@ -30,8 +30,8 @@ jobs: run: | echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - - uses: actions/cache@v4 - name: Setup pnpm cache + - name: Set up pnpm cache + uses: actions/cache@v4 with: path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} @@ -48,7 +48,7 @@ jobs: needs: install steps: - - name: Checkout branch + - name: Check out branch uses: actions/checkout@v4 - name: Set up Node.js version @@ -56,8 +56,8 @@ jobs: with: node-version: "20" - - uses: pnpm/action-setup@v2 - name: Install pnpm + - name: Install pnpm + uses: pnpm/action-setup@v2 id: pnpm-install with: version: 8 @@ -67,8 +67,9 @@ jobs: id: pnpm-cache run: | echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - - uses: actions/cache@v4 - name: Setup pnpm cache + + - name: Set up pnpm cache + uses: actions/cache@v4 with: path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} diff --git a/.github/workflows/main-deploy.yml b/.github/workflows/main-deploy.yml deleted file mode 100644 index 93beb09753..0000000000 --- a/.github/workflows/main-deploy.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: Main Storybook deploy -on: - workflow_run: - workflows: [Lint and test] - types: [completed] - branches: [main] - -jobs: - publish-storybook: - runs-on: ubuntu-latest - if: ${{ github.event.workflow_run.conclusion == 'success' }} - - steps: - - name: Checkout release branch - uses: actions/checkout@v4 - - - name: "Restore build artifact: Storybook docs" - uses: dawidd6/action-download-artifact@v3 - with: - workflow: "lint-test.yml" - name: storybook-docs - path: dist/storybook - - - name: "Restore build artifact: Storybook react" - uses: dawidd6/action-download-artifact@v3 - with: - workflow: "lint-test.yml" - name: storybook-react - # React storybook is deployed to the /storybook-react subdirectory. - # In the main docs storybook, the contents of /storybook-react - # are also shown using Storybook composition. - path: dist/storybook/storybook-react - - - name: Deploy to GitHub Pages - uses: JamesIves/github-pages-deploy-action@v4 - with: - branch: gh-pages - folder: dist/storybook - # feature branch directories are prefixed with demo-* - # these are excluded from this action's default clean - clean-exclude: demo-* diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000000..84266133db --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,105 @@ +name: Publish + +on: + workflow_run: + workflows: [Lint and test] + types: [completed] + branches: [main] + +jobs: + create-release-and-publish: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + + steps: + - name: Create release + uses: google-github-actions/release-please-action@v4 + id: release + with: + token: ${{ secrets.GITHUB_TOKEN }} + target-branch: main + + # The logic below handles the npm publication: + - name: Check out branch + uses: actions/checkout@v4 + with: + # This is necessary because on.workflow_run always runs on the + # default branch, which is 'develop' in our case + ref: "main" + # these if statements ensure that a publication only occurs when + # a new release is created: + if: ${{ steps.release.outputs.releases_created }} + + - name: Set up Node.js version + uses: actions/setup-node@v4 + with: + node-version: 20 + registry-url: "https://registry.npmjs.org" + if: ${{ steps.release.outputs.releases_created }} + + - name: Install pnpm + uses: pnpm/action-setup@v2 + id: pnpm-install + with: + version: 8 + run_install: false + if: ${{ steps.release.outputs.releases_created }} + + - name: Get pnpm store directory + id: pnpm-cache + run: | + echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT + if: ${{ steps.release.outputs.releases_created }} + + - name: Set up pnpm cache + uses: actions/cache@v4 + with: + path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + if: ${{ steps.release.outputs.releases_created }} + + - name: Install dependencies + run: pnpm install + if: ${{ steps.release.outputs.releases_created }} + + - name: Build + run: pnpm run build + if: ${{ steps.release.outputs.releases_created }} + + - name: Publish + run: pnpm -r publish + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} + if: ${{ steps.release.outputs.releases_created }} + + # The logic below handles the Storybook deploy: + - name: "Restore build artifact: Storybook docs" + uses: dawidd6/action-download-artifact@v3 + with: + workflow: "lint-test.yml" + name: storybook-docs + path: dist/storybook + if: ${{ steps.release.outputs.releases_created }} + + - name: "Restore build artifact: Storybook react" + uses: dawidd6/action-download-artifact@v3 + with: + workflow: "lint-test.yml" + name: storybook-react + # React storybook is deployed to the /storybook-react subdirectory. + # In the main docs storybook, the contents of /storybook-react + # are also shown using Storybook composition. + path: dist/storybook/storybook-react + if: ${{ steps.release.outputs.releases_created }} + + - name: Deploy to GitHub Pages + uses: JamesIves/github-pages-deploy-action@v4 + with: + branch: gh-pages + folder: dist/storybook + # feature branch directories are prefixed with demo-* + # these are excluded from this action's default clean + clean-exclude: demo-* + if: ${{ steps.release.outputs.releases_created }} diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 0000000000..5973185086 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,7 @@ +{ + "packages/css": "0.3.0", + "packages/react": "0.3.0", + "proprietary/assets": "0.1.6", + "proprietary/react-icons": "0.1.11", + "proprietary/tokens": "0.3.0" +} diff --git a/documentation/publishing.md b/documentation/publishing.md index 9fb85ee5f1..e341c765cd 100644 --- a/documentation/publishing.md +++ b/documentation/publishing.md @@ -1,8 +1,9 @@ # Publishing -We use Lerna to create changelogs and releases for all our packages and to publish them to npm. +We use a [Release Please GitHub Action](https://github.com/google-github-actions/release-please-action) to create changelog and release PRs for all our packages. +When the release PR is merged, that same action publishes the new release to npm, creates a release on GitHub, and deploys it to our main Storybook environment. -Only members of the `@amsterdam` group can publish to npm. +The [maintainers](./documentation/maintainers.md) can release new versions of our packages. If you want to have rights to publish as well, contact one of the [maintainers](./maintainers.md). ## Conventional commits @@ -27,28 +28,25 @@ This will cause a major version bump in both packages on release and add its des ## How to create a release -1. Pull in the latest version of the `develop` branch locally. -2. Run `npm run clean` -3. Run `npm run build` -4. Run `npm run release`. This causes Lerna to do several things: - - - It bumps the version numbers of the packages that have been changed. - To do that, it relies on the conventional commit syntax used for all commit descriptions on the `develop` branch. - Breaking changes result in a major bump; new features get a minor bump, and everything else is a patch bump. - - It adds new entries to the changelogs of affected packages, again using the conventional commit descriptions. - - It adds a release commit to `develop`. - - It creates a release tag. - - It pushes all this to the remote. - -After we’ve created a new release, we want to publish it to npm: - -1. Ensure being authenticated with npm by running `npm login`. -2. Run `npm run publish` - -We also want to update our Storybook so it’s in sync with the new content of the packages on npm. -We do this by merging `develop` into `main`. -Note: the GitHub GUI doesn’t seem to allow you to perform fast-forward merges, so you should do this from your CLI. - -1. `git checkout main` -2. `git merge --ff-only develop` -3. `git push` +1. Locally merge the latest version of `develop` into `main` using a fast-forward merge, and push to the remote: + + ```shell + git checkout main + git pull + git merge --ff-only origin/develop + git push + ``` + +2. This triggers a GitHub Action, which creates a release PR. + Review, approve and merge this PR. + The same Action will then publish the release to npm and GitHub. + It also deploys the released version to our main Storybook environment. +3. When complete, the Action adds a new release commit to `main`. + Locally merge this commit back into `develop` and push it to the remote: + + ```shell + git checkout develop + git pull + git merge --ff-only origin/main + git push + ``` diff --git a/lerna.json b/lerna.json index c92cc964b0..89768eac7b 100644 --- a/lerna.json +++ b/lerna.json @@ -1,21 +1,5 @@ { "$schema": "node_modules/@lerna-lite/cli/schemas/lerna-schema.json", - "npmClient": "pnpm", "version": "independent", - "useWorkspaces": true, - "command": { - "publish": {}, - "version": { - "allowBranch": ["develop"], - "changelogPreset": { - "name": "conventionalcommits", - "issueUrlFormat": "{{host}}/{{owner}}/{{repository}}/issues/{{id}}" - }, - "conventionalCommits": true, - "exact": true, - "private": false, - "skipBumpOnlyReleases": true, - "syncWorkspaceLock": true - } - } + "useWorkspaces": true } diff --git a/package.json b/package.json index 636f21c8bc..a3172df808 100644 --- a/package.json +++ b/package.json @@ -20,9 +20,7 @@ ], "devDependencies": { "@lerna-lite/cli": "3.2.1", - "@lerna-lite/publish": "3.2.1", "@lerna-lite/run": "3.2.1", - "@lerna-lite/version": "3.2.1", "@types/node": "20.11.7", "@typescript-eslint/eslint-plugin": "6.19.1", "@typescript-eslint/parser": "6.19.1", @@ -68,8 +66,6 @@ "plop": "plop", "prepare": "husky install", "prettier": "prettier --write .", - "publish": "lerna publish from-package --yes", - "release": "lerna version", "start": "npm-run-all --parallel watch:**", "test": "npm run test-workspaces", "test-update": "npm-run-all --sequential clean lint build test", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index adf858a6e7..d14e140ec4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,17 +9,11 @@ importers: .: devDependencies: '@lerna-lite/cli': - specifier: 3.2.1 - version: 3.2.1(@lerna-lite/publish@3.2.1)(@lerna-lite/run@3.2.1)(@lerna-lite/version@3.2.1)(typescript@5.3.3) - '@lerna-lite/publish': specifier: 3.2.1 version: 3.2.1(@lerna-lite/run@3.2.1)(typescript@5.3.3) '@lerna-lite/run': specifier: 3.2.1 - version: 3.2.1(@lerna-lite/publish@3.2.1)(@lerna-lite/version@3.2.1)(typescript@5.3.3) - '@lerna-lite/version': - specifier: 3.2.1 - version: 3.2.1(@lerna-lite/publish@3.2.1)(@lerna-lite/run@3.2.1)(typescript@5.3.3) + version: 3.2.1(typescript@5.3.3) '@types/node': specifier: 20.11.7 version: 20.11.7 @@ -2533,11 +2527,6 @@ packages: resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} dev: true - /@hutson/parse-repository-url@5.0.0: - resolution: {integrity: sha512-e5+YUKENATs1JgYHMzTr2MW/NDcXGfYFAuOQU8gJgF/kEh4EqKgfGrfLI67bMD4tbhZVlkigz/9YYwWcbOFthg==} - engines: {node: '>=10.13.0'} - dev: true - /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -2550,10 +2539,6 @@ packages: wrap-ansi-cjs: /wrap-ansi@7.0.0 dev: true - /@isaacs/string-locale-compare@1.1.0: - resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==} - dev: true - /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -2857,7 +2842,7 @@ packages: resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} dev: true - /@lerna-lite/cli@3.2.1(@lerna-lite/publish@3.2.1)(@lerna-lite/run@3.2.1)(@lerna-lite/version@3.2.1)(typescript@5.3.3): + /@lerna-lite/cli@3.2.1(@lerna-lite/run@3.2.1)(typescript@5.3.3): resolution: {integrity: sha512-aF7lfe+TOmL+YxaKgJcHCfFT/nZ3ZI+icZTEVM80LaEIhVvgBJZSqabGFu1PbQ9onvBdKX2/FYaWhJz+fO7cIQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2884,9 +2869,7 @@ packages: dependencies: '@lerna-lite/core': 3.2.1(typescript@5.3.3) '@lerna-lite/init': 3.2.1(typescript@5.3.3) - '@lerna-lite/publish': 3.2.1(@lerna-lite/run@3.2.1)(typescript@5.3.3) - '@lerna-lite/run': 3.2.1(@lerna-lite/publish@3.2.1)(@lerna-lite/version@3.2.1)(typescript@5.3.3) - '@lerna-lite/version': 3.2.1(@lerna-lite/publish@3.2.1)(@lerna-lite/run@3.2.1)(typescript@5.3.3) + '@lerna-lite/run': 3.2.1(typescript@5.3.3) dedent: 1.5.1 dotenv: 16.3.1 import-local: 3.1.0 @@ -2976,52 +2959,11 @@ packages: - typescript dev: true - /@lerna-lite/publish@3.2.1(@lerna-lite/run@3.2.1)(typescript@5.3.3): - resolution: {integrity: sha512-a9xE0OV6NeM0l+9rKrkmDeDyNg051QKY4a9zJAaiUJKbdn54z6WvHdaq8PUzM627Fg6cTxYdXtP1elodXGPxmA==} - engines: {node: ^18.0.0 || >=20.0.0} - dependencies: - '@lerna-lite/cli': 3.2.1(@lerna-lite/publish@3.2.1)(@lerna-lite/run@3.2.1)(@lerna-lite/version@3.2.1)(typescript@5.3.3) - '@lerna-lite/core': 3.2.1(typescript@5.3.3) - '@lerna-lite/version': 3.2.1(@lerna-lite/publish@3.2.1)(@lerna-lite/run@3.2.1)(typescript@5.3.3) - '@npmcli/arborist': 7.3.1 - byte-size: 8.1.1 - chalk: 5.3.0 - columnify: 1.6.0 - fs-extra: 11.2.0 - glob: 10.3.10 - has-unicode: 2.0.1 - libnpmaccess: 8.0.2 - libnpmpublish: 9.0.3 - normalize-path: 3.0.0 - npm-package-arg: 11.0.1 - npm-packlist: 8.0.2 - npm-registry-fetch: 16.1.0 - npmlog: 7.0.1 - p-map: 7.0.1 - p-pipe: 4.0.0 - pacote: 17.0.5 - pify: 6.1.0 - read-package-json: 7.0.0 - semver: 7.5.4 - ssri: 10.0.5 - tar: 6.2.0 - temp-dir: 3.0.0 - transitivePeerDependencies: - - '@lerna-lite/exec' - - '@lerna-lite/list' - - '@lerna-lite/run' - - '@lerna-lite/watch' - - babel-plugin-macros - - bluebird - - supports-color - - typescript - dev: true - - /@lerna-lite/run@3.2.1(@lerna-lite/publish@3.2.1)(@lerna-lite/version@3.2.1)(typescript@5.3.3): + /@lerna-lite/run@3.2.1(typescript@5.3.3): resolution: {integrity: sha512-OqxDaLLnTIfg8ovxqrsxYbe3GF2ARmOz/UOGHAhHhEv7+ny9VwDVMq5fvY/u6lJSZPellSJBnTPPvWHFPELOTQ==} engines: {node: ^18.0.0 || >=20.0.0} dependencies: - '@lerna-lite/cli': 3.2.1(@lerna-lite/publish@3.2.1)(@lerna-lite/run@3.2.1)(@lerna-lite/version@3.2.1)(typescript@5.3.3) + '@lerna-lite/cli': 3.2.1(@lerna-lite/run@3.2.1)(typescript@5.3.3) '@lerna-lite/core': 3.2.1(typescript@5.3.3) '@lerna-lite/filter-packages': 3.2.1(typescript@5.3.3) '@lerna-lite/profiler': 3.2.1(typescript@5.3.3) @@ -3040,53 +2982,6 @@ packages: - typescript dev: true - /@lerna-lite/version@3.2.1(@lerna-lite/publish@3.2.1)(@lerna-lite/run@3.2.1)(typescript@5.3.3): - resolution: {integrity: sha512-cMXSTOjAQgtsUCPLXna/Uflxbmppkgxa9yulwCnUGsEZP0G8DfvQAaIpb1QOgxy49mFzPpcw51VDt4zfcF0MHA==} - engines: {node: ^18.0.0 || >=20.0.0} - dependencies: - '@lerna-lite/cli': 3.2.1(@lerna-lite/publish@3.2.1)(@lerna-lite/run@3.2.1)(@lerna-lite/version@3.2.1)(typescript@5.3.3) - '@lerna-lite/core': 3.2.1(typescript@5.3.3) - '@octokit/plugin-enterprise-rest': 6.0.1 - '@octokit/rest': 20.0.2 - chalk: 5.3.0 - conventional-changelog-angular: 7.0.0 - conventional-changelog-core: 7.0.0 - conventional-changelog-writer: 7.0.1 - conventional-commits-parser: 5.0.0 - conventional-recommended-bump: 9.0.0 - dedent: 1.5.1 - fs-extra: 11.2.0 - get-stream: 8.0.1 - git-url-parse: 14.0.0 - graceful-fs: 4.2.11 - is-stream: 3.0.0 - load-json-file: 7.0.1 - make-dir: 4.0.0 - minimatch: 9.0.3 - new-github-release-url: 2.0.0 - node-fetch: 3.3.2 - npm-package-arg: 11.0.1 - npmlog: 7.0.1 - p-map: 7.0.1 - p-pipe: 4.0.0 - p-reduce: 3.0.0 - pify: 6.1.0 - semver: 7.5.4 - slash: 5.1.0 - temp-dir: 3.0.0 - uuid: 9.0.1 - write-json-file: 5.0.0 - transitivePeerDependencies: - - '@lerna-lite/exec' - - '@lerna-lite/list' - - '@lerna-lite/publish' - - '@lerna-lite/run' - - '@lerna-lite/watch' - - babel-plugin-macros - - supports-color - - typescript - dev: true - /@ljharb/through@2.3.11: resolution: {integrity: sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==} engines: {node: '>= 0.4'} @@ -3230,49 +3125,6 @@ packages: - supports-color dev: true - /@npmcli/arborist@7.3.1: - resolution: {integrity: sha512-qjMywu8clYczZE2SlLZWVOujAyiJEHHSEzapIXpuMURRH/tfY0KPKvGPyjvV041QsGN3tsWeaTUHcOi59wscSw==} - engines: {node: ^16.14.0 || >=18.0.0} - hasBin: true - dependencies: - '@isaacs/string-locale-compare': 1.1.0 - '@npmcli/fs': 3.1.0 - '@npmcli/installed-package-contents': 2.0.2 - '@npmcli/map-workspaces': 3.0.4 - '@npmcli/metavuln-calculator': 7.0.0 - '@npmcli/name-from-folder': 2.0.0 - '@npmcli/node-gyp': 3.0.0 - '@npmcli/package-json': 5.0.0 - '@npmcli/query': 3.0.1 - '@npmcli/run-script': 7.0.3 - bin-links: 4.0.2 - cacache: 18.0.0 - common-ancestor-path: 1.0.1 - hosted-git-info: 7.0.1 - json-parse-even-better-errors: 3.0.0 - json-stringify-nice: 1.1.4 - minimatch: 9.0.3 - nopt: 7.2.0 - npm-install-checks: 6.2.0 - npm-package-arg: 11.0.1 - npm-pick-manifest: 9.0.0 - npm-registry-fetch: 16.1.0 - npmlog: 7.0.1 - pacote: 17.0.5 - parse-conflict-json: 3.0.1 - proc-log: 3.0.0 - promise-all-reject-late: 1.0.1 - promise-call-limit: 3.0.1 - read-package-json-fast: 3.0.2 - semver: 7.5.4 - ssri: 10.0.5 - treeverse: 3.0.0 - walk-up-path: 3.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - /@npmcli/config@8.0.3: resolution: {integrity: sha512-rqRX7/UORvm2YRImY67kyfwD9rpi5+KXXb1j/cpTUKRcUqvpJ9/PMMc7Vv57JVqmrFj8siBBFEmXI3Gg7/TonQ==} engines: {node: ^16.14.0 || >=18.0.0} @@ -3334,22 +3186,6 @@ packages: - bluebird dev: true - /@npmcli/git@5.0.3: - resolution: {integrity: sha512-UZp9NwK+AynTrKvHn5k3KviW/hA5eENmFsu3iAPe7sWRt0lFUdsY/wXIYjpDFe7cdSNwOIzbObfwgt6eL5/2zw==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@npmcli/promise-spawn': 7.0.0 - lru-cache: 10.0.1 - npm-pick-manifest: 9.0.0 - proc-log: 3.0.0 - promise-inflight: 1.0.1 - promise-retry: 2.0.1 - semver: 7.5.4 - which: 4.0.0 - transitivePeerDependencies: - - bluebird - dev: true - /@npmcli/installed-package-contents@2.0.2: resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -3368,19 +3204,6 @@ packages: read-package-json-fast: 3.0.2 dev: true - /@npmcli/metavuln-calculator@7.0.0: - resolution: {integrity: sha512-Pw0tyX02VkpqlIQlG2TeiJNsdrecYeUU0ubZZa9pi3N37GCsxI+en43u4hYFdq+eSx1A9a9vwFAUyqEtKFsbHQ==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - cacache: 18.0.0 - json-parse-even-better-errors: 3.0.0 - pacote: 17.0.5 - semver: 7.5.4 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - /@npmcli/move-file@2.0.1: resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -3399,21 +3222,6 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /@npmcli/package-json@5.0.0: - resolution: {integrity: sha512-OI2zdYBLhQ7kpNPaJxiflofYIpkNLi+lnGdzqUOfRmCF3r2l1nadcjtCYMJKv/Utm/ZtlffaUuTiAktPHbc17g==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@npmcli/git': 5.0.3 - glob: 10.3.10 - hosted-git-info: 7.0.1 - json-parse-even-better-errors: 3.0.0 - normalize-package-data: 6.0.0 - proc-log: 3.0.0 - semver: 7.5.4 - transitivePeerDependencies: - - bluebird - dev: true - /@npmcli/promise-spawn@6.0.2: resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -3428,13 +3236,6 @@ packages: which: 4.0.0 dev: true - /@npmcli/query@3.0.1: - resolution: {integrity: sha512-0jE8iHBogf/+bFDj+ju6/UMLbJ39c8h6nSe6qile+dB7PJ0iV3gNqcb2vtt6WWCBrxv9uAjzUT/8vroluulidA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - postcss-selector-parser: 6.0.13 - dev: true - /@npmcli/run-script@6.0.0: resolution: {integrity: sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -3475,113 +3276,6 @@ packages: - supports-color dev: true - /@octokit/auth-token@4.0.0: - resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} - engines: {node: '>= 18'} - dev: true - - /@octokit/core@5.0.2: - resolution: {integrity: sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg==} - engines: {node: '>= 18'} - dependencies: - '@octokit/auth-token': 4.0.0 - '@octokit/graphql': 7.0.2 - '@octokit/request': 8.1.6 - '@octokit/request-error': 5.0.1 - '@octokit/types': 12.3.0 - before-after-hook: 2.2.3 - universal-user-agent: 6.0.0 - dev: true - - /@octokit/endpoint@9.0.4: - resolution: {integrity: sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==} - engines: {node: '>= 18'} - dependencies: - '@octokit/types': 12.3.0 - universal-user-agent: 6.0.0 - dev: true - - /@octokit/graphql@7.0.2: - resolution: {integrity: sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==} - engines: {node: '>= 18'} - dependencies: - '@octokit/request': 8.1.6 - '@octokit/types': 12.3.0 - universal-user-agent: 6.0.0 - dev: true - - /@octokit/openapi-types@19.1.0: - resolution: {integrity: sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==} - dev: true - - /@octokit/plugin-enterprise-rest@6.0.1: - resolution: {integrity: sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==} - dev: true - - /@octokit/plugin-paginate-rest@9.1.4(@octokit/core@5.0.2): - resolution: {integrity: sha512-MvZx4WvfhBnt7PtH5XE7HORsO7bBk4er1FgRIUr1qJ89NR2I6bWjGyKsxk8z42FPQ34hFQm0Baanh4gzdZR4gQ==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '>=5' - dependencies: - '@octokit/core': 5.0.2 - '@octokit/types': 12.3.0 - dev: true - - /@octokit/plugin-request-log@4.0.0(@octokit/core@5.0.2): - resolution: {integrity: sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '>=5' - dependencies: - '@octokit/core': 5.0.2 - dev: true - - /@octokit/plugin-rest-endpoint-methods@10.2.0(@octokit/core@5.0.2): - resolution: {integrity: sha512-ePbgBMYtGoRNXDyKGvr9cyHjQ163PbwD0y1MkDJCpkO2YH4OeXX40c4wYHKikHGZcpGPbcRLuy0unPUuafco8Q==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '>=5' - dependencies: - '@octokit/core': 5.0.2 - '@octokit/types': 12.3.0 - dev: true - - /@octokit/request-error@5.0.1: - resolution: {integrity: sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==} - engines: {node: '>= 18'} - dependencies: - '@octokit/types': 12.3.0 - deprecation: 2.3.1 - once: 1.4.0 - dev: true - - /@octokit/request@8.1.6: - resolution: {integrity: sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==} - engines: {node: '>= 18'} - dependencies: - '@octokit/endpoint': 9.0.4 - '@octokit/request-error': 5.0.1 - '@octokit/types': 12.3.0 - universal-user-agent: 6.0.0 - dev: true - - /@octokit/rest@20.0.2: - resolution: {integrity: sha512-Ux8NDgEraQ/DMAU1PlAohyfBBXDwhnX2j33Z1nJNziqAfHi70PuxkFYIcIt8aIAxtRE7KVuKp8lSR8pA0J5iOQ==} - engines: {node: '>= 18'} - dependencies: - '@octokit/core': 5.0.2 - '@octokit/plugin-paginate-rest': 9.1.4(@octokit/core@5.0.2) - '@octokit/plugin-request-log': 4.0.0(@octokit/core@5.0.2) - '@octokit/plugin-rest-endpoint-methods': 10.2.0(@octokit/core@5.0.2) - dev: true - - /@octokit/types@12.3.0: - resolution: {integrity: sha512-nJ8X2HRr234q3w/FcovDlA+ttUU4m1eJAourvfUUtwAWeqL8AsyRqfnLvVnYn3NFbUnsmzQCzLNdFerPwdmcDQ==} - dependencies: - '@octokit/openapi-types': 19.1.0 - dev: true - /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -4389,13 +4083,6 @@ packages: '@sigstore/protobuf-specs': 0.2.1 dev: true - /@sigstore/bundle@2.1.0: - resolution: {integrity: sha512-89uOo6yh/oxaU8AeOUnVrTdVMcGk9Q1hJa7Hkvalc6G3Z3CupWk4Xe9djSgJm9fMkH69s0P0cVHUoKSOemLdng==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/protobuf-specs': 0.2.1 - dev: true - /@sigstore/protobuf-specs@0.1.0: resolution: {integrity: sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -4417,17 +4104,6 @@ packages: - supports-color dev: true - /@sigstore/sign@2.1.0: - resolution: {integrity: sha512-4VRpfJxs+8eLqzLVrZngVNExVA/zAhVbi4UT4zmtLi4xRd7vz5qie834OgkrGsLlLB1B2nz/3wUxT1XAUBe8gw==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/bundle': 2.1.0 - '@sigstore/protobuf-specs': 0.2.1 - make-fetch-happen: 13.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /@sigstore/tuf@1.0.3: resolution: {integrity: sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -4438,16 +4114,6 @@ packages: - supports-color dev: true - /@sigstore/tuf@2.2.0: - resolution: {integrity: sha512-KKATZ5orWfqd9ZG6MN8PtCIx4eevWSuGRKQvofnWXRpyMyUEpmrzg5M5BrCpjM+NfZ0RbNGOh5tCz/P2uoRqOA==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/protobuf-specs': 0.2.1 - tuf-js: 2.1.0 - transitivePeerDependencies: - - supports-color - dev: true - /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true @@ -5471,11 +5137,6 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /@tufjs/canonical-json@2.0.0: - resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} - engines: {node: ^16.14.0 || >=18.0.0} - dev: true - /@tufjs/models@1.0.3: resolution: {integrity: sha512-mkFEqqRisi13DmR5pX4x+Zk97EiU8djTtpNW1GeuX410y/raAsq/T3ZCjwoRIZ8/cIBfW0olK/sywlAiWevDVw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -5492,14 +5153,6 @@ packages: minimatch: 9.0.3 dev: true - /@tufjs/models@2.0.0: - resolution: {integrity: sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@tufjs/canonical-json': 2.0.0 - minimatch: 9.0.3 - dev: true - /@types/acorn@4.0.6: resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} dependencies: @@ -6163,14 +5816,6 @@ packages: tslib: 1.14.1 dev: true - /JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - dev: true - /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true @@ -6258,10 +5903,6 @@ packages: hasBin: true dev: true - /add-stream@1.0.0: - resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} - dev: true - /address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} @@ -6758,10 +6399,6 @@ packages: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true - /before-after-hook@2.2.3: - resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} - dev: true - /better-opn@3.0.2: resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} engines: {node: '>=12.0.0'} @@ -6774,16 +6411,6 @@ packages: engines: {node: '>=0.6'} dev: true - /bin-links@4.0.2: - resolution: {integrity: sha512-jxJ0PbXR8eQyPlExCvCs3JFnikvs1Yp4gUJt6nmgathdOwvur+q22KWC3h20gvWl4T/14DXKj2IlkJwwZkZPOw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - cmd-shim: 6.0.1 - npm-normalize-package-bin: 3.0.1 - read-cmd-shim: 4.0.0 - write-file-atomic: 5.0.1 - dev: true - /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -6950,11 +6577,6 @@ packages: streamsearch: 1.1.0 dev: true - /byte-size@8.1.1: - resolution: {integrity: sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg==} - engines: {node: '>=12.17'} - dev: true - /bytes@3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} engines: {node: '>= 0.8'} @@ -7381,11 +7003,6 @@ packages: resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} engines: {node: '>=6'} - /cmd-shim@6.0.1: - resolution: {integrity: sha512-S9iI9y0nKR4hwEQsVWpyxld/6kRfGepGfzff83FcaiEBpmvlbA2nnGe7Cylgrx2f/p1P5S5wpRm9oL8z1PbS3Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - /co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} @@ -7434,14 +7051,6 @@ packages: engines: {node: '>=0.1.90'} dev: true - /columnify@1.6.0: - resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} - engines: {node: '>=8.0.0'} - dependencies: - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -7483,10 +7092,6 @@ packages: engines: {node: ^12.20.0 || >=14} dev: true - /common-ancestor-path@1.0.1: - resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} - dev: true - /commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true @@ -7586,13 +7191,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /conventional-changelog-angular@7.0.0: - resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} - engines: {node: '>=16'} - dependencies: - compare-func: 2.0.0 - dev: true - /conventional-changelog-conventionalcommits@7.0.2: resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} engines: {node: '>=16'} @@ -7600,69 +7198,6 @@ packages: compare-func: 2.0.0 dev: true - /conventional-changelog-core@7.0.0: - resolution: {integrity: sha512-UYgaB1F/COt7VFjlYKVE/9tTzfU3VUq47r6iWf6lM5T7TlOxr0thI63ojQueRLIpVbrtHK4Ffw+yQGduw2Bhdg==} - engines: {node: '>=16'} - dependencies: - '@hutson/parse-repository-url': 5.0.0 - add-stream: 1.0.0 - conventional-changelog-writer: 7.0.1 - conventional-commits-parser: 5.0.0 - git-raw-commits: 4.0.0 - git-semver-tags: 7.0.1 - hosted-git-info: 7.0.1 - normalize-package-data: 6.0.0 - read-pkg: 8.1.0 - read-pkg-up: 10.1.0 - dev: true - - /conventional-changelog-preset-loader@4.1.0: - resolution: {integrity: sha512-HozQjJicZTuRhCRTq4rZbefaiCzRM2pr6u2NL3XhrmQm4RMnDXfESU6JKu/pnKwx5xtdkYfNCsbhN5exhiKGJA==} - engines: {node: '>=16'} - dev: true - - /conventional-changelog-writer@7.0.1: - resolution: {integrity: sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==} - engines: {node: '>=16'} - hasBin: true - dependencies: - conventional-commits-filter: 4.0.0 - handlebars: 4.7.8 - json-stringify-safe: 5.0.1 - meow: 12.1.1 - semver: 7.5.4 - split2: 4.2.0 - dev: true - - /conventional-commits-filter@4.0.0: - resolution: {integrity: sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==} - engines: {node: '>=16'} - dev: true - - /conventional-commits-parser@5.0.0: - resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} - engines: {node: '>=16'} - hasBin: true - dependencies: - JSONStream: 1.3.5 - is-text-path: 2.0.0 - meow: 12.1.1 - split2: 4.2.0 - dev: true - - /conventional-recommended-bump@9.0.0: - resolution: {integrity: sha512-HR1yD0G5HgYAu6K0wJjLd7QGRK8MQDqqj6Tn1n/ja1dFwBCE6QmV+iSgQ5F7hkx7OUR/8bHpxJqYtXj2f/opPQ==} - engines: {node: '>=16'} - hasBin: true - dependencies: - conventional-changelog-preset-loader: 4.1.0 - conventional-commits-filter: 4.0.0 - conventional-commits-parser: 5.0.0 - git-raw-commits: 4.0.0 - git-semver-tags: 7.0.1 - meow: 12.1.1 - dev: true - /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: true @@ -7853,21 +7388,11 @@ packages: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} dev: true - /dargs@8.1.0: - resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} - engines: {node: '>=12'} - dev: true - /dashify@2.0.0: resolution: {integrity: sha512-hpA5C/YrPjucXypHPPc0oJ1l9Hf6wWbiOL7Ik42cxnsUOhWiCB/fylKbKqqJalW9FgkNQCw16YO8uW9Hs0Iy1A==} engines: {node: '>=4'} dev: true - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: true - /data-urls@3.0.2: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} @@ -8096,10 +7621,6 @@ packages: engines: {node: '>= 0.8'} dev: true - /deprecation@2.3.1: - resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - dev: true - /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -9116,14 +8637,6 @@ packages: pend: 1.2.0 dev: true - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 - dev: true - /fetch-retry@5.0.4: resolution: {integrity: sha512-LXcdgpdcVedccGg0AZqg+S8lX/FCdwXD92WNZ5k5qsb0irRhSFsBOpcJt7oevyqT2/C2nEE0zSFNdBEpj3YOSw==} dev: true @@ -9231,14 +8744,6 @@ packages: path-exists: 4.0.0 dev: true - /find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - dev: true - /findup-sync@5.0.0: resolution: {integrity: sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==} engines: {node: '>= 10.13.0'} @@ -9342,13 +8847,6 @@ packages: mime-types: 2.1.35 dev: true - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - dependencies: - fetch-blob: 3.2.0 - dev: true - /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -9565,38 +9063,6 @@ packages: - supports-color dev: true - /git-raw-commits@4.0.0: - resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} - engines: {node: '>=16'} - hasBin: true - dependencies: - dargs: 8.1.0 - meow: 12.1.1 - split2: 4.2.0 - dev: true - - /git-semver-tags@7.0.1: - resolution: {integrity: sha512-NY0ZHjJzyyNXHTDZmj+GG7PyuAKtMsyWSwh07CR2hOZFa+/yoTsXci/nF2obzL8UDhakFNkD9gNdt/Ed+cxh2Q==} - engines: {node: '>=16'} - hasBin: true - dependencies: - meow: 12.1.1 - semver: 7.5.4 - dev: true - - /git-up@7.0.0: - resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} - dependencies: - is-ssh: 1.4.0 - parse-url: 8.1.0 - dev: true - - /git-url-parse@14.0.0: - resolution: {integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==} - dependencies: - git-up: 7.0.0 - dev: true - /github-slugger@1.5.0: resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} dev: true @@ -10145,13 +9611,6 @@ packages: minimatch: 9.0.3 dev: true - /ignore-walk@6.0.4: - resolution: {integrity: sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minimatch: 9.0.3 - dev: true - /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} @@ -10649,12 +10108,6 @@ packages: call-bind: 1.0.2 dev: true - /is-ssh@1.4.0: - resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} - dependencies: - protocols: 2.0.1 - dev: true - /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -10679,13 +10132,6 @@ packages: has-symbols: 1.0.3 dev: true - /is-text-path@2.0.0: - resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} - engines: {node: '>=8'} - dependencies: - text-extensions: 2.4.0 - dev: true - /is-typed-array@1.1.12: resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} @@ -11463,14 +10909,6 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /json-stringify-nice@1.1.4: - resolution: {integrity: sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==} - dev: true - - /json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: true - /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true @@ -11515,14 +10953,6 @@ packages: object.values: 1.1.7 dev: true - /just-diff-apply@5.5.0: - resolution: {integrity: sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==} - dev: true - - /just-diff@6.0.2: - resolution: {integrity: sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==} - dev: true - /keyv@4.5.3: resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} dependencies: @@ -11576,32 +11006,6 @@ packages: type-check: 0.4.0 dev: true - /libnpmaccess@8.0.2: - resolution: {integrity: sha512-4K+nsg3OYt4rjryP/3D5zGWluLbZaKozwj6YdtvAyxNhLhUrjCoyxHVoL5AkTJcAnjsd6/ATei52QPVvpSX9Ug==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - npm-package-arg: 11.0.1 - npm-registry-fetch: 16.1.0 - transitivePeerDependencies: - - supports-color - dev: true - - /libnpmpublish@9.0.3: - resolution: {integrity: sha512-XoF0QgT1Ph9RMBfTwiwZeRN4Rs5t4w1POaRxaoVoWCMUqysswwlAPu3ZZJDNbh7asXBWXcXTJziDWkInhpbiBg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - ci-info: 4.0.0 - normalize-package-data: 6.0.0 - npm-package-arg: 11.0.1 - npm-registry-fetch: 16.1.0 - proc-log: 3.0.0 - semver: 7.5.4 - sigstore: 2.1.0 - ssri: 10.0.5 - transitivePeerDependencies: - - supports-color - dev: true - /liftoff@4.0.0: resolution: {integrity: sha512-rMGwYF8q7g2XhG2ulBmmJgWv25qBsqRbDn5gH0+wnuyeFt7QBJlHJmtg5qEdn4pN6WVAUMgXnIxytMFRX9c1aA==} engines: {node: '>=10.13.0'} @@ -11711,13 +11115,6 @@ packages: p-locate: 5.0.0 dev: true - /locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-locate: 6.0.0 - dev: true - /lodash.chunk@4.2.0: resolution: {integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==} dev: false @@ -11855,13 +11252,6 @@ packages: semver: 6.3.1 dev: true - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - dependencies: - semver: 7.5.4 - dev: true - /make-fetch-happen@10.2.1: resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -12303,11 +11693,6 @@ packages: yargs-parser: 20.2.9 dev: true - /meow@12.1.1: - resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} - engines: {node: '>=16.10'} - dev: true - /meow@9.0.0: resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} engines: {node: '>=10'} @@ -13123,13 +12508,6 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /new-github-release-url@2.0.0: - resolution: {integrity: sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - type-fest: 2.19.0 - dev: true - /next@14.1.0(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0)(sass@1.70.0): resolution: {integrity: sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==} engines: {node: '>=18.17.0'} @@ -13188,11 +12566,6 @@ packages: minimatch: 3.1.2 dev: true - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: true - /node-fetch-native@1.1.0: resolution: {integrity: sha512-nl5goFCig93JZ9FIV8GHT9xpNqXbxQUzkOmKIMKmncsBH9jhg7qKex8hirpymkBFmNQ114chEEG5lS4wgK2I+Q==} dev: true @@ -13209,15 +12582,6 @@ packages: whatwg-url: 5.0.0 dev: true - /node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - dev: true - /node-gyp@10.0.1: resolution: {integrity: sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==} engines: {node: ^16.14.0 || >=18.0.0} @@ -13483,13 +12847,6 @@ packages: ignore-walk: 6.0.3 dev: true - /npm-packlist@8.0.2: - resolution: {integrity: sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - ignore-walk: 6.0.4 - dev: true - /npm-pick-manifest@8.0.1: resolution: {integrity: sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -13510,16 +12867,6 @@ packages: semver: 7.5.4 dev: true - /npm-pick-manifest@9.0.0: - resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - npm-install-checks: 6.2.0 - npm-normalize-package-bin: 3.0.1 - npm-package-arg: 11.0.1 - semver: 7.5.4 - dev: true - /npm-registry-fetch@14.0.5: resolution: {integrity: sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -13535,21 +12882,6 @@ packages: - supports-color dev: true - /npm-registry-fetch@16.1.0: - resolution: {integrity: sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - make-fetch-happen: 13.0.0 - minipass: 7.0.3 - minipass-fetch: 3.0.4 - minipass-json-stream: 1.0.1 - minizlib: 2.1.2 - npm-package-arg: 11.0.1 - proc-log: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /npm-run-all@4.1.5: resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} engines: {node: '>= 4'} @@ -13816,13 +13148,6 @@ packages: yocto-queue: 0.1.0 dev: true - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - yocto-queue: 1.0.0 - dev: true - /p-locate@3.0.0: resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} engines: {node: '>=6'} @@ -13844,13 +13169,6 @@ packages: p-limit: 3.1.0 dev: true - /p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-limit: 4.0.0 - dev: true - /p-map@3.0.0: resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} engines: {node: '>=8'} @@ -13877,11 +13195,6 @@ packages: engines: {node: '>=18'} dev: true - /p-pipe@4.0.0: - resolution: {integrity: sha512-HkPfFklpZQPUKBFXzKFB6ihLriIHxnmuQdK9WmLDwe4hf2PdhhfWT/FJa+pc3bA1ywvKXtedxIRmd4Y7BTXE4w==} - engines: {node: '>=12'} - dev: true - /p-queue@8.0.1: resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} engines: {node: '>=18'} @@ -13890,11 +13203,6 @@ packages: p-timeout: 6.1.2 dev: true - /p-reduce@3.0.0: - resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} - engines: {node: '>=12'} - dev: true - /p-timeout@6.1.2: resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} engines: {node: '>=14.16'} @@ -13970,34 +13278,6 @@ packages: - supports-color dev: true - /pacote@17.0.5: - resolution: {integrity: sha512-TAE0m20zSDMnchPja9vtQjri19X3pZIyRpm2TJVeI+yU42leJBBDTRYhOcWFsPhaMxf+3iwQkFiKz16G9AEeeA==} - engines: {node: ^16.14.0 || >=18.0.0} - hasBin: true - dependencies: - '@npmcli/git': 5.0.3 - '@npmcli/installed-package-contents': 2.0.2 - '@npmcli/promise-spawn': 7.0.0 - '@npmcli/run-script': 7.0.3 - cacache: 18.0.0 - fs-minipass: 3.0.3 - minipass: 7.0.3 - npm-package-arg: 11.0.1 - npm-packlist: 8.0.2 - npm-pick-manifest: 9.0.0 - npm-registry-fetch: 16.1.0 - proc-log: 3.0.0 - promise-retry: 2.0.1 - read-package-json: 7.0.0 - read-package-json-fast: 3.0.2 - sigstore: 2.1.0 - ssri: 10.0.5 - tar: 6.2.0 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - /pako@0.2.9: resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} dev: true @@ -14016,15 +13296,6 @@ packages: callsites: 3.1.0 dev: true - /parse-conflict-json@3.0.1: - resolution: {integrity: sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - json-parse-even-better-errors: 3.0.0 - just-diff: 6.0.2 - just-diff-apply: 5.5.0 - dev: true - /parse-entities@2.0.0: resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} dependencies: @@ -14098,18 +13369,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /parse-path@7.0.0: - resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} - dependencies: - protocols: 2.0.1 - dev: true - - /parse-url@8.1.0: - resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} - dependencies: - parse-path: 7.0.0 - dev: true - /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: @@ -14145,11 +13404,6 @@ packages: engines: {node: '>=8'} dev: true - /path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -14261,11 +13515,6 @@ packages: engines: {node: '>=6'} dev: true - /pify@6.1.0: - resolution: {integrity: sha512-KocF8ve28eFjjuBKKGvzOBGzG8ew2OqOOSxTTZhirkzH7h3BI1vyzqlR0qbfcDBve1Yzo3FVlWUAtCRrbVN8Fw==} - engines: {node: '>=14.16'} - dev: true - /pirates@4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} @@ -14444,14 +13693,6 @@ packages: engines: {node: '>=0.4.0'} dev: true - /promise-all-reject-late@1.0.1: - resolution: {integrity: sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==} - dev: true - - /promise-call-limit@3.0.1: - resolution: {integrity: sha512-utl+0x8gIDasV5X+PI5qWEPqH6fJS0pFtQ/4gZ95xfEFb/89dmh+/b895TbFDBLiafBvxD/PGTKfvxl4kH/pQg==} - dev: true - /promise-inflight@1.0.1: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: @@ -14497,10 +13738,6 @@ packages: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} dev: true - /protocols@2.0.1: - resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} - dev: true - /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -14784,11 +14021,6 @@ packages: dependencies: loose-envify: 1.4.0 - /read-cmd-shim@4.0.0: - resolution: {integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - /read-package-json-fast@3.0.2: resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -14807,25 +14039,6 @@ packages: npm-normalize-package-bin: 3.0.1 dev: true - /read-package-json@7.0.0: - resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - glob: 10.3.10 - json-parse-even-better-errors: 3.0.0 - normalize-package-data: 6.0.0 - npm-normalize-package-bin: 3.0.1 - dev: true - - /read-pkg-up@10.1.0: - resolution: {integrity: sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==} - engines: {node: '>=16'} - dependencies: - find-up: 6.3.0 - read-pkg: 8.1.0 - type-fest: 4.7.0 - dev: true - /read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -15596,18 +14809,6 @@ packages: - supports-color dev: true - /sigstore@2.1.0: - resolution: {integrity: sha512-kPIj+ZLkyI3QaM0qX8V/nSsweYND3W448pwkDgS6CQ74MfhEkIR8ToK5Iyx46KJYRjseVcD3Rp9zAmUAj6ZjPw==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/bundle': 2.1.0 - '@sigstore/protobuf-specs': 0.2.1 - '@sigstore/sign': 2.1.0 - '@sigstore/tuf': 2.2.0 - transitivePeerDependencies: - - supports-color - dev: true - /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true @@ -15762,11 +14963,6 @@ packages: resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} dev: true - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - dev: true - /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true @@ -16331,11 +15527,6 @@ packages: engines: {node: '>=8'} dev: true - /temp-dir@3.0.0: - resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} - engines: {node: '>=14.16'} - dev: true - /temp@0.8.4: resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} engines: {node: '>=6.0.0'} @@ -16373,11 +15564,6 @@ packages: minimatch: 3.1.2 dev: true - /text-extensions@2.4.0: - resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} - engines: {node: '>=8'} - dev: true - /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true @@ -16460,11 +15646,6 @@ packages: punycode: 2.3.0 dev: true - /treeverse@3.0.0: - resolution: {integrity: sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - /trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} @@ -16540,17 +15721,6 @@ packages: - supports-color dev: true - /tuf-js@2.1.0: - resolution: {integrity: sha512-eD7YPPjVlMzdggrOeE8zwoegUaG/rt6Bt3jwoQPunRiNVzgcCE009UDFJKJjG+Gk9wFu6W/Vi+P5d/5QpdD9jA==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@tufjs/models': 2.0.0 - debug: 4.3.4 - make-fetch-happen: 13.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -16924,10 +16094,6 @@ packages: unist-util-visit-parents: 6.0.1 dev: true - /universal-user-agent@6.0.0: - resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} - dev: true - /universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} @@ -17293,11 +16459,6 @@ packages: defaults: 1.0.4 dev: true - /web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} - dev: true - /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: true @@ -17678,10 +16839,5 @@ packages: engines: {node: '>=10'} dev: true - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true - /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 0000000000..390c3dcfa9 --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,14 @@ +{ + "plugins": ["node-workspace"], + "bootstrap-sha": "3bc9765e9de9553db5b643d2ed79735837d4d7b6", + "bump-minor-pre-major": true, + "bump-patch-for-minor-pre-major": true, + "group-pull-request-title-pattern": "chore(release): Publish new release(s)", + "packages": { + "packages/css": {}, + "packages/react": {}, + "proprietary/assets": {}, + "proprietary/react-icons": {}, + "proprietary/tokens": {} + } +} From b9b5078bf3d5d68cbe91139111825f19970b6cef Mon Sep 17 00:00:00 2001 From: Aram <37216945+alimpens@users.noreply.github.com> Date: Wed, 7 Feb 2024 11:24:47 +0100 Subject: [PATCH 2/3] chore: Simplify token scripts (#1062) Co-authored-by: Vincent Smedinga --- package.json | 7 +++---- proprietary/tokens/package.json | 6 ++---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index a3172df808..7bdafc5784 100644 --- a/package.json +++ b/package.json @@ -70,14 +70,13 @@ "test": "npm run test-workspaces", "test-update": "npm-run-all --sequential clean lint build test", "test-workspaces": "lerna run --no-bail test", - "prewatch:storybook": "lerna run build:style-dictionary", - "update-patch": "npm-check-updates --configFileName .ncurc.patch.js --deep --dep dev,prod --target patch --upgrade && pnpm install", - "update-minor": "npm-check-updates --configFileName .ncurc.minor.js --deep --dep dev,prod --target minor --upgrade && pnpm install", "update-major": "npm-check-updates --configFileName .ncurc.major.js --deep --dep dev,prod --target latest --upgrade && pnpm install", + "update-minor": "npm-check-updates --configFileName .ncurc.minor.js --deep --dep dev,prod --target minor --upgrade && pnpm install", + "update-patch": "npm-check-updates --configFileName .ncurc.patch.js --deep --dep dev,prod --target patch --upgrade && pnpm install", "watch:css": "npm run --workspace packages/css build:watch", "watch:react": "npm run --workspace packages/react build:watch", "watch:storybook-docs": "npx wait-on http://localhost:6007 && npm run --workspace storybook/storybook-docs start", "watch:storybook-react": "npm run --workspace storybook/storybook-react start", - "watch:style-dictionary": "npm run --workspace proprietary/tokens watch:style-dictionary" + "watch:tokens": "npm run --workspace proprietary/tokens watch" } } diff --git a/proprietary/tokens/package.json b/proprietary/tokens/package.json index 916f0ec773..159447c652 100644 --- a/proprietary/tokens/package.json +++ b/proprietary/tokens/package.json @@ -18,10 +18,8 @@ }, "scripts": { "clean": "rimraf dist/", - "build": "npm-run-all build:**", - "build:style-dictionary": "style-dictionary build --config ./style-dictionary.config.json", - "watch": "npm-run-all watch:**", - "watch:style-dictionary": "chokidar --follow-symlinks --initial --command \"npm run build\" \"src/**/*.tokens.json\"" + "build": "style-dictionary build --config ./style-dictionary.config.json", + "watch": "chokidar --follow-symlinks --initial --command \"npm run build\" \"src/**/*.tokens.json\"" }, "devDependencies": { "chokidar-cli": "3.0.0", From f8751716018d4ed269a086e1764741ad29714fa0 Mon Sep 17 00:00:00 2001 From: Niels Roozemond Date: Wed, 7 Feb 2024 11:30:07 +0100 Subject: [PATCH 3/3] feat: Hyphenate headings and other large text components (#1056) Co-authored-by: Vincent Smedinga Co-authored-by: Aram Limpens --- packages/css/src/common/hyphenation.scss | 5 +++++ .../css/src/components/blockquote/blockquote.scss | 3 +++ packages/css/src/components/dialog/dialog.scss | 6 ++++-- .../css/src/components/form-label/form-label.scss | 3 +++ packages/css/src/components/heading/heading.scss | 3 +++ .../css/src/components/link-list/link-list.scss | 4 ++++ .../src/components/page-heading/page-heading.scss | 3 +++ .../src/components/top-task-link/top-task-link.scss | 5 ++++- .../src/common/amsterdam/hyphenation.tokens.json | 9 +++++++++ .../src/components/amsterdam/alert.tokens.json | 13 ------------- storybook/storybook-react/config/preview.tsx | 9 +++++++++ 11 files changed, 47 insertions(+), 16 deletions(-) create mode 100644 packages/css/src/common/hyphenation.scss create mode 100644 proprietary/tokens/src/common/amsterdam/hyphenation.tokens.json diff --git a/packages/css/src/common/hyphenation.scss b/packages/css/src/common/hyphenation.scss new file mode 100644 index 0000000000..39b1e8e04c --- /dev/null +++ b/packages/css/src/common/hyphenation.scss @@ -0,0 +1,5 @@ +@mixin hyphenation { + hyphenate-limit-chars: var(--amsterdam-hyphenation-hyphenate-limit-chars); + hyphens: var(--amsterdam-hyphenation-hyphens); + overflow-wrap: var(--amsterdam-hyphenation-overflow-wrap); +} diff --git a/packages/css/src/components/blockquote/blockquote.scss b/packages/css/src/components/blockquote/blockquote.scss index 66454349d4..d2f4f27e7f 100644 --- a/packages/css/src/components/blockquote/blockquote.scss +++ b/packages/css/src/components/blockquote/blockquote.scss @@ -3,6 +3,8 @@ * Copyright (c) 2023 Gemeente Amsterdam */ +@import "../../common/hyphenation"; + @mixin reset { box-sizing: border-box; margin-block: 0; @@ -32,6 +34,7 @@ line-height: var(--amsterdam-blockquote-spacious-line-height); } + @include hyphenation; @include reset; } diff --git a/packages/css/src/components/dialog/dialog.scss b/packages/css/src/components/dialog/dialog.scss index 0bd07ed798..7bc27b00b2 100644 --- a/packages/css/src/components/dialog/dialog.scss +++ b/packages/css/src/components/dialog/dialog.scss @@ -4,6 +4,7 @@ */ @import "../../common/breakpoint"; +@import "../../common/hyphenation"; .amsterdam-dialog { background-color: var(--amsterdam-dialog-background-color); @@ -56,12 +57,13 @@ font-weight: var(--amsterdam-dialog-title-font-weight); line-height: var(--amsterdam-dialog-title-spacious-line-height); + @include hyphenation; + @include reset; + .amsterdam-theme--compact & { font-size: var(--amsterdam-dialog-title-compact-font-size); line-height: var(--amsterdam-dialog-title-compact-line-height); } - - @include reset; } .amsterdam-dialog__footer { diff --git a/packages/css/src/components/form-label/form-label.scss b/packages/css/src/components/form-label/form-label.scss index 42d25c826e..e133db8ab6 100644 --- a/packages/css/src/components/form-label/form-label.scss +++ b/packages/css/src/components/form-label/form-label.scss @@ -3,6 +3,8 @@ * Copyright (c) 2023 Gemeente Amsterdam */ +@import "../../common/hyphenation"; + @mixin reset { -webkit-text-size-adjust: 100%; } @@ -14,6 +16,7 @@ font-weight: var(--amsterdam-form-label-font-weight); line-height: var(--amsterdam-form-label-spacious-line-height); + @include hyphenation; @include reset; .amsterdam-theme--compact & { diff --git a/packages/css/src/components/heading/heading.scss b/packages/css/src/components/heading/heading.scss index 37b3bac8e4..0118f0ef8c 100644 --- a/packages/css/src/components/heading/heading.scss +++ b/packages/css/src/components/heading/heading.scss @@ -3,6 +3,8 @@ * Copyright (c) 2023 Gemeente Amsterdam */ +@import "../../common/hyphenation"; + @mixin reset { box-sizing: border-box; margin-block: 0; @@ -16,6 +18,7 @@ font-family: var(--amsterdam-heading-font-family); font-weight: var(--amsterdam-heading-font-weight); + @include hyphenation; @include reset; } diff --git a/packages/css/src/components/link-list/link-list.scss b/packages/css/src/components/link-list/link-list.scss index 5b4de63200..5b44f0072d 100644 --- a/packages/css/src/components/link-list/link-list.scss +++ b/packages/css/src/components/link-list/link-list.scss @@ -3,6 +3,8 @@ * Copyright (c) 2024 Gemeente Amsterdam */ +@import "../../common/hyphenation"; + @mixin reset-list { box-sizing: border-box; list-style: none; @@ -57,6 +59,8 @@ font-size: var(--amsterdam-link-list-link-spacious-large-font-size); line-height: var(--amsterdam-link-list-link-spacious-large-line-height); + @include hyphenation; + .amsterdam-theme--compact & { font-size: var(--amsterdam-link-list-link-compact-large-font-size); line-height: var(--amsterdam-link-list-link-compact-large-line-height); diff --git a/packages/css/src/components/page-heading/page-heading.scss b/packages/css/src/components/page-heading/page-heading.scss index cdd11e568b..7297367571 100644 --- a/packages/css/src/components/page-heading/page-heading.scss +++ b/packages/css/src/components/page-heading/page-heading.scss @@ -3,6 +3,8 @@ * Copyright (c) 2023 Gemeente Amsterdam */ +@import "../../common/hyphenation"; + @mixin reset { box-sizing: border-box; margin-block: 0; @@ -18,6 +20,7 @@ font-weight: var(--amsterdam-page-heading-font-weight); line-height: var(--amsterdam-page-heading-spacious-line-height); + @include hyphenation; @include reset; .amsterdam-theme--compact & { diff --git a/packages/css/src/components/top-task-link/top-task-link.scss b/packages/css/src/components/top-task-link/top-task-link.scss index aea15fb1ac..2394e04ce9 100644 --- a/packages/css/src/components/top-task-link/top-task-link.scss +++ b/packages/css/src/components/top-task-link/top-task-link.scss @@ -3,6 +3,8 @@ * Copyright (c) 2023 Gemeente Amsterdam */ +@import "../../common/hyphenation"; + .amsterdam-top-task-link { break-inside: avoid; display: flex; @@ -22,7 +24,7 @@ font-family: var(--amsterdam-top-task-link-label-font-family); font-size: var(--amsterdam-top-task-link-label-spacious-font-size); font-weight: var(--amsterdam-top-task-link-label-font-weight); - line-height: var(--amsterdam-top-task-link-label-line-height); + line-height: var(--amsterdam-top-task-link-label-spacious-line-height); text-decoration-line: var(--amsterdam-top-task-link-label-text-decoration-line); text-decoration-thickness: var(--amsterdam-top-task-link-label-text-decoration-thickness); text-underline-offset: var(--amsterdam-top-task-link-label-text-underline-offset); @@ -32,6 +34,7 @@ line-height: var(--amsterdam-top-task-link-label-compact-line-height); } + @include hyphenation; @include reset; } diff --git a/proprietary/tokens/src/common/amsterdam/hyphenation.tokens.json b/proprietary/tokens/src/common/amsterdam/hyphenation.tokens.json new file mode 100644 index 0000000000..9007b3bafb --- /dev/null +++ b/proprietary/tokens/src/common/amsterdam/hyphenation.tokens.json @@ -0,0 +1,9 @@ +{ + "amsterdam": { + "hyphenation": { + "hyphenate-limit-chars": { "value": "12 8 4" }, + "hyphens": { "value": "auto" }, + "overflow-wrap": { "value": "break-word" } + } + } +} diff --git a/proprietary/tokens/src/components/amsterdam/alert.tokens.json b/proprietary/tokens/src/components/amsterdam/alert.tokens.json index db1dd174e3..2bea7441b3 100644 --- a/proprietary/tokens/src/components/amsterdam/alert.tokens.json +++ b/proprietary/tokens/src/components/amsterdam/alert.tokens.json @@ -8,19 +8,6 @@ "padding-block-end": { "value": "{amsterdam.spacing.inset.md}" }, "padding-inline-start": { "value": "{amsterdam.spacing.inset.lg}" }, "padding-inline-end": { "value": "{amsterdam.spacing.inset.lg}" }, - "title": { - "color": { "value": "{amsterdam.color.primary-black}" }, - "font-family": { "value": "{amsterdam.typography.font-family}" }, - "font-weight": { "value": "{amsterdam.typography.font-weight.bold}" }, - "spacious": { - "font-size": { "value": "{amsterdam.typography.spacious.text-level.4.font-size}" }, - "line-height": { "value": "{amsterdam.typography.spacious.text-level.4.line-height}" } - }, - "compact": { - "font-size": { "value": "{amsterdam.typography.compact.text-level.4.font-size}" }, - "line-height": { "value": "{amsterdam.typography.compact.text-level.4.line-height}" } - } - }, "error": { "border-color": { "value": "{amsterdam.color.primary-red}" } }, diff --git a/storybook/storybook-react/config/preview.tsx b/storybook/storybook-react/config/preview.tsx index e142042e0e..b2a9360236 100644 --- a/storybook/storybook-react/config/preview.tsx +++ b/storybook/storybook-react/config/preview.tsx @@ -4,6 +4,15 @@ import '@amsterdam/design-system-css/dist/index.css' import '../../storybook-overrides.css' import { viewports } from './viewports' +// Set language to Dutch for Canvas and Stories +export const decorators = [ + (Story: any) => ( +
+ +
+ ), +] + export const parameters = { actions: { argTypesRegex: '^on[A-Z].*',