From 852922357242a59bcacc7970495803c3453fc7d6 Mon Sep 17 00:00:00 2001 From: Kilian Panot Date: Sun, 27 Oct 2024 01:54:10 +0900 Subject: [PATCH 01/40] doc: add badges for vscode and chrome extensions --- README.md | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index da5dc7f948..0a79ca22f0 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,11 @@ ## Description [![Stable Version](https://img.shields.io/npm/v/@o3r/core?style=for-the-badge)](https://www.npmjs.com/package/@o3r/core) +[![Chrome Extension](https://img.shields.io/chrome-web-store/v/aejabgendbpckkdnjaphhlifbhepmbne?style=for-the-badge&label=Chrome%20Extension&color=%23F2C146)](https://chromewebstore.google.com/detail/otter-devtools/aejabgendbpckkdnjaphhlifbhepmbne) +[![VSCode Extension](https://img.shields.io/visual-studio-marketplace/v/AmadeusITGroup.otter-devtools?style=for-the-badge&label=VSCode%20Extension&color=%2352A6E7)](https://marketplace.visualstudio.com/items?itemName=AmadeusITGroup.otter-devtools) [![downloads](https://img.shields.io/npm/dm/@o3r/core?style=for-the-badge)](https://www.npmjs.com/package/@o3r/core) + The **Otter** project is a highly modular framework whose goal is to provide a common platform to accelerate and facilitate the development on Angular web applications. It is split into several units to cover different aspects of these applications (localization, testing, customization, etc.). Also, to customize an application, metadata can be extracted from the application source code and injected into a CMS to manage dynamic configuration. @@ -63,24 +66,24 @@ Any bug of feature request can be addressed via [issue](https://github.com/Amade These documents describe how to set up your development environment to build and test the framework. It also explains the basic mechanics of using `git`, `node`, and `npm`. -* [Description](#description) -* [Built With](#built-with) -* [Get Started](#get-started) -* [Contributing](#contributing) -* [Versioning](#versioning) -* [License](#license) -* [Acknowledgments](#acknowledgments) -* [Developer](#developer) - * [Building and Testing library](#building-and-testing-library) - * [Prerequisite Software](#prerequisite-software) - * [Getting the sources](#getting-the-sources) - * [Installing NPM modules](#installing-npm-modules) - * [Build command](#build-command) - * [Running tests locally](#running-tests-locally) - * [Manage task cache](#manage-task-cache) - * [Debugging with Visual Studio Code](#debugging-with-visual-studio-code) - * [Link local packages](#link-local-packages) - * [SSL Certificate issue (behind proxy)](#ssl-certificate-issue-behind-proxy) +- [Description](#description) +- [Built With](#built-with) +- [Get Started](#get-started) +- [Contributing](#contributing) +- [Versioning](#versioning) +- [License](#license) +- [Acknowledgments](#acknowledgments) +- [Developer](#developer) + - [Building and Testing library](#building-and-testing-library) + - [Prerequisite Software](#prerequisite-software) + - [Getting the sources](#getting-the-sources) + - [Installing NPM modules](#installing-npm-modules) + - [Build command](#build-command) + - [Running tests locally](#running-tests-locally) + - [Manage task cache](#manage-task-cache) + - [Debugging with Visual Studio Code](#debugging-with-visual-studio-code) + - [Link local packages](#link-local-packages) + - [SSL Certificate issue (behind proxy)](#ssl-certificate-issue-behind-proxy) Refer to the [contribution guidelines](./CONTRIBUTING.md) if you'd like to contribute to the framework. From 8e5455cf3017246f1d1dea1fb08543dcd27efdf9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 08:29:46 +0000 Subject: [PATCH 02/40] fix(deps): update dependency @formatjs/intl-numberformat to ~8.13.0 --- apps/showcase/package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/showcase/package.json b/apps/showcase/package.json index ccaef7cf0a..1fcf7146f5 100644 --- a/apps/showcase/package.json +++ b/apps/showcase/package.json @@ -43,7 +43,7 @@ "@angular/platform-browser-dynamic": "~18.2.0", "@angular/router": "~18.2.0", "@design-factory/design-factory": "~18.1.0", - "@formatjs/intl-numberformat": "~8.12.0", + "@formatjs/intl-numberformat": "~8.13.0", "@ng-bootstrap/ng-bootstrap": "^17.0.0", "@ng-select/ng-select": "~13.9.0", "@ngrx/effects": "~18.0.0", diff --git a/yarn.lock b/yarn.lock index 00e35da397..af653444b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5048,14 +5048,14 @@ __metadata: languageName: node linkType: hard -"@formatjs/intl-numberformat@npm:~8.12.0": - version: 8.12.0 - resolution: "@formatjs/intl-numberformat@npm:8.12.0" +"@formatjs/intl-numberformat@npm:~8.13.0": + version: 8.13.0 + resolution: "@formatjs/intl-numberformat@npm:8.13.0" dependencies: "@formatjs/ecma402-abstract": "npm:2.2.0" "@formatjs/intl-localematcher": "npm:0.5.5" tslib: "npm:^2.7.0" - checksum: 10/f8e39177a850696690b7d7a4c3af3134094dfd657554e44ecc454fe59d34fd446063d27c5ece2ed6812266139da14a33823207ab406cbb31abe57892bd5e9343 + checksum: 10/c1c5ebcf559137978332045e56d228b4851a7ab96063a07a9ceef51e4f41c034f549d9c0ab21fa7d11f5b19f97a9ca5114d4367636bf22f7a23fd7e22c5e2412 languageName: node linkType: hard @@ -9612,7 +9612,7 @@ __metadata: "@angular/platform-browser-dynamic": "npm:~18.2.0" "@angular/router": "npm:~18.2.0" "@design-factory/design-factory": "npm:~18.1.0" - "@formatjs/intl-numberformat": "npm:~8.12.0" + "@formatjs/intl-numberformat": "npm:~8.13.0" "@ng-bootstrap/ng-bootstrap": "npm:^17.0.0" "@ng-select/ng-select": "npm:~13.9.0" "@ngrx/effects": "npm:~18.0.0" From 669ee08937c3cf51bab289240effe5d9e4e4577d Mon Sep 17 00:00:00 2001 From: Kilian Panot Date: Mon, 28 Oct 2024 19:51:09 +0900 Subject: [PATCH 03/40] fix(ama-sdk-create): registry patch in multiple npmrc --- .../schematics/typescript/shell/index.ts | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/packages/@ama-sdk/schematics/schematics/typescript/shell/index.ts b/packages/@ama-sdk/schematics/schematics/typescript/shell/index.ts index 029251597e..2010d1ab07 100644 --- a/packages/@ama-sdk/schematics/schematics/typescript/shell/index.ts +++ b/packages/@ama-sdk/schematics/schematics/typescript/shell/index.ts @@ -133,20 +133,19 @@ function ngGenerateTypescriptSDKFn(options: NgGenerateTypescriptSDKShellSchemati if (options.specPackageRegistry && specScope) { const workspaceRootNpmrcPath = posix.join(tree.root.path, '.npmrc'); const standaloneNpmrcPath = posix.join(targetPath, '.npmrc'); - let npmrc; - if (tree.exists(workspaceRootNpmrcPath)) { - npmrc = tree.readText(workspaceRootNpmrcPath); - } else { - npmrc = tree.exists(standaloneNpmrcPath) ? tree.readText(standaloneNpmrcPath) : ''; - } - npmrc += `\n@${specScope}:registry=${options.specPackageRegistry}\n`; - if (tree.exists(workspaceRootNpmrcPath)) { - tree.overwrite(workspaceRootNpmrcPath, npmrc); - } else if (tree.exists(standaloneNpmrcPath)){ - tree.overwrite(standaloneNpmrcPath, npmrc); - } else { - tree.create(standaloneNpmrcPath, npmrc); - } + const editNpmrc = (npmrcPath: string, create = false) => { + const exists = tree.exists(npmrcPath); + let npmrc = exists ? tree.readText(npmrcPath) : ''; + npmrc = `@${specScope}:registry=${options.specPackageRegistry}\n` + npmrc; + if (exists) { + tree.overwrite(npmrcPath, npmrc); + } else if (create) { + tree.create(npmrcPath, npmrc); + } + return exists; + }; + const workspaceRootNpmrcExists = editNpmrc(workspaceRootNpmrcPath); + editNpmrc(standaloneNpmrcPath, !workspaceRootNpmrcExists); } } From e7febef28c79e9868c9752c1d32889e1071b25f3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 14:46:06 +0000 Subject: [PATCH 04/40] chore(deps): update actions/checkout action to v4.2.2 --- .github/workflows/audit.yml | 2 +- .github/workflows/clean-cache.yml | 2 +- .github/workflows/code-check.yml | 6 +++--- .github/workflows/codeql.yml | 2 +- .github/workflows/deploy-showcase.yml | 2 +- .github/workflows/documentation.yml | 4 ++-- .github/workflows/e2e-tests.yml | 2 +- .github/workflows/it-tests.yml | 4 ++-- .github/workflows/main.yml | 6 +++--- .github/workflows/md-external-links-check.yml | 4 ++-- .github/workflows/pr-labels.yml | 2 +- .github/workflows/publish.yml | 6 +++--- .github/workflows/scorecards.yml | 2 +- .../templates/github/__dot__github/workflows/main.yml | 8 ++++---- 14 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml index 42220222f1..00fabb91b2 100644 --- a/.github/workflows/audit.yml +++ b/.github/workflows/audit.yml @@ -24,7 +24,7 @@ jobs: audit: runs-on: ubuntu-latest steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Setup uses: ./tools/github-actions/setup - name: Audit diff --git a/.github/workflows/clean-cache.yml b/.github/workflows/clean-cache.yml index bfd08e6fc4..7ebd8f2a06 100644 --- a/.github/workflows/clean-cache.yml +++ b/.github/workflows/clean-cache.yml @@ -18,7 +18,7 @@ jobs: # Needed to delete cache from action actions: write steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Clean Branch Cache uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 env: diff --git a/.github/workflows/code-check.yml b/.github/workflows/code-check.yml index 2ccc4bb135..e8e46e923e 100644 --- a/.github/workflows/code-check.yml +++ b/.github/workflows/code-check.yml @@ -30,7 +30,7 @@ jobs: runs-on: ubuntu-latest continue-on-error: true steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: gaurav-nelson/github-action-markdown-link-check@d53a906aa6b22b8979d33bc86170567e619495ec # v1.0.15 with: base-branch: 'main' @@ -46,7 +46,7 @@ jobs: env: NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: ${{ inputs.affected && '0' || '1' }} - name: Setup @@ -86,7 +86,7 @@ jobs: env: NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: ${{ inputs.affected && '0' || '1' }} - name: Setup diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 5781e2126e..3ef53b70e5 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -46,7 +46,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/deploy-showcase.yml b/.github/workflows/deploy-showcase.yml index c2dc61664b..0d522b9cdb 100644 --- a/.github/workflows/deploy-showcase.yml +++ b/.github/workflows/deploy-showcase.yml @@ -31,7 +31,7 @@ jobs: NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} steps: - name: Checkout - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: ./tools/github-actions/setup - name: build run: yarn nx build showcase diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index f7dafc79f5..33c2c231cc 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -35,7 +35,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: ./tools/github-actions/setup - name: Generate doc run: yarn doc:generate @@ -60,7 +60,7 @@ jobs: name: azure-static-webapp url: ${{ steps.deploy.outputs.static_web_app_url }} steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: name: ${{ inputs.artifactName }} diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index eb752e866c..f04bb20234 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -26,7 +26,7 @@ jobs: env: NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: ./tools/github-actions/download-build-output - uses: ./tools/github-actions/setup - run: yarn playwright install diff --git a/.github/workflows/it-tests.yml b/.github/workflows/it-tests.yml index 60d99a124d..01e2b7c132 100644 --- a/.github/workflows/it-tests.yml +++ b/.github/workflows/it-tests.yml @@ -26,7 +26,7 @@ jobs: env: NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: ./tools/github-actions/download-build-output - uses: ./tools/github-actions/setup - name: Setup verdaccio once for all tests @@ -63,7 +63,7 @@ jobs: ENFORCED_PACKAGE_MANAGER: ${{ matrix.packageManager }} PREPARE_TEST_ENV_TYPE: ${{ matrix.testEnvironment }} steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: ./tools/github-actions/download-build-output - uses: ./tools/github-actions/setup - shell: bash diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b5af45fe53..2ea7cbff29 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,7 +27,7 @@ jobs: yarn_lock_check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: ./tools/github-actions/setup env: YARN_ENABLE_HARDENED_MODE: 1 @@ -39,7 +39,7 @@ jobs: NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} NX_SKIP_NX_CACHE: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/heads/release') }} steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: ./tools/github-actions/setup - uses: ./.github/actions/setup-java with: @@ -58,7 +58,7 @@ jobs: nextVersionTag: ${{ steps.newVersion.outputs.nextVersionTag }} isPreRelease: ${{ contains( steps.newVersion.outputs.nextVersionTag, '-' ) || github.event_name == 'pull_request' || github.event_name == 'merge_group'}} steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 with: node-version: 20 diff --git a/.github/workflows/md-external-links-check.yml b/.github/workflows/md-external-links-check.yml index fd6bbe7c67..465bd8de05 100644 --- a/.github/workflows/md-external-links-check.yml +++ b/.github/workflows/md-external-links-check.yml @@ -10,7 +10,7 @@ jobs: markdown-link-check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: gaurav-nelson/github-action-markdown-link-check@d53a906aa6b22b8979d33bc86170567e619495ec # v1.0.15 with: use-quiet-mode: 'yes' @@ -21,7 +21,7 @@ jobs: needs: [markdown-link-check] if: failure() steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Create an issue uses: JasonEtco/create-an-issue@1b14a70e4d8dc185e5cc76d3bec9eab20257b2c5 # v2.9.2 env: diff --git a/.github/workflows/pr-labels.yml b/.github/workflows/pr-labels.yml index ba2614b7e3..7901a25587 100644 --- a/.github/workflows/pr-labels.yml +++ b/.github/workflows/pr-labels.yml @@ -15,7 +15,7 @@ jobs: pull-requests: write issues: write steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 - name: Setup diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 580f632b19..6b9773ab40 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -63,7 +63,7 @@ jobs: # Needed to publish with provenance id-token: write steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 2 ref: ${{ inputs.gitRef }} @@ -92,7 +92,7 @@ jobs: APP_PATH: 'apps/github-cascading-app/dist' environment: 'cascading-app' steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 2 - uses: ./tools/github-actions/download-build-output @@ -125,7 +125,7 @@ jobs: environment: ${{inputs.isPullRequest && 'development' || 'production'}} needs: [publish] steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 2 - uses: ./tools/github-actions/download-build-output diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index c8ae59d007..9d5b231b89 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -31,7 +31,7 @@ jobs: steps: - name: "Checkout code" - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false diff --git a/packages/@o3r/pipeline/schematics/ng-add/templates/github/__dot__github/workflows/main.yml b/packages/@o3r/pipeline/schematics/ng-add/templates/github/__dot__github/workflows/main.yml index 2bc1f6b76f..d5733c4393 100644 --- a/packages/@o3r/pipeline/schematics/ng-add/templates/github/__dot__github/workflows/main.yml +++ b/packages/@o3r/pipeline/schematics/ng-add/templates/github/__dot__github/workflows/main.yml @@ -19,7 +19,7 @@ jobs: build: runs-on: <%= runner %> steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: ./.github/actions/setup - name: Build run: <%= packageManager %> run build @@ -27,7 +27,7 @@ jobs: unit-tests: runs-on: <%= runner %> steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: ./.github/actions/setup - name: Unit tests run: <%= packageManager %> run test @@ -35,7 +35,7 @@ jobs: lint: runs-on: <%= runner %> steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: ./.github/actions/setup - name: Lint run: <%= packageManager %> run lint @@ -47,7 +47,7 @@ jobs: outputs: nextVersionTag: ${{ steps.new-version.outputs.nextVersionTag }} steps: - - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: New version if: github.event_name != 'merge_group' id: new-version From 4247e61cbb61e0eb09548dd6902ab28f6091829a Mon Sep 17 00:00:00 2001 From: Kilian Panot Date: Tue, 29 Oct 2024 01:56:11 +0900 Subject: [PATCH 05/40] fix(design): stroke type to limit to valid values --- .../design-token-specification.interface.ts | 13 ++++++------- .../design-token/parsers/design-token.parser.ts | 3 +-- packages/@o3r/design/tsconfig.spec.json | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/@o3r/design/src/core/design-token/design-token-specification.interface.ts b/packages/@o3r/design/src/core/design-token/design-token-specification.interface.ts index a4b44ac481..583a1b3013 100644 --- a/packages/@o3r/design/src/core/design-token/design-token-specification.interface.ts +++ b/packages/@o3r/design/src/core/design-token/design-token-specification.interface.ts @@ -124,9 +124,11 @@ type DesignTokenTypeStrokeStyleDetailsValue = { lineCap: 'round' | 'butt' | 'square'; }; +// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents -- `string` type is added only due to Jest transpiling issue +type DesignTokenTypeStrokeStyleLiterals = 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'outset' | 'inset' | string; + /** Value of the Design Token Stroke Style */ -export type DesignTokenTypeStrokeStyleValue = DesignTokenTypeStrokeStyleDetailsValue | - 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'outset' | 'inset'; +export type DesignTokenTypeStrokeStyleValue = DesignTokenTypeStrokeStyleDetailsValue | DesignTokenTypeStrokeStyleLiterals; /** Design Token Stroke Style */ export interface DesignTokenTypeStrokeStyle extends DesignTokenBase { @@ -137,9 +139,7 @@ export interface DesignTokenTypeStrokeStyle { * @param value Stroke Style value * @returns true if it is a defined value */ -// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents -export const isTokenTypeStrokeStyleValueComplex = (value?: DesignTokenTypeStrokeStyleValue | string): value is DesignTokenTypeStrokeStyleDetailsValue => { +export const isTokenTypeStrokeStyleValueComplex = (value?: DesignTokenTypeStrokeStyleValue): value is DesignTokenTypeStrokeStyleDetailsValue => { return !!value && typeof value !== 'string'; }; diff --git a/packages/@o3r/design/src/core/design-token/parsers/design-token.parser.ts b/packages/@o3r/design/src/core/design-token/parsers/design-token.parser.ts index 603975e936..43693bbaf0 100644 --- a/packages/@o3r/design/src/core/design-token/parsers/design-token.parser.ts +++ b/packages/@o3r/design/src/core/design-token/parsers/design-token.parser.ts @@ -69,8 +69,7 @@ const applyConversion = (token: DesignTokenVariableStructure, value: string) => return newValue; }; -// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents -const renderCssTypeStrokeStyleValue = (value: DesignTokenTypeStrokeStyleValue | string) => isTokenTypeStrokeStyleValueComplex(value) ? `${value.lineCap} ${value.dashArray.join(' ')}` : value; +const renderCssTypeStrokeStyleValue = (value: DesignTokenTypeStrokeStyleValue) => isTokenTypeStrokeStyleValueComplex(value) ? `${value.lineCap} ${value.dashArray.join(' ')}` : value; const sanitizeStringValue = (value: string) => value.replace(/[\\]/g, '\\\\').replace(/"/g, '\\"'); const sanitizeKeyName = (name: string) => name.replace(/[ .]+/g, '-').replace(/[()[\]]+/g, ''); const getCssRawValue = (variableSet: DesignTokenVariableSet, token: DesignTokenVariableStructure) => { diff --git a/packages/@o3r/design/tsconfig.spec.json b/packages/@o3r/design/tsconfig.spec.json index fa32740a8b..1ba6450504 100644 --- a/packages/@o3r/design/tsconfig.spec.json +++ b/packages/@o3r/design/tsconfig.spec.json @@ -3,7 +3,7 @@ "compilerOptions": { "resolveJsonModule": true, "composite": true, - "rootDir": ".", + "rootDir": "." }, "include": [ "./src/**/*.spec.ts", From 8dd31dd44c9a64b143fd40de6c238c4a9a3673a4 Mon Sep 17 00:00:00 2001 From: Kilian Panot Date: Fri, 25 Oct 2024 10:41:14 +0900 Subject: [PATCH 06/40] doc: enhance breaking change rules --- .github/pull_request_template.md | 18 ++++++++++++++---- CODE_OF_CONDUCT.md | 3 +-- CONTRIBUTING.md | 3 ++- SECURITY.md | 20 ++++++++++++-------- 4 files changed, 29 insertions(+), 15 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 6a9e773b13..b9359e35f7 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,10 +1,20 @@ ## Proposed change - + ## Related issues -- :bug: Fixes #(issue) -- :rocket: Feature #(issue) + - +*- No issue associated -* + + + + + + diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 72aae81c29..92a859d443 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -60,8 +60,7 @@ representative at an online or offline event. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -opensource@amadeus.com. +reported to the community leaders responsible for enforcement at [opensource@amadeus.com](mailto:opensource@amadeus.com). All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f057b0fe25..e835148337 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -43,7 +43,8 @@ Those are common examples, for more information don't hesitate to have a look at When contributing, please keep in mind the following rules: - Make only non-breaking changes in minor versions. Enhancements to existing code are possible - please discuss it beforehand with the Otter team via a [feature request](#feature-requests). -- If the new feature you are adding is replacing an existing one, please deprecate the old code in minor versions. Add the @deprecated tag in the JSDoc while mentioning the major version when it will be removed. Note that only **even** major Otter versions allow breaking changes. This means we only allow breaking changes in `n+2` major versions. +- If the new feature you are adding is replacing an existing one, please deprecate the old code in minor versions. Add the `@deprecated` tag in the *JSDoc* while mentioning the major version when it will be removed. Note that only **even** major Otter versions allow **costly breaking changes**. The cost of the breaking change will be determined by the responsible team at code review time (see [Versioning rules](./SECURITY.md)).\ + A breaking change can be effective only from the major version `n + 2` **after the deprecation.** - Please ensure that you are submitting quality code, specifically make sure that the changes comply with our [code styling convention](#style-guide). ### Style guide diff --git a/SECURITY.md b/SECURITY.md index 9b884bbd45..42f6ecaabc 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -6,22 +6,26 @@ A minor version is released every month. Two major versions are released per year: -- A technical version is released during summer to upgrade the Otter library peer dependencies, such as: - - Angular - - Typescript - - RxJS - - NgRx - - etc... +- A technical version is released during summer which can include: + - Upgrades of the Otter library peer dependencies, such as: + - Angular + - Typescript + - RxJS + - NgRx + - etc... + - Breaking changes covered by `ng update` code patching + - Breaking changes with a **very low migration cost** can be exceptionally accepted, the code review will determine its acceptance. - Another one to deliver new features of the Otter library, released at the beginning of the year. ## Release version support -The team will provide support on the latest minor version of major versions __N (current)__, __N-1__ and __N-2__. +The team will provide support on the latest minor version of major versions **N (current)**, **N-1** and **N-2**. A major version will be supported as long as it relies on a [non deprecated version of Angular](https://angular.io/guide/releases#support-policy-and-schedule). -> __Note__: It is also important to note that Otter supports the same browser versions as Angular. +> [!NOTE] +> It is also important to note that Otter supports the same browser versions as Angular. The following table provides the status of the Otter versions under support and each of their corresponding Angular version: From e20069984beff13a1bdbc8ba69fe49ec2630c9ff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 03:41:29 +0000 Subject: [PATCH 07/40] chore(deps): update actions/setup-node action to v4.1.0 --- .github/workflows/main.yml | 2 +- .../templates/github/__dot__github/actions/setup/action.yml | 2 +- tools/github-actions/setup/action.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2ea7cbff29..6917c298e3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -59,7 +59,7 @@ jobs: isPreRelease: ${{ contains( steps.newVersion.outputs.nextVersionTag, '-' ) || github.event_name == 'pull_request' || github.event_name == 'merge_group'}} steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 - name: New Version diff --git a/packages/@o3r/pipeline/schematics/ng-add/templates/github/__dot__github/actions/setup/action.yml b/packages/@o3r/pipeline/schematics/ng-add/templates/github/__dot__github/actions/setup/action.yml index 2f6c6e6853..4dcb8950cd 100644 --- a/packages/@o3r/pipeline/schematics/ng-add/templates/github/__dot__github/actions/setup/action.yml +++ b/packages/@o3r/pipeline/schematics/ng-add/templates/github/__dot__github/actions/setup/action.yml @@ -4,7 +4,7 @@ description: Sets up Node.js and installs dependencies runs: using: "composite" steps: - - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: <%= packageManager %> diff --git a/tools/github-actions/setup/action.yml b/tools/github-actions/setup/action.yml index 3576080503..12fe3e74ca 100644 --- a/tools/github-actions/setup/action.yml +++ b/tools/github-actions/setup/action.yml @@ -4,7 +4,7 @@ description: 'Setup for Otter Library' runs: using: "composite" steps: - - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 - name: Enable Corepack From 7f3366c6eadaf8876dcf35417dfc8836afe219b0 Mon Sep 17 00:00:00 2001 From: Kilian Panot Date: Tue, 29 Oct 2024 13:22:32 +0900 Subject: [PATCH 08/40] fix(github-actions-release): source path --- tools/github-actions/release/package.json | 2 +- tools/github-actions/release/packaged-action/index.cjs | 1 - tools/github-actions/release/packaged-action/index.cjs.map | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/github-actions/release/package.json b/tools/github-actions/release/package.json index cc83e2dc66..441a434f1b 100644 --- a/tools/github-actions/release/package.json +++ b/tools/github-actions/release/package.json @@ -3,7 +3,7 @@ "private": true, "name": "release-gh-action", "description": "Git release action provided by Otter", - "main": "tmp/get-previous-version.cjs", + "main": "tmp/src/get-previous-version.cjs", "scripts": { "nx": "nx", "build": "tsc -b tsconfig.build.json", diff --git a/tools/github-actions/release/packaged-action/index.cjs b/tools/github-actions/release/packaged-action/index.cjs index 2eb04cd2bd..52d32cdcfa 100755 --- a/tools/github-actions/release/packaged-action/index.cjs +++ b/tools/github-actions/release/packaged-action/index.cjs @@ -2889,7 +2889,6 @@ async function main() { } return acc; }, undefined); - // process all the data and write it back to stdout process.stdout.write(previousVersion?.tag || ''); } void main(); diff --git a/tools/github-actions/release/packaged-action/index.cjs.map b/tools/github-actions/release/packaged-action/index.cjs.map index 26e4ff5e15..4fd86e3945 100644 --- a/tools/github-actions/release/packaged-action/index.cjs.map +++ b/tools/github-actions/release/packaged-action/index.cjs.map @@ -1 +1 @@ -{"version":3,"file":"index.cjs.js","mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACziBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7SA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChEA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClBA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxNA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7BA;AACA;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["../../../../.yarn/cache/minimist-npm-1.2.8-d7af7b1dce-908491b6cc.zip/node_modules/minimist/index.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/classes/comparator.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/classes/range.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/classes/semver.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/clean.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/cmp.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/coerce.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/compare-build.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/compare-loose.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/compare.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/diff.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/eq.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/gt.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/gte.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/inc.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/lt.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/lte.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/major.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/minor.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/neq.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/parse.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/patch.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/prerelease.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/rcompare.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/rsort.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/satisfies.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/sort.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/valid.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/index.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/internal/constants.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/internal/debug.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/internal/identifiers.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/internal/lrucache.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/internal/parse-options.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/internal/re.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/gtr.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/intersects.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/ltr.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/max-satisfying.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/min-satisfying.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/min-version.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/outside.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/simplify.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/subset.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/to-comparators.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/valid.js","../webpack/bootstrap","../webpack/runtime/compat",".././tmp/get-previous-version.cjs"],"sourcesContent":["'use strict';\n\nfunction hasKey(obj, keys) {\n\tvar o = obj;\n\tkeys.slice(0, -1).forEach(function (key) {\n\t\to = o[key] || {};\n\t});\n\n\tvar key = keys[keys.length - 1];\n\treturn key in o;\n}\n\nfunction isNumber(x) {\n\tif (typeof x === 'number') { return true; }\n\tif ((/^0x[0-9a-f]+$/i).test(x)) { return true; }\n\treturn (/^[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(e[-+]?\\d+)?$/).test(x);\n}\n\nfunction isConstructorOrProto(obj, key) {\n\treturn (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';\n}\n\nmodule.exports = function (args, opts) {\n\tif (!opts) { opts = {}; }\n\n\tvar flags = {\n\t\tbools: {},\n\t\tstrings: {},\n\t\tunknownFn: null,\n\t};\n\n\tif (typeof opts.unknown === 'function') {\n\t\tflags.unknownFn = opts.unknown;\n\t}\n\n\tif (typeof opts.boolean === 'boolean' && opts.boolean) {\n\t\tflags.allBools = true;\n\t} else {\n\t\t[].concat(opts.boolean).filter(Boolean).forEach(function (key) {\n\t\t\tflags.bools[key] = true;\n\t\t});\n\t}\n\n\tvar aliases = {};\n\n\tfunction aliasIsBoolean(key) {\n\t\treturn aliases[key].some(function (x) {\n\t\t\treturn flags.bools[x];\n\t\t});\n\t}\n\n\tObject.keys(opts.alias || {}).forEach(function (key) {\n\t\taliases[key] = [].concat(opts.alias[key]);\n\t\taliases[key].forEach(function (x) {\n\t\t\taliases[x] = [key].concat(aliases[key].filter(function (y) {\n\t\t\t\treturn x !== y;\n\t\t\t}));\n\t\t});\n\t});\n\n\t[].concat(opts.string).filter(Boolean).forEach(function (key) {\n\t\tflags.strings[key] = true;\n\t\tif (aliases[key]) {\n\t\t\t[].concat(aliases[key]).forEach(function (k) {\n\t\t\t\tflags.strings[k] = true;\n\t\t\t});\n\t\t}\n\t});\n\n\tvar defaults = opts.default || {};\n\n\tvar argv = { _: [] };\n\n\tfunction argDefined(key, arg) {\n\t\treturn (flags.allBools && (/^--[^=]+$/).test(arg))\n\t\t\t|| flags.strings[key]\n\t\t\t|| flags.bools[key]\n\t\t\t|| aliases[key];\n\t}\n\n\tfunction setKey(obj, keys, value) {\n\t\tvar o = obj;\n\t\tfor (var i = 0; i < keys.length - 1; i++) {\n\t\t\tvar key = keys[i];\n\t\t\tif (isConstructorOrProto(o, key)) { return; }\n\t\t\tif (o[key] === undefined) { o[key] = {}; }\n\t\t\tif (\n\t\t\t\to[key] === Object.prototype\n\t\t\t\t|| o[key] === Number.prototype\n\t\t\t\t|| o[key] === String.prototype\n\t\t\t) {\n\t\t\t\to[key] = {};\n\t\t\t}\n\t\t\tif (o[key] === Array.prototype) { o[key] = []; }\n\t\t\to = o[key];\n\t\t}\n\n\t\tvar lastKey = keys[keys.length - 1];\n\t\tif (isConstructorOrProto(o, lastKey)) { return; }\n\t\tif (\n\t\t\to === Object.prototype\n\t\t\t|| o === Number.prototype\n\t\t\t|| o === String.prototype\n\t\t) {\n\t\t\to = {};\n\t\t}\n\t\tif (o === Array.prototype) { o = []; }\n\t\tif (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {\n\t\t\to[lastKey] = value;\n\t\t} else if (Array.isArray(o[lastKey])) {\n\t\t\to[lastKey].push(value);\n\t\t} else {\n\t\t\to[lastKey] = [o[lastKey], value];\n\t\t}\n\t}\n\n\tfunction setArg(key, val, arg) {\n\t\tif (arg && flags.unknownFn && !argDefined(key, arg)) {\n\t\t\tif (flags.unknownFn(arg) === false) { return; }\n\t\t}\n\n\t\tvar value = !flags.strings[key] && isNumber(val)\n\t\t\t? Number(val)\n\t\t\t: val;\n\t\tsetKey(argv, key.split('.'), value);\n\n\t\t(aliases[key] || []).forEach(function (x) {\n\t\t\tsetKey(argv, x.split('.'), value);\n\t\t});\n\t}\n\n\tObject.keys(flags.bools).forEach(function (key) {\n\t\tsetArg(key, defaults[key] === undefined ? false : defaults[key]);\n\t});\n\n\tvar notFlags = [];\n\n\tif (args.indexOf('--') !== -1) {\n\t\tnotFlags = args.slice(args.indexOf('--') + 1);\n\t\targs = args.slice(0, args.indexOf('--'));\n\t}\n\n\tfor (var i = 0; i < args.length; i++) {\n\t\tvar arg = args[i];\n\t\tvar key;\n\t\tvar next;\n\n\t\tif ((/^--.+=/).test(arg)) {\n\t\t\t// Using [\\s\\S] instead of . because js doesn't support the\n\t\t\t// 'dotall' regex modifier. See:\n\t\t\t// http://stackoverflow.com/a/1068308/13216\n\t\t\tvar m = arg.match(/^--([^=]+)=([\\s\\S]*)$/);\n\t\t\tkey = m[1];\n\t\t\tvar value = m[2];\n\t\t\tif (flags.bools[key]) {\n\t\t\t\tvalue = value !== 'false';\n\t\t\t}\n\t\t\tsetArg(key, value, arg);\n\t\t} else if ((/^--no-.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--no-(.+)/)[1];\n\t\t\tsetArg(key, false, arg);\n\t\t} else if ((/^--.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--(.+)/)[1];\n\t\t\tnext = args[i + 1];\n\t\t\tif (\n\t\t\t\tnext !== undefined\n\t\t\t\t&& !(/^(-|--)[^-]/).test(next)\n\t\t\t\t&& !flags.bools[key]\n\t\t\t\t&& !flags.allBools\n\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t) {\n\t\t\t\tsetArg(key, next, arg);\n\t\t\t\ti += 1;\n\t\t\t} else if ((/^(true|false)$/).test(next)) {\n\t\t\t\tsetArg(key, next === 'true', arg);\n\t\t\t\ti += 1;\n\t\t\t} else {\n\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t}\n\t\t} else if ((/^-[^-]+/).test(arg)) {\n\t\t\tvar letters = arg.slice(1, -1).split('');\n\n\t\t\tvar broken = false;\n\t\t\tfor (var j = 0; j < letters.length; j++) {\n\t\t\t\tnext = arg.slice(j + 2);\n\n\t\t\t\tif (next === '-') {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {\n\t\t\t\t\tsetArg(letters[j], next.slice(1), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(/[A-Za-z]/).test(letters[j])\n\t\t\t\t\t&& (/-?\\d+(\\.\\d*)?(e-?\\d+)?$/).test(next)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (letters[j + 1] && letters[j + 1].match(/\\W/)) {\n\t\t\t\t\tsetArg(letters[j], arg.slice(j + 2), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tkey = arg.slice(-1)[0];\n\t\t\tif (!broken && key !== '-') {\n\t\t\t\tif (\n\t\t\t\t\targs[i + 1]\n\t\t\t\t\t&& !(/^(-|--)[^-]/).test(args[i + 1])\n\t\t\t\t\t&& !flags.bools[key]\n\t\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(key, args[i + 1], arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {\n\t\t\t\t\tsetArg(key, args[i + 1] === 'true', arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (!flags.unknownFn || flags.unknownFn(arg) !== false) {\n\t\t\t\targv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));\n\t\t\t}\n\t\t\tif (opts.stopEarly) {\n\t\t\t\targv._.push.apply(argv._, args.slice(i + 1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tObject.keys(defaults).forEach(function (k) {\n\t\tif (!hasKey(argv, k.split('.'))) {\n\t\t\tsetKey(argv, k.split('.'), defaults[k]);\n\n\t\t\t(aliases[k] || []).forEach(function (x) {\n\t\t\t\tsetKey(argv, x.split('.'), defaults[k]);\n\t\t\t});\n\t\t}\n\t});\n\n\tif (opts['--']) {\n\t\targv['--'] = notFlags.slice();\n\t} else {\n\t\tnotFlags.forEach(function (k) {\n\t\t\targv._.push(k);\n\t\t});\n\t}\n\n\treturn argv;\n};\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { safeRe: re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const SPACE_CHARACTERS = /\\s+/g\n\n// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.formatted = undefined\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range.trim().replace(SPACE_CHARACTERS, ' ')\n\n // First, split on ||\n this.set = this.raw\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.formatted = undefined\n }\n\n get range () {\n if (this.formatted === undefined) {\n this.formatted = ''\n for (let i = 0; i < this.set.length; i++) {\n if (i > 0) {\n this.formatted += '||'\n }\n const comps = this.set[i]\n for (let k = 0; k < comps.length; k++) {\n if (k > 0) {\n this.formatted += ' '\n }\n this.formatted += comps[k].toString().trim()\n }\n }\n }\n return this.formatted\n }\n\n format () {\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n debug('tilde trim', range)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n debug('caret trim', range)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = require('../internal/lrucache')\nconst cache = new LRU()\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n safeRe: re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceTilde(c, options))\n .join(' ')\n}\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceCaret(c, options))\n .join(' ')\n}\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp\n .split(/\\s+/)\n .map((c) => replaceXRange(c, options))\n .join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp\n .trim()\n .replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp\n .trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\n// TODO build?\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return `${from} ${to}`.trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]\n let next\n while ((next = coerceRtlRegex.exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n coerceRtlRegex.lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n const major = match[2]\n const minor = match[3] || '0'\n const patch = match[4] || '0'\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''\n\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options)\n}\nmodule.exports = coerce\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const parse = require('./parse.js')\n\nconst diff = (version1, version2) => {\n const v1 = parse(version1, null, true)\n const v2 = parse(version2, null, true)\n const comparison = v1.compare(v2)\n\n if (comparison === 0) {\n return null\n }\n\n const v1Higher = comparison > 0\n const highVersion = v1Higher ? v1 : v2\n const lowVersion = v1Higher ? v2 : v1\n const highHasPre = !!highVersion.prerelease.length\n const lowHasPre = !!lowVersion.prerelease.length\n\n if (lowHasPre && !highHasPre) {\n // Going from prerelease -> no prerelease requires some special casing\n\n // If the low version has only a major, then it will always be a major\n // Some examples:\n // 1.0.0-1 -> 1.0.0\n // 1.0.0-1 -> 1.1.1\n // 1.0.0-1 -> 2.0.0\n if (!lowVersion.patch && !lowVersion.minor) {\n return 'major'\n }\n\n // Otherwise it can be determined by checking the high version\n\n if (highVersion.patch) {\n // anything higher than a patch bump would result in the wrong version\n return 'patch'\n }\n\n if (highVersion.minor) {\n // anything higher than a minor bump would result in the wrong version\n return 'minor'\n }\n\n // bumping major/minor/patch all have same result\n return 'major'\n }\n\n // add the `pre` prefix if we are going to a prerelease version\n const prefix = highHasPre ? 'pre' : ''\n\n if (v1.major !== v2.major) {\n return prefix + 'major'\n }\n\n if (v1.minor !== v2.minor) {\n return prefix + 'minor'\n }\n\n if (v1.patch !== v2.patch) {\n return prefix + 'patch'\n }\n\n // high and low are preleases\n return 'prerelease'\n}\n\nmodule.exports = diff\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","class LRUCache {\n constructor () {\n this.max = 1000\n this.map = new Map()\n }\n\n get (key) {\n const value = this.map.get(key)\n if (value === undefined) {\n return undefined\n } else {\n // Remove the key from the map and add it to the end\n this.map.delete(key)\n this.map.set(key, value)\n return value\n }\n }\n\n delete (key) {\n return this.map.delete(key)\n }\n\n set (key, value) {\n const deleted = this.delete(key)\n\n if (!deleted && value !== undefined) {\n // If cache is full, delete the least recently used item\n if (this.map.size >= this.max) {\n const firstKey = this.map.keys().next().value\n this.delete(firstKey)\n }\n\n this.map.set(key, value)\n }\n\n return this\n }\n}\n\nmodule.exports = LRUCache\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2, options)\n}\nmodule.exports = intersects\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]\nconst minimumVersion = [new Comparator('>=0.0.0')]\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = minimumVersionWithPreRelease\n } else {\n sub = minimumVersion\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = minimumVersion\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tvar threw = true;\n\ttry {\n\t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\t\tthrew = false;\n\t} finally {\n\t\tif(threw) delete __webpack_module_cache__[moduleId];\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","\nif (typeof __webpack_require__ !== 'undefined') __webpack_require__.ab = __dirname + \"/\";","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst semver_1 = require(\"semver\");\nconst minimist = require(\"minimist\");\nconst argv = minimist(process.argv.slice(2));\nconst version = (0, semver_1.valid)(argv._.at(0));\nlet data = '';\nasync function main() {\n for await (const chunk of process.stdin)\n data += chunk;\n if (!version) {\n console.error('Invalid version provided');\n process.exit(1);\n }\n const previousVersion = JSON.parse(data)\n .filter((tag) => !!tag)\n .map((tag) => ({ tag, version: (0, semver_1.valid)(tag) }))\n .filter((item) => !!item.version)\n .reduce((acc, item) => {\n if ((0, semver_1.lt)(item.version, version) && (!acc || (0, semver_1.gt)(item.version, acc.version))) {\n acc = item;\n }\n return acc;\n }, undefined);\n // process all the data and write it back to stdout\n process.stdout.write(previousVersion?.tag || '');\n}\nvoid main();\n//# sourceMappingURL=get-previous-version.cjs.map"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"index.cjs.js","mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACziBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7SA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChEA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClBA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxNA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC7BA;AACA;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["../../../../.yarn/cache/minimist-npm-1.2.8-d7af7b1dce-908491b6cc.zip/node_modules/minimist/index.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/classes/comparator.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/classes/range.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/classes/semver.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/clean.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/cmp.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/coerce.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/compare-build.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/compare-loose.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/compare.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/diff.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/eq.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/gt.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/gte.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/inc.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/lt.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/lte.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/major.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/minor.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/neq.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/parse.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/patch.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/prerelease.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/rcompare.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/rsort.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/satisfies.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/sort.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/functions/valid.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/index.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/internal/constants.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/internal/debug.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/internal/identifiers.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/internal/lrucache.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/internal/parse-options.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/internal/re.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/gtr.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/intersects.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/ltr.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/max-satisfying.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/min-satisfying.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/min-version.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/outside.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/simplify.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/subset.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/to-comparators.js","../../../../.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip/node_modules/semver/ranges/valid.js","../webpack/bootstrap","../webpack/runtime/compat",".././tmp/src/get-previous-version.cjs"],"sourcesContent":["'use strict';\n\nfunction hasKey(obj, keys) {\n\tvar o = obj;\n\tkeys.slice(0, -1).forEach(function (key) {\n\t\to = o[key] || {};\n\t});\n\n\tvar key = keys[keys.length - 1];\n\treturn key in o;\n}\n\nfunction isNumber(x) {\n\tif (typeof x === 'number') { return true; }\n\tif ((/^0x[0-9a-f]+$/i).test(x)) { return true; }\n\treturn (/^[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(e[-+]?\\d+)?$/).test(x);\n}\n\nfunction isConstructorOrProto(obj, key) {\n\treturn (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';\n}\n\nmodule.exports = function (args, opts) {\n\tif (!opts) { opts = {}; }\n\n\tvar flags = {\n\t\tbools: {},\n\t\tstrings: {},\n\t\tunknownFn: null,\n\t};\n\n\tif (typeof opts.unknown === 'function') {\n\t\tflags.unknownFn = opts.unknown;\n\t}\n\n\tif (typeof opts.boolean === 'boolean' && opts.boolean) {\n\t\tflags.allBools = true;\n\t} else {\n\t\t[].concat(opts.boolean).filter(Boolean).forEach(function (key) {\n\t\t\tflags.bools[key] = true;\n\t\t});\n\t}\n\n\tvar aliases = {};\n\n\tfunction aliasIsBoolean(key) {\n\t\treturn aliases[key].some(function (x) {\n\t\t\treturn flags.bools[x];\n\t\t});\n\t}\n\n\tObject.keys(opts.alias || {}).forEach(function (key) {\n\t\taliases[key] = [].concat(opts.alias[key]);\n\t\taliases[key].forEach(function (x) {\n\t\t\taliases[x] = [key].concat(aliases[key].filter(function (y) {\n\t\t\t\treturn x !== y;\n\t\t\t}));\n\t\t});\n\t});\n\n\t[].concat(opts.string).filter(Boolean).forEach(function (key) {\n\t\tflags.strings[key] = true;\n\t\tif (aliases[key]) {\n\t\t\t[].concat(aliases[key]).forEach(function (k) {\n\t\t\t\tflags.strings[k] = true;\n\t\t\t});\n\t\t}\n\t});\n\n\tvar defaults = opts.default || {};\n\n\tvar argv = { _: [] };\n\n\tfunction argDefined(key, arg) {\n\t\treturn (flags.allBools && (/^--[^=]+$/).test(arg))\n\t\t\t|| flags.strings[key]\n\t\t\t|| flags.bools[key]\n\t\t\t|| aliases[key];\n\t}\n\n\tfunction setKey(obj, keys, value) {\n\t\tvar o = obj;\n\t\tfor (var i = 0; i < keys.length - 1; i++) {\n\t\t\tvar key = keys[i];\n\t\t\tif (isConstructorOrProto(o, key)) { return; }\n\t\t\tif (o[key] === undefined) { o[key] = {}; }\n\t\t\tif (\n\t\t\t\to[key] === Object.prototype\n\t\t\t\t|| o[key] === Number.prototype\n\t\t\t\t|| o[key] === String.prototype\n\t\t\t) {\n\t\t\t\to[key] = {};\n\t\t\t}\n\t\t\tif (o[key] === Array.prototype) { o[key] = []; }\n\t\t\to = o[key];\n\t\t}\n\n\t\tvar lastKey = keys[keys.length - 1];\n\t\tif (isConstructorOrProto(o, lastKey)) { return; }\n\t\tif (\n\t\t\to === Object.prototype\n\t\t\t|| o === Number.prototype\n\t\t\t|| o === String.prototype\n\t\t) {\n\t\t\to = {};\n\t\t}\n\t\tif (o === Array.prototype) { o = []; }\n\t\tif (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {\n\t\t\to[lastKey] = value;\n\t\t} else if (Array.isArray(o[lastKey])) {\n\t\t\to[lastKey].push(value);\n\t\t} else {\n\t\t\to[lastKey] = [o[lastKey], value];\n\t\t}\n\t}\n\n\tfunction setArg(key, val, arg) {\n\t\tif (arg && flags.unknownFn && !argDefined(key, arg)) {\n\t\t\tif (flags.unknownFn(arg) === false) { return; }\n\t\t}\n\n\t\tvar value = !flags.strings[key] && isNumber(val)\n\t\t\t? Number(val)\n\t\t\t: val;\n\t\tsetKey(argv, key.split('.'), value);\n\n\t\t(aliases[key] || []).forEach(function (x) {\n\t\t\tsetKey(argv, x.split('.'), value);\n\t\t});\n\t}\n\n\tObject.keys(flags.bools).forEach(function (key) {\n\t\tsetArg(key, defaults[key] === undefined ? false : defaults[key]);\n\t});\n\n\tvar notFlags = [];\n\n\tif (args.indexOf('--') !== -1) {\n\t\tnotFlags = args.slice(args.indexOf('--') + 1);\n\t\targs = args.slice(0, args.indexOf('--'));\n\t}\n\n\tfor (var i = 0; i < args.length; i++) {\n\t\tvar arg = args[i];\n\t\tvar key;\n\t\tvar next;\n\n\t\tif ((/^--.+=/).test(arg)) {\n\t\t\t// Using [\\s\\S] instead of . because js doesn't support the\n\t\t\t// 'dotall' regex modifier. See:\n\t\t\t// http://stackoverflow.com/a/1068308/13216\n\t\t\tvar m = arg.match(/^--([^=]+)=([\\s\\S]*)$/);\n\t\t\tkey = m[1];\n\t\t\tvar value = m[2];\n\t\t\tif (flags.bools[key]) {\n\t\t\t\tvalue = value !== 'false';\n\t\t\t}\n\t\t\tsetArg(key, value, arg);\n\t\t} else if ((/^--no-.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--no-(.+)/)[1];\n\t\t\tsetArg(key, false, arg);\n\t\t} else if ((/^--.+/).test(arg)) {\n\t\t\tkey = arg.match(/^--(.+)/)[1];\n\t\t\tnext = args[i + 1];\n\t\t\tif (\n\t\t\t\tnext !== undefined\n\t\t\t\t&& !(/^(-|--)[^-]/).test(next)\n\t\t\t\t&& !flags.bools[key]\n\t\t\t\t&& !flags.allBools\n\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t) {\n\t\t\t\tsetArg(key, next, arg);\n\t\t\t\ti += 1;\n\t\t\t} else if ((/^(true|false)$/).test(next)) {\n\t\t\t\tsetArg(key, next === 'true', arg);\n\t\t\t\ti += 1;\n\t\t\t} else {\n\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t}\n\t\t} else if ((/^-[^-]+/).test(arg)) {\n\t\t\tvar letters = arg.slice(1, -1).split('');\n\n\t\t\tvar broken = false;\n\t\t\tfor (var j = 0; j < letters.length; j++) {\n\t\t\t\tnext = arg.slice(j + 2);\n\n\t\t\t\tif (next === '-') {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {\n\t\t\t\t\tsetArg(letters[j], next.slice(1), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(/[A-Za-z]/).test(letters[j])\n\t\t\t\t\t&& (/-?\\d+(\\.\\d*)?(e-?\\d+)?$/).test(next)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(letters[j], next, arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (letters[j + 1] && letters[j + 1].match(/\\W/)) {\n\t\t\t\t\tsetArg(letters[j], arg.slice(j + 2), arg);\n\t\t\t\t\tbroken = true;\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tkey = arg.slice(-1)[0];\n\t\t\tif (!broken && key !== '-') {\n\t\t\t\tif (\n\t\t\t\t\targs[i + 1]\n\t\t\t\t\t&& !(/^(-|--)[^-]/).test(args[i + 1])\n\t\t\t\t\t&& !flags.bools[key]\n\t\t\t\t\t&& (aliases[key] ? !aliasIsBoolean(key) : true)\n\t\t\t\t) {\n\t\t\t\t\tsetArg(key, args[i + 1], arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {\n\t\t\t\t\tsetArg(key, args[i + 1] === 'true', arg);\n\t\t\t\t\ti += 1;\n\t\t\t\t} else {\n\t\t\t\t\tsetArg(key, flags.strings[key] ? '' : true, arg);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (!flags.unknownFn || flags.unknownFn(arg) !== false) {\n\t\t\t\targv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));\n\t\t\t}\n\t\t\tif (opts.stopEarly) {\n\t\t\t\targv._.push.apply(argv._, args.slice(i + 1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tObject.keys(defaults).forEach(function (k) {\n\t\tif (!hasKey(argv, k.split('.'))) {\n\t\t\tsetKey(argv, k.split('.'), defaults[k]);\n\n\t\t\t(aliases[k] || []).forEach(function (x) {\n\t\t\t\tsetKey(argv, x.split('.'), defaults[k]);\n\t\t\t});\n\t\t}\n\t});\n\n\tif (opts['--']) {\n\t\targv['--'] = notFlags.slice();\n\t} else {\n\t\tnotFlags.forEach(function (k) {\n\t\t\targv._.push(k);\n\t\t});\n\t}\n\n\treturn argv;\n};\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n comp = comp.trim().split(/\\s+/).join(' ')\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { safeRe: re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const SPACE_CHARACTERS = /\\s+/g\n\n// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.formatted = undefined\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First reduce all whitespace as much as possible so we do not have to rely\n // on potentially slow regexes like \\s*. This is then stored and used for\n // future error messages as well.\n this.raw = range.trim().replace(SPACE_CHARACTERS, ' ')\n\n // First, split on ||\n this.set = this.raw\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.formatted = undefined\n }\n\n get range () {\n if (this.formatted === undefined) {\n this.formatted = ''\n for (let i = 0; i < this.set.length; i++) {\n if (i > 0) {\n this.formatted += '||'\n }\n const comps = this.set[i]\n for (let k = 0; k < comps.length; k++) {\n if (k > 0) {\n this.formatted += ' '\n }\n this.formatted += comps[k].toString().trim()\n }\n }\n }\n return this.formatted\n }\n\n format () {\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n debug('tilde trim', range)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n debug('caret trim', range)\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = require('../internal/lrucache')\nconst cache = new LRU()\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n safeRe: re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceTilde(c, options))\n .join(' ')\n}\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) => {\n return comp\n .trim()\n .split(/\\s+/)\n .map((c) => replaceCaret(c, options))\n .join(' ')\n}\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp\n .split(/\\s+/)\n .map((c) => replaceXRange(c, options))\n .join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp\n .trim()\n .replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp\n .trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\n// TODO build?\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return `${from} ${to}`.trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL]\n let next\n while ((next = coerceRtlRegex.exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n coerceRtlRegex.lastIndex = -1\n }\n\n if (match === null) {\n return null\n }\n\n const major = match[2]\n const minor = match[3] || '0'\n const patch = match[4] || '0'\n const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ''\n const build = options.includePrerelease && match[6] ? `+${match[6]}` : ''\n\n return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options)\n}\nmodule.exports = coerce\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const parse = require('./parse.js')\n\nconst diff = (version1, version2) => {\n const v1 = parse(version1, null, true)\n const v2 = parse(version2, null, true)\n const comparison = v1.compare(v2)\n\n if (comparison === 0) {\n return null\n }\n\n const v1Higher = comparison > 0\n const highVersion = v1Higher ? v1 : v2\n const lowVersion = v1Higher ? v2 : v1\n const highHasPre = !!highVersion.prerelease.length\n const lowHasPre = !!lowVersion.prerelease.length\n\n if (lowHasPre && !highHasPre) {\n // Going from prerelease -> no prerelease requires some special casing\n\n // If the low version has only a major, then it will always be a major\n // Some examples:\n // 1.0.0-1 -> 1.0.0\n // 1.0.0-1 -> 1.1.1\n // 1.0.0-1 -> 2.0.0\n if (!lowVersion.patch && !lowVersion.minor) {\n return 'major'\n }\n\n // Otherwise it can be determined by checking the high version\n\n if (highVersion.patch) {\n // anything higher than a patch bump would result in the wrong version\n return 'patch'\n }\n\n if (highVersion.minor) {\n // anything higher than a minor bump would result in the wrong version\n return 'minor'\n }\n\n // bumping major/minor/patch all have same result\n return 'major'\n }\n\n // add the `pre` prefix if we are going to a prerelease version\n const prefix = highHasPre ? 'pre' : ''\n\n if (v1.major !== v2.major) {\n return prefix + 'major'\n }\n\n if (v1.minor !== v2.minor) {\n return prefix + 'minor'\n }\n\n if (v1.patch !== v2.patch) {\n return prefix + 'patch'\n }\n\n // high and low are preleases\n return 'prerelease'\n}\n\nmodule.exports = diff\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier, identifierBase) => {\n if (typeof (options) === 'string') {\n identifierBase = identifier\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(\n version instanceof SemVer ? version.version : version,\n options\n ).inc(release, identifier, identifierBase).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nconst constants = require('./internal/constants')\nconst SemVer = require('./classes/semver')\nconst identifiers = require('./internal/identifiers')\nconst parse = require('./functions/parse')\nconst valid = require('./functions/valid')\nconst clean = require('./functions/clean')\nconst inc = require('./functions/inc')\nconst diff = require('./functions/diff')\nconst major = require('./functions/major')\nconst minor = require('./functions/minor')\nconst patch = require('./functions/patch')\nconst prerelease = require('./functions/prerelease')\nconst compare = require('./functions/compare')\nconst rcompare = require('./functions/rcompare')\nconst compareLoose = require('./functions/compare-loose')\nconst compareBuild = require('./functions/compare-build')\nconst sort = require('./functions/sort')\nconst rsort = require('./functions/rsort')\nconst gt = require('./functions/gt')\nconst lt = require('./functions/lt')\nconst eq = require('./functions/eq')\nconst neq = require('./functions/neq')\nconst gte = require('./functions/gte')\nconst lte = require('./functions/lte')\nconst cmp = require('./functions/cmp')\nconst coerce = require('./functions/coerce')\nconst Comparator = require('./classes/comparator')\nconst Range = require('./classes/range')\nconst satisfies = require('./functions/satisfies')\nconst toComparators = require('./ranges/to-comparators')\nconst maxSatisfying = require('./ranges/max-satisfying')\nconst minSatisfying = require('./ranges/min-satisfying')\nconst minVersion = require('./ranges/min-version')\nconst validRange = require('./ranges/valid')\nconst outside = require('./ranges/outside')\nconst gtr = require('./ranges/gtr')\nconst ltr = require('./ranges/ltr')\nconst intersects = require('./ranges/intersects')\nconst simplifyRange = require('./ranges/simplify')\nconst subset = require('./ranges/subset')\nmodule.exports = {\n parse,\n valid,\n clean,\n inc,\n diff,\n major,\n minor,\n patch,\n prerelease,\n compare,\n rcompare,\n compareLoose,\n compareBuild,\n sort,\n rsort,\n gt,\n lt,\n eq,\n neq,\n gte,\n lte,\n cmp,\n coerce,\n Comparator,\n Range,\n satisfies,\n toComparators,\n maxSatisfying,\n minSatisfying,\n minVersion,\n validRange,\n outside,\n gtr,\n ltr,\n intersects,\n simplifyRange,\n subset,\n SemVer,\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: constants.RELEASE_TYPES,\n compareIdentifiers: identifiers.compareIdentifiers,\n rcompareIdentifiers: identifiers.rcompareIdentifiers,\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","class LRUCache {\n constructor () {\n this.max = 1000\n this.map = new Map()\n }\n\n get (key) {\n const value = this.map.get(key)\n if (value === undefined) {\n return undefined\n } else {\n // Remove the key from the map and add it to the end\n this.map.delete(key)\n this.map.set(key, value)\n return value\n }\n }\n\n delete (key) {\n return this.map.delete(key)\n }\n\n set (key, value) {\n const deleted = this.delete(key)\n\n if (!deleted && value !== undefined) {\n // If cache is full, delete the least recently used item\n if (this.map.size >= this.max) {\n const firstKey = this.map.keys().next().value\n this.delete(firstKey)\n }\n\n this.map.set(key, value)\n }\n\n return this\n }\n}\n\nmodule.exports = LRUCache\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2, options)\n}\nmodule.exports = intersects\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let setMin = null\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!setMin || gt(compver, setMin)) {\n setMin = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n if (setMin && (!minver || gt(minver, setMin))) {\n minver = setMin\n }\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst { ANY } = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisfies the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let first = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!first) {\n first = version\n }\n } else {\n if (prev) {\n set.push([first, prev])\n }\n prev = null\n first = null\n }\n }\n if (first) {\n set.push([first, null])\n }\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max) {\n ranges.push(min)\n } else if (!max && min === v[0]) {\n ranges.push('*')\n } else if (!max) {\n ranges.push(`>=${min}`)\n } else if (min === v[0]) {\n ranges.push(`<=${max}`)\n } else {\n ranges.push(`${min} - ${max}`)\n }\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst Comparator = require('../classes/comparator.js')\nconst { ANY } = Comparator\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a null set, OR\n// - Every simple range `r1, r2, ...` which is not a null set is a subset of\n// some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else if in prerelease mode, return false\n// - else replace c with `[>=0.0.0]`\n// - If C is only the ANY comparator\n// - if in prerelease mode, return true\n// - else replace C with `[>=0.0.0]`\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If any C is a = range, and GT or LT are set, return false\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT.semver is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the GT.semver tuple, return false\n// - If LT\n// - If LT.semver is greater than any < or <= comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If GT.semver has a prerelease, and not in prerelease mode\n// - If no C has a prerelease and the LT.semver tuple, return false\n// - Else return true\n\nconst subset = (sub, dom, options = {}) => {\n if (sub === dom) {\n return true\n }\n\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub) {\n continue OUTER\n }\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull) {\n return false\n }\n }\n return true\n}\n\nconst minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]\nconst minimumVersion = [new Comparator('>=0.0.0')]\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub === dom) {\n return true\n }\n\n if (sub.length === 1 && sub[0].semver === ANY) {\n if (dom.length === 1 && dom[0].semver === ANY) {\n return true\n } else if (options.includePrerelease) {\n sub = minimumVersionWithPreRelease\n } else {\n sub = minimumVersion\n }\n }\n\n if (dom.length === 1 && dom[0].semver === ANY) {\n if (options.includePrerelease) {\n return true\n } else {\n dom = minimumVersion\n }\n }\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=') {\n gt = higherGT(gt, c, options)\n } else if (c.operator === '<' || c.operator === '<=') {\n lt = lowerLT(lt, c, options)\n } else {\n eqSet.add(c.semver)\n }\n }\n\n if (eqSet.size > 1) {\n return null\n }\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0) {\n return null\n } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {\n return null\n }\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options)) {\n return null\n }\n\n if (lt && !satisfies(eq, String(lt), options)) {\n return null\n }\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options)) {\n return false\n }\n }\n\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n // if the subset has a prerelease, we need a comparator in the superset\n // with the same tuple and a prerelease, or it's not a subset\n let needDomLTPre = lt &&\n !options.includePrerelease &&\n lt.semver.prerelease.length ? lt.semver : false\n let needDomGTPre = gt &&\n !options.includePrerelease &&\n gt.semver.prerelease.length ? gt.semver : false\n // exception: <1.2.3-0 is the same as <1.2.3\n if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&\n lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {\n needDomLTPre = false\n }\n\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (needDomGTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomGTPre.major &&\n c.semver.minor === needDomGTPre.minor &&\n c.semver.patch === needDomGTPre.patch) {\n needDomGTPre = false\n }\n }\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c && higher !== gt) {\n return false\n }\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {\n return false\n }\n }\n if (lt) {\n if (needDomLTPre) {\n if (c.semver.prerelease && c.semver.prerelease.length &&\n c.semver.major === needDomLTPre.major &&\n c.semver.minor === needDomLTPre.minor &&\n c.semver.patch === needDomLTPre.patch) {\n needDomLTPre = false\n }\n }\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c && lower !== lt) {\n return false\n }\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {\n return false\n }\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0) {\n return false\n }\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0) {\n return false\n }\n\n if (lt && hasDomGT && !gt && gtltComp !== 0) {\n return false\n }\n\n // we needed a prerelease range in a specific tuple, but didn't get one\n // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,\n // because it includes prereleases in the 1.2.3 tuple\n if (needDomGTPre || needDomLTPre) {\n return false\n }\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a) {\n return b\n }\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tvar threw = true;\n\ttry {\n\t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\t\tthrew = false;\n\t} finally {\n\t\tif(threw) delete __webpack_module_cache__[moduleId];\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","\nif (typeof __webpack_require__ !== 'undefined') __webpack_require__.ab = __dirname + \"/\";","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst semver_1 = require(\"semver\");\nconst minimist = require(\"minimist\");\nconst argv = minimist(process.argv.slice(2));\nconst version = (0, semver_1.valid)(argv._.at(0));\nlet data = '';\nasync function main() {\n for await (const chunk of process.stdin)\n data += chunk;\n if (!version) {\n console.error('Invalid version provided');\n process.exit(1);\n }\n const previousVersion = JSON.parse(data)\n .filter((tag) => !!tag)\n .map((tag) => ({ tag, version: (0, semver_1.valid)(tag) }))\n .filter((item) => !!item.version)\n .reduce((acc, item) => {\n if ((0, semver_1.lt)(item.version, version) && (!acc || (0, semver_1.gt)(item.version, acc.version))) {\n acc = item;\n }\n return acc;\n }, undefined);\n process.stdout.write(previousVersion?.tag || '');\n}\nvoid main();\n//# sourceMappingURL=get-previous-version.cjs.map"],"names":[],"sourceRoot":""} \ No newline at end of file From b308c7659f78e2f1bb8c617e8eec6e8a624cdbc9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 09:05:43 +0000 Subject: [PATCH 09/40] fix(deps): update dependency @formatjs/intl-numberformat to ~8.14.0 --- apps/showcase/package.json | 2 +- yarn.lock | 45 +++++++------------------------------- 2 files changed, 9 insertions(+), 38 deletions(-) diff --git a/apps/showcase/package.json b/apps/showcase/package.json index 1fcf7146f5..85f05b6ddb 100644 --- a/apps/showcase/package.json +++ b/apps/showcase/package.json @@ -43,7 +43,7 @@ "@angular/platform-browser-dynamic": "~18.2.0", "@angular/router": "~18.2.0", "@design-factory/design-factory": "~18.1.0", - "@formatjs/intl-numberformat": "~8.13.0", + "@formatjs/intl-numberformat": "~8.14.0", "@ng-bootstrap/ng-bootstrap": "^17.0.0", "@ng-select/ng-select": "~13.9.0", "@ngrx/effects": "~18.0.0", diff --git a/yarn.lock b/yarn.lock index af653444b9..53b2b50a7f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4969,17 +4969,6 @@ __metadata: languageName: node linkType: hard -"@formatjs/ecma402-abstract@npm:2.2.0": - version: 2.2.0 - resolution: "@formatjs/ecma402-abstract@npm:2.2.0" - dependencies: - "@formatjs/fast-memoize": "npm:2.2.1" - "@formatjs/intl-localematcher": "npm:0.5.5" - tslib: "npm:^2.7.0" - checksum: 10/f836dfa8787c8d0d2022f7c77fd15025a402ee519f9cb6e68dfce2b937956059e4f96b6059c40506c7260d93bdfd0517001b568cdbea8db08b439ce5d21f437e - languageName: node - linkType: hard - "@formatjs/ecma402-abstract@npm:2.2.1": version: 2.2.1 resolution: "@formatjs/ecma402-abstract@npm:2.2.1" @@ -4991,15 +4980,6 @@ __metadata: languageName: node linkType: hard -"@formatjs/fast-memoize@npm:2.2.1": - version: 2.2.1 - resolution: "@formatjs/fast-memoize@npm:2.2.1" - dependencies: - tslib: "npm:^2.7.0" - checksum: 10/7bb12904d4c93cfae17006388b26d97cc0e32fef5af510f80974437382cd13a88b439b4407d96b6646af1806977cf34113f3dc8f1c96b28f73856700ee7857fd - languageName: node - linkType: hard - "@formatjs/fast-memoize@npm:2.2.2": version: 2.2.2 resolution: "@formatjs/fast-memoize@npm:2.2.2" @@ -5030,15 +5010,6 @@ __metadata: languageName: node linkType: hard -"@formatjs/intl-localematcher@npm:0.5.5": - version: 0.5.5 - resolution: "@formatjs/intl-localematcher@npm:0.5.5" - dependencies: - tslib: "npm:^2.7.0" - checksum: 10/179069eb3a23510e17f118efa3b6a9873f18683977cb813e57ef08cba09bbac73fce13f42c557deb62d3da4f32a8c7ad7d522aae4f1b41625835ce564e59e750 - languageName: node - linkType: hard - "@formatjs/intl-localematcher@npm:0.5.6": version: 0.5.6 resolution: "@formatjs/intl-localematcher@npm:0.5.6" @@ -5048,14 +5019,14 @@ __metadata: languageName: node linkType: hard -"@formatjs/intl-numberformat@npm:~8.13.0": - version: 8.13.0 - resolution: "@formatjs/intl-numberformat@npm:8.13.0" +"@formatjs/intl-numberformat@npm:~8.14.0": + version: 8.14.1 + resolution: "@formatjs/intl-numberformat@npm:8.14.1" dependencies: - "@formatjs/ecma402-abstract": "npm:2.2.0" - "@formatjs/intl-localematcher": "npm:0.5.5" - tslib: "npm:^2.7.0" - checksum: 10/c1c5ebcf559137978332045e56d228b4851a7ab96063a07a9ceef51e4f41c034f549d9c0ab21fa7d11f5b19f97a9ca5114d4367636bf22f7a23fd7e22c5e2412 + "@formatjs/ecma402-abstract": "npm:2.2.1" + "@formatjs/intl-localematcher": "npm:0.5.6" + tslib: "npm:2" + checksum: 10/51152d1b9607a35c64e6089e44b90c7ec90be3b1925ba47ffc559ddb4fd72afae76e83af3d436831ea0fc47dc0e9fee9cd3d576280440f2dce03cb6bd24e0bed languageName: node linkType: hard @@ -9612,7 +9583,7 @@ __metadata: "@angular/platform-browser-dynamic": "npm:~18.2.0" "@angular/router": "npm:~18.2.0" "@design-factory/design-factory": "npm:~18.1.0" - "@formatjs/intl-numberformat": "npm:~8.13.0" + "@formatjs/intl-numberformat": "npm:~8.14.0" "@ng-bootstrap/ng-bootstrap": "npm:^17.0.0" "@ng-select/ng-select": "npm:~13.9.0" "@ngrx/effects": "npm:~18.0.0" From 8ec949689b14caed42bea673b6fa6e48f635f5cf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 11:58:16 +0000 Subject: [PATCH 10/40] chore(deps): update design factory dependencies to ~32.3.0 --- apps/chrome-devtools/package.json | 4 ++-- apps/showcase/package.json | 4 ++-- package.json | 4 ++-- yarn.lock | 40 +++++++++++++++---------------- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/apps/chrome-devtools/package.json b/apps/chrome-devtools/package.json index 8b6c398887..32dafcb870 100644 --- a/apps/chrome-devtools/package.json +++ b/apps/chrome-devtools/package.json @@ -102,8 +102,8 @@ "@o3r/styling": "workspace:^", "@popperjs/core": "^2.11.5", "@types/color": "^3.0.6", - "ag-grid-angular": "~32.2.0", - "ag-grid-community": "~32.2.0", + "ag-grid-angular": "~32.3.0", + "ag-grid-community": "~32.3.0", "bootstrap": "5.3.3", "rxjs": "^7.8.1", "tinycolor2": "^1.6.0", diff --git a/apps/showcase/package.json b/apps/showcase/package.json index 85f05b6ddb..bd721d1cd5 100644 --- a/apps/showcase/package.json +++ b/apps/showcase/package.json @@ -69,8 +69,8 @@ "@webcontainer/api": "~1.4.0", "@xterm/addon-fit": "^0.10.0", "@xterm/xterm": "^5.0.0", - "ag-grid-angular": "~32.2.0", - "ag-grid-community": "~32.2.0", + "ag-grid-angular": "~32.3.0", + "ag-grid-community": "~32.3.0", "bootstrap": "5.3.3", "highlight.js": "^11.8.0", "intl-messageformat": "~10.7.0", diff --git a/package.json b/package.json index 5d1f9c9fb0..5a23b2369e 100644 --- a/package.json +++ b/package.json @@ -216,8 +216,8 @@ "@typescript-eslint/types": "^7.14.1", "@typescript-eslint/utils": "^7.14.1", "@yarnpkg/sdks": "^3.2.0", - "ag-grid-angular": "~32.2.0", - "ag-grid-community": "~32.2.0", + "ag-grid-angular": "~32.3.0", + "ag-grid-community": "~32.3.0", "babel-loader": "^9.0.0", "bootstrap": "5.3.3", "bootstrap-icons": "^1.11.3", diff --git a/yarn.lock b/yarn.lock index 53b2b50a7f..fcd3a93d9c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7593,8 +7593,8 @@ __metadata: "@typescript-eslint/parser": "npm:^7.14.1" "@typescript-eslint/types": "npm:^7.14.1" "@typescript-eslint/utils": "npm:^7.14.1" - ag-grid-angular: "npm:~32.2.0" - ag-grid-community: "npm:~32.2.0" + ag-grid-angular: "npm:~32.3.0" + ag-grid-community: "npm:~32.3.0" archiver: "npm:^7.0.0" bootstrap: "npm:5.3.3" chokidar: "npm:^3.5.2" @@ -8714,8 +8714,8 @@ __metadata: "@typescript-eslint/types": "npm:^7.14.1" "@typescript-eslint/utils": "npm:^7.14.1" "@yarnpkg/sdks": "npm:^3.2.0" - ag-grid-angular: "npm:~32.2.0" - ag-grid-community: "npm:~32.2.0" + ag-grid-angular: "npm:~32.3.0" + ag-grid-community: "npm:~32.3.0" babel-loader: "npm:^9.0.0" bootstrap: "npm:5.3.3" bootstrap-icons: "npm:^1.11.3" @@ -9625,8 +9625,8 @@ __metadata: "@webcontainer/api": "npm:~1.4.0" "@xterm/addon-fit": "npm:^0.10.0" "@xterm/xterm": "npm:^5.0.0" - ag-grid-angular: "npm:~32.2.0" - ag-grid-community: "npm:~32.2.0" + ag-grid-angular: "npm:~32.3.0" + ag-grid-community: "npm:~32.3.0" bootstrap: "npm:5.3.3" concurrently: "npm:^8.0.0" eslint: "npm:^8.57.0" @@ -15229,32 +15229,32 @@ __metadata: languageName: node linkType: hard -"ag-charts-types@npm:10.2.0": - version: 10.2.0 - resolution: "ag-charts-types@npm:10.2.0" - checksum: 10/f6aee22c0d99606535131e3ffcafb30c4f60ee219fd014993ad5d1898aaa0db49a1d608fa725601acfd92eb9a0880e6a7a236113552498f0e51a97554687561f +"ag-charts-types@npm:10.3.1": + version: 10.3.1 + resolution: "ag-charts-types@npm:10.3.1" + checksum: 10/721a3941927cc468361d4afcc6b2e17b5a87b245c5ae53bce474a374307250407ea4d9ea318aa931b8d9b1b9cc5eda7f6665579c39bf698671375e94136db204 languageName: node linkType: hard -"ag-grid-angular@npm:~32.2.0": - version: 32.2.2 - resolution: "ag-grid-angular@npm:32.2.2" +"ag-grid-angular@npm:~32.3.0": + version: 32.3.1 + resolution: "ag-grid-angular@npm:32.3.1" dependencies: tslib: "npm:^2.3.0" peerDependencies: "@angular/common": ">= 16.0.0" "@angular/core": ">= 16.0.0" - ag-grid-community: 32.2.2 - checksum: 10/0519dad0b296e12fcd87e0e1a87b16f7aa32a393667e3683bddee890df342c7f5be3d26d3d0d9c26ecb1854912951bec2ea538bc4cb28cae927a1cf5c5507b4b + ag-grid-community: 32.3.1 + checksum: 10/1b66336f2e85a406fe925af9cc7e5a5a4a8a845ace2b29ff5712a541e2407b72a6fbcbff86347e1c3759dd4e4d80115a686283ece899c05223db9e27ea907bce languageName: node linkType: hard -"ag-grid-community@npm:~32.2.0": - version: 32.2.2 - resolution: "ag-grid-community@npm:32.2.2" +"ag-grid-community@npm:~32.3.0": + version: 32.3.1 + resolution: "ag-grid-community@npm:32.3.1" dependencies: - ag-charts-types: "npm:10.2.0" - checksum: 10/bd066b2be7c0c27900b8539257e549f92eea098c60ae9b978a207bed4ac720e3f3680763ad8465a86b14b750e79a97bd48dde354a1c343dc9abc80aa7edb12cb + ag-charts-types: "npm:10.3.1" + checksum: 10/2ce3b55dcb7c285f91370fc38f72564c06da1c32bc4f65b2973d1e1c07947aa4a8b500a7c8ea495c1ea98d16995746d8fccf0eb666893b2fb3b393b961e38874 languageName: node linkType: hard From 880f7af3b3b19a9cf59c4badc0daee877ad42530 Mon Sep 17 00:00:00 2001 From: Kilian Panot Date: Wed, 30 Oct 2024 12:50:03 +0900 Subject: [PATCH 11/40] chore: support NX_PARALLEL as default parallel CPUs number --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5a23b2369e..e6c4951cb2 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "nx": "nx", "ng": "yarn nx", "amaterasu": "node packages/@ama-terasu/cli/dist/src/cli/ama.js", - "get:cpus-number": "node -e 'process.stdout.write(`${Math.max(require(\"os\").cpus().length - 1, 2)}`);'", + "get:cpus-number": "node -e 'process.stdout.write(`${process.env.NX_PARALLEL || Math.max(require(\"os\").cpus().length - 1, 2)}`);'", "get:current-dir": "node -e 'process.stdout.write(process.cwd());'", "create:scope": "yarn create-monorepo-scope", "build": "yarn nx run-many --target=build --parallel $(yarn get:cpus-number)", From 439ad8d06619b475545a852581e29802c597d0b1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 08:50:58 +0000 Subject: [PATCH 12/40] chore(deps): update dependency @openapitools/openapi-generator-cli to ~2.15.0 --- packages/@ama-sdk/create/package.json | 2 +- packages/@ama-sdk/schematics/package.json | 4 +- packages/@ama-sdk/showcase-sdk/package.json | 2 +- yarn.lock | 46 ++++++++++----------- 4 files changed, 27 insertions(+), 27 deletions(-) diff --git a/packages/@ama-sdk/create/package.json b/packages/@ama-sdk/create/package.json index e8de1c3747..ddd5cd266d 100644 --- a/packages/@ama-sdk/create/package.json +++ b/packages/@ama-sdk/create/package.json @@ -32,7 +32,7 @@ "@angular-devkit/schematics-cli": "^18.0.5", "@angular/cli": "~18.2.0", "@o3r/schematics": "workspace:*", - "@openapitools/openapi-generator-cli": "~2.14.0", + "@openapitools/openapi-generator-cli": "~2.15.0", "@schematics/angular": "~18.2.0", "minimist": "^1.2.6", "rxjs": "^7.8.1", diff --git a/packages/@ama-sdk/schematics/package.json b/packages/@ama-sdk/schematics/package.json index cc72ba5806..36d2f6fdab 100644 --- a/packages/@ama-sdk/schematics/package.json +++ b/packages/@ama-sdk/schematics/package.json @@ -63,7 +63,7 @@ "@angular-devkit/schematics-cli": "^18.0.5", "@angular/cli": "~18.2.0", "@o3r/schematics": "workspace:^", - "@openapitools/openapi-generator-cli": "~2.14.0", + "@openapitools/openapi-generator-cli": "~2.15.0", "@schematics/angular": "~18.2.0" }, "dependencies": { @@ -90,7 +90,7 @@ "@o3r/schematics": "workspace:^", "@o3r/telemetry": "workspace:^", "@o3r/test-helpers": "workspace:^", - "@openapitools/openapi-generator-cli": "~2.14.0", + "@openapitools/openapi-generator-cli": "~2.15.0", "@schematics/angular": "~18.2.0", "@stylistic/eslint-plugin-ts": "~2.4.0", "@types/jest": "~29.5.2", diff --git a/packages/@ama-sdk/showcase-sdk/package.json b/packages/@ama-sdk/showcase-sdk/package.json index bc4de4df03..0a74fcee6c 100644 --- a/packages/@ama-sdk/showcase-sdk/package.json +++ b/packages/@ama-sdk/showcase-sdk/package.json @@ -83,7 +83,7 @@ "@nx/jest": "~19.5.0", "@o3r/eslint-config-otter": "workspace:^", "@o3r/eslint-plugin": "workspace:^", - "@openapitools/openapi-generator-cli": "~2.14.0", + "@openapitools/openapi-generator-cli": "~2.15.0", "@schematics/angular": "~18.2.0", "@stylistic/eslint-plugin-ts": "~2.4.0", "@swc/cli": "~0.4.0", diff --git a/yarn.lock b/yarn.lock index fcd3a93d9c..a9d7a9612a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -587,7 +587,7 @@ __metadata: "@o3r/schematics": "workspace:*" "@o3r/telemetry": "workspace:^" "@o3r/test-helpers": "workspace:^" - "@openapitools/openapi-generator-cli": "npm:~2.14.0" + "@openapitools/openapi-generator-cli": "npm:~2.15.0" "@schematics/angular": "npm:~18.2.0" "@stylistic/eslint-plugin-ts": "npm:~2.4.0" "@types/jest": "npm:~29.5.2" @@ -645,7 +645,7 @@ __metadata: "@o3r/schematics": "workspace:^" "@o3r/telemetry": "workspace:^" "@o3r/test-helpers": "workspace:^" - "@openapitools/openapi-generator-cli": "npm:~2.14.0" + "@openapitools/openapi-generator-cli": "npm:~2.15.0" "@schematics/angular": "npm:~18.2.0" "@stylistic/eslint-plugin-ts": "npm:~2.4.0" "@types/jest": "npm:~29.5.2" @@ -695,7 +695,7 @@ __metadata: "@angular-devkit/schematics-cli": ^18.0.5 "@angular/cli": ~18.2.0 "@o3r/schematics": "workspace:^" - "@openapitools/openapi-generator-cli": ~2.14.0 + "@openapitools/openapi-generator-cli": ~2.15.0 "@schematics/angular": ~18.2.0 peerDependenciesMeta: "@ama-sdk/core": @@ -735,7 +735,7 @@ __metadata: "@nx/jest": "npm:~19.5.0" "@o3r/eslint-config-otter": "workspace:^" "@o3r/eslint-plugin": "workspace:^" - "@openapitools/openapi-generator-cli": "npm:~2.14.0" + "@openapitools/openapi-generator-cli": "npm:~2.15.0" "@schematics/angular": "npm:~18.2.0" "@stylistic/eslint-plugin-ts": "npm:~2.4.0" "@swc/cli": "npm:~0.4.0" @@ -6266,20 +6266,20 @@ __metadata: languageName: node linkType: hard -"@nestjs/axios@npm:3.0.3": - version: 3.0.3 - resolution: "@nestjs/axios@npm:3.0.3" +"@nestjs/axios@npm:3.1.0": + version: 3.1.0 + resolution: "@nestjs/axios@npm:3.1.0" peerDependencies: "@nestjs/common": ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 axios: ^1.3.1 rxjs: ^6.0.0 || ^7.0.0 - checksum: 10/a62c45d2a532df2f0e5a100750d29134e5fcd6d359cae7559ccd97775a27620dc0ec650addfda6f99160f7f52b061754cdeb61de85060cb4526de2c01c31a80b + checksum: 10/b5ff6baa5aae0bdf75fac4fc4e8d71314f0e0ba370c6d9229f59135d3688bd979fee7ed8616b131454e2c0c6f969057bfca057bc6b8094759b97e3ce346bd926 languageName: node linkType: hard -"@nestjs/common@npm:10.4.3": - version: 10.4.3 - resolution: "@nestjs/common@npm:10.4.3" +"@nestjs/common@npm:10.4.5": + version: 10.4.5 + resolution: "@nestjs/common@npm:10.4.5" dependencies: iterare: "npm:1.2.1" tslib: "npm:2.7.0" @@ -6294,13 +6294,13 @@ __metadata: optional: true class-validator: optional: true - checksum: 10/2c109cb14fabff218bfcd8ba663acdf246eb8e47a77e0fb3cd81e8dfb01c94127637e635be3b93310238149999288c2c490c53d15c90e41d89cb106cdfee0245 + checksum: 10/134245a327b4ae512db412274305a2be6e7efce577f940e353f78cd7d064814857955d2108917addc052cf5091d898fc1cc78de59ff5de80d5dbeef28d67667f languageName: node linkType: hard -"@nestjs/core@npm:10.4.3": - version: 10.4.3 - resolution: "@nestjs/core@npm:10.4.3" +"@nestjs/core@npm:10.4.5": + version: 10.4.5 + resolution: "@nestjs/core@npm:10.4.5" dependencies: "@nuxtjs/opencollective": "npm:0.3.2" fast-safe-stringify: "npm:2.1.1" @@ -6322,7 +6322,7 @@ __metadata: optional: true "@nestjs/websockets": optional: true - checksum: 10/a29ce659ad15dca9812ac57871f914008a5ca6740c796ef7ad40b29df2177d7e67a15009bdc5e68ebeafb7c61eb4ea869a72cdbd98b561c414fce0139c7c010e + checksum: 10/23f6cb677853210c8748862cb883d0ad143f87ee2e693687ebc872177c8f134ed0cc8106311baf0fe7200db8d2321fef2298a246cd2b991b91c441ac80b9f3d3 languageName: node linkType: hard @@ -10823,13 +10823,13 @@ __metadata: languageName: node linkType: hard -"@openapitools/openapi-generator-cli@npm:~2.14.0": - version: 2.14.1 - resolution: "@openapitools/openapi-generator-cli@npm:2.14.1" +"@openapitools/openapi-generator-cli@npm:~2.15.0": + version: 2.15.0 + resolution: "@openapitools/openapi-generator-cli@npm:2.15.0" dependencies: - "@nestjs/axios": "npm:3.0.3" - "@nestjs/common": "npm:10.4.3" - "@nestjs/core": "npm:10.4.3" + "@nestjs/axios": "npm:3.1.0" + "@nestjs/common": "npm:10.4.5" + "@nestjs/core": "npm:10.4.5" "@nuxtjs/opencollective": "npm:0.3.2" axios: "npm:1.7.7" chalk: "npm:4.1.2" @@ -10847,7 +10847,7 @@ __metadata: tslib: "npm:2.7.0" bin: openapi-generator-cli: main.js - checksum: 10/3a1361fa86851b7c62a64c7b94b63b77c2218c344e2b174108a62b54b1fc535938b089479dd07e5e87572e3c8dde0860c9e519fee619f92ccfb470e2f7500542 + checksum: 10/9e9fddf304bc0d7cd234c0d8ca6720d5ee5c43fad5f29dbc79459df62d2e87d18cc0b0cf03a2e601e8d416dfb14537211664feef790e22ae1b557359d153ed4b languageName: node linkType: hard From 734631c7603d140a1f2957106b7c1140117e7949 Mon Sep 17 00:00:00 2001 From: Kilian Panot Date: Mon, 28 Oct 2024 20:03:45 +0900 Subject: [PATCH 13/40] fix: missing optional dependencies --- apps/github-cascading-app/package.json | 1 + packages/@ama-sdk/schematics/package.json | 10 +- packages/@o3r/analytics/package.json | 8 ++ .../analytics/tsconfig.fixture.jasmine.json | 1 + .../@o3r/analytics/tsconfig.fixture.jest.json | 1 + packages/@o3r/artifactory-tools/package.json | 8 ++ packages/@o3r/azure-tools/package.json | 8 ++ packages/@o3r/components/package.json | 4 + packages/@o3r/configuration/package.json | 4 + .../tsconfig.fixture.jasmine.json | 1 + .../configuration/tsconfig.fixture.jest.json | 1 + packages/@o3r/core/package.json | 6 +- .../schematics/scripts/exported-actions.ts | 30 ----- .../schematics/scripts/sub-entry-imports.ts | 67 ---------- packages/@o3r/design/package.json | 8 ++ packages/@o3r/dev-tools/package.json | 8 ++ packages/@o3r/dynamic-content/package.json | 4 + .../tsconfig.fixture.jasmine.json | 1 + .../tsconfig.fixture.jest.json | 1 + packages/@o3r/eslint-plugin/package.json | 4 + packages/@o3r/extractors/package.json | 4 + packages/@o3r/forms/package.json | 4 + packages/@o3r/localization/package.json | 4 + packages/@o3r/logger/package.json | 4 + packages/@o3r/new-version/package.json | 12 ++ packages/@o3r/pipeline/package.json | 10 +- packages/@o3r/routing/package.json | 4 + packages/@o3r/store-sync/package.json | 4 + packages/@o3r/stylelint-plugin/package.json | 8 ++ packages/@o3r/styling/package.json | 14 ++- packages/@o3r/testing/package.json | 8 ++ packages/@o3r/third-party/package.json | 6 +- packages/@o3r/training-tools/package.json | 8 ++ packages/@o3r/workspace/package.json | 4 + tsconfig.base.json | 6 +- yarn.lock | 118 +++++++++++++++++- 36 files changed, 283 insertions(+), 111 deletions(-) delete mode 100644 packages/@o3r/core/schematics/scripts/exported-actions.ts delete mode 100644 packages/@o3r/core/schematics/scripts/sub-entry-imports.ts diff --git a/apps/github-cascading-app/package.json b/apps/github-cascading-app/package.json index bb5676154b..144712c1b3 100644 --- a/apps/github-cascading-app/package.json +++ b/apps/github-cascading-app/package.json @@ -25,6 +25,7 @@ "@actions/github": "^6.0.0", "@angular-devkit/build-angular": "~18.2.0", "@angular-devkit/core": "~18.2.0", + "@angular-devkit/schematics": "~18.2.0", "@angular-eslint/builder": "~18.3.0", "@angular-eslint/eslint-plugin": "~18.3.0", "@angular-eslint/eslint-plugin-template": "~18.3.0", diff --git a/packages/@ama-sdk/schematics/package.json b/packages/@ama-sdk/schematics/package.json index 36d2f6fdab..7ba634f802 100644 --- a/packages/@ama-sdk/schematics/package.json +++ b/packages/@ama-sdk/schematics/package.json @@ -54,17 +54,23 @@ }, "@openapitools/openapi-generator-cli": { "optional": true + }, + "openapi-types": { + "optional": true + }, + "type-fest": { + "optional": true } }, "peerDependencies": { "@ama-sdk/core": "workspace:^", "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", "@angular-devkit/schematics-cli": "^18.0.5", "@angular/cli": "~18.2.0", "@o3r/schematics": "workspace:^", "@openapitools/openapi-generator-cli": "~2.15.0", - "@schematics/angular": "~18.2.0" + "openapi-types": "^12.0.0", + "type-fest": "^4.10.2" }, "dependencies": { "@angular-devkit/core": "~18.2.0", diff --git a/packages/@o3r/analytics/package.json b/packages/@o3r/analytics/package.json index 1d2de82f97..662c1ed02a 100644 --- a/packages/@o3r/analytics/package.json +++ b/packages/@o3r/analytics/package.json @@ -25,6 +25,7 @@ }, "peerDependencies": { "@ama-sdk/core": "workspace:^", + "@angular-devkit/schematics": "~18.2.0", "@angular/common": "~18.2.0", "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", @@ -36,9 +37,13 @@ "@schematics/angular": "~18.2.0", "jasmine": "^5.0.0", "rxjs": "^7.8.1", + "typescript": "~5.5.4", "webpack": "~5.95.0" }, "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + }, "@o3r/schematics": { "optional": true }, @@ -48,6 +53,9 @@ "jasmine": { "optional": true }, + "typescript": { + "optional": true + }, "webpack": { "optional": true } diff --git a/packages/@o3r/analytics/tsconfig.fixture.jasmine.json b/packages/@o3r/analytics/tsconfig.fixture.jasmine.json index 685f51bd52..1c6b9c2174 100644 --- a/packages/@o3r/analytics/tsconfig.fixture.jasmine.json +++ b/packages/@o3r/analytics/tsconfig.fixture.jasmine.json @@ -9,6 +9,7 @@ "emitDeclarationOnly": true, "tsBuildInfoFile": "build/.tsbuildinfo.jasmine", "incremental": true, + "composite": true, "outDir": "./dist" }, "include": ["src/**/fixtures/jasmine/**/*.ts"], diff --git a/packages/@o3r/analytics/tsconfig.fixture.jest.json b/packages/@o3r/analytics/tsconfig.fixture.jest.json index 42dcac1319..b64600e2bc 100644 --- a/packages/@o3r/analytics/tsconfig.fixture.jest.json +++ b/packages/@o3r/analytics/tsconfig.fixture.jest.json @@ -8,6 +8,7 @@ "emitDeclarationOnly": true, "tsBuildInfoFile": "build/.tsbuildinfo.jest", "incremental": true, + "composite": true, "outDir": "./dist" }, "include": ["src/**/fixtures/jest/**/*.ts"], diff --git a/packages/@o3r/artifactory-tools/package.json b/packages/@o3r/artifactory-tools/package.json index 27afad99b4..3d5d2caf35 100644 --- a/packages/@o3r/artifactory-tools/package.json +++ b/packages/@o3r/artifactory-tools/package.json @@ -28,6 +28,14 @@ "tslib": "^2.6.2", "winston": "^3.8.2" }, + "peerDependencies": { + "@angular-devkit/schematics": "~18.2.0" + }, + "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + } + }, "devDependencies": { "@angular-devkit/core": "~18.2.0", "@angular-devkit/schematics": "~18.2.0", diff --git a/packages/@o3r/azure-tools/package.json b/packages/@o3r/azure-tools/package.json index 4ac9fb72c5..7fab932870 100644 --- a/packages/@o3r/azure-tools/package.json +++ b/packages/@o3r/azure-tools/package.json @@ -27,6 +27,14 @@ "tslib": "^2.6.2", "winston": "^3.8.2" }, + "peerDependencies": { + "@angular-devkit/schematics": "~18.2.0" + }, + "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + } + }, "devDependencies": { "@angular-devkit/core": "~18.2.0", "@angular-devkit/schematics": "~18.2.0", diff --git a/packages/@o3r/components/package.json b/packages/@o3r/components/package.json index 1ac4697334..751be0883c 100644 --- a/packages/@o3r/components/package.json +++ b/packages/@o3r/components/package.json @@ -32,6 +32,7 @@ }, "peerDependencies": { "@angular-devkit/architect": "~0.1802.0", + "@angular-devkit/core": "~18.2.0", "@angular-devkit/schematics": "~18.2.0", "@angular/cdk": "~18.2.0", "@angular/common": "~18.2.0", @@ -66,6 +67,9 @@ "typescript": "~5.5.4" }, "peerDependenciesMeta": { + "@angular-devkit/core": { + "optional": true + }, "@angular-devkit/schematics": { "optional": true }, diff --git a/packages/@o3r/configuration/package.json b/packages/@o3r/configuration/package.json index 181acf2e96..4d876a8f81 100644 --- a/packages/@o3r/configuration/package.json +++ b/packages/@o3r/configuration/package.json @@ -32,6 +32,7 @@ "prepare:publish": "prepare-publish ./dist" }, "peerDependencies": { + "@angular-devkit/schematics": "~18.2.0", "@angular/core": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@ngrx/entity": "~18.0.0", @@ -48,6 +49,9 @@ "typescript": "~5.5.4" }, "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + }, "@o3r/schematics": { "optional": true }, diff --git a/packages/@o3r/configuration/tsconfig.fixture.jasmine.json b/packages/@o3r/configuration/tsconfig.fixture.jasmine.json index 685f51bd52..1c6b9c2174 100644 --- a/packages/@o3r/configuration/tsconfig.fixture.jasmine.json +++ b/packages/@o3r/configuration/tsconfig.fixture.jasmine.json @@ -9,6 +9,7 @@ "emitDeclarationOnly": true, "tsBuildInfoFile": "build/.tsbuildinfo.jasmine", "incremental": true, + "composite": true, "outDir": "./dist" }, "include": ["src/**/fixtures/jasmine/**/*.ts"], diff --git a/packages/@o3r/configuration/tsconfig.fixture.jest.json b/packages/@o3r/configuration/tsconfig.fixture.jest.json index d9eed523f4..9163229957 100644 --- a/packages/@o3r/configuration/tsconfig.fixture.jest.json +++ b/packages/@o3r/configuration/tsconfig.fixture.jest.json @@ -9,6 +9,7 @@ "emitDeclarationOnly": true, "tsBuildInfoFile": "build/.tsbuildinfo.jest", "incremental": true, + "composite": true, "outDir": "./dist" }, "include": ["src/**/fixtures/jest/**/*.ts"], diff --git a/packages/@o3r/core/package.json b/packages/@o3r/core/package.json index 3fe60659f3..6a0a42ad68 100644 --- a/packages/@o3r/core/package.json +++ b/packages/@o3r/core/package.json @@ -40,6 +40,7 @@ "chokidar": "^3.5.2", "globby": "^11.1.0", "rxjs": "^7.8.1", + "type-fest": "^4.10.2", "typescript": "~5.5.4" }, "peerDependenciesMeta": { @@ -66,6 +67,9 @@ }, "globby": { "optional": true + }, + "type-fest": { + "optional": true } }, "dependencies": { @@ -105,7 +109,6 @@ "@schematics/angular": "~18.2.0", "@stylistic/eslint-plugin-ts": "~2.4.0", "@types/jest": "~29.5.2", - "@types/minimist": "^1.2.2", "@types/node": "^20.0.0", "@types/pid-from-port": "^1.1.0", "@types/uuid": "^9.0.0", @@ -127,7 +130,6 @@ "jest-preset-angular": "~14.2.0", "jsonc-eslint-parser": "~2.4.0", "memfs": "~4.14.0", - "minimist": "^1.2.6", "nx": "~19.5.0", "pid-from-port": "^1.1.3", "rxjs": "^7.8.1", diff --git a/packages/@o3r/core/schematics/scripts/exported-actions.ts b/packages/@o3r/core/schematics/scripts/exported-actions.ts deleted file mode 100644 index 2abde77e18..0000000000 --- a/packages/@o3r/core/schematics/scripts/exported-actions.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { getExportedSymbolsFromFile } from '@o3r/schematics'; -import * as ts from 'typescript'; -import * as fs from 'node:fs'; -import { sync as globbySync } from 'globby'; -import * as path from 'node:path'; - -const moduleName = 'store'; - -const moduleFolderPath = path.resolve(__dirname, '..', '..', '..', '..', '..', 'packages', '@o3r', moduleName, 'src'); -const outputJsonPath = path.resolve(__dirname, 'exported-actions-v3.json'); -const actionFiles = globbySync(path.posix.join(moduleFolderPath, '**', '*.actions.ts').replace(/\\/g, '/')); - -const actionsProgram = ts.createProgram(actionFiles, {}); - -const exportedActions = actionFiles.reduce((acc, actionFile) => { - // Because v3 actions were classes, we retrieve all the classes exported by the Actions files - getExportedSymbolsFromFile(actionsProgram, actionFile) - // eslint-disable-next-line no-bitwise - .filter((symbol) => symbol.flags & ts.SymbolFlags.Class) - .forEach((symbol) => { - // And pre-populate the migrated name which in 80% of the case will be a lowerCamelCase version of the classname - acc[symbol.name] = symbol.name.charAt(0).toLowerCase() + symbol.name.slice(1); - }); - return acc; -}, {} as Record); - -fs.writeFileSync(outputJsonPath, JSON.stringify(exportedActions, null, 2)); - - - diff --git a/packages/@o3r/core/schematics/scripts/sub-entry-imports.ts b/packages/@o3r/core/schematics/scripts/sub-entry-imports.ts deleted file mode 100644 index e93ada98e2..0000000000 --- a/packages/@o3r/core/schematics/scripts/sub-entry-imports.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { getExportedSymbolsFromFile } from '@o3r/schematics'; -import * as ts from 'typescript'; -import * as fs from 'node:fs'; -import * as minimist from 'minimist'; -import * as path from 'node:path'; - -const argv = minimist(process.argv.slice(2)); - -const moduleName = argv._[0]; - -const moduleFolderPath = path.resolve(__dirname, '..', '..', '..', '..', '..', 'packages', '@o3r', moduleName, 'src'); -const outputJsonPath = path.resolve(__dirname, `${moduleName}-mapping.json`); - -// Build a list of the index files of every sub-entry -const subEntries = fs.readdirSync(moduleFolderPath, { withFileTypes: true }) - .filter(dirent => dirent.isDirectory()) - .map(dirent => ({ - indexFile: path.join(moduleFolderPath, dirent.name, 'index.ts').replace(/\\/g, '/'), - name: dirent.name - })); - -// Build a list of the fixture.ts file of every sub-entry (today only applicable to services) -const fixtureFiles = fs.readdirSync(moduleFolderPath, { withFileTypes: true }) - .filter(dirent => dirent.isDirectory()) - .map(dirent => ({ - indexFile: path.join(moduleFolderPath, dirent.name, 'fixtures.ts').replace(/\\/g, '/'), - name: dirent.name - })) - .filter((fixture) => fs.existsSync(fixture.indexFile)); - -const subEntriesProgram = ts.createProgram(subEntries.map((subEntry) => subEntry.indexFile), {}); - -// Build an association between a sub-entry name and all the symbols exported by its index file -const mapping = subEntries.reduce((acc, subEntry) => { - const exports = getExportedSymbolsFromFile(subEntriesProgram, subEntry.indexFile) - .map((symbol) => symbol.name); - - exports.forEach((exportedMember) => { - if (!acc[subEntry.name]) { - acc[subEntry.name] = []; - } - acc[subEntry.name].push(exportedMember); - }); - - return acc; -}, {} as any); - -// If working with fixtures, build a separate list of all the symbols exported by fixtures files -if (fixtureFiles.length > 0) { - const fixturesProgram = ts.createProgram(fixtureFiles.map((fixture) => fixture.indexFile), {}); - const availableFixtures: string[] = []; - fixtureFiles.forEach((fixture) => { - const exports = getExportedSymbolsFromFile(fixturesProgram, fixture.indexFile) - .map((symbol) => symbol.name); - availableFixtures.push(...exports); - }); - if (availableFixtures.length > 0) { - mapping['fixtures/fixtures'] = availableFixtures; - } -} - -const content = { [moduleName]: mapping }; - -fs.writeFileSync(outputJsonPath, JSON.stringify(content, null, 2)); - - - diff --git a/packages/@o3r/design/package.json b/packages/@o3r/design/package.json index c02acedb15..282a717678 100644 --- a/packages/@o3r/design/package.json +++ b/packages/@o3r/design/package.json @@ -53,6 +53,8 @@ "tslib": "^2.6.2" }, "peerDependencies": { + "@angular-devkit/architect": "~0.1802.0", + "@angular-devkit/schematics": "~18.2.0", "@o3r/core": "workspace:^", "@o3r/schematics": "workspace:^", "@o3r/styling": "workspace:^", @@ -62,6 +64,12 @@ "sass": "~1.80.0" }, "peerDependenciesMeta": { + "@angular-devkit/architect": { + "optional": true + }, + "@angular-devkit/schematics": { + "optional": true + }, "@o3r/core": { "optional": true }, diff --git a/packages/@o3r/dev-tools/package.json b/packages/@o3r/dev-tools/package.json index c3ba573292..5da3507b45 100644 --- a/packages/@o3r/dev-tools/package.json +++ b/packages/@o3r/dev-tools/package.json @@ -56,6 +56,14 @@ "type-fest": "^4.10.2", "winston": "^3.8.2" }, + "peerDependencies": { + "@angular-devkit/schematics": "~18.2.0" + }, + "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + } + }, "devDependencies": { "@angular-devkit/core": "~18.2.0", "@angular-devkit/schematics": "~18.2.0", diff --git a/packages/@o3r/dynamic-content/package.json b/packages/@o3r/dynamic-content/package.json index 507880fd87..1a1ff7aab9 100644 --- a/packages/@o3r/dynamic-content/package.json +++ b/packages/@o3r/dynamic-content/package.json @@ -30,6 +30,7 @@ }, "peerDependencies": { "@angular-devkit/architect": "~0.1802.0", + "@angular-devkit/schematics": "~18.2.0", "@angular/compiler-cli": "~18.2.0", "@angular/core": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", @@ -43,6 +44,9 @@ "rxjs": "^7.8.1" }, "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + }, "@o3r/schematics": { "optional": true }, diff --git a/packages/@o3r/dynamic-content/tsconfig.fixture.jasmine.json b/packages/@o3r/dynamic-content/tsconfig.fixture.jasmine.json index 685f51bd52..1c6b9c2174 100644 --- a/packages/@o3r/dynamic-content/tsconfig.fixture.jasmine.json +++ b/packages/@o3r/dynamic-content/tsconfig.fixture.jasmine.json @@ -9,6 +9,7 @@ "emitDeclarationOnly": true, "tsBuildInfoFile": "build/.tsbuildinfo.jasmine", "incremental": true, + "composite": true, "outDir": "./dist" }, "include": ["src/**/fixtures/jasmine/**/*.ts"], diff --git a/packages/@o3r/dynamic-content/tsconfig.fixture.jest.json b/packages/@o3r/dynamic-content/tsconfig.fixture.jest.json index d9eed523f4..9163229957 100644 --- a/packages/@o3r/dynamic-content/tsconfig.fixture.jest.json +++ b/packages/@o3r/dynamic-content/tsconfig.fixture.jest.json @@ -9,6 +9,7 @@ "emitDeclarationOnly": true, "tsBuildInfoFile": "build/.tsbuildinfo.jest", "incremental": true, + "composite": true, "outDir": "./dist" }, "include": ["src/**/fixtures/jest/**/*.ts"], diff --git a/packages/@o3r/eslint-plugin/package.json b/packages/@o3r/eslint-plugin/package.json index cb82225d99..acaba1de0b 100644 --- a/packages/@o3r/eslint-plugin/package.json +++ b/packages/@o3r/eslint-plugin/package.json @@ -31,6 +31,9 @@ "type-fest": "^4.10.2" }, "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + }, "@angular-eslint/template-parser": { "optional": true }, @@ -42,6 +45,7 @@ } }, "peerDependencies": { + "@angular-devkit/schematics": "~18.2.0", "@angular-eslint/template-parser": "~18.3.0", "@angular-eslint/test-utils": "~18.3.0", "@angular/compiler": "~18.2.0", diff --git a/packages/@o3r/extractors/package.json b/packages/@o3r/extractors/package.json index c6f9b538ce..5745c33f7c 100644 --- a/packages/@o3r/extractors/package.json +++ b/packages/@o3r/extractors/package.json @@ -23,6 +23,7 @@ "peerDependencies": { "@angular-devkit/architect": "~0.1802.0", "@angular-devkit/core": "~18.2.0", + "@angular-devkit/schematics": "~18.2.0", "@o3r/core": "workspace:^", "@o3r/schematics": "workspace:^", "@o3r/telemetry": "workspace:^", @@ -38,6 +39,9 @@ "typescript": "~5.5.4" }, "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + }, "@o3r/telemetry": { "optional": true }, diff --git a/packages/@o3r/forms/package.json b/packages/@o3r/forms/package.json index e0ba2c7741..1b0d045fb8 100644 --- a/packages/@o3r/forms/package.json +++ b/packages/@o3r/forms/package.json @@ -20,6 +20,7 @@ }, "peerDependencies": { "@ama-sdk/core": "workspace:^", + "@angular-devkit/schematics": "~18.2.0", "@angular/common": "~18.2.0", "@angular/core": "~18.2.0", "@angular/forms": "~18.2.0", @@ -31,6 +32,9 @@ "rxjs": "^7.8.1" }, "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + }, "@o3r/schematics": { "optional": true }, diff --git a/packages/@o3r/localization/package.json b/packages/@o3r/localization/package.json index e81458e36e..0243740d24 100644 --- a/packages/@o3r/localization/package.json +++ b/packages/@o3r/localization/package.json @@ -58,6 +58,7 @@ "intl-messageformat": "~10.7.0", "rxjs": "^7.8.1", "semver": "^7.5.2", + "type-fest": "^4.10.2", "typescript": "~5.5.4" }, "peerDependenciesMeta": { @@ -103,6 +104,9 @@ "semver": { "optional": true }, + "type-fest": { + "optional": true + }, "typescript": { "optional": true } diff --git a/packages/@o3r/logger/package.json b/packages/@o3r/logger/package.json index dc58f495da..bd0e77614a 100644 --- a/packages/@o3r/logger/package.json +++ b/packages/@o3r/logger/package.json @@ -20,6 +20,7 @@ "prepare:publish": "prepare-publish ./dist" }, "peerDependencies": { + "@angular-devkit/schematics": "~18.2.0", "@angular/core": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@fullstory/browser": "^2.0.0", @@ -33,6 +34,9 @@ "smartlook-client": "^9.0.0" }, "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + }, "@fullstory/browser": { "optional": true }, diff --git a/packages/@o3r/new-version/package.json b/packages/@o3r/new-version/package.json index face46706b..91992d5db0 100644 --- a/packages/@o3r/new-version/package.json +++ b/packages/@o3r/new-version/package.json @@ -22,6 +22,18 @@ "semver": "^7.5.2", "tslib": "^2.6.2" }, + "peerDependencies": { + "@angular-devkit/schematics": "~18.2.0", + "@o3r/schematics": "workspace:^" + }, + "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + }, + "@o3r/schematics": { + "optional": true + } + }, "devDependencies": { "@angular-devkit/core": "~18.2.0", "@angular-devkit/schematics": "~18.2.0", diff --git a/packages/@o3r/pipeline/package.json b/packages/@o3r/pipeline/package.json index 06229ed1c2..0444169f80 100644 --- a/packages/@o3r/pipeline/package.json +++ b/packages/@o3r/pipeline/package.json @@ -39,15 +39,23 @@ "tslib": "^2.6.2" }, "peerDependencies": { + "@angular-devkit/schematics": "~18.2.0", "@o3r/schematics": "workspace:^", - "@o3r/telemetry": "workspace:^" + "@o3r/telemetry": "workspace:^", + "type-fest": "^4.10.2" }, "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + }, "@o3r/schematics": { "optional": true }, "@o3r/telemetry": { "optional": true + }, + "type-fest": { + "optional": true } }, "devDependencies": { diff --git a/packages/@o3r/routing/package.json b/packages/@o3r/routing/package.json index 95c7e6a7ca..1fc685f1e7 100644 --- a/packages/@o3r/routing/package.json +++ b/packages/@o3r/routing/package.json @@ -23,6 +23,7 @@ "prepare:publish": "prepare-publish ./dist" }, "peerDependencies": { + "@angular-devkit/schematics": "~18.2.0", "@angular/common": "~18.2.0", "@angular/core": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", @@ -39,6 +40,9 @@ "rxjs": "^7.8.1" }, "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + }, "@o3r/schematics": { "optional": true }, diff --git a/packages/@o3r/store-sync/package.json b/packages/@o3r/store-sync/package.json index 0f94af938a..01953d3740 100644 --- a/packages/@o3r/store-sync/package.json +++ b/packages/@o3r/store-sync/package.json @@ -30,6 +30,7 @@ "@o3r/core": "workspace:^", "@o3r/logger": "workspace:^", "@o3r/schematics": "workspace:^", + "@schematics/angular": "~18.2.0", "fast-deep-equal": "^3.1.3", "rxjs": "^7.8.1" }, @@ -42,6 +43,9 @@ }, "@o3r/schematics": { "optional": true + }, + "@schematics/angular": { + "optional": true } }, "dependencies": { diff --git a/packages/@o3r/stylelint-plugin/package.json b/packages/@o3r/stylelint-plugin/package.json index e0495860fb..dcb73dabda 100644 --- a/packages/@o3r/stylelint-plugin/package.json +++ b/packages/@o3r/stylelint-plugin/package.json @@ -27,12 +27,20 @@ "tslib": "^2.6.2" }, "peerDependencies": { + "@angular-devkit/schematics": "~18.2.0", + "@o3r/schematics": "workspace:^", "@schematics/angular": "~18.2.0", "postcss": "^8.4.5", "postcss-scss": "^4.0.9", "stylelint": "^16.0.2" }, "peerDependenciesMeta": { + "@angular-devkit/schematics": { + "optional": true + }, + "@o3r/schematics": { + "optional": true + }, "@schematics/angular": { "optional": true } diff --git a/packages/@o3r/styling/package.json b/packages/@o3r/styling/package.json index da69492fee..f4c1acd87b 100644 --- a/packages/@o3r/styling/package.json +++ b/packages/@o3r/styling/package.json @@ -54,9 +54,12 @@ "@yarnpkg/fslib": "^3.1.0", "@yarnpkg/plugin-npm": "^3.0.1", "@yarnpkg/plugin-pack": "^4.0.0", + "chokidar": "^3.5.2", + "globby": "^11.1.0", "rxjs": "^7.8.1", "sass": "~1.80.0", - "semver": "^7.5.2" + "semver": "^7.5.2", + "typescript": "~5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/architect": { @@ -107,11 +110,20 @@ "@yarnpkg/plugin-pack": { "optional": true }, + "chokidar": { + "optional": true + }, + "globby": { + "optional": true + }, "sass": { "optional": true }, "semver": { "optional": true + }, + "typescript": { + "optional": true } }, "dependencies": { diff --git a/packages/@o3r/testing/package.json b/packages/@o3r/testing/package.json index 6464128069..64ec6ece2c 100644 --- a/packages/@o3r/testing/package.json +++ b/packages/@o3r/testing/package.json @@ -95,6 +95,7 @@ }, "peerDependencies": { "@amadeus-it-group/kassette": "^1.7.0", + "@angular-devkit/core": "~18.2.0", "@angular-devkit/schematics": "~18.2.0", "@angular/animations": "~18.2.0", "@angular/cli": "~18.2.0", @@ -115,12 +116,16 @@ "protractor": "^7.0.0", "rxjs": "^7.8.1", "temporal-polyfill": "^0.2.0", + "type-fest": "^4.10.2", "typescript": "~5.5.4" }, "peerDependenciesMeta": { "@amadeus-it-group/kassette": { "optional": true }, + "@angular-devkit/core": { + "optional": true + }, "@angular-devkit/schematics": { "optional": true }, @@ -159,6 +164,9 @@ }, "temporal-polyfill": { "optional": true + }, + "type-fest": { + "optional": true } }, "dependencies": { diff --git a/packages/@o3r/third-party/package.json b/packages/@o3r/third-party/package.json index a984f5e89e..f110ccf1e4 100644 --- a/packages/@o3r/third-party/package.json +++ b/packages/@o3r/third-party/package.json @@ -28,7 +28,8 @@ "@o3r/core": "workspace:^", "@o3r/schematics": "workspace:^", "@schematics/angular": "~18.2.0", - "rxjs": "^7.8.1" + "rxjs": "^7.8.1", + "typescript": "~5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/schematics": { @@ -42,6 +43,9 @@ }, "@schematics/angular": { "optional": true + }, + "typescript": { + "optional": true } }, "devDependencies": { diff --git a/packages/@o3r/training-tools/package.json b/packages/@o3r/training-tools/package.json index 0919845524..fb3457df51 100644 --- a/packages/@o3r/training-tools/package.json +++ b/packages/@o3r/training-tools/package.json @@ -31,6 +31,8 @@ } }, "peerDependencies": { + "@angular-devkit/schematics": "~18.2.0", + "@o3r/schematics": "workspace:^", "@schematics/angular": "~18.2.0", "@webcontainer/api": "~1.4.0", "eslint": "^8.57.0", @@ -45,9 +47,15 @@ "@angular-devkit/core": { "optional": true }, + "@angular-devkit/schematics": { + "optional": true + }, "@angular/cli": { "optional": true }, + "@o3r/schematics": { + "optional": true + }, "eslint": { "optional": true }, diff --git a/packages/@o3r/workspace/package.json b/packages/@o3r/workspace/package.json index aef6497f34..8ea76b0cb6 100644 --- a/packages/@o3r/workspace/package.json +++ b/packages/@o3r/workspace/package.json @@ -31,6 +31,7 @@ "@angular/core": "~18.2.0", "@o3r/telemetry": "workspace:^", "@schematics/angular": "~18.2.0", + "type-fest": "^4.10.2", "typescript": "~5.5.4" }, "peerDependenciesMeta": { @@ -39,6 +40,9 @@ }, "@o3r/telemetry": { "optional": true + }, + "type-fest": { + "optional": true } }, "dependencies": { diff --git a/tsconfig.base.json b/tsconfig.base.json index 77c4dce291..16dbff7c30 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -190,12 +190,12 @@ "@o3r/styling": [ "packages/@o3r/styling/src/public_api" ], - "@o3r/styling/schemas/*": [ - "packages/@o3r/styling/schemas/*" - ], "@o3r/styling/builders/*/helpers": [ "packages/@o3r/styling/builders/*/helpers/index" ], + "@o3r/styling/schemas/*": [ + "packages/@o3r/styling/schemas/*" + ], "@o3r/telemetry": [ "packages/@o3r/telemetry/src/public_api" ], diff --git a/yarn.lock b/yarn.lock index a9d7a9612a..f64e18d2be 100644 --- a/yarn.lock +++ b/yarn.lock @@ -691,12 +691,12 @@ __metadata: peerDependencies: "@ama-sdk/core": "workspace:^" "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 "@angular-devkit/schematics-cli": ^18.0.5 "@angular/cli": ~18.2.0 "@o3r/schematics": "workspace:^" "@openapitools/openapi-generator-cli": ~2.15.0 - "@schematics/angular": ~18.2.0 + openapi-types: ^12.0.0 + type-fest: ^4.10.2 peerDependenciesMeta: "@ama-sdk/core": optional: true @@ -708,6 +708,10 @@ __metadata: optional: true "@openapitools/openapi-generator-cli": optional: true + openapi-types: + optional: true + type-fest: + optional: true bin: amasdk-clear-index: ./dist/cli/clear-index.cjs amasdk-files-pack: ./dist/cli/files-pack.cjs @@ -7228,6 +7232,7 @@ __metadata: zone.js: "npm:~0.14.2" peerDependencies: "@ama-sdk/core": "workspace:^" + "@angular-devkit/schematics": ~18.2.0 "@angular/common": ~18.2.0 "@angular/core": ~18.2.0 "@angular/platform-browser": ~18.2.0 @@ -7239,14 +7244,19 @@ __metadata: "@schematics/angular": ~18.2.0 jasmine: ^5.0.0 rxjs: ^7.8.1 + typescript: ~5.5.4 webpack: ~5.95.0 peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true "@o3r/schematics": optional: true "@schematics/angular": optional: true jasmine: optional: true + typescript: + optional: true webpack: optional: true languageName: unknown @@ -7449,6 +7459,11 @@ __metadata: tslib: "npm:^2.6.2" typescript: "npm:~5.5.4" winston: "npm:^3.8.2" + peerDependencies: + "@angular-devkit/schematics": ~18.2.0 + peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true bin: o3r-artifact-cleaner: ./dist/src/cli/artifact-cleaner.js o3r-pr-artifact-cleaner: ./dist/src/cli/pr-artifact-cleaner.js @@ -7493,6 +7508,11 @@ __metadata: tslib: "npm:^2.6.2" typescript: "npm:~5.5.4" winston: "npm:^3.8.2" + peerDependencies: + "@angular-devkit/schematics": ~18.2.0 + peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true bin: o3r-comment-pr: ./dist/src/cli/comment-pr.js languageName: unknown @@ -7705,6 +7725,7 @@ __metadata: zone.js: "npm:~0.14.2" peerDependencies: "@angular-devkit/architect": ~0.1802.0 + "@angular-devkit/core": ~18.2.0 "@angular-devkit/schematics": ~18.2.0 "@angular/cdk": ~18.2.0 "@angular/common": ~18.2.0 @@ -7738,6 +7759,8 @@ __metadata: semver: ^7.5.2 typescript: ~5.5.4 peerDependenciesMeta: + "@angular-devkit/core": + optional: true "@angular-devkit/schematics": optional: true "@ngx-translate/core": @@ -7844,6 +7867,7 @@ __metadata: typescript: "npm:~5.5.4" zone.js: "npm:~0.14.2" peerDependencies: + "@angular-devkit/schematics": ~18.2.0 "@angular/core": ~18.2.0 "@angular/platform-browser-dynamic": ~18.2.0 "@ngrx/entity": ~18.0.0 @@ -7859,6 +7883,8 @@ __metadata: rxjs: ^7.8.1 typescript: ~5.5.4 peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true "@o3r/schematics": optional: true "@schematics/angular": @@ -7910,7 +7936,6 @@ __metadata: "@schematics/angular": "npm:~18.2.0" "@stylistic/eslint-plugin-ts": "npm:~2.4.0" "@types/jest": "npm:~29.5.2" - "@types/minimist": "npm:^1.2.2" "@types/node": "npm:^20.0.0" "@types/pid-from-port": "npm:^1.1.0" "@types/uuid": "npm:^9.0.0" @@ -7932,7 +7957,6 @@ __metadata: jest-preset-angular: "npm:~14.2.0" jsonc-eslint-parser: "npm:~2.4.0" memfs: "npm:~4.14.0" - minimist: "npm:^1.2.6" nx: "npm:~19.5.0" pid-from-port: "npm:^1.1.3" rxjs: "npm:^7.8.1" @@ -7963,6 +7987,7 @@ __metadata: chokidar: ^3.5.2 globby: ^11.1.0 rxjs: ^7.8.1 + type-fest: ^4.10.2 typescript: ~5.5.4 peerDependenciesMeta: "@angular/cli": @@ -7981,6 +8006,8 @@ __metadata: optional: true globby: optional: true + type-fest: + optional: true languageName: unknown linkType: soft @@ -8110,6 +8137,8 @@ __metadata: typescript: "npm:~5.5.4" zone.js: "npm:~0.14.2" peerDependencies: + "@angular-devkit/architect": ~0.1802.0 + "@angular-devkit/schematics": ~18.2.0 "@o3r/core": "workspace:^" "@o3r/schematics": "workspace:^" "@o3r/styling": "workspace:^" @@ -8118,6 +8147,10 @@ __metadata: globby: ^11.1.0 sass: ~1.80.0 peerDependenciesMeta: + "@angular-devkit/architect": + optional: true + "@angular-devkit/schematics": + optional: true "@o3r/core": optional: true "@o3r/schematics": @@ -8197,6 +8230,11 @@ __metadata: type-fest: "npm:^4.10.2" typescript: "npm:~5.5.4" winston: "npm:^3.8.2" + peerDependencies: + "@angular-devkit/schematics": ~18.2.0 + peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true bin: artifact-cleaner: ./dist/src/cli/artifact-cleaner.js artifact-retriever: ./dist/src/cli/artifact-retriever.js @@ -8272,6 +8310,7 @@ __metadata: zone.js: "npm:~0.14.2" peerDependencies: "@angular-devkit/architect": ~0.1802.0 + "@angular-devkit/schematics": ~18.2.0 "@angular/compiler-cli": ~18.2.0 "@angular/core": ~18.2.0 "@angular/platform-browser-dynamic": ~18.2.0 @@ -8284,6 +8323,8 @@ __metadata: jasmine: ^5.0.0 rxjs: ^7.8.1 peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true "@o3r/schematics": optional: true "@schematics/angular": @@ -8431,6 +8472,7 @@ __metadata: typescript: "npm:~5.5.4" yaml-eslint-parser: "npm:^1.2.2" peerDependencies: + "@angular-devkit/schematics": ~18.2.0 "@angular-eslint/template-parser": ~18.3.0 "@angular-eslint/test-utils": ~18.3.0 "@angular/compiler": ~18.2.0 @@ -8442,6 +8484,8 @@ __metadata: jsonc-eslint-parser: ~2.4.0 yaml-eslint-parser: ^1.2.2 peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true "@angular-eslint/template-parser": optional: true jsonc-eslint-parser: @@ -8528,6 +8572,7 @@ __metadata: peerDependencies: "@angular-devkit/architect": ~0.1802.0 "@angular-devkit/core": ~18.2.0 + "@angular-devkit/schematics": ~18.2.0 "@o3r/core": "workspace:^" "@o3r/schematics": "workspace:^" "@o3r/telemetry": "workspace:^" @@ -8542,6 +8587,8 @@ __metadata: type-fest: ^4.10.2 typescript: ~5.5.4 peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true "@o3r/telemetry": optional: true "@schematics/angular": @@ -8624,6 +8671,7 @@ __metadata: zone.js: "npm:~0.14.2" peerDependencies: "@ama-sdk/core": "workspace:^" + "@angular-devkit/schematics": ~18.2.0 "@angular/common": ~18.2.0 "@angular/core": ~18.2.0 "@angular/forms": ~18.2.0 @@ -8634,6 +8682,8 @@ __metadata: "@schematics/angular": ~18.2.0 rxjs: ^7.8.1 peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true "@o3r/schematics": optional: true "@schematics/angular": @@ -8787,6 +8837,7 @@ __metadata: "@actions/github": "npm:^6.0.0" "@angular-devkit/build-angular": "npm:~18.2.0" "@angular-devkit/core": "npm:~18.2.0" + "@angular-devkit/schematics": "npm:~18.2.0" "@angular-eslint/builder": "npm:~18.3.0" "@angular-eslint/eslint-plugin": "npm:~18.3.0" "@angular-eslint/eslint-plugin-template": "npm:~18.3.0" @@ -8944,6 +8995,7 @@ __metadata: intl-messageformat: ~10.7.0 rxjs: ^7.8.1 semver: ^7.5.2 + type-fest: ^4.10.2 typescript: ~5.5.4 peerDependenciesMeta: "@angular-devkit/core": @@ -8974,6 +9026,8 @@ __metadata: optional: true semver: optional: true + type-fest: + optional: true typescript: optional: true languageName: unknown @@ -9040,6 +9094,7 @@ __metadata: typescript: "npm:~5.5.4" zone.js: "npm:~0.14.2" peerDependencies: + "@angular-devkit/schematics": ~18.2.0 "@angular/core": ~18.2.0 "@angular/platform-browser-dynamic": ~18.2.0 "@fullstory/browser": ^2.0.0 @@ -9052,6 +9107,8 @@ __metadata: rxjs: ^7.8.1 smartlook-client: ^9.0.0 peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true "@fullstory/browser": optional: true "@o3r/schematics": @@ -9200,6 +9257,14 @@ __metadata: ts-node: "npm:~10.9.2" tslib: "npm:^2.6.2" typescript: "npm:~5.5.4" + peerDependencies: + "@angular-devkit/schematics": ~18.2.0 + "@o3r/schematics": "workspace:^" + peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true + "@o3r/schematics": + optional: true languageName: unknown linkType: soft @@ -9248,13 +9313,19 @@ __metadata: type-fest: "npm:^4.10.2" typescript: "npm:~5.5.4" peerDependencies: + "@angular-devkit/schematics": ~18.2.0 "@o3r/schematics": "workspace:^" "@o3r/telemetry": "workspace:^" + type-fest: ^4.10.2 peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true "@o3r/schematics": optional: true "@o3r/telemetry": optional: true + type-fest: + optional: true languageName: unknown linkType: soft @@ -9320,6 +9391,7 @@ __metadata: typescript: "npm:~5.5.4" zone.js: "npm:~0.14.2" peerDependencies: + "@angular-devkit/schematics": ~18.2.0 "@angular/common": ~18.2.0 "@angular/core": ~18.2.0 "@angular/platform-browser-dynamic": ~18.2.0 @@ -9335,6 +9407,8 @@ __metadata: jasmine: ^5.0.0 rxjs: ^7.8.1 peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true "@o3r/schematics": optional: true "@schematics/angular": @@ -9726,6 +9800,7 @@ __metadata: "@o3r/core": "workspace:^" "@o3r/logger": "workspace:^" "@o3r/schematics": "workspace:^" + "@schematics/angular": ~18.2.0 fast-deep-equal: ^3.1.3 rxjs: ^7.8.1 peerDependenciesMeta: @@ -9735,6 +9810,8 @@ __metadata: optional: true "@o3r/schematics": optional: true + "@schematics/angular": + optional: true languageName: unknown linkType: soft @@ -9882,11 +9959,17 @@ __metadata: tslib: "npm:^2.6.2" typescript: "npm:~5.5.4" peerDependencies: + "@angular-devkit/schematics": ~18.2.0 + "@o3r/schematics": "workspace:^" "@schematics/angular": ~18.2.0 postcss: ^8.4.5 postcss-scss: ^4.0.9 stylelint: ^16.0.2 peerDependenciesMeta: + "@angular-devkit/schematics": + optional: true + "@o3r/schematics": + optional: true "@schematics/angular": optional: true languageName: unknown @@ -9986,9 +10069,12 @@ __metadata: "@yarnpkg/fslib": ^3.1.0 "@yarnpkg/plugin-npm": ^3.0.1 "@yarnpkg/plugin-pack": ^4.0.0 + chokidar: ^3.5.2 + globby: ^11.1.0 rxjs: ^7.8.1 sass: ~1.80.0 semver: ^7.5.2 + typescript: ~5.5.4 peerDependenciesMeta: "@angular-devkit/architect": optional: true @@ -10022,10 +10108,16 @@ __metadata: optional: true "@yarnpkg/plugin-pack": optional: true + chokidar: + optional: true + globby: + optional: true sass: optional: true semver: optional: true + typescript: + optional: true languageName: unknown linkType: soft @@ -10219,6 +10311,7 @@ __metadata: zone.js: "npm:~0.14.2" peerDependencies: "@amadeus-it-group/kassette": ^1.7.0 + "@angular-devkit/core": ~18.2.0 "@angular-devkit/schematics": ~18.2.0 "@angular/animations": ~18.2.0 "@angular/cli": ~18.2.0 @@ -10239,10 +10332,13 @@ __metadata: protractor: ^7.0.0 rxjs: ^7.8.1 temporal-polyfill: ^0.2.0 + type-fest: ^4.10.2 typescript: ~5.5.4 peerDependenciesMeta: "@amadeus-it-group/kassette": optional: true + "@angular-devkit/core": + optional: true "@angular-devkit/schematics": optional: true "@angular/cli": @@ -10269,6 +10365,8 @@ __metadata: optional: true temporal-polyfill: optional: true + type-fest: + optional: true languageName: unknown linkType: soft @@ -10336,6 +10434,7 @@ __metadata: "@o3r/schematics": "workspace:^" "@schematics/angular": ~18.2.0 rxjs: ^7.8.1 + typescript: ~5.5.4 peerDependenciesMeta: "@angular-devkit/schematics": optional: true @@ -10345,6 +10444,8 @@ __metadata: optional: true "@schematics/angular": optional: true + typescript: + optional: true languageName: unknown linkType: soft @@ -10407,6 +10508,8 @@ __metadata: typescript: "npm:~5.5.4" zone.js: "npm:~0.14.2" peerDependencies: + "@angular-devkit/schematics": ~18.2.0 + "@o3r/schematics": "workspace:^" "@schematics/angular": ~18.2.0 "@webcontainer/api": ~1.4.0 eslint: ^8.57.0 @@ -10418,8 +10521,12 @@ __metadata: optional: true "@angular-devkit/core": optional: true + "@angular-devkit/schematics": + optional: true "@angular/cli": optional: true + "@o3r/schematics": + optional: true eslint: optional: true type-fest: @@ -10543,12 +10650,15 @@ __metadata: "@angular/core": ~18.2.0 "@o3r/telemetry": "workspace:^" "@schematics/angular": ~18.2.0 + type-fest: ^4.10.2 typescript: ~5.5.4 peerDependenciesMeta: "@angular/cli": optional: true "@o3r/telemetry": optional: true + type-fest: + optional: true bin: o3r-set-version: ./dist/src/cli/set-version.cjs languageName: unknown From 32e0128e326257a8993467e4221161b61ef24cb8 Mon Sep 17 00:00:00 2001 From: Kilian Panot Date: Wed, 30 Oct 2024 16:55:22 +0900 Subject: [PATCH 14/40] fix: recursive peerDependency to @o3r/schematics --- apps/github-cascading-app/package.json | 4 ---- .../github-cascading-app/testing/jest.config.ut.js | 2 +- apps/github-cascading-app/testing/setup-jest.ts | 2 -- apps/github-cascading-app/tsconfig.eslint.json | 2 +- packages/@o3r/test-helpers/package.json | 14 +++----------- yarn.lock | 10 ---------- 6 files changed, 5 insertions(+), 29 deletions(-) diff --git a/apps/github-cascading-app/package.json b/apps/github-cascading-app/package.json index 144712c1b3..8b95a7038a 100644 --- a/apps/github-cascading-app/package.json +++ b/apps/github-cascading-app/package.json @@ -23,9 +23,6 @@ }, "devDependencies": { "@actions/github": "^6.0.0", - "@angular-devkit/build-angular": "~18.2.0", - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", "@angular-eslint/builder": "~18.3.0", "@angular-eslint/eslint-plugin": "~18.3.0", "@angular-eslint/eslint-plugin-template": "~18.3.0", @@ -62,7 +59,6 @@ "jest": "~29.7.0", "jest-environment-jsdom": "~29.7.0", "jest-junit": "~16.0.0", - "jest-preset-angular": "~14.2.0", "jsonc-eslint-parser": "~2.4.0", "nock": "^13.0.5", "nx": "~19.5.0", diff --git a/apps/github-cascading-app/testing/jest.config.ut.js b/apps/github-cascading-app/testing/jest.config.ut.js index ff25b01b24..3fe95ed338 100644 --- a/apps/github-cascading-app/testing/jest.config.ut.js +++ b/apps/github-cascading-app/testing/jest.config.ut.js @@ -4,7 +4,7 @@ const rootDir = path.join(__dirname, '..'); /** @type {import('ts-jest/dist/types').JestConfigWithTsJest} */ module.exports = { - ...getJestProjectConfig(rootDir, true), + ...getJestProjectConfig(rootDir, false), displayName: require('../package.json').name, rootDir }; diff --git a/apps/github-cascading-app/testing/setup-jest.ts b/apps/github-cascading-app/testing/setup-jest.ts index ab68e1eb87..e69de29bb2 100644 --- a/apps/github-cascading-app/testing/setup-jest.ts +++ b/apps/github-cascading-app/testing/setup-jest.ts @@ -1,2 +0,0 @@ -import 'jest-preset-angular/setup-jest'; - diff --git a/apps/github-cascading-app/tsconfig.eslint.json b/apps/github-cascading-app/tsconfig.eslint.json index 800a855807..47a21e2d5a 100644 --- a/apps/github-cascading-app/tsconfig.eslint.json +++ b/apps/github-cascading-app/tsconfig.eslint.json @@ -3,7 +3,7 @@ "include": [ ".eslintrc.js", "jest.config.js", - "testing/**", + "testing/**/*.js", "scripts/**/*.mjs" ], "exclude": [] diff --git a/packages/@o3r/test-helpers/package.json b/packages/@o3r/test-helpers/package.json index 1d5ac33c52..13c44bd087 100644 --- a/packages/@o3r/test-helpers/package.json +++ b/packages/@o3r/test-helpers/package.json @@ -22,14 +22,15 @@ } }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", - "@o3r/schematics": "workspace:^", "jest-environment-node": "~29.7.0", "memfs": "~4.14.0", "pid-from-port": "^1.1.3", "unionfs": "~4.5.1" }, "dependencies": { + "@angular-devkit/schematics": "~18.2.0", + "@o3r/schematics": "workspace:^", + "@schematics/angular": "~18.2.0", "semver": "^7.5.2", "tslib": "^2.6.2" }, @@ -41,15 +42,12 @@ "build:builders": "tsc -b tsconfig.builders.json --pretty" }, "devDependencies": { - "@angular-devkit/schematics": "~18.2.0", "@angular-eslint/eslint-plugin": "~18.3.0", "@jest/environment": "~29.7.0", "@jest/types": "~29.6.3", "@nx/eslint-plugin": "~19.5.0", "@o3r/build-helpers": "workspace:^", "@o3r/eslint-plugin": "workspace:^", - "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", "@stylistic/eslint-plugin-ts": "~2.4.0", "@types/jest": "~29.5.2", "@types/node": "^20.0.0", @@ -84,12 +82,6 @@ ], "schematics": "./collection.json", "peerDependenciesMeta": { - "@angular-devkit/schematics": { - "optional": true - }, - "@o3r/schematics": { - "optional": true - }, "jest-environment-node": { "optional": true }, diff --git a/yarn.lock b/yarn.lock index f64e18d2be..99c112232f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8835,9 +8835,6 @@ __metadata: resolution: "@o3r/github-cascading-app@workspace:apps/github-cascading-app" dependencies: "@actions/github": "npm:^6.0.0" - "@angular-devkit/build-angular": "npm:~18.2.0" - "@angular-devkit/core": "npm:~18.2.0" - "@angular-devkit/schematics": "npm:~18.2.0" "@angular-eslint/builder": "npm:~18.3.0" "@angular-eslint/eslint-plugin": "npm:~18.3.0" "@angular-eslint/eslint-plugin-template": "npm:~18.3.0" @@ -8875,7 +8872,6 @@ __metadata: jest: "npm:~29.7.0" jest-environment-jsdom: "npm:~29.7.0" jest-junit: "npm:~16.0.0" - jest-preset-angular: "npm:~14.2.0" jsonc-eslint-parser: "npm:~2.4.0" nock: "npm:^13.0.5" nx: "npm:~19.5.0" @@ -10218,17 +10214,11 @@ __metadata: typescript: "npm:~5.5.4" unionfs: "npm:~4.5.1" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 - "@o3r/schematics": "workspace:^" jest-environment-node: ~29.7.0 memfs: ~4.14.0 pid-from-port: ^1.1.3 unionfs: ~4.5.1 peerDependenciesMeta: - "@angular-devkit/schematics": - optional: true - "@o3r/schematics": - optional: true jest-environment-node: optional: true memfs: From be1b5ff685c5c3687c3e936b38676add118bd463 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 14:03:52 +0000 Subject: [PATCH 15/40] chore(deps): update dependency @babel/core to ~7.26.0 --- package.json | 2 +- packages/@o3r/analytics/package.json | 2 +- packages/@o3r/apis-manager/package.json | 2 +- packages/@o3r/application/package.json | 2 +- packages/@o3r/artifactory-tools/package.json | 2 +- packages/@o3r/azure-tools/package.json | 2 +- packages/@o3r/components/package.json | 2 +- packages/@o3r/configuration/package.json | 2 +- packages/@o3r/core/package.json | 2 +- packages/@o3r/design/package.json | 2 +- packages/@o3r/dev-tools/package.json | 2 +- packages/@o3r/dynamic-content/package.json | 2 +- packages/@o3r/eslint-plugin/package.json | 2 +- packages/@o3r/extractors/package.json | 2 +- packages/@o3r/forms/package.json | 2 +- packages/@o3r/localization/package.json | 2 +- packages/@o3r/logger/package.json | 2 +- packages/@o3r/mobile/package.json | 2 +- packages/@o3r/new-version/package.json | 2 +- packages/@o3r/routing/package.json | 2 +- packages/@o3r/rules-engine/package.json | 2 +- packages/@o3r/schematics/package.json | 2 +- packages/@o3r/storybook/package.json | 2 +- packages/@o3r/stylelint-plugin/package.json | 2 +- packages/@o3r/styling/package.json | 2 +- packages/@o3r/testing/package.json | 2 +- packages/@o3r/third-party/package.json | 2 +- packages/@o3r/training-tools/package.json | 2 +- packages/@o3r/workspace/package.json | 2 +- yarn.lock | 85 +++++++------------- 30 files changed, 60 insertions(+), 83 deletions(-) diff --git a/package.json b/package.json index e6c4951cb2..5f7f021020 100644 --- a/package.json +++ b/package.json @@ -173,7 +173,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@angular/router": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@commitlint/cli": "^19.0.0", "@commitlint/config-conventional": "^19.0.0", diff --git a/packages/@o3r/analytics/package.json b/packages/@o3r/analytics/package.json index 662c1ed02a..8fbe49cae6 100644 --- a/packages/@o3r/analytics/package.json +++ b/packages/@o3r/analytics/package.json @@ -77,7 +77,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@angular/router": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/store": "~18.0.0", diff --git a/packages/@o3r/apis-manager/package.json b/packages/@o3r/apis-manager/package.json index 01db2397e8..8096efee4d 100644 --- a/packages/@o3r/apis-manager/package.json +++ b/packages/@o3r/apis-manager/package.json @@ -60,7 +60,7 @@ "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint": "~19.5.0", diff --git a/packages/@o3r/application/package.json b/packages/@o3r/application/package.json index da2a5a496e..be022fb8ea 100644 --- a/packages/@o3r/application/package.json +++ b/packages/@o3r/application/package.json @@ -62,7 +62,7 @@ "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint": "~19.5.0", diff --git a/packages/@o3r/artifactory-tools/package.json b/packages/@o3r/artifactory-tools/package.json index 3d5d2caf35..89eec3e25b 100644 --- a/packages/@o3r/artifactory-tools/package.json +++ b/packages/@o3r/artifactory-tools/package.json @@ -40,7 +40,7 @@ "@angular-devkit/core": "~18.2.0", "@angular-devkit/schematics": "~18.2.0", "@angular-eslint/eslint-plugin": "~18.3.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/azure-tools/package.json b/packages/@o3r/azure-tools/package.json index 7fab932870..0849e2cc2a 100644 --- a/packages/@o3r/azure-tools/package.json +++ b/packages/@o3r/azure-tools/package.json @@ -39,7 +39,7 @@ "@angular-devkit/core": "~18.2.0", "@angular-devkit/schematics": "~18.2.0", "@angular-eslint/eslint-plugin": "~18.3.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/components/package.json b/packages/@o3r/components/package.json index 751be0883c..215cbfd60b 100644 --- a/packages/@o3r/components/package.json +++ b/packages/@o3r/components/package.json @@ -149,7 +149,7 @@ "@angular/forms": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/effects": "~18.0.0", diff --git a/packages/@o3r/configuration/package.json b/packages/@o3r/configuration/package.json index 4d876a8f81..c9e2277faa 100644 --- a/packages/@o3r/configuration/package.json +++ b/packages/@o3r/configuration/package.json @@ -86,7 +86,7 @@ "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/entity": "~18.0.0", diff --git a/packages/@o3r/core/package.json b/packages/@o3r/core/package.json index 6a0a42ad68..c8a9e3807c 100644 --- a/packages/@o3r/core/package.json +++ b/packages/@o3r/core/package.json @@ -93,7 +93,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@angular/router": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/entity": "~18.0.0", diff --git a/packages/@o3r/design/package.json b/packages/@o3r/design/package.json index 282a717678..62b404ae0b 100644 --- a/packages/@o3r/design/package.json +++ b/packages/@o3r/design/package.json @@ -106,7 +106,7 @@ "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint": "~19.5.0", diff --git a/packages/@o3r/dev-tools/package.json b/packages/@o3r/dev-tools/package.json index 5da3507b45..90f7b9e79b 100644 --- a/packages/@o3r/dev-tools/package.json +++ b/packages/@o3r/dev-tools/package.json @@ -68,7 +68,7 @@ "@angular-devkit/core": "~18.2.0", "@angular-devkit/schematics": "~18.2.0", "@angular-eslint/eslint-plugin": "~18.3.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/dynamic-content/package.json b/packages/@o3r/dynamic-content/package.json index 1a1ff7aab9..dd890e94f7 100644 --- a/packages/@o3r/dynamic-content/package.json +++ b/packages/@o3r/dynamic-content/package.json @@ -79,7 +79,7 @@ "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/store": "~18.0.0", diff --git a/packages/@o3r/eslint-plugin/package.json b/packages/@o3r/eslint-plugin/package.json index acaba1de0b..4f13f691fa 100644 --- a/packages/@o3r/eslint-plugin/package.json +++ b/packages/@o3r/eslint-plugin/package.json @@ -64,7 +64,7 @@ "@angular-eslint/template-parser": "~18.3.0", "@angular-eslint/test-utils": "~18.3.0", "@angular/compiler": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@eslint/eslintrc": "^3.0.0", diff --git a/packages/@o3r/extractors/package.json b/packages/@o3r/extractors/package.json index 5745c33f7c..ef9c1f5888 100644 --- a/packages/@o3r/extractors/package.json +++ b/packages/@o3r/extractors/package.json @@ -93,7 +93,7 @@ "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint": "~19.5.0", diff --git a/packages/@o3r/forms/package.json b/packages/@o3r/forms/package.json index 1b0d045fb8..aa6c3dc5f5 100644 --- a/packages/@o3r/forms/package.json +++ b/packages/@o3r/forms/package.json @@ -59,7 +59,7 @@ "@angular/forms": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/entity": "~18.0.0", diff --git a/packages/@o3r/localization/package.json b/packages/@o3r/localization/package.json index 0243740d24..dee00f0d8a 100644 --- a/packages/@o3r/localization/package.json +++ b/packages/@o3r/localization/package.json @@ -129,7 +129,7 @@ "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/store": "~18.0.0", diff --git a/packages/@o3r/logger/package.json b/packages/@o3r/logger/package.json index bd0e77614a..36400845eb 100644 --- a/packages/@o3r/logger/package.json +++ b/packages/@o3r/logger/package.json @@ -72,7 +72,7 @@ "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@fullstory/browser": "^2.0.0", diff --git a/packages/@o3r/mobile/package.json b/packages/@o3r/mobile/package.json index 90e8499886..22e9908866 100644 --- a/packages/@o3r/mobile/package.json +++ b/packages/@o3r/mobile/package.json @@ -75,7 +75,7 @@ "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@capacitor/browser": "^6.0.0", "@capacitor/core": "^6.0.0", diff --git a/packages/@o3r/new-version/package.json b/packages/@o3r/new-version/package.json index 91992d5db0..1fe2fcf66f 100644 --- a/packages/@o3r/new-version/package.json +++ b/packages/@o3r/new-version/package.json @@ -38,7 +38,7 @@ "@angular-devkit/core": "~18.2.0", "@angular-devkit/schematics": "~18.2.0", "@angular-eslint/eslint-plugin": "~18.3.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/routing/package.json b/packages/@o3r/routing/package.json index 1fc685f1e7..869c090dcb 100644 --- a/packages/@o3r/routing/package.json +++ b/packages/@o3r/routing/package.json @@ -70,7 +70,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@angular/router": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/effects": "~18.0.0", diff --git a/packages/@o3r/rules-engine/package.json b/packages/@o3r/rules-engine/package.json index 8974e67480..c0614a2b1c 100644 --- a/packages/@o3r/rules-engine/package.json +++ b/packages/@o3r/rules-engine/package.json @@ -99,7 +99,7 @@ "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/effects": "~18.0.0", diff --git a/packages/@o3r/schematics/package.json b/packages/@o3r/schematics/package.json index eb2bea18e7..8ab5241553 100644 --- a/packages/@o3r/schematics/package.json +++ b/packages/@o3r/schematics/package.json @@ -78,7 +78,7 @@ "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint": "~19.5.0", diff --git a/packages/@o3r/storybook/package.json b/packages/@o3r/storybook/package.json index 143f975400..9067c5c182 100644 --- a/packages/@o3r/storybook/package.json +++ b/packages/@o3r/storybook/package.json @@ -89,7 +89,7 @@ "@angular/forms": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/store": "~18.0.0", diff --git a/packages/@o3r/stylelint-plugin/package.json b/packages/@o3r/stylelint-plugin/package.json index dcb73dabda..4a93b41973 100644 --- a/packages/@o3r/stylelint-plugin/package.json +++ b/packages/@o3r/stylelint-plugin/package.json @@ -50,7 +50,7 @@ "@angular-devkit/schematics": "~18.2.0", "@angular-eslint/eslint-plugin": "~18.3.0", "@angular/compiler": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/styling/package.json b/packages/@o3r/styling/package.json index f4c1acd87b..771667d03c 100644 --- a/packages/@o3r/styling/package.json +++ b/packages/@o3r/styling/package.json @@ -145,7 +145,7 @@ "@angular/material": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint": "~19.5.0", diff --git a/packages/@o3r/testing/package.json b/packages/@o3r/testing/package.json index 64ec6ece2c..8d200f1c25 100644 --- a/packages/@o3r/testing/package.json +++ b/packages/@o3r/testing/package.json @@ -188,7 +188,7 @@ "@angular/forms": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@material/slider": "^14.0.0", diff --git a/packages/@o3r/third-party/package.json b/packages/@o3r/third-party/package.json index f110ccf1e4..0b27486284 100644 --- a/packages/@o3r/third-party/package.json +++ b/packages/@o3r/third-party/package.json @@ -61,7 +61,7 @@ "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/training-tools/package.json b/packages/@o3r/training-tools/package.json index fb3457df51..c94ea6fbcb 100644 --- a/packages/@o3r/training-tools/package.json +++ b/packages/@o3r/training-tools/package.json @@ -80,7 +80,7 @@ "@angular/core": "~18.2.0", "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@nx/eslint": "~19.5.0", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/workspace/package.json b/packages/@o3r/workspace/package.json index 8ea76b0cb6..db3e3eb75a 100644 --- a/packages/@o3r/workspace/package.json +++ b/packages/@o3r/workspace/package.json @@ -69,7 +69,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@angular/router": "~18.2.0", - "@babel/core": "~7.25.0", + "@babel/core": "~7.26.0", "@babel/preset-typescript": "~7.25.0", "@ngrx/entity": "~18.0.0", "@ngrx/store": "~18.0.0", diff --git a/yarn.lock b/yarn.lock index 99c112232f..8c2b974113 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1905,7 +1905,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.4": +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.4, @babel/core@npm:~7.26.0": version: 7.26.0 resolution: "@babel/core@npm:7.26.0" dependencies: @@ -1928,29 +1928,6 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:~7.25.0": - version: 7.25.9 - resolution: "@babel/core@npm:7.25.9" - dependencies: - "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.25.9" - "@babel/generator": "npm:^7.25.9" - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helpers": "npm:^7.25.9" - "@babel/parser": "npm:^7.25.9" - "@babel/template": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - convert-source-map: "npm:^2.0.0" - debug: "npm:^4.1.0" - gensync: "npm:^1.0.0-beta.2" - json5: "npm:^2.2.3" - semver: "npm:^6.3.1" - checksum: 10/92cc69d9d59a5eb057527e69c41db46f05d0a8eeeb5ebab3f34e5ad040b74f34f20a4d97c3f3ede6476537cac93d2b46e3915b572269d2a039301dab068fd2e8 - languageName: node - linkType: hard - "@babel/generator@npm:7.25.0": version: 7.25.0 resolution: "@babel/generator@npm:7.25.0" @@ -2198,7 +2175,7 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.25.0, @babel/helpers@npm:^7.25.7, @babel/helpers@npm:^7.25.9, @babel/helpers@npm:^7.26.0": +"@babel/helpers@npm:^7.25.0, @babel/helpers@npm:^7.25.7, @babel/helpers@npm:^7.26.0": version: 7.26.0 resolution: "@babel/helpers@npm:7.26.0" dependencies: @@ -7187,7 +7164,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@angular/router": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/store": "npm:~18.0.0" @@ -7279,7 +7256,7 @@ __metadata: "@angular/core": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint": "npm:~19.5.0" @@ -7355,7 +7332,7 @@ __metadata: "@angular/core": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint": "npm:~19.5.0" @@ -7427,7 +7404,7 @@ __metadata: "@angular-devkit/core": "npm:~18.2.0" "@angular-devkit/schematics": "npm:~18.2.0" "@angular-eslint/eslint-plugin": "npm:~18.3.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint-plugin": "npm:~19.5.0" @@ -7477,7 +7454,7 @@ __metadata: "@angular-devkit/core": "npm:~18.2.0" "@angular-devkit/schematics": "npm:~18.2.0" "@angular-eslint/eslint-plugin": "npm:~18.3.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint-plugin": "npm:~19.5.0" @@ -7663,7 +7640,7 @@ __metadata: "@angular/forms": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/effects": "npm:~18.0.0" @@ -7819,7 +7796,7 @@ __metadata: "@angular/core": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/entity": "npm:~18.0.0" @@ -7919,7 +7896,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@angular/router": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/entity": "npm:~18.0.0" @@ -8087,7 +8064,7 @@ __metadata: "@angular/core": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint": "npm:~19.5.0" @@ -8178,7 +8155,7 @@ __metadata: "@angular-devkit/core": "npm:~18.2.0" "@angular-devkit/schematics": "npm:~18.2.0" "@angular-eslint/eslint-plugin": "npm:~18.3.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint-plugin": "npm:~19.5.0" @@ -8266,7 +8243,7 @@ __metadata: "@angular/core": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/store": "npm:~18.0.0" @@ -8435,7 +8412,7 @@ __metadata: "@angular-eslint/template-parser": "npm:~18.3.0" "@angular-eslint/test-utils": "npm:~18.3.0" "@angular/compiler": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@eslint/eslintrc": "npm:^3.0.0" @@ -8511,7 +8488,7 @@ __metadata: "@angular/core": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@microsoft/tsdoc": "npm:~0.15.0" @@ -8629,7 +8606,7 @@ __metadata: "@angular/forms": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/entity": "npm:~18.0.0" @@ -8721,7 +8698,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@angular/router": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@commitlint/cli": "npm:^19.0.0" "@commitlint/config-conventional": "npm:^19.0.0" @@ -8904,7 +8881,7 @@ __metadata: "@angular/core": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/store": "npm:~18.0.0" @@ -9045,7 +9022,7 @@ __metadata: "@angular/core": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@fullstory/browser": "npm:^2.0.0" @@ -9137,7 +9114,7 @@ __metadata: "@angular/core": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@capacitor/browser": "npm:^6.0.0" "@capacitor/core": "npm:^6.0.0" @@ -9222,7 +9199,7 @@ __metadata: "@angular-devkit/core": "npm:~18.2.0" "@angular-devkit/schematics": "npm:~18.2.0" "@angular-eslint/eslint-plugin": "npm:~18.3.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint-plugin": "npm:~19.5.0" @@ -9342,7 +9319,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@angular/router": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/effects": "npm:~18.0.0" @@ -9430,7 +9407,7 @@ __metadata: "@angular/core": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/effects": "npm:~18.0.0" @@ -9549,7 +9526,7 @@ __metadata: "@angular/core": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint": "npm:~19.5.0" @@ -9828,7 +9805,7 @@ __metadata: "@angular/forms": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/store": "npm:~18.0.0" @@ -9917,7 +9894,7 @@ __metadata: "@angular-devkit/schematics": "npm:~18.2.0" "@angular-eslint/eslint-plugin": "npm:~18.3.0" "@angular/compiler": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint-plugin": "npm:~19.5.0" @@ -9990,7 +9967,7 @@ __metadata: "@angular/material": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint": "npm:~19.5.0" @@ -10245,7 +10222,7 @@ __metadata: "@angular/forms": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@material/slider": "npm:^14.0.0" @@ -10376,7 +10353,7 @@ __metadata: "@angular/core": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint-plugin": "npm:~19.5.0" @@ -10455,7 +10432,7 @@ __metadata: "@angular/core": "npm:~18.2.0" "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@nx/eslint": "npm:~19.5.0" "@nx/eslint-plugin": "npm:~19.5.0" @@ -10578,7 +10555,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@angular/router": "npm:~18.2.0" - "@babel/core": "npm:~7.25.0" + "@babel/core": "npm:~7.26.0" "@babel/preset-typescript": "npm:~7.25.0" "@ngrx/entity": "npm:~18.0.0" "@ngrx/store": "npm:~18.0.0" From d38ccff5a1a734ea17012eddb84c87d057d51928 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 15:39:56 +0000 Subject: [PATCH 16/40] chore(deps): update dependency @babel/preset-typescript to ~7.26.0 --- package.json | 2 +- packages/@o3r/analytics/package.json | 2 +- packages/@o3r/apis-manager/package.json | 2 +- packages/@o3r/application/package.json | 2 +- packages/@o3r/artifactory-tools/package.json | 2 +- packages/@o3r/azure-tools/package.json | 2 +- packages/@o3r/components/package.json | 2 +- packages/@o3r/configuration/package.json | 2 +- packages/@o3r/core/package.json | 2 +- packages/@o3r/design/package.json | 2 +- packages/@o3r/dev-tools/package.json | 2 +- packages/@o3r/dynamic-content/package.json | 2 +- packages/@o3r/eslint-plugin/package.json | 2 +- packages/@o3r/extractors/package.json | 2 +- packages/@o3r/forms/package.json | 2 +- packages/@o3r/localization/package.json | 2 +- packages/@o3r/logger/package.json | 2 +- packages/@o3r/mobile/package.json | 2 +- packages/@o3r/new-version/package.json | 2 +- packages/@o3r/routing/package.json | 2 +- packages/@o3r/rules-engine/package.json | 2 +- packages/@o3r/schematics/package.json | 2 +- packages/@o3r/storybook/package.json | 2 +- packages/@o3r/stylelint-plugin/package.json | 2 +- packages/@o3r/styling/package.json | 2 +- packages/@o3r/testing/package.json | 2 +- packages/@o3r/third-party/package.json | 2 +- packages/@o3r/training-tools/package.json | 2 +- packages/@o3r/workspace/package.json | 2 +- yarn.lock | 75 ++++++++------------ 30 files changed, 59 insertions(+), 74 deletions(-) diff --git a/package.json b/package.json index 5f7f021020..52004f08e3 100644 --- a/package.json +++ b/package.json @@ -174,7 +174,7 @@ "@angular/platform-browser-dynamic": "~18.2.0", "@angular/router": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@commitlint/cli": "^19.0.0", "@commitlint/config-conventional": "^19.0.0", "@compodoc/compodoc": "^1.1.19", diff --git a/packages/@o3r/analytics/package.json b/packages/@o3r/analytics/package.json index 8fbe49cae6..141ab390df 100644 --- a/packages/@o3r/analytics/package.json +++ b/packages/@o3r/analytics/package.json @@ -78,7 +78,7 @@ "@angular/platform-browser-dynamic": "~18.2.0", "@angular/router": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/store": "~18.0.0", "@nx/eslint": "~19.5.0", diff --git a/packages/@o3r/apis-manager/package.json b/packages/@o3r/apis-manager/package.json index 8096efee4d..d1cb64cd12 100644 --- a/packages/@o3r/apis-manager/package.json +++ b/packages/@o3r/apis-manager/package.json @@ -61,7 +61,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint": "~19.5.0", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/application/package.json b/packages/@o3r/application/package.json index be022fb8ea..bb5cb5f7c2 100644 --- a/packages/@o3r/application/package.json +++ b/packages/@o3r/application/package.json @@ -63,7 +63,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint": "~19.5.0", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/artifactory-tools/package.json b/packages/@o3r/artifactory-tools/package.json index 89eec3e25b..1922dca17d 100644 --- a/packages/@o3r/artifactory-tools/package.json +++ b/packages/@o3r/artifactory-tools/package.json @@ -41,7 +41,7 @@ "@angular-devkit/schematics": "~18.2.0", "@angular-eslint/eslint-plugin": "~18.3.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint-plugin": "~19.5.0", "@nx/jest": "~19.5.0", diff --git a/packages/@o3r/azure-tools/package.json b/packages/@o3r/azure-tools/package.json index 0849e2cc2a..29b38c69e1 100644 --- a/packages/@o3r/azure-tools/package.json +++ b/packages/@o3r/azure-tools/package.json @@ -40,7 +40,7 @@ "@angular-devkit/schematics": "~18.2.0", "@angular-eslint/eslint-plugin": "~18.3.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint-plugin": "~19.5.0", "@nx/jest": "~19.5.0", diff --git a/packages/@o3r/components/package.json b/packages/@o3r/components/package.json index 215cbfd60b..47a6167852 100644 --- a/packages/@o3r/components/package.json +++ b/packages/@o3r/components/package.json @@ -150,7 +150,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/effects": "~18.0.0", "@ngrx/entity": "~18.0.0", diff --git a/packages/@o3r/configuration/package.json b/packages/@o3r/configuration/package.json index c9e2277faa..c223847e5d 100644 --- a/packages/@o3r/configuration/package.json +++ b/packages/@o3r/configuration/package.json @@ -87,7 +87,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/entity": "~18.0.0", "@ngrx/store": "~18.0.0", diff --git a/packages/@o3r/core/package.json b/packages/@o3r/core/package.json index c8a9e3807c..11d9f02317 100644 --- a/packages/@o3r/core/package.json +++ b/packages/@o3r/core/package.json @@ -94,7 +94,7 @@ "@angular/platform-browser-dynamic": "~18.2.0", "@angular/router": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/entity": "~18.0.0", "@ngrx/store": "~18.0.0", diff --git a/packages/@o3r/design/package.json b/packages/@o3r/design/package.json index 62b404ae0b..fbe727bc3a 100644 --- a/packages/@o3r/design/package.json +++ b/packages/@o3r/design/package.json @@ -107,7 +107,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint": "~19.5.0", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/dev-tools/package.json b/packages/@o3r/dev-tools/package.json index 90f7b9e79b..29de64626d 100644 --- a/packages/@o3r/dev-tools/package.json +++ b/packages/@o3r/dev-tools/package.json @@ -69,7 +69,7 @@ "@angular-devkit/schematics": "~18.2.0", "@angular-eslint/eslint-plugin": "~18.3.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint-plugin": "~19.5.0", "@nx/jest": "~19.5.0", diff --git a/packages/@o3r/dynamic-content/package.json b/packages/@o3r/dynamic-content/package.json index dd890e94f7..3fa6286184 100644 --- a/packages/@o3r/dynamic-content/package.json +++ b/packages/@o3r/dynamic-content/package.json @@ -80,7 +80,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/store": "~18.0.0", "@nx/eslint": "~19.5.0", diff --git a/packages/@o3r/eslint-plugin/package.json b/packages/@o3r/eslint-plugin/package.json index 4f13f691fa..8a6379bb0c 100644 --- a/packages/@o3r/eslint-plugin/package.json +++ b/packages/@o3r/eslint-plugin/package.json @@ -65,7 +65,7 @@ "@angular-eslint/test-utils": "~18.3.0", "@angular/compiler": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@eslint/eslintrc": "^3.0.0", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/extractors/package.json b/packages/@o3r/extractors/package.json index ef9c1f5888..9fbd2b83da 100644 --- a/packages/@o3r/extractors/package.json +++ b/packages/@o3r/extractors/package.json @@ -94,7 +94,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint": "~19.5.0", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/forms/package.json b/packages/@o3r/forms/package.json index aa6c3dc5f5..43295ba7cd 100644 --- a/packages/@o3r/forms/package.json +++ b/packages/@o3r/forms/package.json @@ -60,7 +60,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/entity": "~18.0.0", "@ngrx/store": "~18.0.0", diff --git a/packages/@o3r/localization/package.json b/packages/@o3r/localization/package.json index dee00f0d8a..3ad9ef7cb6 100644 --- a/packages/@o3r/localization/package.json +++ b/packages/@o3r/localization/package.json @@ -130,7 +130,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/store": "~18.0.0", "@ngx-translate/core": "~15.0.0", diff --git a/packages/@o3r/logger/package.json b/packages/@o3r/logger/package.json index 36400845eb..6649382509 100644 --- a/packages/@o3r/logger/package.json +++ b/packages/@o3r/logger/package.json @@ -73,7 +73,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@fullstory/browser": "^2.0.0", "@ngrx/store": "~18.0.0", diff --git a/packages/@o3r/mobile/package.json b/packages/@o3r/mobile/package.json index 22e9908866..272db8f135 100644 --- a/packages/@o3r/mobile/package.json +++ b/packages/@o3r/mobile/package.json @@ -76,7 +76,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@capacitor/browser": "^6.0.0", "@capacitor/core": "^6.0.0", "@capacitor/device": "^6.0.0", diff --git a/packages/@o3r/new-version/package.json b/packages/@o3r/new-version/package.json index 1fe2fcf66f..16b2fa8574 100644 --- a/packages/@o3r/new-version/package.json +++ b/packages/@o3r/new-version/package.json @@ -39,7 +39,7 @@ "@angular-devkit/schematics": "~18.2.0", "@angular-eslint/eslint-plugin": "~18.3.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint-plugin": "~19.5.0", "@nx/jest": "~19.5.0", diff --git a/packages/@o3r/routing/package.json b/packages/@o3r/routing/package.json index 869c090dcb..056521da97 100644 --- a/packages/@o3r/routing/package.json +++ b/packages/@o3r/routing/package.json @@ -71,7 +71,7 @@ "@angular/platform-browser-dynamic": "~18.2.0", "@angular/router": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/effects": "~18.0.0", "@ngrx/entity": "~18.0.0", diff --git a/packages/@o3r/rules-engine/package.json b/packages/@o3r/rules-engine/package.json index c0614a2b1c..72c9cab421 100644 --- a/packages/@o3r/rules-engine/package.json +++ b/packages/@o3r/rules-engine/package.json @@ -100,7 +100,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/effects": "~18.0.0", "@ngrx/entity": "~18.0.0", diff --git a/packages/@o3r/schematics/package.json b/packages/@o3r/schematics/package.json index 8ab5241553..c23766e11f 100644 --- a/packages/@o3r/schematics/package.json +++ b/packages/@o3r/schematics/package.json @@ -79,7 +79,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint": "~19.5.0", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/storybook/package.json b/packages/@o3r/storybook/package.json index 9067c5c182..f9aad8b98f 100644 --- a/packages/@o3r/storybook/package.json +++ b/packages/@o3r/storybook/package.json @@ -90,7 +90,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@ngrx/store": "~18.0.0", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/stylelint-plugin/package.json b/packages/@o3r/stylelint-plugin/package.json index 4a93b41973..01bff87eaf 100644 --- a/packages/@o3r/stylelint-plugin/package.json +++ b/packages/@o3r/stylelint-plugin/package.json @@ -51,7 +51,7 @@ "@angular-eslint/eslint-plugin": "~18.3.0", "@angular/compiler": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint-plugin": "~19.5.0", "@nx/jest": "~19.5.0", diff --git a/packages/@o3r/styling/package.json b/packages/@o3r/styling/package.json index 771667d03c..1fee364c5e 100644 --- a/packages/@o3r/styling/package.json +++ b/packages/@o3r/styling/package.json @@ -146,7 +146,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint": "~19.5.0", "@nx/eslint-plugin": "~19.5.0", diff --git a/packages/@o3r/testing/package.json b/packages/@o3r/testing/package.json index 8d200f1c25..8e492c6c74 100644 --- a/packages/@o3r/testing/package.json +++ b/packages/@o3r/testing/package.json @@ -189,7 +189,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@material/slider": "^14.0.0", "@ngrx/store": "~18.0.0", diff --git a/packages/@o3r/third-party/package.json b/packages/@o3r/third-party/package.json index 0b27486284..4b6af1333a 100644 --- a/packages/@o3r/third-party/package.json +++ b/packages/@o3r/third-party/package.json @@ -62,7 +62,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@compodoc/compodoc": "^1.1.19", "@nx/eslint-plugin": "~19.5.0", "@nx/jest": "~19.5.0", diff --git a/packages/@o3r/training-tools/package.json b/packages/@o3r/training-tools/package.json index c94ea6fbcb..4ccd8cf005 100644 --- a/packages/@o3r/training-tools/package.json +++ b/packages/@o3r/training-tools/package.json @@ -81,7 +81,7 @@ "@angular/platform-browser": "~18.2.0", "@angular/platform-browser-dynamic": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@nx/eslint": "~19.5.0", "@nx/eslint-plugin": "~19.5.0", "@nx/jest": "~19.5.0", diff --git a/packages/@o3r/workspace/package.json b/packages/@o3r/workspace/package.json index db3e3eb75a..56dbeca313 100644 --- a/packages/@o3r/workspace/package.json +++ b/packages/@o3r/workspace/package.json @@ -70,7 +70,7 @@ "@angular/platform-browser-dynamic": "~18.2.0", "@angular/router": "~18.2.0", "@babel/core": "~7.26.0", - "@babel/preset-typescript": "~7.25.0", + "@babel/preset-typescript": "~7.26.0", "@ngrx/entity": "~18.0.0", "@ngrx/store": "~18.0.0", "@nx/angular": "~19.5.0", diff --git a/yarn.lock b/yarn.lock index 8c2b974113..7b8e8efe0a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3469,7 +3469,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.22.5": +"@babel/preset-typescript@npm:^7.22.5, @babel/preset-typescript@npm:~7.26.0": version: 7.26.0 resolution: "@babel/preset-typescript@npm:7.26.0" dependencies: @@ -3484,21 +3484,6 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:~7.25.0": - version: 7.25.9 - resolution: "@babel/preset-typescript@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-validator-option": "npm:^7.25.9" - "@babel/plugin-syntax-jsx": "npm:^7.25.9" - "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" - "@babel/plugin-transform-typescript": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/bcb730ffc777e941eb34ade5052815b7091a0f1c49c6ae9515ebc3ffbfb52b2195dff3d289498b767e9ee898fc30ed100496f4f336a8be51725f2b4a73d7227a - languageName: node - linkType: hard - "@babel/runtime@npm:7.25.0": version: 7.25.0 resolution: "@babel/runtime@npm:7.25.0" @@ -7165,7 +7150,7 @@ __metadata: "@angular/platform-browser-dynamic": "npm:~18.2.0" "@angular/router": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/store": "npm:~18.0.0" "@nx/eslint": "npm:~19.5.0" @@ -7257,7 +7242,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint": "npm:~19.5.0" "@nx/eslint-plugin": "npm:~19.5.0" @@ -7333,7 +7318,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint": "npm:~19.5.0" "@nx/eslint-plugin": "npm:~19.5.0" @@ -7405,7 +7390,7 @@ __metadata: "@angular-devkit/schematics": "npm:~18.2.0" "@angular-eslint/eslint-plugin": "npm:~18.3.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint-plugin": "npm:~19.5.0" "@nx/jest": "npm:~19.5.0" @@ -7455,7 +7440,7 @@ __metadata: "@angular-devkit/schematics": "npm:~18.2.0" "@angular-eslint/eslint-plugin": "npm:~18.3.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint-plugin": "npm:~19.5.0" "@nx/jest": "npm:~19.5.0" @@ -7641,7 +7626,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/effects": "npm:~18.0.0" "@ngrx/entity": "npm:~18.0.0" @@ -7797,7 +7782,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/entity": "npm:~18.0.0" "@ngrx/store": "npm:~18.0.0" @@ -7897,7 +7882,7 @@ __metadata: "@angular/platform-browser-dynamic": "npm:~18.2.0" "@angular/router": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/entity": "npm:~18.0.0" "@ngrx/store": "npm:~18.0.0" @@ -8065,7 +8050,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint": "npm:~19.5.0" "@nx/eslint-plugin": "npm:~19.5.0" @@ -8156,7 +8141,7 @@ __metadata: "@angular-devkit/schematics": "npm:~18.2.0" "@angular-eslint/eslint-plugin": "npm:~18.3.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint-plugin": "npm:~19.5.0" "@nx/jest": "npm:~19.5.0" @@ -8244,7 +8229,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/store": "npm:~18.0.0" "@nx/eslint": "npm:~19.5.0" @@ -8413,7 +8398,7 @@ __metadata: "@angular-eslint/test-utils": "npm:~18.3.0" "@angular/compiler": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@eslint/eslintrc": "npm:^3.0.0" "@nx/eslint-plugin": "npm:~19.5.0" @@ -8489,7 +8474,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@microsoft/tsdoc": "npm:~0.15.0" "@nx/eslint": "npm:~19.5.0" @@ -8607,7 +8592,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/entity": "npm:~18.0.0" "@ngrx/store": "npm:~18.0.0" @@ -8699,7 +8684,7 @@ __metadata: "@angular/platform-browser-dynamic": "npm:~18.2.0" "@angular/router": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@commitlint/cli": "npm:^19.0.0" "@commitlint/config-conventional": "npm:^19.0.0" "@compodoc/compodoc": "npm:^1.1.19" @@ -8882,7 +8867,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/store": "npm:~18.0.0" "@ngx-translate/core": "npm:~15.0.0" @@ -9023,7 +9008,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@fullstory/browser": "npm:^2.0.0" "@ngrx/store": "npm:~18.0.0" @@ -9115,7 +9100,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@capacitor/browser": "npm:^6.0.0" "@capacitor/core": "npm:^6.0.0" "@capacitor/device": "npm:^6.0.0" @@ -9200,7 +9185,7 @@ __metadata: "@angular-devkit/schematics": "npm:~18.2.0" "@angular-eslint/eslint-plugin": "npm:~18.3.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint-plugin": "npm:~19.5.0" "@nx/jest": "npm:~19.5.0" @@ -9320,7 +9305,7 @@ __metadata: "@angular/platform-browser-dynamic": "npm:~18.2.0" "@angular/router": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/effects": "npm:~18.0.0" "@ngrx/entity": "npm:~18.0.0" @@ -9408,7 +9393,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/effects": "npm:~18.0.0" "@ngrx/entity": "npm:~18.0.0" @@ -9527,7 +9512,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint": "npm:~19.5.0" "@nx/eslint-plugin": "npm:~19.5.0" @@ -9806,7 +9791,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@ngrx/store": "npm:~18.0.0" "@nx/eslint-plugin": "npm:~19.5.0" @@ -9895,7 +9880,7 @@ __metadata: "@angular-eslint/eslint-plugin": "npm:~18.3.0" "@angular/compiler": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint-plugin": "npm:~19.5.0" "@nx/jest": "npm:~19.5.0" @@ -9968,7 +9953,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint": "npm:~19.5.0" "@nx/eslint-plugin": "npm:~19.5.0" @@ -10223,7 +10208,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@material/slider": "npm:^14.0.0" "@ngrx/store": "npm:~18.0.0" @@ -10354,7 +10339,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@compodoc/compodoc": "npm:^1.1.19" "@nx/eslint-plugin": "npm:~19.5.0" "@nx/jest": "npm:~19.5.0" @@ -10433,7 +10418,7 @@ __metadata: "@angular/platform-browser": "npm:~18.2.0" "@angular/platform-browser-dynamic": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@nx/eslint": "npm:~19.5.0" "@nx/eslint-plugin": "npm:~19.5.0" "@nx/jest": "npm:~19.5.0" @@ -10556,7 +10541,7 @@ __metadata: "@angular/platform-browser-dynamic": "npm:~18.2.0" "@angular/router": "npm:~18.2.0" "@babel/core": "npm:~7.26.0" - "@babel/preset-typescript": "npm:~7.25.0" + "@babel/preset-typescript": "npm:~7.26.0" "@ngrx/entity": "npm:~18.0.0" "@ngrx/store": "npm:~18.0.0" "@nx/angular": "npm:~19.5.0" From 7a4d507704eb1add18a51001655b76dce2ce13a3 Mon Sep 17 00:00:00 2001 From: Kilian Panot Date: Thu, 31 Oct 2024 01:57:55 +0900 Subject: [PATCH 17/40] fix(design): remove Node requirement in core files --- .../design-token-style.renderer.spec.ts | 39 +++++++++--- .../renderers/design-token-style.renderer.ts | 60 ++++++++++++++++--- 2 files changed, 84 insertions(+), 15 deletions(-) diff --git a/packages/@o3r/design/src/core/design-token/renderers/design-token-style.renderer.spec.ts b/packages/@o3r/design/src/core/design-token/renderers/design-token-style.renderer.spec.ts index 114dbd2894..f507bf17f8 100644 --- a/packages/@o3r/design/src/core/design-token/renderers/design-token-style.renderer.spec.ts +++ b/packages/@o3r/design/src/core/design-token/renderers/design-token-style.renderer.spec.ts @@ -3,7 +3,9 @@ import { promises as fs } from 'node:fs'; import { resolve } from 'node:path'; import type { DesignTokenGroup, DesignTokenSpecification } from '../design-token-specification.interface'; import type { DesignTokenVariableSet } from '../parsers'; -import { computeFileToUpdatePath, getTokenSorterByName, getTokenSorterByRef, renderDesignTokens } from './design-token-style.renderer'; +import { computeFileToUpdatePath, getFileToUpdatePath, getTokenSorterByName, getTokenSorterByRef, renderDesignTokens } from './design-token-style.renderer'; + +const rootPath = resolve('/'); describe('Design Token Renderer', () => { let exampleVariable!: DesignTokenSpecification; @@ -19,7 +21,7 @@ describe('Design Token Renderer', () => { describe('computeFileToUpdatePath', () => { const DEFAULT_FILE = 'test-result.json'; - const fileToUpdate = computeFileToUpdatePath('/', DEFAULT_FILE); + const fileToUpdate = computeFileToUpdatePath(rootPath, DEFAULT_FILE); test('should return default file if not specified', () => { const variable = designTokens.get('example.var1'); @@ -34,7 +36,28 @@ describe('Design Token Renderer', () => { const result = fileToUpdate(variable); expect(variable.extensions.o3rTargetFile).toBeDefined(); - expect(result).toBe(resolve('/', variable.extensions.o3rTargetFile)); + expect(result).toBe(resolve(rootPath, variable.extensions.o3rTargetFile)); + }); + }); + + describe('getFileToUpdatePath', () => { + const DEFAULT_FILE = 'test-result.json'; + const fileToUpdate = getFileToUpdatePath(rootPath, DEFAULT_FILE); + + test('should return default file if not specified', async () => { + const variable = designTokens.get('example.var1'); + const result = (await fileToUpdate)(variable); + + expect(variable.extensions.o3rTargetFile).not.toBeDefined(); + expect(result).toBe(DEFAULT_FILE); + }); + + test('should return file specified by the token', async () => { + const variable = designTokens.get('example.test.var2'); + const result = (await fileToUpdate)(variable); + + expect(variable.extensions.o3rTargetFile).toBeDefined(); + expect(result).toBe(resolve(rootPath, variable.extensions.o3rTargetFile)); }); }); @@ -43,7 +66,7 @@ describe('Design Token Renderer', () => { const writeFile = jest.fn(); const readFile = jest.fn().mockReturnValue(''); const existsFile = jest.fn().mockReturnValue(true); - const determineFileToUpdate = jest.fn().mockReturnValue(computeFileToUpdatePath('.')); + const determineFileToUpdate = jest.fn().mockReturnValue(await getFileToUpdatePath('.')); const tokenDefinitionRenderer = jest.fn().mockReturnValue('--test: #000;'); await renderDesignTokens(designTokens, { @@ -64,7 +87,7 @@ describe('Design Token Renderer', () => { const writeFile = jest.fn(); const readFile = jest.fn().mockReturnValue(''); const existsFile = jest.fn().mockReturnValue(true); - const determineFileToUpdate = jest.fn().mockImplementation(computeFileToUpdatePath('.')); + const determineFileToUpdate = jest.fn().mockImplementation(await getFileToUpdatePath('.')); await renderDesignTokens(designTokens, { writeFile, @@ -87,7 +110,7 @@ describe('Design Token Renderer', () => { const writeFile = jest.fn().mockImplementation((filename, content) => { result[filename] = content; }); const readFile = jest.fn().mockReturnValue(''); const existsFile = jest.fn().mockReturnValue(true); - const determineFileToUpdate = jest.fn().mockImplementation(computeFileToUpdatePath('.')); + const determineFileToUpdate = jest.fn().mockImplementation(await getFileToUpdatePath('.')); await renderDesignTokens(designTokens, { writeFile, @@ -106,7 +129,7 @@ describe('Design Token Renderer', () => { const writeFile = jest.fn().mockImplementation((filename, content) => { result[filename] = content; }); const readFile = jest.fn().mockReturnValue(''); const existsFile = jest.fn().mockReturnValue(true); - const determineFileToUpdate = jest.fn().mockImplementation(computeFileToUpdatePath('.')); + const determineFileToUpdate = jest.fn().mockImplementation(await getFileToUpdatePath('.')); await renderDesignTokens(designTokens, { writeFile, @@ -126,7 +149,7 @@ describe('Design Token Renderer', () => { const writeFile = jest.fn().mockImplementation((filename, content) => { result[filename] = content; }); const readFile = jest.fn().mockReturnValue(''); const existsFile = jest.fn().mockReturnValue(true); - const determineFileToUpdate = jest.fn().mockImplementation(computeFileToUpdatePath('.')); + const determineFileToUpdate = jest.fn().mockImplementation(await getFileToUpdatePath('.')); const tokenListTransform = jest.fn().mockReturnValue([]); await renderDesignTokens(designTokens, { writeFile, diff --git a/packages/@o3r/design/src/core/design-token/renderers/design-token-style.renderer.ts b/packages/@o3r/design/src/core/design-token/renderers/design-token-style.renderer.ts index c17be52ff9..277915e3c6 100644 --- a/packages/@o3r/design/src/core/design-token/renderers/design-token-style.renderer.ts +++ b/packages/@o3r/design/src/core/design-token/renderers/design-token-style.renderer.ts @@ -3,20 +3,66 @@ import { getCssTokenDefinitionRenderer } from './css/design-token-definition.ren import { getCssStyleContentUpdater } from './css/design-token-updater.renderers'; import type { Logger } from '@o3r/core'; import type { promises as fs } from 'node:fs'; -import { isAbsolute, resolve } from 'node:path'; import type { DesignTokenListTransform, DesignTokenRendererOptions } from './design-token.renderer.interface'; +/** + * Retrieve the path of a target file based on root path if not absolute + * @param targetFile file to target + * @param root Root path used to resolve relative targetFile path + */ +const getFilePath = (targetFile: string, root = '.') => { + const isAbsolutePath = targetFile.startsWith('/') || /^[a-zA-Z]:[/\\]/.test(targetFile); + if (isAbsolutePath) { + return targetFile; + } else { + const joinStr = (root + targetFile); + const sep = joinStr.includes('/') ? '/' : (joinStr.includes('\\') ? '\\' : '/'); + const stack = []; + for (const part of `${root.replace(/[\\/]$/, '')}${sep}${targetFile}`.split(sep)) { + if (part === '..') { + stack.pop(); + } else if (part !== '.') { + stack.push(part); + } + } + return stack.join(sep); + } +}; + /** * Retrieve the function that determines which file to update for a given token * @param root Root path used if no base path * @param defaultFile Default file if not requested by the Token + * @deprecated Use {@link getFileToUpdatePath} instead. Will be removed in v13. */ -export const computeFileToUpdatePath = (root = process.cwd(), defaultFile = 'styles.scss') => (token: DesignTokenVariableStructure) => { - if (token.extensions.o3rTargetFile) { - return isAbsolute(token.extensions.o3rTargetFile) ? token.extensions.o3rTargetFile : resolve(token.context?.basePath || root, token.extensions.o3rTargetFile); - } +export const computeFileToUpdatePath = (root = '.', defaultFile = 'styles.scss') => (token: DesignTokenVariableStructure) => { + return token.extensions.o3rTargetFile + ? getFilePath(token.extensions.o3rTargetFile, token.context?.basePath || root) + : defaultFile; +}; - return defaultFile; +/** + * Retrieve the function that determines which file to update for a given token + * @param root Root path used if no base path + * @param defaultFile Default file if not requested by the Token + */ +export const getFileToUpdatePath = async (root?: string, defaultFile = 'styles.scss') => { + try { + const { isAbsolute, resolve } = await import('node:path'); + const { cwd } = await import('node:process'); + root ||= cwd(); + return (token: DesignTokenVariableStructure) => { + return token.extensions.o3rTargetFile + ? isAbsolute(token.extensions.o3rTargetFile) ? token.extensions.o3rTargetFile : resolve(token.context?.basePath || root!, token.extensions.o3rTargetFile) + : defaultFile; + }; + } catch { + return (token: DesignTokenVariableStructure) => { + return token.extensions.o3rTargetFile + ? getFilePath(token.extensions.o3rTargetFile, token.context?.basePath || root) + : defaultFile; + }; + } }; /** @@ -142,7 +188,7 @@ export const renderDesignTokens = async (variableSet: DesignTokenVariableSet, op const readFile = options?.readFile || (async (filePath: string) => (await import('node:fs/promises')).readFile(filePath, { encoding: 'utf8' })); const existsFile = options?.existsFile || (await import('node:fs')).existsSync; const writeFile = options?.writeFile || getDefaultFileWriter(existsFile, options?.logger); - const determineFileToUpdate = options?.determineFileToUpdate || computeFileToUpdatePath(); + const determineFileToUpdate = options?.determineFileToUpdate || await getFileToUpdatePath(); const tokenDefinitionRenderer = options?.tokenDefinitionRenderer || getCssTokenDefinitionRenderer(options); const styleContentUpdater = options?.styleContentUpdater || getCssStyleContentUpdater(); const tokenPerFile = Array.from(variableSet.values()) From 569f3d65cd3d14e1bd5d539fc0e81ca8715be885 Mon Sep 17 00:00:00 2001 From: matthieu-crouzet Date: Thu, 31 Oct 2024 09:40:27 +0100 Subject: [PATCH 18/40] fix(accessibility): import the full module to have all accessibilities features --- .../src/app/rules-engine/rules-engine.component.ts | 8 ++------ .../src/app/rules-engine/rules-engine.template.html | 8 ++++---- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/apps/showcase/src/app/rules-engine/rules-engine.component.ts b/apps/showcase/src/app/rules-engine/rules-engine.component.ts index b6b608c38f..b5491ae784 100644 --- a/apps/showcase/src/app/rules-engine/rules-engine.component.ts +++ b/apps/showcase/src/app/rules-engine/rules-engine.component.ts @@ -1,7 +1,7 @@ import { AsyncPipe } from '@angular/common'; import { AfterViewInit, ChangeDetectionStrategy, Component, inject, QueryList, ViewChildren, ViewEncapsulation } from '@angular/core'; import { RouterModule } from '@angular/router'; -import { NgbNav, NgbNavContent, NgbNavItem, NgbNavLink, NgbNavOutlet } from '@ng-bootstrap/ng-bootstrap'; +import { NgbNavModule } from '@ng-bootstrap/ng-bootstrap'; import { ApplicationDevtoolsModule } from '@o3r/application'; import { ComponentsDevtoolsModule } from '@o3r/components'; import { ConfigOverrideStoreModule, ConfigurationBaseServiceModule, ConfigurationDevtoolsModule } from '@o3r/configuration'; @@ -54,11 +54,7 @@ import { duringSummer } from '../../operators/index'; CopyTextPresComponent, RouterModule, IN_PAGE_NAV_PRES_DIRECTIVES, - NgbNav, - NgbNavItem, - NgbNavLink, - NgbNavContent, - NgbNavOutlet, + NgbNavModule, AsyncPipe ], templateUrl: './rules-engine.template.html', diff --git a/apps/showcase/src/app/rules-engine/rules-engine.template.html b/apps/showcase/src/app/rules-engine/rules-engine.template.html index 44123b08f4..8f77711156 100644 --- a/apps/showcase/src/app/rules-engine/rules-engine.template.html +++ b/apps/showcase/src/app/rules-engine/rules-engine.template.html @@ -31,7 +31,7 @@

Example

Source code