diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 69481f6a..4b035a9d 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -65,8 +65,39 @@ jobs:
run: pnpm lint
tests_local_browsers:
- runs-on: ubuntu-latest
+ runs-on: ${{ matrix.playwright-version == '1.37.1' && 'ubuntu-22.04' || 'ubuntu-latest' }} # Ubuntu 24.04 fails when trying to install the libasound2 package, a Playwright system dependency
needs: build
+ strategy:
+ fail-fast: false
+ matrix:
+ browser:
+ - chromium
+ - firefox
+ - webkit
+ browser-version:
+ - latest
+ playwright-version:
+ - 1.51.0 # Latest/same as in `package.json`
+ include:
+ # Match Angular browser support when Angular 19 was released
+ - browser: chromium
+ browser-version: 130 # Previous major Chrome version when Angular 19 was released
+ playwright-version: 1.48.2
+ - browser: firefox
+ browser-version: 130 # Firefox 131 was the previous major version when Angular 19 was released but this is not supported by any Playwright version
+ playwright-version: 1.48.2
+ - browser: firefox
+ browser-version: esr-115 # Old ESR when Firefox 131 was released
+ playwright-version: 1.37.1
+ - browser: firefox
+ browser-version: esr-128 # New ESR when Firefox 131 was released
+ playwright-version: 1.46.1
+ - browser: webkit
+ browser-version: 16 # Previous major Safari version when Angular 19 was released
+ playwright-version: 1.45.3
+ container:
+ image: mcr.microsoft.com/playwright:v${{ matrix.playwright-version }}
+ options: --user 1001
steps:
- name: Checkout code
uses: actions/checkout@v4
@@ -80,25 +111,31 @@ jobs:
with:
node-version: 20
cache: pnpm
+ - name: Cache Vitest cache
+ uses: actions/cache@v4
+ with:
+ path: .vite
+ key: vitest-browser-${{ runner.os }}-${{ matrix.browser }}-${{ matrix.browser-version }}-configuration-${{ hashFiles('vitest.workspace.ts', '**/vite.config.mts', '**/test-setup.ts') }}-tests-${{ hashFiles('**/**.spec.ts') }}-${{ github.run_id }}
+ restore-keys: |
+ vitest-browser-${{ runner.os }}-${{ matrix.browser }}-${{ matrix.browser-version }}-configuration-${{ hashFiles('vitest.workspace.ts', '**/vite.config.mts', '**/test-setup.ts') }}-tests-${{ hashFiles('**/**.spec.ts') }}
+ vitest-browser-${{ runner.os }}-${{ matrix.browser }}-${{ matrix.browser-version }}-configuration-${{ hashFiles('vitest.workspace.ts', '**/vite.config.mts', '**/test-setup.ts') }}
+ vitest-browser-${{ runner.os }}-${{ matrix.browser }}-${{ matrix.browser-version }}
+ vitest-browser-${{ runner.os }}-${{ matrix.browser }}
- name: Download package
uses: actions/download-artifact@v4
with:
name: package
path: dist/releases
- - name: Install Chrome
- uses: browser-actions/setup-chrome@v1
- - name: Install Firefox
- uses: browser-actions/setup-firefox@v1
- name: Install dependencies
run: pnpm install
+ - name: Install Playwright (${{ matrix.playwright-version }})
+ run: pnpm add --save-dev playwright@${{ matrix.playwright-version }}
+ # - name: Install Playwright system dependencies
+ # run: pnpm exec playwright install-deps ${{ matrix.browser }}
+ # - name: Install Playwright browser (${{ matrix.browser }} ${{ matrix.browser-version }})
+ # run: pnpm exec playwright install ${{ matrix.browser }}
- name: Run local browser tests
- env:
- TEST_PLATFORM: local
- CIRCLECI: true
- CIRCLE_NODE_INDEX: 0
- CIRCLE_NODE_TOTAL: 1
- KARMA_PARALLEL_BROWSERS: 1
- run: pnpm run test
+ run: pnpm exec nx run-many --targets=test --parallel=1 --browser=${{ matrix.browser }}
tests_ssr:
runs-on: ubuntu-latest
@@ -116,6 +153,15 @@ jobs:
with:
node-version: 20
cache: pnpm
+ - name: Cache Vitest cache
+ uses: actions/cache@v4
+ with:
+ path: .vite
+ key: vitest-ssr-${{ runner.os }}-configuration-${{ hashFiles('vitest.workspace.ts', '**/vite.config.ssr.mts', '**/test-setup.ssr.ts') }}-tests-${{ hashFiles('**/**.spec.ts') }}-${{ github.run_id }}
+ restore-keys: |
+ vitest-ssr-${{ runner.os }}-configuration-${{ hashFiles('vitest.workspace.ts', '**/vite.config.ssr.mts', '**/test-setup.ssr.ts') }}-tests-${{ hashFiles('**/**.spec.ts') }}
+ vitest-ssr-${{ runner.os }}-configuration-${{ hashFiles('vitest.workspace.ts', '**/vite.config.ssr.mts', '**/test-setup.ssr.ts') }}
+ vitest-ssr-${{ runner.os }}
- name: Download package
uses: actions/download-artifact@v4
with:
@@ -124,7 +170,7 @@ jobs:
- name: Install dependencies
run: pnpm install
- name: Run SSR tests
- run: pnpm test:ssr
+ run: pnpm exec nx run-many --projects="@ngbracket/ngx-layout" --projects=universal-demo-app --targets=test --parallel=1 --configuration=ssr
integration_tests:
runs-on: ubuntu-latest
diff --git a/.gitignore b/.gitignore
index a8216bbb..9688c5ea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -43,3 +43,7 @@ out-tsc
.nx/cache
.nx/workspace-data
.angular
+
+vite.config.*.timestamp*
+vitest.config.*.timestamp*
+.vite
diff --git a/.prettierignore b/.prettierignore
index 12978cd3..4aa59b58 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -8,4 +8,5 @@
*.yml
*.md
*.js
-*.json
\ No newline at end of file
+*.json
+.vite
diff --git a/nx.json b/nx.json
index d0f8b13c..89fe51fd 100644
--- a/nx.json
+++ b/nx.json
@@ -31,10 +31,11 @@
"production": [
"default",
"!{projectRoot}/tsconfig.spec.json",
- "!{projectRoot}/**/*.spec.[jt]s",
+ "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
"!{projectRoot}/karma.conf.js",
"!{projectRoot}/src/test.[jt]s",
- "!{projectRoot}/test.[jt]s"
+ "!{projectRoot}/test.[jt]s",
+ "!{projectRoot}/(src/)?test-setup.[jt]s"
]
},
"generators": {
diff --git a/package.json b/package.json
index fcb422fd..cb29f5e7 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,8 @@
"build:universal-demo-app": "nx run universal-demo-app:build:production",
"serve:universal-demo-app": "nx run universal-demo-app:serve-ssr",
"test": "nx test @ngbracket/ngx-layout",
- "test:ssr": "webpack --config test/webpack-spec-ssr-bundle.js && jasmine --config=test/jasmine-ssr.json",
+ "test:ssr": "nx test @ngbracket/ngx-layout --configuration=ssr",
+ "test:watch": "vitest --watch --ui --project \"@ngbracket/ngx-layout\"",
"lint": "stylelint projects/libs/**/*.scss --config=stylelint-config.json && tslint --project ./tsconfig.json --config tslint.json",
"release": "pnpm build && pnpm stamp",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
@@ -35,7 +36,8 @@
"update": "nx migrate latest",
"dep-graph": "nx dep-graph",
"help": "nx help",
- "nx": "nx"
+ "nx": "nx",
+ "playwright:install": "playwright install --with-deps"
},
"private": true,
"requiredAngularVersion": ">=19.0.0",
@@ -57,6 +59,9 @@
"zone.js": "^0.15.0"
},
"devDependencies": {
+ "@analogjs/vite-plugin-angular": "~1.10.0",
+ "@analogjs/vitest-angular": "~1.10.0",
+ "@angular-devkit/architect": "~0.1900.0",
"@angular-devkit/build-angular": "19.1.7",
"@angular-devkit/core": "19.1.7",
"@angular-devkit/schematics": "19.1.7",
@@ -65,68 +70,51 @@
"@angular/compiler-cli": "19.1.6",
"@eslint/js": "^9.20.0",
"@angular/language-service": "19.1.6",
- "@ngtools/webpack": "^19.1.7",
"@nx/angular": "20.4.4",
"@nx/eslint": "20.4.4",
"@nx/eslint-plugin": "20.4.4",
"@nx/js": "20.4.4",
+ "@nx/vite": "20.4.4",
"@nx/web": "20.4.4",
"@nx/workspace": "20.4.4",
"@schematics/angular": "19.1.7",
"@swc-node/register": "~1.9.2",
"@swc/core": "~1.5.29",
"@swc/helpers": "~0.5.15",
+ "@testing-library/jest-dom": "6.6.3",
"@types/express": "^4.17.21",
- "@types/jasmine": "^5.1.6",
"@types/minimatch": "^5.1.2",
"@types/node": "^20.17.19",
"@typescript-eslint/utils": "^8.24.0",
+ "@vitest/browser": "^2.1.9",
+ "@vitest/coverage-v8": "^2.1.9",
+ "@vitest/ui": "^2.1.9",
"angular-eslint": "^19.1.0",
"autoprefixer": "^10.4.0",
"conventional-changelog-cli": "^4.1.0",
"eslint": "^9.20.1",
"eslint-config-prettier": "^9.1.0",
- "jasmine": "^5.6.0",
- "jasmine-core": "^5.6.0",
- "karma": "^6.4.4",
- "karma-browserstack-launcher": "^1.6.0",
- "karma-chrome-launcher": "^3.2.0",
- "karma-coverage": "^2.2.1",
- "karma-firefox-launcher": "^2.1.3",
- "karma-jasmine": "^5.1.0",
- "karma-jasmine-html-reporter": "^2.1.0",
- "karma-parallel": "^0.3.1",
- "karma-sauce-launcher": "^4.3.6",
+ "jsdom": "~22.1.0",
"minimatch": "^9.0.5",
"ng-packagr": "19.1.2",
"nx": "20.4.4",
+ "playwright": "1.51.0",
"postcss": "^8.5.2",
"postcss-scss": "^4.0.9",
- "prettier": "^3.4.2",
"postcss-url": "~10.1.3",
- "protractor": "^7.0.0",
+ "prettier": "^3.4.2",
"stylelint": "^15.11.0",
"ts-node": "^10.9.2",
"tslint": "^6.1.3",
"tsutils": "^3.21.0",
"typescript": "^5.7.3",
"typescript-eslint": "^8.24.0",
- "webpack": "^5.98.0",
- "webpack-cli": "^5.1.4"
- },
- "pnpm": {
- "onlyBuiltDependencies": [
- "@parcel/watcher",
- "core-js",
- "esbuild",
- "lmdb",
- "msgpackr-extract",
- "nx",
- "puppeteer"
- ]
+ "vite": "^5.4.15",
+ "vitest": "^2.1.9"
},
"resolutions": {
- "browser-sync-client": "2.29.3"
+ "browser-sync-client": "2.29.3",
+ "less": "^4.2.0"
},
"volta": {
"node": "20.18.1"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index fe30c70e..49e931c7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,6 +6,7 @@ settings:
overrides:
browser-sync-client: 2.29.3
+ less: ^4.2.0
importers:
@@ -28,7 +29,7 @@ importers:
version: 19.1.6(@angular/common@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.6(@angular/animations@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1)
'@angular/material':
specifier: 19.1.4
- version: 19.1.4(39e0b8558b9404228f22388017d0fcb2)
+ version: 19.1.4(n6jpcyv44zoxdsk6dbpkqfynb4)
'@angular/platform-browser':
specifier: 19.1.6
version: 19.1.6(@angular/animations@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))
@@ -43,7 +44,7 @@ importers:
version: 19.1.6(@angular/common@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.6(@angular/animations@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(rxjs@7.8.1)
'@angular/ssr':
specifier: 19.1.7
- version: 19.1.7(63d62672e91cb79b25ab56a14eb9de42)
+ version: 19.1.7(ufzxe4wxd22z3jdz3d3mzy5roy)
express:
specifier: ^4.21.2
version: 4.21.2
@@ -57,9 +58,18 @@ importers:
specifier: ^0.15.0
version: 0.15.0
devDependencies:
+ '@analogjs/vite-plugin-angular':
+ specifier: ~1.10.0
+ version: 1.10.3(@angular-devkit/build-angular@19.1.7(niesootelh3ljsp4qcrbzmwmg4))(@angular/build@19.1.7(jljg5ymofxdt23nnuovdntbs2q))
+ '@analogjs/vitest-angular':
+ specifier: ~1.10.0
+ version: 1.10.3(@analogjs/vite-plugin-angular@1.10.3(@angular-devkit/build-angular@19.1.7(niesootelh3ljsp4qcrbzmwmg4))(@angular/build@19.1.7(jljg5ymofxdt23nnuovdntbs2q)))(@angular-devkit/architect@0.1900.4(chokidar@4.0.3))(vitest@2.1.9)
+ '@angular-devkit/architect':
+ specifier: ~0.1900.0
+ version: 0.1900.4(chokidar@4.0.3)
'@angular-devkit/build-angular':
specifier: 19.1.7
- version: 19.1.7(e4445a5fbbe66ea2f7f1b19c81f2a18c)
+ version: 19.1.7(niesootelh3ljsp4qcrbzmwmg4)
'@angular-devkit/core':
specifier: 19.1.7
version: 19.1.7(chokidar@4.0.3)
@@ -81,45 +91,45 @@ importers:
'@eslint/js':
specifier: ^9.20.0
version: 9.20.0
- '@ngtools/webpack':
- specifier: ^19.1.7
- version: 19.1.7(@angular/compiler-cli@19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(typescript@5.7.3)(webpack@5.98.0)
'@nx/angular':
specifier: 20.4.4
- version: 20.4.4(@angular-devkit/build-angular@19.1.7(e4445a5fbbe66ea2f7f1b19c81f2a18c))(@angular-devkit/core@19.1.7(chokidar@4.0.3))(@angular-devkit/schematics@19.1.7(chokidar@4.0.3))(@babel/traverse@7.26.9)(@rspack/core@1.2.3(@swc/helpers@0.5.15))(@schematics/angular@19.1.7(chokidar@4.0.3))(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)(@types/node@20.17.19)(@zkochan/js-yaml@0.0.7)(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rxjs@7.8.1)(typescript@5.7.3)(webpack-cli@5.1.4)
+ version: 20.4.4(@angular-devkit/build-angular@19.1.7(niesootelh3ljsp4qcrbzmwmg4))(@angular-devkit/core@19.1.7(chokidar@4.0.3))(@angular-devkit/schematics@19.1.7(chokidar@4.0.3))(@babel/traverse@7.26.9)(@rspack/core@1.2.3(@swc/helpers@0.5.15))(@schematics/angular@19.1.7(chokidar@4.0.3))(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)(@types/node@20.17.19)(@zkochan/js-yaml@0.0.7)(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rxjs@7.8.1)(typescript@5.7.3)
'@nx/eslint':
specifier: 20.4.4
- version: 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(@zkochan/js-yaml@0.0.7)(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ version: 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(@zkochan/js-yaml@0.0.7)(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
'@nx/eslint-plugin':
specifier: 20.4.4
- version: 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@1.21.7))(typescript@5.7.3))(eslint-config-prettier@9.1.0(eslint@9.20.1(jiti@1.21.7)))(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ version: 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@1.21.7))(typescript@5.7.3))(eslint-config-prettier@9.1.0(eslint@9.20.1(jiti@1.21.7)))(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
'@nx/js':
specifier: 20.4.4
- version: 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ version: 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ '@nx/vite':
+ specifier: 20.4.4
+ version: 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)(vite@5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0))(vitest@2.1.9)
'@nx/web':
specifier: 20.4.4
- version: 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ version: 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
'@nx/workspace':
specifier: 20.4.4
- version: 20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
+ version: 20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
'@schematics/angular':
specifier: 19.1.7
version: 19.1.7(chokidar@4.0.3)
'@swc-node/register':
specifier: ~1.9.2
- version: 1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3)
+ version: 1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3)
'@swc/core':
specifier: ~1.5.29
version: 1.5.29(@swc/helpers@0.5.15)
'@swc/helpers':
specifier: ~0.5.15
version: 0.5.15
+ '@testing-library/jest-dom':
+ specifier: 6.6.3
+ version: 6.6.3
'@types/express':
specifier: ^4.17.21
version: 4.17.21
- '@types/jasmine':
- specifier: ^5.1.6
- version: 5.1.6
'@types/minimatch':
specifier: ^5.1.2
version: 5.1.2
@@ -129,6 +139,15 @@ importers:
'@typescript-eslint/utils':
specifier: ^8.24.0
version: 8.24.0(eslint@9.20.1(jiti@1.21.7))(typescript@5.7.3)
+ '@vitest/browser':
+ specifier: ^2.1.9
+ version: 2.1.9(@types/node@20.17.19)(playwright@1.51.0)(typescript@5.7.3)(vite@5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0))(vitest@2.1.9)(webdriverio@6.12.1(encoding@0.1.13)(typescript@5.7.3))
+ '@vitest/coverage-v8':
+ specifier: ^2.1.9
+ version: 2.1.9(@vitest/browser@2.1.9)(vitest@2.1.9)
+ '@vitest/ui':
+ specifier: ^2.1.9
+ version: 2.1.9(vitest@2.1.9)
angular-eslint:
specifier: ^19.1.0
version: 19.1.0(chokidar@4.0.3)(eslint@9.20.1(jiti@1.21.7))(typescript-eslint@8.24.0(eslint@9.20.1(jiti@1.21.7))(typescript@5.7.3))(typescript@5.7.3)
@@ -144,39 +163,9 @@ importers:
eslint-config-prettier:
specifier: ^9.1.0
version: 9.1.0(eslint@9.20.1(jiti@1.21.7))
- jasmine:
- specifier: ^5.6.0
- version: 5.6.0
- jasmine-core:
- specifier: ^5.6.0
- version: 5.6.0
- karma:
- specifier: ^6.4.4
- version: 6.4.4
- karma-browserstack-launcher:
- specifier: ^1.6.0
- version: 1.6.0(karma@6.4.4)
- karma-chrome-launcher:
- specifier: ^3.2.0
- version: 3.2.0
- karma-coverage:
- specifier: ^2.2.1
- version: 2.2.1
- karma-firefox-launcher:
- specifier: ^2.1.3
- version: 2.1.3
- karma-jasmine:
- specifier: ^5.1.0
- version: 5.1.0(karma@6.4.4)
- karma-jasmine-html-reporter:
- specifier: ^2.1.0
- version: 2.1.0(jasmine-core@5.6.0)(karma-jasmine@5.1.0(karma@6.4.4))(karma@6.4.4)
- karma-parallel:
- specifier: ^0.3.1
- version: 0.3.1(karma@6.4.4)
- karma-sauce-launcher:
- specifier: ^4.3.6
- version: 4.3.6(encoding@0.1.13)(typescript@5.7.3)
+ jsdom:
+ specifier: ~22.1.0
+ version: 22.1.0
minimatch:
specifier: ^9.0.5
version: 9.0.5
@@ -185,7 +174,10 @@ importers:
version: 19.1.2(@angular/compiler-cli@19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3)
nx:
specifier: 20.4.4
- version: 20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
+ version: 20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
+ playwright:
+ specifier: 1.51.0
+ version: 1.51.0
postcss:
specifier: ^8.5.2
version: 8.5.2
@@ -198,9 +190,6 @@ importers:
prettier:
specifier: ^3.4.2
version: 3.5.3
- protractor:
- specifier: ^7.0.0
- version: 7.0.0
stylelint:
specifier: ^15.11.0
version: 15.11.0(typescript@5.7.3)
@@ -219,22 +208,47 @@ importers:
typescript-eslint:
specifier: ^8.24.0
version: 8.24.0(eslint@9.20.1(jiti@1.21.7))(typescript@5.7.3)
- webpack:
- specifier: ^5.98.0
- version: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
- webpack-cli:
- specifier: ^5.1.4
- version: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.98.0)
+ vite:
+ specifier: ^5.4.15
+ version: 5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)
+ vitest:
+ specifier: ^2.1.9
+ version: 2.1.9(@types/node@20.17.19)(@vitest/browser@2.1.9)(@vitest/ui@2.1.9)(happy-dom@17.3.1)(jsdom@22.1.0)(less@4.2.2)(msw@2.7.3(@types/node@20.17.19)(typescript@5.7.3))(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)
packages:
'@adobe/css-tools@4.3.3':
resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==}
+ '@adobe/css-tools@4.4.2':
+ resolution: {integrity: sha512-baYZExFpsdkBNuvGKTKWCwKH57HRZLVtycZS05WTQNVOiXVSeAki3nU35zlRbToeMW8aHlJfyS+1C4BOv27q0A==}
+
'@ampproject/remapping@2.3.0':
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
+ '@analogjs/vite-plugin-angular@1.10.3':
+ resolution: {integrity: sha512-3EWappJ5K6YopJpq2QRVim8qZgaTQJD0RB4G/DXo+Fg0s27BjDORiaeixqLHIwhUzzZ5FR2d1S7dgIi9zOg4sA==}
+ peerDependencies:
+ '@angular-devkit/build-angular': ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ '@angular/build': ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@angular-devkit/build-angular':
+ optional: true
+ '@angular/build':
+ optional: true
+
+ '@analogjs/vitest-angular@1.10.3':
+ resolution: {integrity: sha512-b05ALlS8S9JH5kJ8ezu1E0Y0zEi9SueEMKEI6PGMP5+y06hGg5UIjoI3U1Lxr3op3NLnN5daNXzpcWWY7x8mLQ==}
+ peerDependencies:
+ '@analogjs/vite-plugin-angular': '*'
+ '@angular-devkit/architect': ^0.1500.0 || ^0.1600.0 || ^0.1700.0 || ^0.1800.0 || ^0.1900.0 || next
+ vitest: ^1.3.1 || ^2.0.0
+
+ '@angular-devkit/architect@0.1900.4':
+ resolution: {integrity: sha512-9XwZ21BPYS2vGOOwVB40fsMyuwJT0H1lWaAMo8Umwi6XbKBVfaWbEhjtR9dlarrySKtFuTz9hmTZkIXHLjXPdA==}
+ engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
+
'@angular-devkit/architect@0.1901.7':
resolution: {integrity: sha512-qltyebfbej7joIKZVH8EFfrVDrkw0p9N9ja3A0XeU1sl2vlepHNAQdVm0Os8Vy2XjjyHvT5bXWE3G3/221qEKw==}
engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
@@ -290,6 +304,15 @@ packages:
webpack: ^5.30.0
webpack-dev-server: ^5.0.2
+ '@angular-devkit/core@19.0.4':
+ resolution: {integrity: sha512-+imxIj1JLr2hbUYQePHgkTUKr0VmlxNSZvIREcCWtXUcdCypiwhJAtGXv6MfpB4hAx+FJZYEpVWeLwYOS/gW0A==}
+ engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
+ peerDependencies:
+ chokidar: ^4.0.0
+ peerDependenciesMeta:
+ chokidar:
+ optional: true
+
'@angular-devkit/core@19.1.7':
resolution: {integrity: sha512-q0I6L9KTqyQ7D5M8H+fWLT+yjapvMNb7SRdfU6GzmexO66Dpo83q4HDzuDKIPDF29Yl0ELs9ICJqe9yUXh6yDQ==}
engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'}
@@ -1060,6 +1083,18 @@ packages:
resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==}
engines: {node: '>=6.9.0'}
+ '@bcoe/v8-coverage@0.2.3':
+ resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
+
+ '@bundled-es-modules/cookie@2.0.1':
+ resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==}
+
+ '@bundled-es-modules/statuses@1.0.1':
+ resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==}
+
+ '@bundled-es-modules/tough-cookie@0.1.6':
+ resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==}
+
'@colors/colors@1.5.0':
resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
engines: {node: '>=0.1.90'}
@@ -1091,10 +1126,6 @@ packages:
peerDependencies:
postcss-selector-parser: ^6.0.13
- '@discoveryjs/json-ext@0.5.7':
- resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
- engines: {node: '>=10.0.0'}
-
'@discoveryjs/json-ext@0.6.3':
resolution: {integrity: sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==}
engines: {node: '>=14.17.0'}
@@ -1108,102 +1139,204 @@ packages:
'@emnapi/wasi-threads@1.0.1':
resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==}
+ '@esbuild/aix-ppc64@0.21.5':
+ resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+
'@esbuild/aix-ppc64@0.24.2':
resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
+ '@esbuild/android-arm64@0.21.5':
+ resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
'@esbuild/android-arm64@0.24.2':
resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
+ '@esbuild/android-arm@0.21.5':
+ resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+
'@esbuild/android-arm@0.24.2':
resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
+ '@esbuild/android-x64@0.21.5':
+ resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
'@esbuild/android-x64@0.24.2':
resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
+ '@esbuild/darwin-arm64@0.21.5':
+ resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
'@esbuild/darwin-arm64@0.24.2':
resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
+ '@esbuild/darwin-x64@0.21.5':
+ resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
'@esbuild/darwin-x64@0.24.2':
resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
+ '@esbuild/freebsd-arm64@0.21.5':
+ resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
'@esbuild/freebsd-arm64@0.24.2':
resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
+ '@esbuild/freebsd-x64@0.21.5':
+ resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
'@esbuild/freebsd-x64@0.24.2':
resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
+ '@esbuild/linux-arm64@0.21.5':
+ resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
'@esbuild/linux-arm64@0.24.2':
resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
+ '@esbuild/linux-arm@0.21.5':
+ resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
'@esbuild/linux-arm@0.24.2':
resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
+ '@esbuild/linux-ia32@0.21.5':
+ resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
'@esbuild/linux-ia32@0.24.2':
resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
+ '@esbuild/linux-loong64@0.21.5':
+ resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+
'@esbuild/linux-loong64@0.24.2':
resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
+ '@esbuild/linux-mips64el@0.21.5':
+ resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
'@esbuild/linux-mips64el@0.24.2':
resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
+ '@esbuild/linux-ppc64@0.21.5':
+ resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
'@esbuild/linux-ppc64@0.24.2':
resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
+ '@esbuild/linux-riscv64@0.21.5':
+ resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
'@esbuild/linux-riscv64@0.24.2':
resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
+ '@esbuild/linux-s390x@0.21.5':
+ resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
'@esbuild/linux-s390x@0.24.2':
resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
+ '@esbuild/linux-x64@0.21.5':
+ resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
'@esbuild/linux-x64@0.24.2':
resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==}
engines: {node: '>=18'}
@@ -1216,6 +1349,12 @@ packages:
cpu: [arm64]
os: [netbsd]
+ '@esbuild/netbsd-x64@0.21.5':
+ resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
'@esbuild/netbsd-x64@0.24.2':
resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==}
engines: {node: '>=18'}
@@ -1228,30 +1367,60 @@ packages:
cpu: [arm64]
os: [openbsd]
+ '@esbuild/openbsd-x64@0.21.5':
+ resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
'@esbuild/openbsd-x64@0.24.2':
resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
+ '@esbuild/sunos-x64@0.21.5':
+ resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
'@esbuild/sunos-x64@0.24.2':
resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
+ '@esbuild/win32-arm64@0.21.5':
+ resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
'@esbuild/win32-arm64@0.24.2':
resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
+ '@esbuild/win32-ia32@0.21.5':
+ resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
'@esbuild/win32-ia32@0.24.2':
resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
+ '@esbuild/win32-x64@0.21.5':
+ resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
'@esbuild/win32-x64@0.24.2':
resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==}
engines: {node: '>=18'}
@@ -1700,6 +1869,10 @@ packages:
cpu: [x64]
os: [win32]
+ '@mswjs/interceptors@0.37.6':
+ resolution: {integrity: sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==}
+ engines: {node: '>=18'}
+
'@napi-rs/nice-android-arm-eabi@1.0.1':
resolution: {integrity: sha512-5qpvOu5IGwDo7MEKVqqyAxF90I6aLj4n07OzpARdgDRfz8UbBztTByBp0RC59r3J1Ij8uzYi6jI7r5Lws7nn6w==}
engines: {node: '>= 10'}
@@ -1963,6 +2136,12 @@ packages:
cpu: [x64]
os: [win32]
+ '@nx/vite@20.4.4':
+ resolution: {integrity: sha512-RI3piere03o0iUxyAox2SYU9OQKAFlnT3WGUu7lciiNBUbksn3cZz0oOjWSQXZ+GhSUeW9E1Zqkyi/NF3n729A==}
+ peerDependencies:
+ vite: ^5.0.0
+ vitest: ^1.3.1 || ^2.0.0
+
'@nx/web@20.4.4':
resolution: {integrity: sha512-A7AIjphL2v9EzBNYURlyK5awL2nM46oLqfp6wIJt5Un6z4to0nBLfY6Fg9gaZa/X4xnoQy/qgZfEzsVurFYrpQ==}
@@ -1972,6 +2151,15 @@ packages:
'@nx/workspace@20.4.4':
resolution: {integrity: sha512-4iIN9GWLHCycCUTAaVeR7TAk2t9wSgxQN/znvSmG5eWSS2ri9XjeN6/8kpoTDBpmQ1/4gAKSMGo9BNMlbvqD2g==}
+ '@open-draft/deferred-promise@2.2.0':
+ resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==}
+
+ '@open-draft/logger@0.3.0':
+ resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==}
+
+ '@open-draft/until@2.1.0':
+ resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==}
+
'@parcel/watcher-android-arm64@2.5.1':
resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==}
engines: {node: '>= 10.0.0'}
@@ -2063,6 +2251,9 @@ packages:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
+ '@polka/url@1.0.0-next.28':
+ resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
+
'@puppeteer/browsers@2.7.1':
resolution: {integrity: sha512-MK7rtm8JjaxPN7Mf1JdZIZKPD2Z+W7osvrC1vjpvfOX1K0awDIHYbNi89f7eotp7eMUn2shWnt03HwVbriXtKQ==}
engines: {node: '>=18'}
@@ -2376,10 +2567,6 @@ packages:
'@sinclair/typebox@0.27.8':
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
- '@sindresorhus/is@0.7.0':
- resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==}
- engines: {node: '>=4'}
-
'@sindresorhus/is@4.6.0':
resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
engines: {node: '>=10'}
@@ -2482,13 +2669,31 @@ packages:
'@swc/helpers@0.5.15':
resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
- '@swc/types@0.1.17':
- resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==}
+ '@swc/types@0.1.19':
+ resolution: {integrity: sha512-WkAZaAfj44kh/UFdAQcrMP1I0nwRqpt27u+08LMBYMqmQfwwMofYoMh/48NGkMMRfC4ynpfwRbJuu8ErfNloeA==}
'@szmarczak/http-timer@4.0.6':
resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
engines: {node: '>=10'}
+ '@testing-library/dom@10.4.0':
+ resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
+ engines: {node: '>=18'}
+
+ '@testing-library/jest-dom@6.6.3':
+ resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==}
+ engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
+
+ '@testing-library/user-event@14.6.1':
+ resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==}
+ engines: {node: '>=12', npm: '>=6'}
+ peerDependencies:
+ '@testing-library/dom': '>=7.21.4'
+
+ '@tootallnate/once@2.0.0':
+ resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
+ engines: {node: '>= 10'}
+
'@tootallnate/quickjs-emscripten@0.23.0':
resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
@@ -2496,6 +2701,9 @@ packages:
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'}
+ '@ts-morph/common@0.22.0':
+ resolution: {integrity: sha512-HqNBuV/oIlMKdkLshXd1zKBqNQCsuPEsgQOkfFQ/eUKjRlwndXW1AjN9LVkBEIukm00gGXSRmfkl0Wv5VXLnlw==}
+
'@tsconfig/node10@1.0.11':
resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
@@ -2519,6 +2727,9 @@ packages:
'@tybys/wasm-util@0.9.0':
resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==}
+ '@types/aria-query@5.0.4':
+ resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
+
'@types/body-parser@1.19.5':
resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
@@ -2534,6 +2745,9 @@ packages:
'@types/connect@3.4.38':
resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
+ '@types/cookie@0.6.0':
+ resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
+
'@types/cors@2.8.17':
resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==}
@@ -2573,9 +2787,6 @@ packages:
'@types/istanbul-reports@3.0.4':
resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
- '@types/jasmine@5.1.6':
- resolution: {integrity: sha512-JDwKwipGFDwf021BtRTuluYe1aMDNimtO72ygPrVXnZSC8Df2V22AHeIgGa84tbF4SLkRvN+dJnlV8aMwQjkVw==}
-
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
@@ -2643,6 +2854,15 @@ packages:
'@types/sockjs@0.3.36':
resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
+ '@types/statuses@2.0.5':
+ resolution: {integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==}
+
+ '@types/tough-cookie@4.0.5':
+ resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
+
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+
'@types/which@1.3.2':
resolution: {integrity: sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA==}
@@ -2711,6 +2931,64 @@ packages:
peerDependencies:
vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
+ '@vitest/browser@2.1.9':
+ resolution: {integrity: sha512-AHDanTP4Ed6J5R6wRBcWRQ+AxgMnNJxsbaa229nFQz5KOMFZqlW11QkIDoLgCjBOpQ1+c78lTN5jVxO8ME+S4w==}
+ peerDependencies:
+ playwright: '*'
+ safaridriver: '*'
+ vitest: 2.1.9
+ webdriverio: '*'
+ peerDependenciesMeta:
+ playwright:
+ optional: true
+ safaridriver:
+ optional: true
+ webdriverio:
+ optional: true
+
+ '@vitest/coverage-v8@2.1.9':
+ resolution: {integrity: sha512-Z2cOr0ksM00MpEfyVE8KXIYPEcBFxdbLSs56L8PO0QQMxt/6bDj45uQfxoc96v05KW3clk7vvgP0qfDit9DmfQ==}
+ peerDependencies:
+ '@vitest/browser': 2.1.9
+ vitest: 2.1.9
+ peerDependenciesMeta:
+ '@vitest/browser':
+ optional: true
+
+ '@vitest/expect@2.1.9':
+ resolution: {integrity: sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==}
+
+ '@vitest/mocker@2.1.9':
+ resolution: {integrity: sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==}
+ peerDependencies:
+ msw: ^2.4.9
+ vite: ^5.0.0
+ peerDependenciesMeta:
+ msw:
+ optional: true
+ vite:
+ optional: true
+
+ '@vitest/pretty-format@2.1.9':
+ resolution: {integrity: sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==}
+
+ '@vitest/runner@2.1.9':
+ resolution: {integrity: sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==}
+
+ '@vitest/snapshot@2.1.9':
+ resolution: {integrity: sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==}
+
+ '@vitest/spy@2.1.9':
+ resolution: {integrity: sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==}
+
+ '@vitest/ui@2.1.9':
+ resolution: {integrity: sha512-izzd2zmnk8Nl5ECYkW27328RbQ1nKvkm6Bb5DAaz1Gk59EbLkiCMa6OLT0NoaAYTjOFS6N+SMYW1nh4/9ljPiw==}
+ peerDependencies:
+ vitest: 2.1.9
+
+ '@vitest/utils@2.1.9':
+ resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==}
+
'@wdio/config@6.12.1':
resolution: {integrity: sha512-V5hTIW5FNlZ1W33smHF4Rd5BKjGW2KeYhyXDQfXHjqLCeRiirZ9fABCo9plaVQDnwWSUMWYaAaIAifV82/oJCQ==}
engines: {node: '>=10.0.0'}
@@ -2776,31 +3054,6 @@ packages:
'@webassemblyjs/wast-printer@1.14.1':
resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==}
- '@webpack-cli/configtest@2.1.1':
- resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==}
- engines: {node: '>=14.15.0'}
- peerDependencies:
- webpack: 5.x.x
- webpack-cli: 5.x.x
-
- '@webpack-cli/info@2.0.2':
- resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==}
- engines: {node: '>=14.15.0'}
- peerDependencies:
- webpack: 5.x.x
- webpack-cli: 5.x.x
-
- '@webpack-cli/serve@2.0.5':
- resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==}
- engines: {node: '>=14.15.0'}
- peerDependencies:
- webpack: 5.x.x
- webpack-cli: 5.x.x
- webpack-dev-server: '*'
- peerDependenciesMeta:
- webpack-dev-server:
- optional: true
-
'@xtuc/ieee754@1.2.0':
resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
@@ -2822,8 +3075,9 @@ packages:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
hasBin: true
- abbrev@1.0.9:
- resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==}
+ abab@2.0.6:
+ resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
+ deprecated: Use your platform's native atob() and btoa() methods instead
abbrev@3.0.0:
resolution: {integrity: sha512-+/kfrslGQ7TNV2ecmQwMJj/B65g5KVq1/L3SGVZ3tCYGqlzFuFCGBZJtMP99wH3NpEUyAjn0zPdPUg0D+DwrOA==}
@@ -2910,10 +3164,6 @@ packages:
ajv@8.17.1:
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
- amdefine@1.0.1:
- resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==}
- engines: {node: '>=0.4.2'}
-
angular-eslint@19.1.0:
resolution: {integrity: sha512-teauJL5Q6Cc7PBbGG52LF3Lf2s3aI5/Ksoh3MAsJ8Vgsf2cDwBjVxFZqTbAhMYzYp2UzVJ5knXIsammYHCVNBw==}
peerDependencies:
@@ -2974,13 +3224,6 @@ packages:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
- arch@2.2.0:
- resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==}
-
- archive-type@4.0.0:
- resolution: {integrity: sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==}
- engines: {node: '>=4'}
-
archiver-utils@2.1.0:
resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==}
engines: {node: '>= 6'}
@@ -3002,6 +3245,9 @@ packages:
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ aria-query@5.3.0:
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+
aria-query@5.3.2:
resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
engines: {node: '>= 0.4'}
@@ -3039,6 +3285,10 @@ packages:
resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
engines: {node: '>=0.8'}
+ assertion-error@2.0.1:
+ resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
+ engines: {node: '>=12'}
+
ast-types@0.13.4:
resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
engines: {node: '>=4'}
@@ -3047,9 +3297,6 @@ packages:
resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
engines: {node: '>=8'}
- async@1.5.2:
- resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==}
-
async@2.6.4:
resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==}
@@ -3195,29 +3442,10 @@ packages:
big.js@5.2.2:
resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
- bin-check@4.1.0:
- resolution: {integrity: sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==}
- engines: {node: '>=4'}
-
- bin-version-check@4.0.0:
- resolution: {integrity: sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==}
- engines: {node: '>=6'}
-
- bin-version@3.1.0:
- resolution: {integrity: sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==}
- engines: {node: '>=6'}
-
- bin-wrapper@4.1.0:
- resolution: {integrity: sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==}
- engines: {node: '>=6'}
-
binary-extensions@2.3.0:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
- bl@1.2.3:
- resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==}
-
bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
@@ -3236,10 +3464,6 @@ packages:
boolbase@1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
- boolean@3.2.0:
- resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==}
- deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
-
brace-expansion@1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
@@ -3255,12 +3479,6 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
- browserstack-local@1.5.6:
- resolution: {integrity: sha512-s0GadAkyE1XHxnmymb9atogTZbA654bcFpqGkcYEtYPaPvuvVfSXR0gw8ojn0I0Td2HEMJcGtdrkBjb1Fi/HmQ==}
-
- browserstack@1.5.3:
- resolution: {integrity: sha512-AO+mECXsW4QcqC9bxwM29O7qWa7bJT94uBFzeb5brylIQwawuEziwq20dPYbins95GlWzOawgyDNdjYAo32EKg==}
-
browserstack@1.6.1:
resolution: {integrity: sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==}
@@ -3269,18 +3487,9 @@ packages:
engines: {node: '>= 0.4.0'}
hasBin: true
- buffer-alloc-unsafe@1.1.0:
- resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==}
-
- buffer-alloc@1.2.0:
- resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==}
-
buffer-crc32@0.2.13:
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
- buffer-fill@1.0.0:
- resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==}
-
buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
@@ -3299,6 +3508,10 @@ packages:
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
engines: {node: '>= 0.8'}
+ cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+
cacache@19.0.1:
resolution: {integrity: sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==}
engines: {node: ^18.17.0 || >=20.5.0}
@@ -3311,9 +3524,6 @@ packages:
resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==}
engines: {node: '>=10.6.0'}
- cacheable-request@2.1.4:
- resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==}
-
cacheable-request@7.0.4:
resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==}
engines: {node: '>=8'}
@@ -3330,9 +3540,6 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
- camel-case@4.1.2:
- resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
-
camelcase-keys@7.0.2:
resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==}
engines: {node: '>=12'}
@@ -3351,15 +3558,12 @@ packages:
caniuse-lite@1.0.30001699:
resolution: {integrity: sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==}
- capital-case@1.0.4:
- resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==}
-
caseless@0.12.0:
resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
- caw@2.0.1:
- resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==}
- engines: {node: '>=4'}
+ chai@5.2.0:
+ resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==}
+ engines: {node: '>=12'}
chalk@1.1.3:
resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
@@ -3377,12 +3581,13 @@ packages:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
- change-case@4.1.2:
- resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==}
-
chardet@0.7.0:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
+ check-error@2.1.1:
+ resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
+ engines: {node: '>= 16'}
+
chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
@@ -3456,9 +3661,6 @@ packages:
resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
engines: {node: '>=6'}
- clone-response@1.0.2:
- resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==}
-
clone-response@1.0.3:
resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==}
@@ -3470,6 +3672,9 @@ packages:
resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+ code-block-writer@12.0.0:
+ resolution: {integrity: sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==}
+
color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@@ -3497,10 +3702,6 @@ packages:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
engines: {node: '>= 0.8'}
- commander@10.0.1:
- resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
- engines: {node: '>=14'}
-
commander@13.1.0:
resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
engines: {node: '>=18'}
@@ -3536,9 +3737,6 @@ packages:
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- config-chain@1.1.13:
- resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
-
confusing-browser-globals@1.0.11:
resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==}
@@ -3550,9 +3748,6 @@ packages:
resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
engines: {node: '>= 0.10.0'}
- constant-case@3.0.4:
- resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==}
-
content-disposition@0.5.4:
resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
engines: {node: '>= 0.6'}
@@ -3667,9 +3862,6 @@ packages:
core-js-compat@3.40.0:
resolution: {integrity: sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==}
- core-js@3.40.0:
- resolution: {integrity: sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==}
-
core-util-is@1.0.2:
resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
@@ -3722,13 +3914,6 @@ packages:
resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==}
engines: {node: '>=12.0.0'}
- cross-spawn@5.1.0:
- resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==}
-
- cross-spawn@6.0.6:
- resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==}
- engines: {node: '>=4.8'}
-
cross-spawn@7.0.6:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
@@ -3813,6 +3998,9 @@ packages:
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
engines: {node: '>= 6'}
+ css.escape@1.5.1:
+ resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
+
cssesc@3.0.0:
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
engines: {node: '>=4'}
@@ -3840,6 +4028,10 @@ packages:
resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+ cssstyle@3.0.0:
+ resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==}
+ engines: {node: '>=14'}
+
cuint@0.2.2:
resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==}
@@ -3858,6 +4050,10 @@ packages:
resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
engines: {node: '>= 14'}
+ data-urls@4.0.0:
+ resolution: {integrity: sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==}
+ engines: {node: '>=14'}
+
date-format@4.0.14:
resolution: {integrity: sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==}
engines: {node: '>=4.0'}
@@ -3908,37 +4104,16 @@ packages:
resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==}
engines: {node: '>=10'}
- decode-uri-component@0.2.2:
- resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
- engines: {node: '>=0.10'}
-
- decompress-response@3.3.0:
- resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==}
- engines: {node: '>=4'}
+ decimal.js@10.5.0:
+ resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==}
decompress-response@6.0.0:
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
engines: {node: '>=10'}
- decompress-tar@4.1.1:
- resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==}
- engines: {node: '>=4'}
-
- decompress-tarbz2@4.1.1:
- resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==}
- engines: {node: '>=4'}
-
- decompress-targz@4.1.1:
- resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==}
- engines: {node: '>=4'}
-
- decompress-unzip@4.0.1:
- resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==}
- engines: {node: '>=4'}
-
- decompress@4.2.1:
- resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==}
- engines: {node: '>=4'}
+ deep-eql@5.0.2:
+ resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
+ engines: {node: '>=6'}
deep-equal@1.0.1:
resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==}
@@ -3965,10 +4140,6 @@ packages:
resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
engines: {node: '>=10'}
- define-data-property@1.1.4:
- resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
- engines: {node: '>= 0.4'}
-
define-lazy-prop@2.0.0:
resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
engines: {node: '>=8'}
@@ -3977,10 +4148,6 @@ packages:
resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
engines: {node: '>=12'}
- define-properties@1.2.1:
- resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
- engines: {node: '>= 0.4'}
-
degenerator@5.0.1:
resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
engines: {node: '>= 14'}
@@ -4008,6 +4175,10 @@ packages:
resolution: {integrity: sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==}
engines: {node: '>=4'}
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
destroy@1.2.0:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
@@ -4058,6 +4229,12 @@ packages:
resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
engines: {node: '>=6'}
+ dom-accessibility-api@0.5.16:
+ resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
+
+ dom-accessibility-api@0.6.3:
+ resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
+
dom-serialize@2.2.1:
resolution: {integrity: sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==}
@@ -4067,6 +4244,11 @@ packages:
domelementtype@2.3.0:
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+ domexception@4.0.0:
+ resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==}
+ engines: {node: '>=12'}
+ deprecated: Use your platform's native DOMException instead
+
domhandler@5.0.3:
resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
engines: {node: '>= 4'}
@@ -4074,9 +4256,6 @@ packages:
domutils@3.2.2:
resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
- dot-case@3.0.4:
- resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
-
dot-prop@5.3.0:
resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
engines: {node: '>=8'}
@@ -4089,20 +4268,10 @@ packages:
resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==}
engines: {node: '>=12'}
- download@7.1.0:
- resolution: {integrity: sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==}
- engines: {node: '>=6'}
-
dunder-proto@1.0.1:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'}
- duplexer3@0.1.5:
- resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==}
-
- duplexer@0.1.2:
- resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
-
eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
@@ -4178,11 +4347,6 @@ packages:
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
engines: {node: '>=6'}
- envinfo@7.14.0:
- resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==}
- engines: {node: '>=4'}
- hasBin: true
-
environment@1.1.0:
resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
engines: {node: '>=18'}
@@ -4216,9 +4380,6 @@ packages:
resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
engines: {node: '>= 0.4'}
- es6-error@4.1.1:
- resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==}
-
es6-promise@4.2.8:
resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==}
@@ -4230,8 +4391,13 @@ packages:
engines: {node: '>=18'}
hasBin: true
- esbuild@0.24.2:
- resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==}
+ esbuild@0.21.5:
+ resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ esbuild@0.24.2:
+ resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==}
engines: {node: '>=18'}
hasBin: true
@@ -4250,11 +4416,6 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
- escodegen@1.8.1:
- resolution: {integrity: sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==}
- engines: {node: '>=0.12.0'}
- hasBin: true
-
escodegen@2.1.0:
resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
engines: {node: '>=6.0'}
@@ -4300,11 +4461,6 @@ packages:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- esprima@2.7.3:
- resolution: {integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==}
- engines: {node: '>=0.10.0'}
- hasBin: true
-
esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
@@ -4318,10 +4474,6 @@ packages:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
engines: {node: '>=4.0'}
- estraverse@1.9.3:
- resolution: {integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==}
- engines: {node: '>=0.10.0'}
-
estraverse@4.3.0:
resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
engines: {node: '>=4.0'}
@@ -4333,6 +4485,9 @@ packages:
estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
@@ -4341,9 +4496,6 @@ packages:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}
- event-stream@3.3.4:
- resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==}
-
eventemitter3@4.0.7:
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
@@ -4354,18 +4506,6 @@ packages:
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
engines: {node: '>=0.8.x'}
- execa@0.7.0:
- resolution: {integrity: sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==}
- engines: {node: '>=4'}
-
- execa@1.0.0:
- resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
- engines: {node: '>=6'}
-
- executable@4.1.1:
- resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==}
- engines: {node: '>=4'}
-
exit@0.1.2:
resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
engines: {node: '>= 0.8.0'}
@@ -4374,6 +4514,10 @@ packages:
resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==}
engines: {node: '>=0.10.0'}
+ expect-type@1.2.0:
+ resolution: {integrity: sha512-80F22aiJ3GLyVnS/B3HzgR6RelZVumzj9jkL0Rhz4h0xYbNW9PjlQz5h3J/SShErbXBc295vseR4/MIbVmUbeA==}
+ engines: {node: '>=12.0.0'}
+
exponential-backoff@3.1.2:
resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==}
@@ -4381,14 +4525,6 @@ packages:
resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==}
engines: {node: '>= 0.10.0'}
- ext-list@2.2.2:
- resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==}
- engines: {node: '>=0.10.0'}
-
- ext-name@5.0.0:
- resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==}
- engines: {node: '>=4'}
-
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
@@ -4449,6 +4585,9 @@ packages:
picomatch:
optional: true
+ fflate@0.8.2:
+ resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
+
figures@3.2.0:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
engines: {node: '>=8'}
@@ -4461,37 +4600,9 @@ packages:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
engines: {node: '>=16.0.0'}
- file-type@3.9.0:
- resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==}
- engines: {node: '>=0.10.0'}
-
- file-type@4.4.0:
- resolution: {integrity: sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==}
- engines: {node: '>=4'}
-
- file-type@5.2.0:
- resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==}
- engines: {node: '>=4'}
-
- file-type@6.2.0:
- resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==}
- engines: {node: '>=4'}
-
- file-type@8.1.0:
- resolution: {integrity: sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==}
- engines: {node: '>=6'}
-
filelist@1.0.4:
resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
- filename-reserved-regex@2.0.0:
- resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==}
- engines: {node: '>=4'}
-
- filenamify@2.1.0:
- resolution: {integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==}
- engines: {node: '>=4'}
-
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
@@ -4532,10 +4643,6 @@ packages:
resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- find-versions@3.2.0:
- resolution: {integrity: sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==}
- engines: {node: '>=6'}
-
flat-cache@3.2.0:
resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
engines: {node: ^10.12.0 || >=12.0.0}
@@ -4582,10 +4689,6 @@ packages:
resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==}
engines: {node: '>= 0.12'}
- form-data@3.0.3:
- resolution: {integrity: sha512-q5YBMeWy6E2Un0nMGWMgI65MAKtaylxfNJGJxpGh45YDciZB4epbWpaAfImil6CPAPTYB4sh0URQNDRIZG5F2w==}
- engines: {node: '>= 6'}
-
form-data@4.0.2:
resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==}
engines: {node: '>= 6'}
@@ -4601,12 +4704,6 @@ packages:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
engines: {node: '>= 0.6'}
- from2@2.3.0:
- resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==}
-
- from@0.1.7:
- resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
-
front-matter@4.0.2:
resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==}
@@ -4639,6 +4736,11 @@ packages:
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ fsevents@2.3.2:
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -4671,22 +4773,6 @@ packages:
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
engines: {node: '>= 0.4'}
- get-proxy@2.1.0:
- resolution: {integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==}
- engines: {node: '>=4'}
-
- get-stream@2.3.1:
- resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==}
- engines: {node: '>=0.10.0'}
-
- get-stream@3.0.0:
- resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==}
- engines: {node: '>=4'}
-
- get-stream@4.1.0:
- resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
- engines: {node: '>=6'}
-
get-stream@5.2.0:
resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
engines: {node: '>=8'}
@@ -4723,18 +4809,10 @@ packages:
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
hasBin: true
- glob@5.0.15:
- resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==}
- deprecated: Glob versions prior to v9 are no longer supported
-
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
deprecated: Glob versions prior to v9 are no longer supported
- global-agent@2.2.0:
- resolution: {integrity: sha512-+20KpaW6DDLqhG7JDiJpD1JvNvb8ts+TNl7BPOYcURqCrXqnN1Vf+XVOrkKJAFPqfX+oEhsdzOj1hLWkBTdNJg==}
- engines: {node: '>=10.0'}
-
global-modules@1.0.0:
resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==}
engines: {node: '>=0.10.0'}
@@ -4763,10 +4841,6 @@ packages:
resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==}
engines: {node: '>=18'}
- globalthis@1.0.4:
- resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
- engines: {node: '>= 0.4'}
-
globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
@@ -4794,10 +4868,6 @@ packages:
resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==}
engines: {node: '>=10.19.0'}
- got@8.3.2:
- resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==}
- engines: {node: '>=4'}
-
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
@@ -4807,6 +4877,10 @@ packages:
graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ graphql@16.10.0:
+ resolution: {integrity: sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==}
+ engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
+
handle-thing@2.0.1:
resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
@@ -4815,6 +4889,10 @@ packages:
engines: {node: '>=0.4.7'}
hasBin: true
+ happy-dom@17.3.1:
+ resolution: {integrity: sha512-l+/yp/sX5jI4Qv7oqUlaD907Y1CJwGZMbz7nna0zINHUEBZe0svn6NbyOdSY5Ac5qDcnKxcUbSb0YGohc4L2Gg==}
+ engines: {node: '>=18.0.0'}
+
har-schema@2.0.0:
resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==}
engines: {node: '>=4'}
@@ -4832,10 +4910,6 @@ packages:
resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
engines: {node: '>=0.10.0'}
- has-flag@1.0.0:
- resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==}
- engines: {node: '>=0.10.0'}
-
has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
engines: {node: '>=4'}
@@ -4844,26 +4918,14 @@ packages:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
- has-property-descriptors@1.0.2:
- resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
-
- has-symbol-support-x@1.4.2:
- resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==}
-
has-symbols@1.1.0:
resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
engines: {node: '>= 0.4'}
- has-to-string-tag-x@1.4.1:
- resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==}
-
has-tostringtag@1.0.2:
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
engines: {node: '>= 0.4'}
- hash.js@1.1.7:
- resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==}
-
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
@@ -4872,8 +4934,8 @@ packages:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
- header-case@2.0.4:
- resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==}
+ headers-polyfill@4.0.3:
+ resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==}
homedir-polyfill@1.0.3:
resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==}
@@ -4912,9 +4974,6 @@ packages:
resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==}
engines: {node: '>= 0.8'}
- http-cache-semantics@3.8.1:
- resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==}
-
http-cache-semantics@4.1.1:
resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
@@ -4936,6 +4995,10 @@ packages:
http-parser-js@0.5.9:
resolution: {integrity: sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw==}
+ http-proxy-agent@5.0.0:
+ resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
+ engines: {node: '>= 6'}
+
http-proxy-agent@7.0.2:
resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
engines: {node: '>= 14'}
@@ -5034,23 +5097,18 @@ packages:
resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
engines: {node: '>=6'}
- import-lazy@3.1.0:
- resolution: {integrity: sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==}
- engines: {node: '>=6'}
-
import-lazy@4.0.0:
resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
engines: {node: '>=8'}
- import-local@3.2.0:
- resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
- engines: {node: '>=8'}
- hasBin: true
-
imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
+ indent-string@4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
+
indent-string@5.0.0:
resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
engines: {node: '>=12'}
@@ -5075,14 +5133,6 @@ packages:
injection-js@2.4.0:
resolution: {integrity: sha512-6jiJt0tCAo9zjHbcwLiPL+IuNe9SQ6a9g0PEzafThW3fOQi0mrmiJGBJvDD6tmhPh8cQHIQtCOrJuBfQME4kPA==}
- interpret@3.1.1:
- resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==}
- engines: {node: '>=10.13.0'}
-
- into-stream@3.1.0:
- resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==}
- engines: {node: '>=4'}
-
ip-address@9.0.5:
resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
engines: {node: '>= 12'}
@@ -5149,13 +5199,13 @@ packages:
resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
engines: {node: '>=8'}
- is-natural-number@4.0.1:
- resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==}
-
is-network-error@1.1.0:
resolution: {integrity: sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==}
engines: {node: '>=16'}
+ is-node-process@1.2.0:
+ resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==}
+
is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
@@ -5164,9 +5214,6 @@ packages:
resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==}
engines: {node: '>=8'}
- is-object@1.0.2:
- resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==}
-
is-path-cwd@1.0.0:
resolution: {integrity: sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==}
engines: {node: '>=0.10.0'}
@@ -5195,21 +5242,13 @@ packages:
resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
engines: {node: '>=0.10.0'}
+ is-potential-custom-element-name@1.0.1:
+ resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+
is-regex@1.2.1:
resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
engines: {node: '>= 0.4'}
- is-retry-allowed@1.2.0:
- resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==}
- engines: {node: '>=0.10.0'}
-
- is-running@2.1.0:
- resolution: {integrity: sha512-mjJd3PujZMl7j+D395WTIO5tU5RIDBfVSRtRR4VOJou3H66E38UjbjvDGh3slJzPuolsb+yQFqwHNNdyp5jg3w==}
-
- is-stream@1.1.0:
- resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
- engines: {node: '>=0.10.0'}
-
is-text-path@2.0.0:
resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==}
engines: {node: '>=8'}
@@ -5274,10 +5313,6 @@ packages:
resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
engines: {node: '>=8'}
- istanbul-lib-instrument@5.2.1:
- resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
- engines: {node: '>=8'}
-
istanbul-lib-instrument@6.0.3:
resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==}
engines: {node: '>=10'}
@@ -5286,26 +5321,14 @@ packages:
resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
engines: {node: '>=10'}
- istanbul-lib-source-maps@4.0.1:
- resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
+ istanbul-lib-source-maps@5.0.6:
+ resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==}
engines: {node: '>=10'}
istanbul-reports@3.1.7:
resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
engines: {node: '>=8'}
- istanbul@0.4.5:
- resolution: {integrity: sha512-nMtdn4hvK0HjUlzr1DrKSUY8ychprt8dzHOgY2KXsIhHu5PuQQEOTM27gV9Xblyon7aUH/TSFIjRHEODF/FRPg==}
- deprecated: |-
- This module is no longer maintained, try this instead:
- npm i nyc
- Visit https://istanbul.js.org/integrations for other alternatives.
- hasBin: true
-
- isurl@1.0.0:
- resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==}
- engines: {node: '>= 4'}
-
jackspeak@3.4.3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
@@ -5317,20 +5340,10 @@ packages:
jasmine-core@2.8.0:
resolution: {integrity: sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ==}
- jasmine-core@4.6.1:
- resolution: {integrity: sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==}
-
- jasmine-core@5.6.0:
- resolution: {integrity: sha512-niVlkeYVRwKFpmfWg6suo6H9CrNnydfBLEqefM5UjibYS+UoTjZdmvPJSiuyrRLGnFj1eYRhFd/ch+5hSlsFVA==}
-
jasmine@2.8.0:
resolution: {integrity: sha512-KbdGQTf5jbZgltoHs31XGiChAPumMSY64OZMWLNYnEnMfG5uwGBhffePwuskexjT+/Jea/gU3qAU8344hNohSw==}
hasBin: true
- jasmine@5.6.0:
- resolution: {integrity: sha512-6frlW22jhgRjtlp68QY/DDVCUfrYqmSxDBWM13mrBzYQGx1XITfVcJltnY15bk8B5cRfN5IpKvemkDiDTSRCsA==}
- hasBin: true
-
jasminewd2@2.2.0:
resolution: {integrity: sha512-Rn0nZe4rfDhzA63Al3ZGh0E+JTmM6ESZYXJGKuqKGZObsAB9fwXPD03GjtIEvJBDOhN94T5MzbwZSqzFHSQPzg==}
engines: {node: '>= 6.9.x'}
@@ -5376,6 +5389,15 @@ packages:
jsbn@1.1.0:
resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
+ jsdom@22.1.0:
+ resolution: {integrity: sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==}
+ engines: {node: '>=16'}
+ peerDependencies:
+ canvas: ^2.5.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+
jsesc@3.0.2:
resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
engines: {node: '>=6'}
@@ -5386,9 +5408,6 @@ packages:
engines: {node: '>=6'}
hasBin: true
- json-buffer@3.0.0:
- resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==}
-
json-buffer@3.0.1:
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
@@ -5450,44 +5469,6 @@ packages:
jszip@3.10.1:
resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
- karma-browserstack-launcher@1.6.0:
- resolution: {integrity: sha512-Y/UWPdHZkHIVH2To4GWHCTzmrsB6H7PBWy6pw+TWz5sr4HW2mcE+Uj6qWgoVNxvQU1Pfn5LQQzI6EQ65p8QbiQ==}
- peerDependencies:
- karma: '>=0.9'
-
- karma-chrome-launcher@3.2.0:
- resolution: {integrity: sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==}
-
- karma-coverage@2.2.1:
- resolution: {integrity: sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==}
- engines: {node: '>=10.0.0'}
-
- karma-firefox-launcher@2.1.3:
- resolution: {integrity: sha512-LMM2bseebLbYjODBOVt7TCPP9OI2vZIXCavIXhkO9m+10Uj5l7u/SKoeRmYx8FYHTVGZSpk6peX+3BMHC1WwNw==}
-
- karma-jasmine-html-reporter@2.1.0:
- resolution: {integrity: sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==}
- peerDependencies:
- jasmine-core: ^4.0.0 || ^5.0.0
- karma: ^6.0.0
- karma-jasmine: ^5.0.0
-
- karma-jasmine@5.1.0:
- resolution: {integrity: sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==}
- engines: {node: '>=12'}
- peerDependencies:
- karma: ^6.0.0
-
- karma-parallel@0.3.1:
- resolution: {integrity: sha512-64jxNYamYi/9Y67h4+FfViSYhwDgod3rLuq+ZdZ0c3XeZFp/3q3v3HVkd8b5Czp3hCB+LLF8DIv4zlR4xFqbRw==}
- engines: {node: '>=6'}
- peerDependencies:
- karma: '>= 1.0.0'
-
- karma-sauce-launcher@4.3.6:
- resolution: {integrity: sha512-Ej62q4mUPFktyAm8g0g8J5qhwEkXwdHrwtiV4pZjKNHNnSs+4qgDyzs3VkpOy3AmNTsTqQXUN/lpiy0tZpDJZQ==}
- engines: {node: '>= 10.0.0'}
-
karma-source-map-support@1.4.0:
resolution: {integrity: sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==}
@@ -5500,9 +5481,6 @@ packages:
resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==}
engines: {node: '>= 0.6'}
- keyv@3.0.0:
- resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==}
-
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
@@ -5539,7 +5517,7 @@ packages:
resolution: {integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==}
engines: {node: '>= 14.15.0'}
peerDependencies:
- less: ^3.5.0 || ^4.0.0
+ less: ^4.2.0
webpack: ^5.0.0
less-loader@12.2.0:
@@ -5547,7 +5525,7 @@ packages:
engines: {node: '>= 18.12.0'}
peerDependencies:
'@rspack/core': 0.x || 1.x
- less: ^3.5.0 || ^4.0.0
+ less: ^4.2.0
webpack: ^5.0.0
peerDependenciesMeta:
'@rspack/core':
@@ -5555,11 +5533,6 @@ packages:
webpack:
optional: true
- less@4.1.3:
- resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==}
- engines: {node: '>=6'}
- hasBin: true
-
less@4.2.1:
resolution: {integrity: sha512-CasaJidTIhWmjcqv0Uj5vccMI7pJgfD9lMkKtlnTHAdJdYK/7l8pM9tumLyJ0zhbD4KJLo/YvTj+xznQd5NBhg==}
engines: {node: '>=6'}
@@ -5570,10 +5543,6 @@ packages:
engines: {node: '>=6'}
hasBin: true
- levn@0.3.0:
- resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==}
- engines: {node: '>= 0.8.0'}
-
levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
@@ -5710,16 +5679,8 @@ packages:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
- lower-case@2.0.2:
- resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
-
- lowercase-keys@1.0.0:
- resolution: {integrity: sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==}
- engines: {node: '>=0.10.0'}
-
- lowercase-keys@1.0.1:
- resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==}
- engines: {node: '>=0.10.0'}
+ loupe@3.1.3:
+ resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==}
lowercase-keys@2.0.0:
resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
@@ -5728,9 +5689,6 @@ packages:
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
- lru-cache@4.1.5:
- resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
-
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
@@ -5746,12 +5704,15 @@ packages:
resolution: {integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==}
engines: {node: '>=12'}
+ lz-string@1.5.0:
+ resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
+ hasBin: true
+
magic-string@0.30.17:
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
- make-dir@1.3.0:
- resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==}
- engines: {node: '>=4'}
+ magicast@0.3.5:
+ resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
make-dir@2.1.0:
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
@@ -5780,16 +5741,9 @@ packages:
resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
engines: {node: '>=8'}
- map-stream@0.1.0:
- resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==}
-
marky@1.2.5:
resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==}
- matcher@3.0.0:
- resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==}
- engines: {node: '>=10'}
-
math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'}
@@ -6005,6 +5959,16 @@ packages:
msgpackr@1.11.2:
resolution: {integrity: sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g==}
+ msw@2.7.3:
+ resolution: {integrity: sha512-+mycXv8l2fEAjFZ5sjrtjJDmm2ceKGjrNbBr1durRg6VkU9fNUE/gsmQ51hWbHqs+l35W1iM+ZsmOD9Fd6lspw==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ typescript: '>= 4.8.x'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
multicast-dns@7.2.5:
resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
hasBin: true
@@ -6062,12 +6026,6 @@ packages:
tailwindcss:
optional: true
- nice-try@1.0.5:
- resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
-
- no-case@3.0.4:
- resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
-
node-abort-controller@3.1.1:
resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==}
@@ -6109,10 +6067,6 @@ packages:
resolution: {integrity: sha512-OXdegQq03OmXEjt2hZP33W2YPs/E5BcFQks46+G2gAxs4gHOIVD1u7EqlYLYSKsaIpyKCK9Gbk0ta1/gjRSMRQ==}
engines: {node: '>=6'}
- nopt@3.0.6:
- resolution: {integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==}
- hasBin: true
-
nopt@8.1.0:
resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==}
engines: {node: ^18.17.0 || >=20.5.0}
@@ -6134,10 +6088,6 @@ packages:
resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
engines: {node: '>=0.10.0'}
- normalize-url@2.0.1:
- resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==}
- engines: {node: '>=4'}
-
normalize-url@6.1.0:
resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
engines: {node: '>=10'}
@@ -6146,10 +6096,6 @@ packages:
resolution: {integrity: sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==}
engines: {node: ^18.17.0 || >=20.5.0}
- npm-conf@1.1.3:
- resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==}
- engines: {node: '>=4'}
-
npm-install-checks@7.1.1:
resolution: {integrity: sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg==}
engines: {node: ^18.17.0 || >=20.5.0}
@@ -6178,10 +6124,6 @@ packages:
resolution: {integrity: sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==}
engines: {node: ^18.17.0 || >=20.5.0}
- npm-run-path@2.0.2:
- resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
- engines: {node: '>=4'}
-
npm-run-path@4.0.1:
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
engines: {node: '>=8'}
@@ -6189,6 +6131,9 @@ packages:
nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+ nwsapi@2.2.16:
+ resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==}
+
nx@20.4.4:
resolution: {integrity: sha512-gOR9YFDbDTnOQYy6oqJ60ExgCiJJnz+o1TxrmP6cRmpRVv+5RmuZWQ9fXPtaj4SA69jbNqhSVyopT8oO6I+Gaw==}
hasBin: true
@@ -6212,10 +6157,6 @@ packages:
resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
engines: {node: '>= 0.4'}
- object-keys@1.1.1:
- resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
- engines: {node: '>= 0.4'}
-
obuf@1.1.2:
resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
@@ -6257,10 +6198,6 @@ packages:
resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
hasBin: true
- optionator@0.8.3:
- resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
- engines: {node: '>= 0.8.0'}
-
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
@@ -6276,34 +6213,17 @@ packages:
ordered-binary@1.5.3:
resolution: {integrity: sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA==}
- os-filter-obj@2.0.0:
- resolution: {integrity: sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==}
- engines: {node: '>=4'}
-
os-tmpdir@1.0.2:
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
engines: {node: '>=0.10.0'}
- p-cancelable@0.4.1:
- resolution: {integrity: sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==}
- engines: {node: '>=4'}
+ outvariant@1.4.3:
+ resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==}
p-cancelable@2.1.1:
resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==}
engines: {node: '>=8'}
- p-event@2.3.1:
- resolution: {integrity: sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==}
- engines: {node: '>=6'}
-
- p-finally@1.0.0:
- resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
- engines: {node: '>=4'}
-
- p-is-promise@1.1.0:
- resolution: {integrity: sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==}
- engines: {node: '>=4'}
-
p-limit@2.3.0:
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
engines: {node: '>=6'}
@@ -6336,10 +6256,6 @@ packages:
resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==}
engines: {node: '>=16.17'}
- p-timeout@2.0.1:
- resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==}
- engines: {node: '>=4'}
-
p-try@2.2.0:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
@@ -6363,9 +6279,6 @@ packages:
pako@1.0.11:
resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
- param-case@3.0.4:
- resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
-
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -6402,11 +6315,8 @@ packages:
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
engines: {node: '>= 0.8'}
- pascal-case@3.1.2:
- resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
-
- path-case@3.0.4:
- resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==}
+ path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
@@ -6423,10 +6333,6 @@ packages:
path-is-inside@1.0.2:
resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==}
- path-key@2.0.1:
- resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
- engines: {node: '>=4'}
-
path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
@@ -6441,6 +6347,9 @@ packages:
path-to-regexp@0.1.12:
resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==}
+ path-to-regexp@6.3.0:
+ resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==}
+
path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
@@ -6449,8 +6358,12 @@ packages:
resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==}
engines: {node: '>=18'}
- pause-stream@0.0.11:
- resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==}
+ pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+
+ pathval@2.0.0:
+ resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
+ engines: {node: '>= 14.16'}
pend@1.2.0:
resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
@@ -6473,10 +6386,6 @@ packages:
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
engines: {node: '>=0.10.0'}
- pify@3.0.0:
- resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
- engines: {node: '>=4'}
-
pify@4.0.1:
resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
engines: {node: '>=6'}
@@ -6504,6 +6413,16 @@ packages:
resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==}
engines: {node: '>=14.16'}
+ playwright-core@1.51.0:
+ resolution: {integrity: sha512-x47yPE3Zwhlil7wlNU/iktF7t2r/URR3VLbH6EknJd/04Qc/PSJ0EY3CMXipmglLG+zyRxW6HNo2EGbKLHPWMg==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ playwright@1.51.0:
+ resolution: {integrity: sha512-442pTfGM0xxfCYxuBa/Pu6B2OqxqqaYq39JS8QDMGThUvIOCd6s0ANDog3uwA0cHavVlnTQzGCN7Id2YekDSXA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
portfinder@1.0.32:
resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==}
engines: {node: '>= 0.12.0'}
@@ -6763,23 +6682,19 @@ packages:
resolution: {integrity: sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==}
engines: {node: ^10 || ^12 || >=14}
- prelude-ls@1.1.2:
- resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==}
- engines: {node: '>= 0.8.0'}
-
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
- prepend-http@2.0.0:
- resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==}
- engines: {node: '>=4'}
-
prettier@3.5.3:
resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==}
engines: {node: '>=14'}
hasBin: true
+ pretty-format@27.5.1:
+ resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
pretty-format@29.7.0:
resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -6811,9 +6726,6 @@ packages:
resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==}
engines: {node: '>=10'}
- proto-list@1.2.4:
- resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
-
protractor@7.0.0:
resolution: {integrity: sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==}
engines: {node: '>=10.13.x'}
@@ -6834,14 +6746,6 @@ packages:
prr@1.0.1:
resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
- ps-tree@1.2.0:
- resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==}
- engines: {node: '>= 0.10'}
- hasBin: true
-
- pseudomap@1.0.2:
- resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
-
psl@1.15.0:
resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==}
@@ -6876,14 +6780,6 @@ packages:
(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)
- q@1.5.1:
- resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==}
- engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
- deprecated: |-
- You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.
-
- (For a CapTP with native promises, see @endo/eventual-send and @endo/captp)
-
qjobs@1.2.0:
resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==}
engines: {node: '>=0.9'}
@@ -6900,9 +6796,8 @@ packages:
resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==}
engines: {node: '>=0.6'}
- query-string@5.1.1:
- resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==}
- engines: {node: '>=0.10.0'}
+ querystringify@2.2.0:
+ resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -6930,6 +6825,9 @@ packages:
peerDependencies:
react: ^18.3.1
+ react-is@17.0.2:
+ resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+
react-is@18.3.1:
resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
@@ -6974,9 +6872,9 @@ packages:
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
engines: {node: '>= 14.18.0'}
- rechoir@0.8.0:
- resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==}
- engines: {node: '>= 10.13.0'}
+ redent@3.0.0:
+ resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
+ engines: {node: '>=8'}
redent@4.0.0:
resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==}
@@ -7034,10 +6932,6 @@ packages:
resolve-alpn@1.2.1:
resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
- resolve-cwd@3.0.0:
- resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
- engines: {node: '>=8'}
-
resolve-dir@1.0.1:
resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==}
engines: {node: '>=0.10.0'}
@@ -7058,9 +6952,6 @@ packages:
resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==}
engines: {node: '>=10'}
- resolve@1.1.7:
- resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==}
-
resolve@1.22.10:
resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
engines: {node: '>= 0.4'}
@@ -7070,9 +6961,6 @@ packages:
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
hasBin: true
- responselike@1.0.2:
- resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==}
-
responselike@2.0.1:
resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==}
@@ -7105,11 +6993,6 @@ packages:
rgb2hex@0.2.3:
resolution: {integrity: sha512-clEe0m1xv+Tva1B/TOepuIcvLAxP0U+sCDfgt1SX1HmI2Ahr5/Cd/nzJM1e78NKVtWdoo0s33YehpFA8UfIShQ==}
- rimraf@2.5.4:
- resolution: {integrity: sha512-Lw7SHMjssciQb/rRz7JyPIy9+bbUshEucPoLRvWqy09vC5zQixl8Uet+Zl+SROBB/JMWHJRdCk1qdxNWHNMvlQ==}
- deprecated: Rimraf versions prior to v4 are no longer supported
- hasBin: true
-
rimraf@2.7.1:
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
deprecated: Rimraf versions prior to v4 are no longer supported
@@ -7124,10 +7007,6 @@ packages:
resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==}
hasBin: true
- roarr@2.15.4:
- resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==}
- engines: {node: '>=8.0'}
-
rollup@4.30.1:
resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -7138,6 +7017,9 @@ packages:
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
+ rrweb-cssom@0.6.0:
+ resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==}
+
run-applescript@7.0.0:
resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==}
engines: {node: '>=18'}
@@ -7214,13 +7096,13 @@ packages:
saucelabs@1.5.0:
resolution: {integrity: sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==}
- saucelabs@4.7.8:
- resolution: {integrity: sha512-K2qaRUixc7+8JiAwpTvEsIQVzzUkYwa0mAfs0akGagRlWXUR1JrsmgJRyz28qkwpERW1KDuByn3Ju96BuW1V7Q==}
- hasBin: true
-
sax@1.4.1:
resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
+ saxes@6.0.0:
+ resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
+ engines: {node: '>=v12.22.7'}
+
scheduler@0.23.2:
resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
@@ -7235,10 +7117,6 @@ packages:
secure-compare@3.0.1:
resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==}
- seek-bzip@1.0.6:
- resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==}
- hasBin: true
-
select-hose@2.0.0:
resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
@@ -7250,17 +7128,6 @@ packages:
resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
engines: {node: '>=10'}
- semver-compare@1.0.0:
- resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==}
-
- semver-regex@2.0.0:
- resolution: {integrity: sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==}
- engines: {node: '>=6'}
-
- semver-truncate@1.1.2:
- resolution: {integrity: sha512-V1fGg9i4CL3qesB6U0L6XAm4xOJiHmt4QAacazumuasc03BvtFGIMCduv01JWQ69Nv+JST9TqhSCiJoxoY031w==}
- engines: {node: '>=0.10.0'}
-
semver@5.7.2:
resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
hasBin: true
@@ -7283,13 +7150,6 @@ packages:
resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
engines: {node: '>= 0.8.0'}
- sentence-case@3.0.4:
- resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==}
-
- serialize-error@7.0.1:
- resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==}
- engines: {node: '>=10'}
-
serialize-error@8.1.0:
resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==}
engines: {node: '>=10'}
@@ -7321,18 +7181,10 @@ packages:
resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
engines: {node: '>=8'}
- shebang-command@1.2.0:
- resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
- engines: {node: '>=0.10.0'}
-
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
- shebang-regex@1.0.0:
- resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
- engines: {node: '>=0.10.0'}
-
shebang-regex@3.0.0:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
@@ -7357,6 +7209,9 @@ packages:
resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
engines: {node: '>= 0.4'}
+ siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+
signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
@@ -7368,6 +7223,10 @@ packages:
resolution: {integrity: sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==}
engines: {node: ^18.17.0 || >=20.5.0}
+ sirv@3.0.1:
+ resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==}
+ engines: {node: '>=18'}
+
slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
@@ -7396,9 +7255,6 @@ packages:
resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
- snake-case@3.0.4:
- resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
-
socket.io-adapter@2.5.5:
resolution: {integrity: sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==}
@@ -7421,18 +7277,6 @@ packages:
resolution: {integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==}
engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
- sort-keys-length@1.0.1:
- resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==}
- engines: {node: '>=0.10.0'}
-
- sort-keys@1.1.2:
- resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==}
- engines: {node: '>=0.10.0'}
-
- sort-keys@2.0.0:
- resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==}
- engines: {node: '>=4'}
-
sorted-array-functions@1.3.0:
resolution: {integrity: sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA==}
@@ -7455,10 +7299,6 @@ packages:
source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
- source-map@0.2.0:
- resolution: {integrity: sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==}
- engines: {node: '>=0.8.0'}
-
source-map@0.5.7:
resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
engines: {node: '>=0.10.0'}
@@ -7494,9 +7334,6 @@ packages:
resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
engines: {node: '>= 10.x'}
- split@0.3.3:
- resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==}
-
sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
@@ -7512,6 +7349,9 @@ packages:
resolution: {integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==}
engines: {node: ^18.17.0 || >=20.5.0}
+ stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+
statuses@1.5.0:
resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
engines: {node: '>= 0.6'}
@@ -7520,8 +7360,8 @@ packages:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
engines: {node: '>= 0.8'}
- stream-combiner@0.0.4:
- resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==}
+ std-env@3.8.0:
+ resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==}
streamroller@3.1.5:
resolution: {integrity: sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==}
@@ -7530,9 +7370,8 @@ packages:
streamx@2.22.0:
resolution: {integrity: sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==}
- strict-uri-encode@1.1.0:
- resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==}
- engines: {node: '>=0.10.0'}
+ strict-event-emitter@0.5.1:
+ resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==}
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
@@ -7568,12 +7407,9 @@ packages:
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
engines: {node: '>=4'}
- strip-dirs@2.1.0:
- resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==}
-
- strip-eof@1.0.0:
- resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
- engines: {node: '>=0.10.0'}
+ strip-indent@3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+ engines: {node: '>=8'}
strip-indent@4.0.0:
resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==}
@@ -7583,10 +7419,6 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
- strip-outer@1.0.1:
- resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==}
- engines: {node: '>=0.10.0'}
-
style-loader@3.3.4:
resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==}
engines: {node: '>= 12.13.0'}
@@ -7623,10 +7455,6 @@ packages:
resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
engines: {node: '>=0.8.0'}
- supports-color@3.2.3:
- resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==}
- engines: {node: '>=0.8.0'}
-
supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@@ -7659,6 +7487,9 @@ packages:
resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==}
engines: {node: '>=0.10'}
+ symbol-tree@3.2.4:
+ resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+
table@6.9.0:
resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==}
engines: {node: '>=10.0.0'}
@@ -7673,10 +7504,6 @@ packages:
tar-fs@3.0.8:
resolution: {integrity: sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==}
- tar-stream@1.6.2:
- resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==}
- engines: {node: '>= 0.8.0'}
-
tar-stream@2.2.0:
resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
engines: {node: '>=6'}
@@ -7696,10 +7523,6 @@ packages:
resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==}
engines: {node: '>=14.16'}
- temp-fs@0.9.9:
- resolution: {integrity: sha512-WfecDCR1xC9b0nsrzSaxPf3ZuWeWLUWblW4vlDQAa1biQaKHiImHnJfeQocQe/hXKMcolRzgkcVX/7kK4zoWbw==}
- engines: {node: '>=0.8.0'}
-
tempfile@5.0.0:
resolution: {integrity: sha512-bX655WZI/F7EoTDw9JvQURqAXiPHi8o8+yFxPF2lWYyz1aHnmMRuXWqL6YB6GmeO0o4DIYWHLgGNi/X64T+X4Q==}
engines: {node: '>=14.18'}
@@ -7730,6 +7553,10 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ test-exclude@7.0.1:
+ resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==}
+ engines: {node: '>=18'}
+
text-decoder@1.2.3:
resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==}
@@ -7749,14 +7576,28 @@ packages:
thunky@1.1.0:
resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
- timed-out@4.0.1:
- resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==}
- engines: {node: '>=0.10.0'}
+ tinybench@2.9.0:
+ resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+
+ tinyexec@0.3.2:
+ resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
tinyglobby@0.2.10:
resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==}
engines: {node: '>=12.0.0'}
+ tinypool@1.0.2:
+ resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+
+ tinyrainbow@1.2.0:
+ resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
+ engines: {node: '>=14.0.0'}
+
+ tinyspy@3.0.2:
+ resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
+ engines: {node: '>=14.0.0'}
+
tmp@0.0.30:
resolution: {integrity: sha512-HXdTB7lvMwcb55XFfrTM8CPr/IYREk4hVBFaQ4b/6nInrluSL86hfHm7vu0luYKCfyBZp2trCjpc8caC3vVM3w==}
engines: {node: '>=0.4.0'}
@@ -7769,9 +7610,6 @@ packages:
resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==}
engines: {node: '>=14.14'}
- to-buffer@1.1.1:
- resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==}
-
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
@@ -7780,13 +7618,25 @@ packages:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
engines: {node: '>=0.6'}
+ totalist@3.0.1:
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
+ engines: {node: '>=6'}
+
tough-cookie@2.5.0:
resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==}
engines: {node: '>=0.8'}
+ tough-cookie@4.1.4:
+ resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
+ engines: {node: '>=6'}
+
tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+ tr46@4.1.1:
+ resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==}
+ engines: {node: '>=14'}
+
tree-dump@1.0.2:
resolution: {integrity: sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==}
engines: {node: '>=10.0'}
@@ -7801,10 +7651,6 @@ packages:
resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==}
engines: {node: '>=12'}
- trim-repeated@1.0.0:
- resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==}
- engines: {node: '>=0.10.0'}
-
ts-api-utils@2.0.1:
resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==}
engines: {node: '>=18.12'}
@@ -7818,6 +7664,9 @@ packages:
typescript: '*'
webpack: ^5.0.0
+ ts-morph@21.0.1:
+ resolution: {integrity: sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==}
+
ts-node@10.9.1:
resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
hasBin: true
@@ -7890,25 +7739,13 @@ packages:
tunnel-agent@0.6.0:
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
- tunnel@0.0.6:
- resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==}
- engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'}
-
tweetnacl@0.14.5:
resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
- type-check@0.3.2:
- resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==}
- engines: {node: '>= 0.8.0'}
-
type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
- type-fest@0.13.1:
- resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==}
- engines: {node: '>=10'}
-
type-fest@0.20.2:
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
engines: {node: '>=10'}
@@ -7998,10 +7835,17 @@ packages:
resolution: {integrity: sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==}
engines: {node: ^18.17.0 || >=20.5.0}
+ unist-util-stringify-position@4.0.0:
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+
universalify@0.1.2:
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
engines: {node: '>= 4.0.0'}
+ universalify@0.2.0:
+ resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
+ engines: {node: '>= 4.0.0'}
+
universalify@2.0.1:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'}
@@ -8020,25 +7864,14 @@ packages:
peerDependencies:
browserslist: '>= 4.21.0'
- upper-case-first@2.0.2:
- resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==}
-
- upper-case@2.0.2:
- resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==}
-
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
url-join@4.0.1:
resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==}
- url-parse-lax@3.0.0:
- resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==}
- engines: {node: '>=4'}
-
- url-to-options@1.0.1:
- resolution: {integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==}
- engines: {node: '>= 4'}
+ url-parse@1.5.10:
+ resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@@ -8078,6 +7911,48 @@ packages:
resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
engines: {'0': node >=0.6.0}
+ vfile-message@4.0.2:
+ resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
+
+ vfile@6.0.3:
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
+
+ vite-node@2.1.9:
+ resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+
+ vite@5.4.15:
+ resolution: {integrity: sha512-6ANcZRivqL/4WtwPGTKNaosuNJr5tWiftOC7liM7G9+rMb8+oeJeyzymDu4rTN93seySBmbjSfsS3Vzr19KNtA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: ^4.2.0
+ lightningcss: ^1.21.0
+ sass: '*'
+ sass-embedded: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+
vite@6.0.11:
resolution: {integrity: sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
@@ -8085,7 +7960,7 @@ packages:
peerDependencies:
'@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
jiti: '>=1.21.0'
- less: '*'
+ less: ^4.2.0
lightningcss: ^1.21.0
sass: '*'
sass-embedded: '*'
@@ -8118,10 +7993,39 @@ packages:
yaml:
optional: true
+ vitest@2.1.9:
+ resolution: {integrity: sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@types/node': ^18.0.0 || >=20.0.0
+ '@vitest/browser': 2.1.9
+ '@vitest/ui': 2.1.9
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+
void-elements@2.0.1:
resolution: {integrity: sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==}
engines: {node: '>=0.10.0'}
+ w3c-xmlserializer@4.0.0:
+ resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==}
+ engines: {node: '>=14'}
+
watchpack@2.4.2:
resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==}
engines: {node: '>=10.13.0'}
@@ -8155,22 +8059,9 @@ packages:
webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
- webpack-cli@5.1.4:
- resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==}
- engines: {node: '>=14.15.0'}
- hasBin: true
- peerDependencies:
- '@webpack-cli/generators': '*'
- webpack: 5.x.x
- webpack-bundle-analyzer: '*'
- webpack-dev-server: '*'
- peerDependenciesMeta:
- '@webpack-cli/generators':
- optional: true
- webpack-bundle-analyzer:
- optional: true
- webpack-dev-server:
- optional: true
+ webidl-conversions@7.0.0:
+ resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
+ engines: {node: '>=12'}
webpack-dev-middleware@7.4.2:
resolution: {integrity: sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==}
@@ -8252,6 +8143,14 @@ packages:
resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
engines: {node: '>=12'}
+ whatwg-mimetype@3.0.0:
+ resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
+ engines: {node: '>=12'}
+
+ whatwg-url@12.0.1:
+ resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==}
+ engines: {node: '>=14'}
+
whatwg-url@5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
@@ -8267,16 +8166,16 @@ packages:
engines: {node: '>= 8'}
hasBin: true
- which@3.0.1:
- resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- hasBin: true
-
which@5.0.0:
resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==}
engines: {node: ^18.17.0 || >=20.5.0}
hasBin: true
+ why-is-node-running@2.3.0:
+ resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
+ engines: {node: '>=8'}
+ hasBin: true
+
wildcard@2.0.1:
resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
@@ -8350,6 +8249,10 @@ packages:
resolution: {integrity: sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==}
engines: {node: '>= 6'}
+ xml-name-validator@4.0.0:
+ resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
+ engines: {node: '>=12'}
+
xml2js@0.4.23:
resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==}
engines: {node: '>=4.0.0'}
@@ -8358,9 +8261,8 @@ packages:
resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
engines: {node: '>=4.0'}
- xtend@4.0.2:
- resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
- engines: {node: '>=0.4'}
+ xmlchars@2.2.0:
+ resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
xxhashjs@0.2.2:
resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==}
@@ -8372,9 +8274,6 @@ packages:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
- yallist@2.1.2:
- resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==}
-
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
@@ -8455,11 +8354,34 @@ snapshots:
'@adobe/css-tools@4.3.3': {}
+ '@adobe/css-tools@4.4.2': {}
+
'@ampproject/remapping@2.3.0':
dependencies:
'@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
+ '@analogjs/vite-plugin-angular@1.10.3(@angular-devkit/build-angular@19.1.7(niesootelh3ljsp4qcrbzmwmg4))(@angular/build@19.1.7(jljg5ymofxdt23nnuovdntbs2q))':
+ dependencies:
+ ts-morph: 21.0.1
+ vfile: 6.0.3
+ optionalDependencies:
+ '@angular-devkit/build-angular': 19.1.7(niesootelh3ljsp4qcrbzmwmg4)
+ '@angular/build': 19.1.7(jljg5ymofxdt23nnuovdntbs2q)
+
+ '@analogjs/vitest-angular@1.10.3(@analogjs/vite-plugin-angular@1.10.3(@angular-devkit/build-angular@19.1.7(niesootelh3ljsp4qcrbzmwmg4))(@angular/build@19.1.7(jljg5ymofxdt23nnuovdntbs2q)))(@angular-devkit/architect@0.1900.4(chokidar@4.0.3))(vitest@2.1.9)':
+ dependencies:
+ '@analogjs/vite-plugin-angular': 1.10.3(@angular-devkit/build-angular@19.1.7(niesootelh3ljsp4qcrbzmwmg4))(@angular/build@19.1.7(jljg5ymofxdt23nnuovdntbs2q))
+ '@angular-devkit/architect': 0.1900.4(chokidar@4.0.3)
+ vitest: 2.1.9(@types/node@20.17.19)(@vitest/browser@2.1.9)(@vitest/ui@2.1.9)(happy-dom@17.3.1)(jsdom@22.1.0)(less@4.2.2)(msw@2.7.3(@types/node@20.17.19)(typescript@5.7.3))(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)
+
+ '@angular-devkit/architect@0.1900.4(chokidar@4.0.3)':
+ dependencies:
+ '@angular-devkit/core': 19.0.4(chokidar@4.0.3)
+ rxjs: 7.8.1
+ transitivePeerDependencies:
+ - chokidar
+
'@angular-devkit/architect@0.1901.7(chokidar@4.0.3)':
dependencies:
'@angular-devkit/core': 19.1.7(chokidar@4.0.3)
@@ -8467,13 +8389,13 @@ snapshots:
transitivePeerDependencies:
- chokidar
- '@angular-devkit/build-angular@19.1.7(e4445a5fbbe66ea2f7f1b19c81f2a18c)':
+ '@angular-devkit/build-angular@19.1.7(niesootelh3ljsp4qcrbzmwmg4)':
dependencies:
'@ampproject/remapping': 2.3.0
'@angular-devkit/architect': 0.1901.7(chokidar@4.0.3)
- '@angular-devkit/build-webpack': 0.1901.7(chokidar@4.0.3)(webpack-dev-server@5.2.0)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ '@angular-devkit/build-webpack': 0.1901.7(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)))(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
'@angular-devkit/core': 19.1.7(chokidar@4.0.3)
- '@angular/build': 19.1.7(eca590b1d930012a59ca5b74bdc2dd08)
+ '@angular/build': 19.1.7(yumfx5gtc6yab47sfofmy6pqn4)
'@angular/compiler-cli': 19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3)
'@babel/core': 7.26.0
'@babel/generator': 7.26.3
@@ -8485,14 +8407,14 @@ snapshots:
'@babel/preset-env': 7.26.0(@babel/core@7.26.0)
'@babel/runtime': 7.26.0
'@discoveryjs/json-ext': 0.6.3
- '@ngtools/webpack': 19.1.7(@angular/compiler-cli@19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
- '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@20.17.19)(jiti@1.21.7)(less@4.2.1)(sass@1.83.1)(stylus@0.64.0)(terser@5.37.0)(yaml@2.7.0))
+ '@ngtools/webpack': 19.1.7(@angular/compiler-cli@19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
+ '@vitejs/plugin-basic-ssl': 1.2.0(vite@5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0))
ansi-colors: 4.1.3
autoprefixer: 10.4.20(postcss@8.4.49)
- babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
browserslist: 4.24.4
- copy-webpack-plugin: 12.0.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
- css-loader: 7.1.2(@rspack/core@1.2.3(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ copy-webpack-plugin: 12.0.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
+ css-loader: 7.1.2(@rspack/core@1.2.3(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
esbuild-wasm: 0.24.2
fast-glob: 3.3.3
http-proxy-middleware: 3.0.3
@@ -8500,35 +8422,35 @@ snapshots:
jsonc-parser: 3.3.1
karma-source-map-support: 1.4.0
less: 4.2.1
- less-loader: 12.2.0(@rspack/core@1.2.3(@swc/helpers@0.5.15))(less@4.2.1)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
- license-webpack-plugin: 4.0.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ less-loader: 12.2.0(@rspack/core@1.2.3(@swc/helpers@0.5.15))(less@4.2.1)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
+ license-webpack-plugin: 4.0.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
loader-utils: 3.3.1
- mini-css-extract-plugin: 2.9.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ mini-css-extract-plugin: 2.9.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
open: 10.1.0
ora: 5.4.1
picomatch: 4.0.2
piscina: 4.8.0
postcss: 8.4.49
- postcss-loader: 8.1.1(@rspack/core@1.2.3(@swc/helpers@0.5.15))(postcss@8.4.49)(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ postcss-loader: 8.1.1(@rspack/core@1.2.3(@swc/helpers@0.5.15))(postcss@8.4.49)(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
resolve-url-loader: 5.0.0
rxjs: 7.8.1
sass: 1.83.1
- sass-loader: 16.0.4(@rspack/core@1.2.3(@swc/helpers@0.5.15))(sass@1.83.1)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ sass-loader: 16.0.4(@rspack/core@1.2.3(@swc/helpers@0.5.15))(sass@1.83.1)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
semver: 7.6.3
- source-map-loader: 5.0.0(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ source-map-loader: 5.0.0(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
source-map-support: 0.5.21
terser: 5.37.0
tree-kill: 1.2.2
tslib: 2.8.1
typescript: 5.7.3
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
- webpack-dev-middleware: 7.4.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
- webpack-dev-server: 5.2.0(webpack-cli@5.1.4)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
+ webpack-dev-middleware: 7.4.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
+ webpack-dev-server: 5.2.0(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
webpack-merge: 6.0.1
- webpack-subresource-integrity: 5.1.0(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ webpack-subresource-integrity: 5.1.0(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
optionalDependencies:
'@angular/platform-server': 19.1.6(@angular/animations@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.6(@angular/animations@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))
- '@angular/ssr': 19.1.7(63d62672e91cb79b25ab56a14eb9de42)
+ '@angular/ssr': 19.1.7(ufzxe4wxd22z3jdz3d3mzy5roy)
esbuild: 0.24.2
karma: 6.4.4
ng-packagr: 19.1.2(@angular/compiler-cli@19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3)
@@ -8556,15 +8478,26 @@ snapshots:
- webpack-cli
- yaml
- '@angular-devkit/build-webpack@0.1901.7(chokidar@4.0.3)(webpack-dev-server@5.2.0)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))':
+ '@angular-devkit/build-webpack@0.1901.7(chokidar@4.0.3)(webpack-dev-server@5.2.0(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)))(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))':
dependencies:
'@angular-devkit/architect': 0.1901.7(chokidar@4.0.3)
rxjs: 7.8.1
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
- webpack-dev-server: 5.2.0(webpack-cli@5.1.4)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
+ webpack-dev-server: 5.2.0(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
transitivePeerDependencies:
- chokidar
+ '@angular-devkit/core@19.0.4(chokidar@4.0.3)':
+ dependencies:
+ ajv: 8.17.1
+ ajv-formats: 3.0.1(ajv@8.17.1)
+ jsonc-parser: 3.3.1
+ picomatch: 4.0.2
+ rxjs: 7.8.1
+ source-map: 0.7.4
+ optionalDependencies:
+ chokidar: 4.0.3
+
'@angular-devkit/core@19.1.7(chokidar@4.0.3)':
dependencies:
ajv: 8.17.1
@@ -8651,7 +8584,59 @@ snapshots:
'@angular/core': 19.1.6(rxjs@7.8.1)(zone.js@0.15.0)
tslib: 2.8.1
- '@angular/build@19.1.7(eca590b1d930012a59ca5b74bdc2dd08)':
+ '@angular/build@19.1.7(jljg5ymofxdt23nnuovdntbs2q)':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@angular-devkit/architect': 0.1901.7(chokidar@4.0.3)
+ '@angular-devkit/core': 19.1.7(chokidar@4.0.3)
+ '@angular/compiler': 19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))
+ '@angular/compiler-cli': 19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3)
+ '@babel/core': 7.26.0
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-split-export-declaration': 7.24.7
+ '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0)
+ '@inquirer/confirm': 5.1.1(@types/node@20.17.19)
+ '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11(@types/node@20.17.19)(jiti@1.21.7)(less@4.2.2)(sass@1.83.1)(stylus@0.64.0)(terser@5.37.0)(yaml@2.7.0))
+ beasties: 0.2.0
+ browserslist: 4.24.4
+ esbuild: 0.24.2
+ fast-glob: 3.3.3
+ https-proxy-agent: 7.0.6
+ istanbul-lib-instrument: 6.0.3
+ listr2: 8.2.5
+ magic-string: 0.30.17
+ mrmime: 2.0.0
+ parse5-html-rewriting-stream: 7.0.0
+ picomatch: 4.0.2
+ piscina: 4.8.0
+ rollup: 4.30.1
+ sass: 1.83.1
+ semver: 7.6.3
+ typescript: 5.7.3
+ vite: 6.0.11(@types/node@20.17.19)(jiti@1.21.7)(less@4.2.2)(sass@1.83.1)(stylus@0.64.0)(terser@5.37.0)(yaml@2.7.0)
+ watchpack: 2.4.2
+ optionalDependencies:
+ '@angular/platform-server': 19.1.6(@angular/animations@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.6(@angular/animations@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))
+ '@angular/ssr': 19.1.7(ufzxe4wxd22z3jdz3d3mzy5roy)
+ less: 4.2.2
+ lmdb: 3.2.2
+ ng-packagr: 19.1.2(@angular/compiler-cli@19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3)
+ postcss: 8.5.2
+ transitivePeerDependencies:
+ - '@types/node'
+ - chokidar
+ - jiti
+ - lightningcss
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - yaml
+ optional: true
+
+ '@angular/build@19.1.7(yumfx5gtc6yab47sfofmy6pqn4)':
dependencies:
'@ampproject/remapping': 2.3.0
'@angular-devkit/architect': 0.1901.7(chokidar@4.0.3)
@@ -8680,11 +8665,11 @@ snapshots:
sass: 1.83.1
semver: 7.6.3
typescript: 5.7.3
- vite: 6.0.11(@types/node@20.17.19)(jiti@1.21.7)(less@4.1.3)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)(yaml@2.7.0)
+ vite: 6.0.11(@types/node@20.17.19)(jiti@1.21.7)(less@4.2.1)(sass@1.83.1)(stylus@0.64.0)(terser@5.37.0)(yaml@2.7.0)
watchpack: 2.4.2
optionalDependencies:
'@angular/platform-server': 19.1.6(@angular/animations@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(@angular/platform-browser@19.1.6(@angular/animations@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(@angular/common@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))
- '@angular/ssr': 19.1.7(63d62672e91cb79b25ab56a14eb9de42)
+ '@angular/ssr': 19.1.7(ufzxe4wxd22z3jdz3d3mzy5roy)
less: 4.2.1
lmdb: 3.2.2
ng-packagr: 19.1.2(@angular/compiler-cli@19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3)
@@ -8779,7 +8764,7 @@ snapshots:
'@angular/language-service@19.1.6': {}
- '@angular/material@19.1.4(39e0b8558b9404228f22388017d0fcb2)':
+ '@angular/material@19.1.4(n6jpcyv44zoxdsk6dbpkqfynb4)':
dependencies:
'@angular/animations': 19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))
'@angular/cdk': 19.1.4(@angular/common@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1))(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1)
@@ -8824,7 +8809,7 @@ snapshots:
rxjs: 7.8.1
tslib: 2.8.1
- '@angular/ssr@19.1.7(63d62672e91cb79b25ab56a14eb9de42)':
+ '@angular/ssr@19.1.7(ufzxe4wxd22z3jdz3d3mzy5roy)':
dependencies:
'@angular/common': 19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0))(rxjs@7.8.1)
'@angular/core': 19.1.6(rxjs@7.8.1)(zone.js@0.15.0)
@@ -10101,7 +10086,23 @@ snapshots:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
- '@colors/colors@1.5.0': {}
+ '@bcoe/v8-coverage@0.2.3': {}
+
+ '@bundled-es-modules/cookie@2.0.1':
+ dependencies:
+ cookie: 0.7.2
+
+ '@bundled-es-modules/statuses@1.0.1':
+ dependencies:
+ statuses: 2.0.1
+
+ '@bundled-es-modules/tough-cookie@0.1.6':
+ dependencies:
+ '@types/tough-cookie': 4.0.5
+ tough-cookie: 4.1.4
+
+ '@colors/colors@1.5.0':
+ optional: true
'@cspotcode/source-map-support@0.8.1':
dependencies:
@@ -10122,8 +10123,6 @@ snapshots:
dependencies:
postcss-selector-parser: 6.1.2
- '@discoveryjs/json-ext@0.5.7': {}
-
'@discoveryjs/json-ext@0.6.3': {}
'@emnapi/core@1.3.1':
@@ -10139,78 +10138,147 @@ snapshots:
dependencies:
tslib: 2.8.1
+ '@esbuild/aix-ppc64@0.21.5':
+ optional: true
+
'@esbuild/aix-ppc64@0.24.2':
optional: true
+ '@esbuild/android-arm64@0.21.5':
+ optional: true
+
'@esbuild/android-arm64@0.24.2':
optional: true
+ '@esbuild/android-arm@0.21.5':
+ optional: true
+
'@esbuild/android-arm@0.24.2':
optional: true
+ '@esbuild/android-x64@0.21.5':
+ optional: true
+
'@esbuild/android-x64@0.24.2':
optional: true
+ '@esbuild/darwin-arm64@0.21.5':
+ optional: true
+
'@esbuild/darwin-arm64@0.24.2':
optional: true
+ '@esbuild/darwin-x64@0.21.5':
+ optional: true
+
'@esbuild/darwin-x64@0.24.2':
optional: true
+ '@esbuild/freebsd-arm64@0.21.5':
+ optional: true
+
'@esbuild/freebsd-arm64@0.24.2':
optional: true
+ '@esbuild/freebsd-x64@0.21.5':
+ optional: true
+
'@esbuild/freebsd-x64@0.24.2':
optional: true
+ '@esbuild/linux-arm64@0.21.5':
+ optional: true
+
'@esbuild/linux-arm64@0.24.2':
optional: true
+ '@esbuild/linux-arm@0.21.5':
+ optional: true
+
'@esbuild/linux-arm@0.24.2':
optional: true
+ '@esbuild/linux-ia32@0.21.5':
+ optional: true
+
'@esbuild/linux-ia32@0.24.2':
optional: true
+ '@esbuild/linux-loong64@0.21.5':
+ optional: true
+
'@esbuild/linux-loong64@0.24.2':
optional: true
+ '@esbuild/linux-mips64el@0.21.5':
+ optional: true
+
'@esbuild/linux-mips64el@0.24.2':
optional: true
+ '@esbuild/linux-ppc64@0.21.5':
+ optional: true
+
'@esbuild/linux-ppc64@0.24.2':
optional: true
+ '@esbuild/linux-riscv64@0.21.5':
+ optional: true
+
'@esbuild/linux-riscv64@0.24.2':
optional: true
+ '@esbuild/linux-s390x@0.21.5':
+ optional: true
+
'@esbuild/linux-s390x@0.24.2':
optional: true
+ '@esbuild/linux-x64@0.21.5':
+ optional: true
+
'@esbuild/linux-x64@0.24.2':
optional: true
'@esbuild/netbsd-arm64@0.24.2':
optional: true
+ '@esbuild/netbsd-x64@0.21.5':
+ optional: true
+
'@esbuild/netbsd-x64@0.24.2':
optional: true
'@esbuild/openbsd-arm64@0.24.2':
optional: true
+ '@esbuild/openbsd-x64@0.21.5':
+ optional: true
+
'@esbuild/openbsd-x64@0.24.2':
optional: true
+ '@esbuild/sunos-x64@0.21.5':
+ optional: true
+
'@esbuild/sunos-x64@0.24.2':
optional: true
+ '@esbuild/win32-arm64@0.21.5':
+ optional: true
+
'@esbuild/win32-arm64@0.24.2':
optional: true
+ '@esbuild/win32-ia32@0.21.5':
+ optional: true
+
'@esbuild/win32-ia32@0.24.2':
optional: true
+ '@esbuild/win32-x64@0.21.5':
+ optional: true
+
'@esbuild/win32-x64@0.24.2':
optional: true
@@ -10535,7 +10603,7 @@ snapshots:
- supports-color
- utf-8-validate
- '@module-federation/enhanced@0.8.11(@rspack/core@1.2.3(@swc/helpers@0.5.15))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack@5.98.0)':
+ '@module-federation/enhanced@0.8.11(@rspack/core@1.2.3(@swc/helpers@0.5.15))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))':
dependencies:
'@module-federation/bridge-react-webpack-plugin': 0.8.11
'@module-federation/data-prefetch': 0.8.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -10551,7 +10619,7 @@ snapshots:
upath: 2.0.1
optionalDependencies:
typescript: 5.7.3
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
transitivePeerDependencies:
- '@rspack/core'
- bufferutil
@@ -10590,16 +10658,16 @@ snapshots:
- utf-8-validate
- vue-tsc
- '@module-federation/node@2.6.24(@rspack/core@1.2.3(@swc/helpers@0.5.15))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack@5.98.0)':
+ '@module-federation/node@2.6.24(@rspack/core@1.2.3(@swc/helpers@0.5.15))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))':
dependencies:
- '@module-federation/enhanced': 0.8.11(@rspack/core@1.2.3(@swc/helpers@0.5.15))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack@5.98.0)
+ '@module-federation/enhanced': 0.8.11(@rspack/core@1.2.3(@swc/helpers@0.5.15))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
'@module-federation/runtime': 0.8.11
'@module-federation/sdk': 0.8.11
- '@module-federation/utilities': 3.1.42(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.98.0)
+ '@module-federation/utilities': 3.1.42(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
btoa: 1.2.1
encoding: 0.1.13
node-fetch: 2.7.0(encoding@0.1.13)
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
optionalDependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
@@ -10670,10 +10738,10 @@ snapshots:
fs-extra: 9.1.0
resolve: 1.22.8
- '@module-federation/utilities@3.1.42(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.98.0)':
+ '@module-federation/utilities@3.1.42(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))':
dependencies:
'@module-federation/sdk': 0.8.11
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
optionalDependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
@@ -10706,6 +10774,15 @@ snapshots:
'@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3':
optional: true
+ '@mswjs/interceptors@0.37.6':
+ dependencies:
+ '@open-draft/deferred-promise': 2.2.0
+ '@open-draft/logger': 0.3.0
+ '@open-draft/until': 2.1.0
+ is-node-process: 1.2.0
+ outvariant: 1.4.3
+ strict-event-emitter: 0.5.1
+
'@napi-rs/nice-android-arm-eabi@1.0.1':
optional: true
@@ -10780,17 +10857,11 @@ snapshots:
'@emnapi/runtime': 1.3.1
'@tybys/wasm-util': 0.9.0
- '@ngtools/webpack@19.1.7(@angular/compiler-cli@19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))':
- dependencies:
- '@angular/compiler-cli': 19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3)
- typescript: 5.7.3
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
-
- '@ngtools/webpack@19.1.7(@angular/compiler-cli@19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(typescript@5.7.3)(webpack@5.98.0)':
+ '@ngtools/webpack@19.1.7(@angular/compiler-cli@19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))':
dependencies:
'@angular/compiler-cli': 19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3)
typescript: 5.7.3
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
'@nodelib/fs.scandir@2.1.5':
dependencies:
@@ -10869,18 +10940,18 @@ snapshots:
- bluebird
- supports-color
- '@nx/angular@20.4.4(@angular-devkit/build-angular@19.1.7(e4445a5fbbe66ea2f7f1b19c81f2a18c))(@angular-devkit/core@19.1.7(chokidar@4.0.3))(@angular-devkit/schematics@19.1.7(chokidar@4.0.3))(@babel/traverse@7.26.9)(@rspack/core@1.2.3(@swc/helpers@0.5.15))(@schematics/angular@19.1.7(chokidar@4.0.3))(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)(@types/node@20.17.19)(@zkochan/js-yaml@0.0.7)(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rxjs@7.8.1)(typescript@5.7.3)(webpack-cli@5.1.4)':
+ '@nx/angular@20.4.4(@angular-devkit/build-angular@19.1.7(niesootelh3ljsp4qcrbzmwmg4))(@angular-devkit/core@19.1.7(chokidar@4.0.3))(@angular-devkit/schematics@19.1.7(chokidar@4.0.3))(@babel/traverse@7.26.9)(@rspack/core@1.2.3(@swc/helpers@0.5.15))(@schematics/angular@19.1.7(chokidar@4.0.3))(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)(@types/node@20.17.19)(@zkochan/js-yaml@0.0.7)(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rxjs@7.8.1)(typescript@5.7.3)':
dependencies:
- '@angular-devkit/build-angular': 19.1.7(e4445a5fbbe66ea2f7f1b19c81f2a18c)
+ '@angular-devkit/build-angular': 19.1.7(niesootelh3ljsp4qcrbzmwmg4)
'@angular-devkit/core': 19.1.7(chokidar@4.0.3)
'@angular-devkit/schematics': 19.1.7(chokidar@4.0.3)
- '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
- '@nx/eslint': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(@zkochan/js-yaml@0.0.7)(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
- '@nx/js': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
- '@nx/module-federation': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack-cli@5.1.4)
- '@nx/web': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
- '@nx/webpack': 20.4.4(@babel/traverse@7.26.9)(@rspack/core@1.2.3(@swc/helpers@0.5.15))(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)(webpack-cli@5.1.4)
- '@nx/workspace': 20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
+ '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@nx/eslint': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(@zkochan/js-yaml@0.0.7)(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@nx/js': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ '@nx/module-federation': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)
+ '@nx/web': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ '@nx/webpack': 20.4.4(@babel/traverse@7.26.9)(@rspack/core@1.2.3(@swc/helpers@0.5.15))(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ '@nx/workspace': 20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
'@phenomnomnominal/tsquery': 5.0.1(typescript@5.7.3)
'@schematics/angular': 19.1.7(chokidar@4.0.3)
'@typescript-eslint/type-utils': 8.24.0(eslint@9.20.1(jiti@1.21.7))(typescript@5.7.3)
@@ -10928,22 +10999,22 @@ snapshots:
- vue-tsc
- webpack-cli
- '@nx/devkit@20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))':
+ '@nx/devkit@20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))':
dependencies:
ejs: 3.1.10
enquirer: 2.3.6
ignore: 5.3.2
minimatch: 9.0.3
- nx: 20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
+ nx: 20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
semver: 7.7.1
tmp: 0.2.3
tslib: 2.8.1
yargs-parser: 21.1.1
- '@nx/eslint-plugin@20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@1.21.7))(typescript@5.7.3))(eslint-config-prettier@9.1.0(eslint@9.20.1(jiti@1.21.7)))(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)':
+ '@nx/eslint-plugin@20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(@typescript-eslint/parser@8.24.0(eslint@9.20.1(jiti@1.21.7))(typescript@5.7.3))(eslint-config-prettier@9.1.0(eslint@9.20.1(jiti@1.21.7)))(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)':
dependencies:
- '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
- '@nx/js': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@nx/js': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
'@typescript-eslint/parser': 8.24.0(eslint@9.20.1(jiti@1.21.7))(typescript@5.7.3)
'@typescript-eslint/type-utils': 8.24.0(eslint@9.20.1(jiti@1.21.7))(typescript@5.7.3)
'@typescript-eslint/utils': 8.24.0(eslint@9.20.1(jiti@1.21.7))(typescript@5.7.3)
@@ -10968,10 +11039,10 @@ snapshots:
- typescript
- verdaccio
- '@nx/eslint@20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(@zkochan/js-yaml@0.0.7)(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))':
+ '@nx/eslint@20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(@zkochan/js-yaml@0.0.7)(eslint@9.20.1(jiti@1.21.7))(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))':
dependencies:
- '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
- '@nx/js': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@nx/js': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
eslint: 9.20.1(jiti@1.21.7)
semver: 7.7.1
tslib: 2.8.1
@@ -10989,7 +11060,7 @@ snapshots:
- supports-color
- verdaccio
- '@nx/js@20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)':
+ '@nx/js@20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)':
dependencies:
'@babel/core': 7.26.9
'@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.9)
@@ -10998,8 +11069,8 @@ snapshots:
'@babel/preset-env': 7.26.9(@babel/core@7.26.9)
'@babel/preset-typescript': 7.26.0(@babel/core@7.26.9)
'@babel/runtime': 7.26.9
- '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
- '@nx/workspace': 20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
+ '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@nx/workspace': 20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
'@zkochan/js-yaml': 0.0.7
babel-plugin-const-enum: 1.2.0(@babel/core@7.26.9)
babel-plugin-macros: 3.1.0
@@ -11032,20 +11103,20 @@ snapshots:
- supports-color
- typescript
- '@nx/module-federation@20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack-cli@5.1.4)':
+ '@nx/module-federation@20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)':
dependencies:
- '@module-federation/enhanced': 0.8.11(@rspack/core@1.2.3(@swc/helpers@0.5.15))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack@5.98.0)
- '@module-federation/node': 2.6.24(@rspack/core@1.2.3(@swc/helpers@0.5.15))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack@5.98.0)
+ '@module-federation/enhanced': 0.8.11(@rspack/core@1.2.3(@swc/helpers@0.5.15))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@module-federation/node': 2.6.24(@rspack/core@1.2.3(@swc/helpers@0.5.15))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
'@module-federation/sdk': 0.8.11
- '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
- '@nx/js': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
- '@nx/web': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@nx/js': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ '@nx/web': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
'@rspack/core': 1.2.3(@swc/helpers@0.5.15)
express: 4.21.2
http-proxy-middleware: 3.0.3
picocolors: 1.1.1
tslib: 2.8.1
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
transitivePeerDependencies:
- '@babel/traverse'
- '@rspack/tracing'
@@ -11099,14 +11170,17 @@ snapshots:
'@nx/nx-win32-x64-msvc@20.4.4':
optional: true
- '@nx/web@20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)':
+ '@nx/vite@20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)(vite@5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0))(vitest@2.1.9)':
dependencies:
- '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
- '@nx/js': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
- detect-port: 1.6.1
- http-server: 14.1.1
- picocolors: 1.1.1
- tslib: 2.8.1
+ '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@nx/js': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ '@phenomnomnominal/tsquery': 5.0.1(typescript@5.7.3)
+ '@swc/helpers': 0.5.15
+ enquirer: 2.3.6
+ minimatch: 9.0.3
+ tsconfig-paths: 4.2.0
+ vite: 5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)
+ vitest: 2.1.9(@types/node@20.17.19)(@vitest/browser@2.1.9)(@vitest/ui@2.1.9)(happy-dom@17.3.1)(jsdom@22.1.0)(less@4.2.2)(msw@2.7.3(@types/node@20.17.19)(typescript@5.7.3))(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)
transitivePeerDependencies:
- '@babel/traverse'
- '@swc-node/register'
@@ -11119,45 +11193,65 @@ snapshots:
- typescript
- verdaccio
- '@nx/webpack@20.4.4(@babel/traverse@7.26.9)(@rspack/core@1.2.3(@swc/helpers@0.5.15))(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)(webpack-cli@5.1.4)':
+ '@nx/web@20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)':
dependencies:
- '@babel/core': 7.26.9
- '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
- '@nx/js': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@nx/js': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
+ detect-port: 1.6.1
+ http-server: 14.1.1
+ picocolors: 1.1.1
+ tslib: 2.8.1
+ transitivePeerDependencies:
+ - '@babel/traverse'
+ - '@swc-node/register'
+ - '@swc/core'
+ - '@swc/wasm'
+ - '@types/node'
+ - debug
+ - nx
+ - supports-color
+ - typescript
+ - verdaccio
+
+ '@nx/webpack@20.4.4(@babel/traverse@7.26.9)(@rspack/core@1.2.3(@swc/helpers@0.5.15))(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)':
+ dependencies:
+ '@babel/core': 7.26.9
+ '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@nx/js': 20.4.4(@babel/traverse@7.26.9)(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))(typescript@5.7.3)
'@phenomnomnominal/tsquery': 5.0.1(typescript@5.7.3)
ajv: 8.17.1
autoprefixer: 10.4.20(postcss@8.5.2)
- babel-loader: 9.2.1(@babel/core@7.26.9)(webpack@5.98.0)
+ babel-loader: 9.2.1(@babel/core@7.26.9)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
browserslist: 4.24.4
- copy-webpack-plugin: 10.2.4(webpack@5.98.0)
- css-loader: 6.11.0(@rspack/core@1.2.3(@swc/helpers@0.5.15))(webpack@5.98.0)
- css-minimizer-webpack-plugin: 5.0.1(webpack@5.98.0)
- fork-ts-checker-webpack-plugin: 7.2.13(typescript@5.7.3)(webpack@5.98.0)
- less: 4.1.3
- less-loader: 11.1.0(less@4.1.3)(webpack@5.98.0)
- license-webpack-plugin: 4.0.2(webpack@5.98.0)
+ copy-webpack-plugin: 10.2.4(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ css-loader: 6.11.0(@rspack/core@1.2.3(@swc/helpers@0.5.15))(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ css-minimizer-webpack-plugin: 5.0.1(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ fork-ts-checker-webpack-plugin: 7.2.13(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ less: 4.2.2
+ less-loader: 11.1.0(less@4.2.2)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ license-webpack-plugin: 4.0.2(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
loader-utils: 2.0.4
- mini-css-extract-plugin: 2.4.7(webpack@5.98.0)
+ mini-css-extract-plugin: 2.4.7(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
parse5: 4.0.0
picocolors: 1.1.1
postcss: 8.5.2
postcss-import: 14.1.0(postcss@8.5.2)
- postcss-loader: 6.2.1(postcss@8.5.2)(webpack@5.98.0)
+ postcss-loader: 6.2.1(postcss@8.5.2)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
rxjs: 7.8.1
sass: 1.85.0
- sass-loader: 12.6.0(sass@1.85.0)(webpack@5.98.0)
- source-map-loader: 5.0.0(webpack@5.98.0)
- style-loader: 3.3.4(webpack@5.98.0)
+ sass-loader: 12.6.0(sass@1.85.0)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ source-map-loader: 5.0.0(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ style-loader: 3.3.4(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
stylus: 0.64.0
- stylus-loader: 7.1.3(stylus@0.64.0)(webpack@5.98.0)
- terser-webpack-plugin: 5.3.11(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack@5.98.0)
- ts-loader: 9.5.2(typescript@5.7.3)(webpack@5.98.0)
+ stylus-loader: 7.1.3(stylus@0.64.0)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ terser-webpack-plugin: 5.3.11(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ ts-loader: 9.5.2(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
tsconfig-paths-webpack-plugin: 4.0.0
tslib: 2.8.1
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
- webpack-dev-server: 5.2.0(webpack-cli@5.1.4)(webpack@5.98.0)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
+ webpack-dev-server: 5.2.0(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
webpack-node-externals: 3.0.0
- webpack-subresource-integrity: 5.1.0(webpack@5.98.0)
+ webpack-subresource-integrity: 5.1.0(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
transitivePeerDependencies:
- '@babel/traverse'
- '@parcel/css'
@@ -11186,12 +11280,12 @@ snapshots:
- vue-template-compiler
- webpack-cli
- '@nx/workspace@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))':
+ '@nx/workspace@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))':
dependencies:
- '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
+ '@nx/devkit': 20.4.4(nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)))
chalk: 4.1.2
enquirer: 2.3.6
- nx: 20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
+ nx: 20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15))
tslib: 2.8.1
yargs-parser: 21.1.1
transitivePeerDependencies:
@@ -11199,6 +11293,15 @@ snapshots:
- '@swc/core'
- debug
+ '@open-draft/deferred-promise@2.2.0': {}
+
+ '@open-draft/logger@0.3.0':
+ dependencies:
+ is-node-process: 1.2.0
+ outvariant: 1.4.3
+
+ '@open-draft/until@2.1.0': {}
+
'@parcel/watcher-android-arm64@2.5.1':
optional: true
@@ -11268,6 +11371,8 @@ snapshots:
'@pkgjs/parseargs@0.11.0':
optional: true
+ '@polka/url@1.0.0-next.28': {}
+
'@puppeteer/browsers@2.7.1':
dependencies:
debug: 4.4.0
@@ -11280,6 +11385,7 @@ snapshots:
transitivePeerDependencies:
- bare-buffer
- supports-color
+ optional: true
'@rollup/plugin-json@6.1.0(rollup@4.34.7)':
dependencies:
@@ -11507,22 +11613,22 @@ snapshots:
'@sinclair/typebox@0.27.8': {}
- '@sindresorhus/is@0.7.0': {}
-
- '@sindresorhus/is@4.6.0': {}
+ '@sindresorhus/is@4.6.0':
+ optional: true
'@sindresorhus/merge-streams@2.3.0': {}
- '@socket.io/component-emitter@3.1.2': {}
+ '@socket.io/component-emitter@3.1.2':
+ optional: true
- '@swc-node/core@1.13.3(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)':
+ '@swc-node/core@1.13.3(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)':
dependencies:
'@swc/core': 1.5.29(@swc/helpers@0.5.15)
- '@swc/types': 0.1.17
+ '@swc/types': 0.1.19
- '@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3)':
+ '@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3)':
dependencies:
- '@swc-node/core': 1.13.3(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)
+ '@swc-node/core': 1.13.3(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)
'@swc-node/sourcemap-support': 0.5.1
'@swc/core': 1.5.29(@swc/helpers@0.5.15)
colorette: 2.0.20
@@ -11572,7 +11678,7 @@ snapshots:
'@swc/core@1.5.29(@swc/helpers@0.5.15)':
dependencies:
'@swc/counter': 0.1.3
- '@swc/types': 0.1.17
+ '@swc/types': 0.1.19
optionalDependencies:
'@swc/core-darwin-arm64': 1.5.29
'@swc/core-darwin-x64': 1.5.29
@@ -11592,18 +11698,54 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@swc/types@0.1.17':
+ '@swc/types@0.1.19':
dependencies:
'@swc/counter': 0.1.3
'@szmarczak/http-timer@4.0.6':
dependencies:
defer-to-connect: 2.0.1
+ optional: true
+
+ '@testing-library/dom@10.4.0':
+ dependencies:
+ '@babel/code-frame': 7.26.2
+ '@babel/runtime': 7.26.9
+ '@types/aria-query': 5.0.4
+ aria-query: 5.3.0
+ chalk: 4.1.2
+ dom-accessibility-api: 0.5.16
+ lz-string: 1.5.0
+ pretty-format: 27.5.1
+
+ '@testing-library/jest-dom@6.6.3':
+ dependencies:
+ '@adobe/css-tools': 4.4.2
+ aria-query: 5.3.2
+ chalk: 3.0.0
+ css.escape: 1.5.1
+ dom-accessibility-api: 0.6.3
+ lodash: 4.17.21
+ redent: 3.0.0
+
+ '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)':
+ dependencies:
+ '@testing-library/dom': 10.4.0
+
+ '@tootallnate/once@2.0.0': {}
- '@tootallnate/quickjs-emscripten@0.23.0': {}
+ '@tootallnate/quickjs-emscripten@0.23.0':
+ optional: true
'@trysound/sax@0.2.0': {}
+ '@ts-morph/common@0.22.0':
+ dependencies:
+ fast-glob: 3.3.3
+ minimatch: 9.0.5
+ mkdirp: 3.0.1
+ path-browserify: 1.0.1
+
'@tsconfig/node10@1.0.11': {}
'@tsconfig/node12@1.0.11': {}
@@ -11623,6 +11765,8 @@ snapshots:
dependencies:
tslib: 2.8.1
+ '@types/aria-query@5.0.4': {}
+
'@types/body-parser@1.19.5':
dependencies:
'@types/connect': 3.4.38
@@ -11638,6 +11782,7 @@ snapshots:
'@types/keyv': 3.1.4
'@types/node': 20.17.19
'@types/responselike': 1.0.3
+ optional: true
'@types/connect-history-api-fallback@1.5.4':
dependencies:
@@ -11648,9 +11793,12 @@ snapshots:
dependencies:
'@types/node': 20.17.19
+ '@types/cookie@0.6.0': {}
+
'@types/cors@2.8.17':
dependencies:
'@types/node': 20.17.19
+ optional: true
'@types/eslint-scope@3.7.7':
dependencies:
@@ -11685,7 +11833,8 @@ snapshots:
'@types/qs': 6.9.18
'@types/serve-static': 1.15.7
- '@types/http-cache-semantics@4.0.4': {}
+ '@types/http-cache-semantics@4.0.4':
+ optional: true
'@types/http-errors@2.0.4': {}
@@ -11703,13 +11852,12 @@ snapshots:
dependencies:
'@types/istanbul-lib-report': 3.0.3
- '@types/jasmine@5.1.6': {}
-
'@types/json-schema@7.0.15': {}
'@types/keyv@3.1.4':
dependencies:
'@types/node': 20.17.19
+ optional: true
'@types/mime@1.3.5': {}
@@ -11738,6 +11886,7 @@ snapshots:
- supports-color
- typescript
- utf-8-validate
+ optional: true
'@types/puppeteer@7.0.4(typescript@5.7.3)':
dependencies:
@@ -11748,8 +11897,10 @@ snapshots:
- supports-color
- typescript
- utf-8-validate
+ optional: true
- '@types/q@0.0.32': {}
+ '@types/q@0.0.32':
+ optional: true
'@types/qs@6.9.18': {}
@@ -11758,10 +11909,12 @@ snapshots:
'@types/responselike@1.0.3':
dependencies:
'@types/node': 20.17.19
+ optional: true
'@types/retry@0.12.2': {}
- '@types/selenium-webdriver@3.0.26': {}
+ '@types/selenium-webdriver@3.0.26':
+ optional: true
'@types/semver@7.5.8': {}
@@ -11784,7 +11937,14 @@ snapshots:
dependencies:
'@types/node': 20.17.19
- '@types/which@1.3.2': {}
+ '@types/statuses@2.0.5': {}
+
+ '@types/tough-cookie@4.0.5': {}
+
+ '@types/unist@3.0.3': {}
+
+ '@types/which@1.3.2':
+ optional: true
'@types/ws@8.5.14':
dependencies:
@@ -11878,15 +12038,119 @@ snapshots:
'@typescript-eslint/types': 8.24.0
eslint-visitor-keys: 4.2.0
+ '@vitejs/plugin-basic-ssl@1.2.0(vite@5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0))':
+ dependencies:
+ vite: 5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)
+
'@vitejs/plugin-basic-ssl@1.2.0(vite@6.0.11(@types/node@20.17.19)(jiti@1.21.7)(less@4.2.1)(sass@1.83.1)(stylus@0.64.0)(terser@5.37.0)(yaml@2.7.0))':
dependencies:
- vite: 6.0.11(@types/node@20.17.19)(jiti@1.21.7)(less@4.1.3)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)(yaml@2.7.0)
+ vite: 6.0.11(@types/node@20.17.19)(jiti@1.21.7)(less@4.2.1)(sass@1.83.1)(stylus@0.64.0)(terser@5.37.0)(yaml@2.7.0)
+
+ '@vitejs/plugin-basic-ssl@1.2.0(vite@6.0.11(@types/node@20.17.19)(jiti@1.21.7)(less@4.2.2)(sass@1.83.1)(stylus@0.64.0)(terser@5.37.0)(yaml@2.7.0))':
+ dependencies:
+ vite: 6.0.11(@types/node@20.17.19)(jiti@1.21.7)(less@4.2.2)(sass@1.83.1)(stylus@0.64.0)(terser@5.37.0)(yaml@2.7.0)
+ optional: true
+
+ '@vitest/browser@2.1.9(@types/node@20.17.19)(playwright@1.51.0)(typescript@5.7.3)(vite@5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0))(vitest@2.1.9)(webdriverio@6.12.1(encoding@0.1.13)(typescript@5.7.3))':
+ dependencies:
+ '@testing-library/dom': 10.4.0
+ '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0)
+ '@vitest/mocker': 2.1.9(msw@2.7.3(@types/node@20.17.19)(typescript@5.7.3))(vite@5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0))
+ '@vitest/utils': 2.1.9
+ magic-string: 0.30.17
+ msw: 2.7.3(@types/node@20.17.19)(typescript@5.7.3)
+ sirv: 3.0.1
+ tinyrainbow: 1.2.0
+ vitest: 2.1.9(@types/node@20.17.19)(@vitest/browser@2.1.9)(@vitest/ui@2.1.9)(happy-dom@17.3.1)(jsdom@22.1.0)(less@4.2.2)(msw@2.7.3(@types/node@20.17.19)(typescript@5.7.3))(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)
+ ws: 8.18.0
+ optionalDependencies:
+ playwright: 1.51.0
+ webdriverio: 6.12.1(encoding@0.1.13)(typescript@5.7.3)
+ transitivePeerDependencies:
+ - '@types/node'
+ - bufferutil
+ - typescript
+ - utf-8-validate
+ - vite
+
+ '@vitest/coverage-v8@2.1.9(@vitest/browser@2.1.9)(vitest@2.1.9)':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@bcoe/v8-coverage': 0.2.3
+ debug: 4.4.0
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-report: 3.0.1
+ istanbul-lib-source-maps: 5.0.6
+ istanbul-reports: 3.1.7
+ magic-string: 0.30.17
+ magicast: 0.3.5
+ std-env: 3.8.0
+ test-exclude: 7.0.1
+ tinyrainbow: 1.2.0
+ vitest: 2.1.9(@types/node@20.17.19)(@vitest/browser@2.1.9)(@vitest/ui@2.1.9)(happy-dom@17.3.1)(jsdom@22.1.0)(less@4.2.2)(msw@2.7.3(@types/node@20.17.19)(typescript@5.7.3))(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)
+ optionalDependencies:
+ '@vitest/browser': 2.1.9(@types/node@20.17.19)(playwright@1.51.0)(typescript@5.7.3)(vite@5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0))(vitest@2.1.9)(webdriverio@6.12.1(encoding@0.1.13)(typescript@5.7.3))
+ transitivePeerDependencies:
+ - supports-color
+
+ '@vitest/expect@2.1.9':
+ dependencies:
+ '@vitest/spy': 2.1.9
+ '@vitest/utils': 2.1.9
+ chai: 5.2.0
+ tinyrainbow: 1.2.0
+
+ '@vitest/mocker@2.1.9(msw@2.7.3(@types/node@20.17.19)(typescript@5.7.3))(vite@5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0))':
+ dependencies:
+ '@vitest/spy': 2.1.9
+ estree-walker: 3.0.3
+ magic-string: 0.30.17
+ optionalDependencies:
+ msw: 2.7.3(@types/node@20.17.19)(typescript@5.7.3)
+ vite: 5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)
+
+ '@vitest/pretty-format@2.1.9':
+ dependencies:
+ tinyrainbow: 1.2.0
+
+ '@vitest/runner@2.1.9':
+ dependencies:
+ '@vitest/utils': 2.1.9
+ pathe: 1.1.2
+
+ '@vitest/snapshot@2.1.9':
+ dependencies:
+ '@vitest/pretty-format': 2.1.9
+ magic-string: 0.30.17
+ pathe: 1.1.2
+
+ '@vitest/spy@2.1.9':
+ dependencies:
+ tinyspy: 3.0.2
+
+ '@vitest/ui@2.1.9(vitest@2.1.9)':
+ dependencies:
+ '@vitest/utils': 2.1.9
+ fflate: 0.8.2
+ flatted: 3.3.2
+ pathe: 1.1.2
+ sirv: 3.0.1
+ tinyglobby: 0.2.10
+ tinyrainbow: 1.2.0
+ vitest: 2.1.9(@types/node@20.17.19)(@vitest/browser@2.1.9)(@vitest/ui@2.1.9)(happy-dom@17.3.1)(jsdom@22.1.0)(less@4.2.2)(msw@2.7.3(@types/node@20.17.19)(typescript@5.7.3))(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)
+
+ '@vitest/utils@2.1.9':
+ dependencies:
+ '@vitest/pretty-format': 2.1.9
+ loupe: 3.1.3
+ tinyrainbow: 1.2.0
'@wdio/config@6.12.1':
dependencies:
'@wdio/logger': 6.10.10
deepmerge: 4.3.1
glob: 7.2.3
+ optional: true
'@wdio/logger@6.10.10':
dependencies:
@@ -11894,16 +12158,20 @@ snapshots:
loglevel: 1.9.2
loglevel-plugin-prefix: 0.8.4
strip-ansi: 6.0.1
+ optional: true
- '@wdio/protocols@6.12.0': {}
+ '@wdio/protocols@6.12.0':
+ optional: true
'@wdio/repl@6.11.0':
dependencies:
'@wdio/utils': 6.11.0
+ optional: true
'@wdio/utils@6.11.0':
dependencies:
'@wdio/logger': 6.10.10
+ optional: true
'@webassemblyjs/ast@1.14.1':
dependencies:
@@ -11981,23 +12249,6 @@ snapshots:
'@webassemblyjs/ast': 1.14.1
'@xtuc/long': 4.2.2
- '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.98.0)':
- dependencies:
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
- webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.98.0)
-
- '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.98.0)':
- dependencies:
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
- webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.98.0)
-
- '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.0)(webpack@5.98.0)':
- dependencies:
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
- webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.98.0)
- optionalDependencies:
- webpack-dev-server: 5.2.0(webpack-cli@5.1.4)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
-
'@xtuc/ieee754@1.2.0': {}
'@xtuc/long@4.2.2': {}
@@ -12018,7 +12269,7 @@ snapshots:
jsonparse: 1.3.1
through: 2.3.8
- abbrev@1.0.9: {}
+ abab@2.0.6: {}
abbrev@3.0.0: {}
@@ -12051,8 +12302,10 @@ snapshots:
agent-base@4.3.0:
dependencies:
es6-promisify: 5.0.0
+ optional: true
- agent-base@5.1.1: {}
+ agent-base@5.1.1:
+ optional: true
agent-base@6.0.2:
dependencies:
@@ -12093,9 +12346,6 @@ snapshots:
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
- amdefine@1.0.1:
- optional: true
-
angular-eslint@19.1.0(chokidar@4.0.3)(eslint@9.20.1(jiti@1.21.7))(typescript-eslint@8.24.0(eslint@9.20.1(jiti@1.21.7))(typescript@5.7.3))(typescript@5.7.3):
dependencies:
'@angular-devkit/core': 19.1.7(chokidar@4.0.3)
@@ -12126,13 +12376,15 @@ snapshots:
ansi-html-community@0.0.8: {}
- ansi-regex@2.1.1: {}
+ ansi-regex@2.1.1:
+ optional: true
ansi-regex@5.0.1: {}
ansi-regex@6.1.0: {}
- ansi-styles@2.2.1: {}
+ ansi-styles@2.2.1:
+ optional: true
ansi-styles@3.2.1:
dependencies:
@@ -12151,12 +12403,6 @@ snapshots:
normalize-path: 3.0.0
picomatch: 2.3.1
- arch@2.2.0: {}
-
- archive-type@4.0.0:
- dependencies:
- file-type: 4.4.0
-
archiver-utils@2.1.0:
dependencies:
glob: 7.2.3
@@ -12169,6 +12415,7 @@ snapshots:
lodash.union: 4.6.0
normalize-path: 3.0.0
readable-stream: 2.3.8
+ optional: true
archiver-utils@3.0.4:
dependencies:
@@ -12182,6 +12429,7 @@ snapshots:
lodash.union: 4.6.0
normalize-path: 3.0.0
readable-stream: 3.6.2
+ optional: true
archiver@5.3.2:
dependencies:
@@ -12192,6 +12440,7 @@ snapshots:
readdir-glob: 1.1.3
tar-stream: 2.2.0
zip-stream: 4.1.1
+ optional: true
arg@4.1.3: {}
@@ -12201,6 +12450,10 @@ snapshots:
argparse@2.0.1: {}
+ aria-query@5.3.0:
+ dependencies:
+ dequal: 2.0.3
+
aria-query@5.3.2: {}
array-flatten@1.1.1: {}
@@ -12210,29 +12463,34 @@ snapshots:
array-union@1.0.2:
dependencies:
array-uniq: 1.0.3
+ optional: true
array-union@2.1.0: {}
array-union@3.0.1: {}
- array-uniq@1.0.3: {}
+ array-uniq@1.0.3:
+ optional: true
arrify@1.0.1: {}
asn1@0.2.6:
dependencies:
safer-buffer: 2.1.2
+ optional: true
+
+ assert-plus@1.0.0:
+ optional: true
- assert-plus@1.0.0: {}
+ assertion-error@2.0.1: {}
ast-types@0.13.4:
dependencies:
tslib: 2.8.1
+ optional: true
astral-regex@2.0.0: {}
- async@1.5.2: {}
-
async@2.6.4:
dependencies:
lodash: 4.17.21
@@ -12243,7 +12501,8 @@ snapshots:
at-least-node@1.0.0: {}
- atob@2.1.2: {}
+ atob@2.1.2:
+ optional: true
autoprefixer@10.4.20(postcss@8.4.49):
dependencies:
@@ -12265,9 +12524,11 @@ snapshots:
postcss: 8.5.2
postcss-value-parser: 4.2.0
- aws-sign2@0.7.0: {}
+ aws-sign2@0.7.0:
+ optional: true
- aws4@1.13.2: {}
+ aws4@1.13.2:
+ optional: true
axios@1.7.9:
dependencies:
@@ -12279,21 +12540,22 @@ snapshots:
axobject-query@4.1.0: {}
- b4a@1.6.7: {}
+ b4a@1.6.7:
+ optional: true
- babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)):
+ babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)):
dependencies:
'@babel/core': 7.26.0
find-cache-dir: 4.0.0
schema-utils: 4.3.0
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
- babel-loader@9.2.1(@babel/core@7.26.9)(webpack@5.98.0):
+ babel-loader@9.2.1(@babel/core@7.26.9)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
'@babel/core': 7.26.9
find-cache-dir: 4.0.0
schema-utils: 4.3.0
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
babel-plugin-const-enum@1.2.0(@babel/core@7.26.9):
dependencies:
@@ -12406,19 +12668,22 @@ snapshots:
base64-js@1.5.1: {}
- base64id@2.0.0: {}
+ base64id@2.0.0:
+ optional: true
basic-auth@2.0.1:
dependencies:
safe-buffer: 5.1.2
- basic-ftp@5.0.5: {}
+ basic-ftp@5.0.5:
+ optional: true
batch@0.6.1: {}
bcrypt-pbkdf@1.0.2:
dependencies:
tweetnacl: 0.14.5
+ optional: true
beasties@0.2.0:
dependencies:
@@ -12433,38 +12698,8 @@ snapshots:
big.js@5.2.2: {}
- bin-check@4.1.0:
- dependencies:
- execa: 0.7.0
- executable: 4.1.1
-
- bin-version-check@4.0.0:
- dependencies:
- bin-version: 3.1.0
- semver: 5.7.2
- semver-truncate: 1.1.2
-
- bin-version@3.1.0:
- dependencies:
- execa: 1.0.0
- find-versions: 3.2.0
-
- bin-wrapper@4.1.0:
- dependencies:
- bin-check: 4.1.0
- bin-version-check: 4.0.0
- download: 7.1.0
- import-lazy: 3.1.0
- os-filter-obj: 2.0.0
- pify: 4.0.1
-
binary-extensions@2.3.0: {}
- bl@1.2.3:
- dependencies:
- readable-stream: 2.3.8
- safe-buffer: 5.2.1
-
bl@4.1.0:
dependencies:
buffer: 5.7.1
@@ -12474,6 +12709,7 @@ snapshots:
blocking-proxy@1.0.1:
dependencies:
minimist: 1.2.8
+ optional: true
body-parser@1.20.3:
dependencies:
@@ -12499,8 +12735,6 @@ snapshots:
boolbase@1.0.0: {}
- boolean@3.2.0: {}
-
brace-expansion@1.1.11:
dependencies:
balanced-match: 1.0.2
@@ -12521,40 +12755,17 @@ snapshots:
node-releases: 2.0.19
update-browserslist-db: 1.1.2(browserslist@4.24.4)
- browserstack-local@1.5.6:
- dependencies:
- agent-base: 6.0.2
- https-proxy-agent: 5.0.1
- is-running: 2.1.0
- ps-tree: 1.2.0
- temp-fs: 0.9.9
- transitivePeerDependencies:
- - supports-color
-
- browserstack@1.5.3:
- dependencies:
- https-proxy-agent: 2.2.4
- transitivePeerDependencies:
- - supports-color
-
browserstack@1.6.1:
dependencies:
https-proxy-agent: 2.2.4
transitivePeerDependencies:
- supports-color
+ optional: true
btoa@1.2.1: {}
- buffer-alloc-unsafe@1.1.0: {}
-
- buffer-alloc@1.2.0:
- dependencies:
- buffer-alloc-unsafe: 1.1.0
- buffer-fill: 1.0.0
-
- buffer-crc32@0.2.13: {}
-
- buffer-fill@1.0.0: {}
+ buffer-crc32@0.2.13:
+ optional: true
buffer-from@1.1.2: {}
@@ -12571,6 +12782,8 @@ snapshots:
bytes@3.1.2: {}
+ cac@6.7.14: {}
+
cacache@19.0.1:
dependencies:
'@npmcli/fs': 4.0.0
@@ -12591,17 +12804,8 @@ snapshots:
mime-types: 2.1.35
ylru: 1.4.0
- cacheable-lookup@5.0.4: {}
-
- cacheable-request@2.1.4:
- dependencies:
- clone-response: 1.0.2
- get-stream: 3.0.0
- http-cache-semantics: 3.8.1
- keyv: 3.0.0
- lowercase-keys: 1.0.0
- normalize-url: 2.0.1
- responselike: 1.0.2
+ cacheable-lookup@5.0.4:
+ optional: true
cacheable-request@7.0.4:
dependencies:
@@ -12612,6 +12816,7 @@ snapshots:
lowercase-keys: 2.0.0
normalize-url: 6.1.0
responselike: 2.0.1
+ optional: true
call-bind-apply-helpers@1.0.2:
dependencies:
@@ -12625,11 +12830,6 @@ snapshots:
callsites@3.1.0: {}
- camel-case@4.1.2:
- dependencies:
- pascal-case: 3.1.2
- tslib: 2.8.1
-
camelcase-keys@7.0.2:
dependencies:
camelcase: 6.3.0
@@ -12637,7 +12837,8 @@ snapshots:
quick-lru: 5.1.1
type-fest: 1.4.0
- camelcase@5.3.1: {}
+ camelcase@5.3.1:
+ optional: true
camelcase@6.3.0: {}
@@ -12650,20 +12851,16 @@ snapshots:
caniuse-lite@1.0.30001699: {}
- capital-case@1.0.4:
- dependencies:
- no-case: 3.0.4
- tslib: 2.8.1
- upper-case-first: 2.0.2
-
- caseless@0.12.0: {}
+ caseless@0.12.0:
+ optional: true
- caw@2.0.1:
+ chai@5.2.0:
dependencies:
- get-proxy: 2.1.0
- isurl: 1.0.0
- tunnel-agent: 0.6.0
- url-to-options: 1.0.1
+ assertion-error: 2.0.1
+ check-error: 2.1.1
+ deep-eql: 5.0.2
+ loupe: 3.1.3
+ pathval: 2.0.0
chalk@1.1.3:
dependencies:
@@ -12672,6 +12869,7 @@ snapshots:
has-ansi: 2.0.0
strip-ansi: 3.0.1
supports-color: 2.0.0
+ optional: true
chalk@2.4.2:
dependencies:
@@ -12689,23 +12887,10 @@ snapshots:
ansi-styles: 4.3.0
supports-color: 7.2.0
- change-case@4.1.2:
- dependencies:
- camel-case: 4.1.2
- capital-case: 1.0.4
- constant-case: 3.0.4
- dot-case: 3.0.4
- header-case: 2.0.4
- no-case: 3.0.4
- param-case: 3.0.4
- pascal-case: 3.1.2
- path-case: 3.0.4
- sentence-case: 3.0.4
- snake-case: 3.0.4
- tslib: 2.8.1
-
chardet@0.7.0: {}
+ check-error@2.1.1: {}
+
chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
@@ -12722,7 +12907,8 @@ snapshots:
dependencies:
readdirp: 4.1.2
- chownr@1.1.4: {}
+ chownr@1.1.4:
+ optional: true
chownr@2.0.0: {}
@@ -12738,6 +12924,7 @@ snapshots:
rimraf: 3.0.2
transitivePeerDependencies:
- supports-color
+ optional: true
chrome-trace-event@1.0.4: {}
@@ -12746,6 +12933,7 @@ snapshots:
devtools-protocol: 0.0.1402036
mitt: 3.0.1
zod: 3.24.2
+ optional: true
ci-info@3.9.0: {}
@@ -12773,12 +12961,14 @@ snapshots:
string-width: 4.2.3
strip-ansi: 6.0.1
wrap-ansi: 6.2.0
+ optional: true
cliui@7.0.4:
dependencies:
string-width: 4.2.3
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
+ optional: true
cliui@8.0.1:
dependencies:
@@ -12792,18 +12982,17 @@ snapshots:
kind-of: 6.0.3
shallow-clone: 3.0.1
- clone-response@1.0.2:
- dependencies:
- mimic-response: 1.0.1
-
clone-response@1.0.3:
dependencies:
mimic-response: 1.0.1
+ optional: true
clone@1.0.4: {}
co@4.6.0: {}
+ code-block-writer@12.0.0: {}
+
color-convert@1.9.3:
dependencies:
color-name: 1.1.3
@@ -12829,8 +13018,6 @@ snapshots:
dependencies:
delayed-stream: 1.0.0
- commander@10.0.1: {}
-
commander@13.1.0: {}
commander@2.20.3: {}
@@ -12852,6 +13039,7 @@ snapshots:
crc32-stream: 4.0.3
normalize-path: 3.0.0
readable-stream: 3.6.2
+ optional: true
compressible@2.0.18:
dependencies:
@@ -12871,11 +13059,6 @@ snapshots:
concat-map@0.0.1: {}
- config-chain@1.1.13:
- dependencies:
- ini: 1.3.8
- proto-list: 1.2.4
-
confusing-browser-globals@1.0.11: {}
connect-history-api-fallback@2.0.0: {}
@@ -12888,12 +13071,7 @@ snapshots:
utils-merge: 1.0.1
transitivePeerDependencies:
- supports-color
-
- constant-case@3.0.4:
- dependencies:
- no-case: 3.0.4
- tslib: 2.8.1
- upper-case: 2.0.2
+ optional: true
content-disposition@0.5.4:
dependencies:
@@ -12998,7 +13176,7 @@ snapshots:
dependencies:
is-what: 3.14.1
- copy-webpack-plugin@10.2.4(webpack@5.98.0):
+ copy-webpack-plugin@10.2.4(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
fast-glob: 3.3.3
glob-parent: 6.0.2
@@ -13006,9 +13184,9 @@ snapshots:
normalize-path: 3.0.0
schema-utils: 4.3.0
serialize-javascript: 6.0.2
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
- copy-webpack-plugin@12.0.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)):
+ copy-webpack-plugin@12.0.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)):
dependencies:
fast-glob: 3.3.3
glob-parent: 6.0.2
@@ -13016,15 +13194,14 @@ snapshots:
normalize-path: 3.0.0
schema-utils: 4.3.0
serialize-javascript: 6.0.2
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
core-js-compat@3.40.0:
dependencies:
browserslist: 4.24.4
- core-js@3.40.0: {}
-
- core-util-is@1.0.2: {}
+ core-util-is@1.0.2:
+ optional: true
core-util-is@1.0.3: {}
@@ -13032,6 +13209,7 @@ snapshots:
dependencies:
object-assign: 4.1.1
vary: 1.1.2
+ optional: true
corser@2.0.1: {}
@@ -13061,12 +13239,14 @@ snapshots:
optionalDependencies:
typescript: 5.7.3
- crc-32@1.2.2: {}
+ crc-32@1.2.2:
+ optional: true
crc32-stream@4.0.3:
dependencies:
crc-32: 1.2.2
readable-stream: 3.6.2
+ optional: true
create-require@1.1.1: {}
@@ -13074,21 +13254,7 @@ snapshots:
dependencies:
luxon: 3.5.0
- cross-spawn@5.1.0:
- dependencies:
- lru-cache: 4.1.5
- shebang-command: 1.2.0
- which: 1.3.1
-
- cross-spawn@6.0.6:
- dependencies:
- nice-try: 1.0.5
- path-key: 2.0.1
- semver: 5.7.2
- shebang-command: 1.2.0
- which: 1.3.1
-
- cross-spawn@7.0.6:
+ cross-spawn@7.0.6:
dependencies:
path-key: 3.1.1
shebang-command: 2.0.0
@@ -13100,7 +13266,7 @@ snapshots:
css-functions-list@3.2.3: {}
- css-loader@6.11.0(@rspack/core@1.2.3(@swc/helpers@0.5.15))(webpack@5.98.0):
+ css-loader@6.11.0(@rspack/core@1.2.3(@swc/helpers@0.5.15))(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
icss-utils: 5.1.0(postcss@8.5.2)
postcss: 8.5.2
@@ -13112,9 +13278,9 @@ snapshots:
semver: 7.7.1
optionalDependencies:
'@rspack/core': 1.2.3(@swc/helpers@0.5.15)
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
- css-loader@7.1.2(@rspack/core@1.2.3(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)):
+ css-loader@7.1.2(@rspack/core@1.2.3(@swc/helpers@0.5.15))(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)):
dependencies:
icss-utils: 5.1.0(postcss@8.5.2)
postcss: 8.5.2
@@ -13126,9 +13292,9 @@ snapshots:
semver: 7.7.1
optionalDependencies:
'@rspack/core': 1.2.3(@swc/helpers@0.5.15)
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
- css-minimizer-webpack-plugin@5.0.1(webpack@5.98.0):
+ css-minimizer-webpack-plugin@5.0.1(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
cssnano: 6.1.2(postcss@8.5.2)
@@ -13136,7 +13302,7 @@ snapshots:
postcss: 8.5.2
schema-utils: 4.3.0
serialize-javascript: 6.0.2
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
css-select@5.1.0:
dependencies:
@@ -13146,7 +13312,8 @@ snapshots:
domutils: 3.2.2
nth-check: 2.1.1
- css-shorthand-properties@1.1.2: {}
+ css-shorthand-properties@1.1.2:
+ optional: true
css-tree@2.2.1:
dependencies:
@@ -13158,10 +13325,13 @@ snapshots:
mdn-data: 2.0.30
source-map-js: 1.2.1
- css-value@0.0.1: {}
+ css-value@0.0.1:
+ optional: true
css-what@6.1.0: {}
+ css.escape@1.5.1: {}
+
cssesc@3.0.0: {}
cssnano-preset-default@6.1.2(postcss@8.5.2):
@@ -13212,17 +13382,30 @@ snapshots:
dependencies:
css-tree: 2.2.1
+ cssstyle@3.0.0:
+ dependencies:
+ rrweb-cssom: 0.6.0
+
cuint@0.2.2: {}
- custom-event@1.0.1: {}
+ custom-event@1.0.1:
+ optional: true
dargs@8.1.0: {}
dashdash@1.14.1:
dependencies:
assert-plus: 1.0.0
+ optional: true
+
+ data-uri-to-buffer@6.0.2:
+ optional: true
- data-uri-to-buffer@6.0.2: {}
+ data-urls@4.0.0:
+ dependencies:
+ abab: 2.0.6
+ whatwg-mimetype: 3.0.0
+ whatwg-url: 12.0.1
date-format@4.0.14: {}
@@ -13237,6 +13420,7 @@ snapshots:
debug@4.3.7:
dependencies:
ms: 2.1.3
+ optional: true
debug@4.4.0:
dependencies:
@@ -13251,53 +13435,14 @@ snapshots:
decamelize@5.0.1: {}
- decode-uri-component@0.2.2: {}
-
- decompress-response@3.3.0:
- dependencies:
- mimic-response: 1.0.1
+ decimal.js@10.5.0: {}
decompress-response@6.0.0:
dependencies:
mimic-response: 3.1.0
+ optional: true
- decompress-tar@4.1.1:
- dependencies:
- file-type: 5.2.0
- is-stream: 1.1.0
- tar-stream: 1.6.2
-
- decompress-tarbz2@4.1.1:
- dependencies:
- decompress-tar: 4.1.1
- file-type: 6.2.0
- is-stream: 1.1.0
- seek-bzip: 1.0.6
- unbzip2-stream: 1.4.3
-
- decompress-targz@4.1.1:
- dependencies:
- decompress-tar: 4.1.1
- file-type: 5.2.0
- is-stream: 1.1.0
-
- decompress-unzip@4.0.1:
- dependencies:
- file-type: 3.9.0
- get-stream: 2.3.1
- pify: 2.3.0
- yauzl: 2.10.0
-
- decompress@4.2.1:
- dependencies:
- decompress-tar: 4.1.1
- decompress-tarbz2: 4.1.1
- decompress-targz: 4.1.1
- decompress-unzip: 4.0.1
- graceful-fs: 4.2.11
- make-dir: 1.3.0
- pify: 2.3.0
- strip-dirs: 2.1.0
+ deep-eql@5.0.2: {}
deep-equal@1.0.1: {}
@@ -13316,29 +13461,19 @@ snapshots:
dependencies:
clone: 1.0.4
- defer-to-connect@2.0.1: {}
-
- define-data-property@1.1.4:
- dependencies:
- es-define-property: 1.0.1
- es-errors: 1.3.0
- gopd: 1.2.0
+ defer-to-connect@2.0.1:
+ optional: true
define-lazy-prop@2.0.0: {}
define-lazy-prop@3.0.0: {}
- define-properties@1.2.1:
- dependencies:
- define-data-property: 1.1.4
- has-property-descriptors: 1.0.2
- object-keys: 1.1.1
-
degenerator@5.0.1:
dependencies:
ast-types: 0.13.4
escodegen: 2.1.0
esprima: 4.0.1
+ optional: true
del@2.2.2:
dependencies:
@@ -13349,6 +13484,7 @@ snapshots:
pify: 2.3.0
pinkie-promise: 2.0.1
rimraf: 2.7.1
+ optional: true
delayed-stream@1.0.0: {}
@@ -13360,6 +13496,8 @@ snapshots:
dependency-graph@1.0.0: {}
+ dequal@2.0.3: {}
+
destroy@1.2.0: {}
detect-libc@1.0.3:
@@ -13377,9 +13515,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- devtools-protocol@0.0.1402036: {}
+ devtools-protocol@0.0.1402036:
+ optional: true
- devtools-protocol@0.0.818844: {}
+ devtools-protocol@0.0.818844:
+ optional: true
devtools@6.12.1(encoding@0.1.13):
dependencies:
@@ -13397,8 +13537,10 @@ snapshots:
- encoding
- supports-color
- utf-8-validate
+ optional: true
- di@0.0.1: {}
+ di@0.0.1:
+ optional: true
diff-sequences@29.6.3: {}
@@ -13412,12 +13554,17 @@ snapshots:
dependencies:
'@leichtgewicht/ip-codec': 2.0.5
+ dom-accessibility-api@0.5.16: {}
+
+ dom-accessibility-api@0.6.3: {}
+
dom-serialize@2.2.1:
dependencies:
custom-event: 1.0.1
ent: 2.2.2
extend: 3.0.2
void-elements: 2.0.1
+ optional: true
dom-serializer@2.0.0:
dependencies:
@@ -13427,6 +13574,10 @@ snapshots:
domelementtype@2.3.0: {}
+ domexception@4.0.0:
+ dependencies:
+ webidl-conversions: 7.0.0
+
domhandler@5.0.3:
dependencies:
domelementtype: 2.3.0
@@ -13437,11 +13588,6 @@ snapshots:
domelementtype: 2.3.0
domhandler: 5.0.3
- dot-case@3.0.4:
- dependencies:
- no-case: 3.0.4
- tslib: 2.8.1
-
dot-prop@5.3.0:
dependencies:
is-obj: 2.0.0
@@ -13452,42 +13598,25 @@ snapshots:
dotenv@16.4.7: {}
- download@7.1.0:
- dependencies:
- archive-type: 4.0.0
- caw: 2.0.1
- content-disposition: 0.5.4
- decompress: 4.2.1
- ext-name: 5.0.0
- file-type: 8.1.0
- filenamify: 2.1.0
- get-stream: 3.0.0
- got: 8.3.2
- make-dir: 1.3.0
- p-event: 2.3.1
- pify: 3.0.0
-
dunder-proto@1.0.1:
dependencies:
call-bind-apply-helpers: 1.0.2
es-errors: 1.3.0
gopd: 1.2.0
- duplexer3@0.1.5: {}
-
- duplexer@0.1.2: {}
-
eastasianwidth@0.2.0: {}
ecc-jsbn@0.1.2:
dependencies:
jsbn: 0.1.1
safer-buffer: 2.1.2
+ optional: true
edge-paths@2.2.1:
dependencies:
'@types/which': 1.3.2
which: 2.0.2
+ optional: true
ee-first@1.1.1: {}
@@ -13517,7 +13646,8 @@ snapshots:
dependencies:
once: 1.4.0
- engine.io-parser@5.2.3: {}
+ engine.io-parser@5.2.3:
+ optional: true
engine.io@6.6.4:
dependencies:
@@ -13534,6 +13664,7 @@ snapshots:
- bufferutil
- supports-color
- utf-8-validate
+ optional: true
enhanced-resolve@5.18.1:
dependencies:
@@ -13550,13 +13681,12 @@ snapshots:
es-errors: 1.3.0
punycode: 1.4.1
safe-regex-test: 1.1.0
+ optional: true
entities@4.5.0: {}
env-paths@2.2.1: {}
- envinfo@7.14.0: {}
-
environment@1.1.0: {}
err-code@2.0.3: {}
@@ -13587,16 +13717,42 @@ snapshots:
has-tostringtag: 1.0.2
hasown: 2.0.2
- es6-error@4.1.1: {}
-
- es6-promise@4.2.8: {}
+ es6-promise@4.2.8:
+ optional: true
es6-promisify@5.0.0:
dependencies:
es6-promise: 4.2.8
+ optional: true
esbuild-wasm@0.24.2: {}
+ esbuild@0.21.5:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.21.5
+ '@esbuild/android-arm': 0.21.5
+ '@esbuild/android-arm64': 0.21.5
+ '@esbuild/android-x64': 0.21.5
+ '@esbuild/darwin-arm64': 0.21.5
+ '@esbuild/darwin-x64': 0.21.5
+ '@esbuild/freebsd-arm64': 0.21.5
+ '@esbuild/freebsd-x64': 0.21.5
+ '@esbuild/linux-arm': 0.21.5
+ '@esbuild/linux-arm64': 0.21.5
+ '@esbuild/linux-ia32': 0.21.5
+ '@esbuild/linux-loong64': 0.21.5
+ '@esbuild/linux-mips64el': 0.21.5
+ '@esbuild/linux-ppc64': 0.21.5
+ '@esbuild/linux-riscv64': 0.21.5
+ '@esbuild/linux-s390x': 0.21.5
+ '@esbuild/linux-x64': 0.21.5
+ '@esbuild/netbsd-x64': 0.21.5
+ '@esbuild/openbsd-x64': 0.21.5
+ '@esbuild/sunos-x64': 0.21.5
+ '@esbuild/win32-arm64': 0.21.5
+ '@esbuild/win32-ia32': 0.21.5
+ '@esbuild/win32-x64': 0.21.5
+
esbuild@0.24.2:
optionalDependencies:
'@esbuild/aix-ppc64': 0.24.2
@@ -13633,15 +13789,6 @@ snapshots:
escape-string-regexp@4.0.0: {}
- escodegen@1.8.1:
- dependencies:
- esprima: 2.7.3
- estraverse: 1.9.3
- esutils: 2.0.3
- optionator: 0.8.3
- optionalDependencies:
- source-map: 0.2.0
-
escodegen@2.1.0:
dependencies:
esprima: 4.0.1
@@ -13649,6 +13796,7 @@ snapshots:
esutils: 2.0.3
optionalDependencies:
source-map: 0.6.1
+ optional: true
eslint-config-prettier@9.1.0(eslint@9.20.1(jiti@1.21.7)):
dependencies:
@@ -13721,8 +13869,6 @@ snapshots:
acorn-jsx: 5.3.2(acorn@8.14.0)
eslint-visitor-keys: 3.4.3
- esprima@2.7.3: {}
-
esprima@4.0.1: {}
esquery@1.6.0:
@@ -13733,64 +13879,35 @@ snapshots:
dependencies:
estraverse: 5.3.0
- estraverse@1.9.3: {}
-
estraverse@4.3.0: {}
estraverse@5.3.0: {}
estree-walker@2.0.2: {}
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.6
+
esutils@2.0.3: {}
etag@1.8.1: {}
- event-stream@3.3.4:
- dependencies:
- duplexer: 0.1.2
- from: 0.1.7
- map-stream: 0.1.0
- pause-stream: 0.0.11
- split: 0.3.3
- stream-combiner: 0.0.4
- through: 2.3.8
-
eventemitter3@4.0.7: {}
eventemitter3@5.0.1: {}
events@3.3.0: {}
- execa@0.7.0:
- dependencies:
- cross-spawn: 5.1.0
- get-stream: 3.0.0
- is-stream: 1.1.0
- npm-run-path: 2.0.2
- p-finally: 1.0.0
- signal-exit: 3.0.7
- strip-eof: 1.0.0
-
- execa@1.0.0:
- dependencies:
- cross-spawn: 6.0.6
- get-stream: 4.1.0
- is-stream: 1.1.0
- npm-run-path: 2.0.2
- p-finally: 1.0.0
- signal-exit: 3.0.7
- strip-eof: 1.0.0
-
- executable@4.1.1:
- dependencies:
- pify: 2.3.0
-
- exit@0.1.2: {}
+ exit@0.1.2:
+ optional: true
expand-tilde@2.0.2:
dependencies:
homedir-polyfill: 1.0.3
+ expect-type@1.2.0: {}
+
exponential-backoff@3.1.2: {}
express@4.21.2:
@@ -13829,16 +13946,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
- ext-list@2.2.2:
- dependencies:
- mime-db: 1.53.0
-
- ext-name@5.0.0:
- dependencies:
- ext-list: 2.2.2
- sort-keys-length: 1.0.1
-
- extend@3.0.2: {}
+ extend@3.0.2:
+ optional: true
external-editor@3.1.0:
dependencies:
@@ -13855,14 +13964,18 @@ snapshots:
'@types/yauzl': 2.10.3
transitivePeerDependencies:
- supports-color
+ optional: true
- extsprintf@1.3.0: {}
+ extsprintf@1.3.0:
+ optional: true
- fast-deep-equal@2.0.1: {}
+ fast-deep-equal@2.0.1:
+ optional: true
fast-deep-equal@3.1.3: {}
- fast-fifo@1.3.2: {}
+ fast-fifo@1.3.2:
+ optional: true
fast-glob@3.3.3:
dependencies:
@@ -13891,11 +14004,14 @@ snapshots:
fd-slicer@1.1.0:
dependencies:
pend: 1.2.0
+ optional: true
fdir@6.4.3(picomatch@4.0.2):
optionalDependencies:
picomatch: 4.0.2
+ fflate@0.8.2: {}
+
figures@3.2.0:
dependencies:
escape-string-regexp: 1.0.5
@@ -13908,28 +14024,10 @@ snapshots:
dependencies:
flat-cache: 4.0.1
- file-type@3.9.0: {}
-
- file-type@4.4.0: {}
-
- file-type@5.2.0: {}
-
- file-type@6.2.0: {}
-
- file-type@8.1.0: {}
-
filelist@1.0.4:
dependencies:
minimatch: 5.1.6
- filename-reserved-regex@2.0.0: {}
-
- filenamify@2.1.0:
- dependencies:
- filename-reserved-regex: 2.0.0
- strip-outer: 1.0.1
- trim-repeated: 1.0.0
-
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
@@ -13945,6 +14043,7 @@ snapshots:
unpipe: 1.0.0
transitivePeerDependencies:
- supports-color
+ optional: true
finalhandler@1.3.1:
dependencies:
@@ -13992,10 +14091,6 @@ snapshots:
locate-path: 7.2.0
path-exists: 5.0.0
- find-versions@3.2.0:
- dependencies:
- semver-regex: 2.0.0
-
flat-cache@3.2.0:
dependencies:
flatted: 3.3.2
@@ -14020,9 +14115,10 @@ snapshots:
cross-spawn: 7.0.6
signal-exit: 4.1.0
- forever-agent@0.6.1: {}
+ forever-agent@0.6.1:
+ optional: true
- fork-ts-checker-webpack-plugin@7.2.13(typescript@5.7.3)(webpack@5.98.0):
+ fork-ts-checker-webpack-plugin@7.2.13(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
'@babel/code-frame': 7.26.2
chalk: 4.1.2
@@ -14037,20 +14133,14 @@ snapshots:
semver: 7.7.1
tapable: 2.2.1
typescript: 5.7.3
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
form-data@2.3.3:
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
mime-types: 2.1.35
-
- form-data@3.0.3:
- dependencies:
- asynckit: 0.4.0
- combined-stream: 1.0.8
- es-set-tostringtag: 2.1.0
- mime-types: 2.1.35
+ optional: true
form-data@4.0.2:
dependencies:
@@ -14065,13 +14155,6 @@ snapshots:
fresh@0.5.2: {}
- from2@2.3.0:
- dependencies:
- inherits: 2.0.4
- readable-stream: 2.3.8
-
- from@0.1.7: {}
-
front-matter@4.0.2:
dependencies:
js-yaml: 3.14.1
@@ -14109,6 +14192,9 @@ snapshots:
fs.realpath@1.0.0: {}
+ fsevents@2.3.2:
+ optional: true
+
fsevents@2.3.3:
optional: true
@@ -14133,31 +14219,18 @@ snapshots:
hasown: 2.0.2
math-intrinsics: 1.1.0
- get-port@5.1.1: {}
+ get-port@5.1.1:
+ optional: true
get-proto@1.0.1:
dependencies:
dunder-proto: 1.0.1
es-object-atoms: 1.1.1
- get-proxy@2.1.0:
- dependencies:
- npm-conf: 1.1.3
-
- get-stream@2.3.1:
- dependencies:
- object-assign: 4.1.1
- pinkie-promise: 2.0.1
-
- get-stream@3.0.0: {}
-
- get-stream@4.1.0:
- dependencies:
- pump: 3.0.2
-
get-stream@5.2.0:
dependencies:
pump: 3.0.2
+ optional: true
get-uri@6.0.4:
dependencies:
@@ -14166,10 +14239,12 @@ snapshots:
debug: 4.4.0
transitivePeerDependencies:
- supports-color
+ optional: true
getpass@0.1.7:
dependencies:
assert-plus: 1.0.0
+ optional: true
git-raw-commits@4.0.0:
dependencies:
@@ -14201,14 +14276,6 @@ snapshots:
package-json-from-dist: 1.0.1
path-scurry: 1.11.1
- glob@5.0.15:
- dependencies:
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
-
glob@7.2.3:
dependencies:
fs.realpath: 1.0.0
@@ -14218,16 +14285,6 @@ snapshots:
once: 1.4.0
path-is-absolute: 1.0.1
- global-agent@2.2.0:
- dependencies:
- boolean: 3.2.0
- core-js: 3.40.0
- es6-error: 4.1.1
- matcher: 3.0.0
- roarr: 2.15.4
- semver: 7.7.1
- serialize-error: 7.0.1
-
global-modules@1.0.0:
dependencies:
global-prefix: 1.0.2
@@ -14258,11 +14315,6 @@ snapshots:
globals@15.15.0: {}
- globalthis@1.0.4:
- dependencies:
- define-properties: 1.2.1
- gopd: 1.2.0
-
globby@11.1.0:
dependencies:
array-union: 2.1.0
@@ -14298,6 +14350,7 @@ snapshots:
object-assign: 4.1.1
pify: 2.3.0
pinkie-promise: 2.0.1
+ optional: true
globjoin@0.1.4: {}
@@ -14316,35 +14369,17 @@ snapshots:
lowercase-keys: 2.0.0
p-cancelable: 2.1.1
responselike: 2.0.1
-
- got@8.3.2:
- dependencies:
- '@sindresorhus/is': 0.7.0
- '@types/keyv': 3.1.4
- '@types/responselike': 1.0.3
- cacheable-request: 2.1.4
- decompress-response: 3.3.0
- duplexer3: 0.1.5
- get-stream: 3.0.0
- into-stream: 3.1.0
- is-retry-allowed: 1.2.0
- isurl: 1.0.0
- lowercase-keys: 1.0.1
- mimic-response: 1.0.1
- p-cancelable: 0.4.1
- p-timeout: 2.0.1
- pify: 3.0.0
- safe-buffer: 5.2.1
- timed-out: 4.0.1
- url-parse-lax: 3.0.0
- url-to-options: 1.0.1
+ optional: true
graceful-fs@4.2.11: {}
- grapheme-splitter@1.0.4: {}
+ grapheme-splitter@1.0.4:
+ optional: true
graphemer@1.4.0: {}
+ graphql@16.10.0: {}
+
handle-thing@2.0.1: {}
handlebars@4.7.8:
@@ -14356,56 +14391,45 @@ snapshots:
optionalDependencies:
uglify-js: 3.19.3
- har-schema@2.0.0: {}
+ happy-dom@17.3.1:
+ dependencies:
+ webidl-conversions: 7.0.0
+ whatwg-mimetype: 3.0.0
+ optional: true
+
+ har-schema@2.0.0:
+ optional: true
har-validator@5.1.5:
dependencies:
ajv: 6.12.6
har-schema: 2.0.0
+ optional: true
hard-rejection@2.1.0: {}
has-ansi@2.0.0:
dependencies:
ansi-regex: 2.1.1
-
- has-flag@1.0.0: {}
+ optional: true
has-flag@3.0.0: {}
has-flag@4.0.0: {}
- has-property-descriptors@1.0.2:
- dependencies:
- es-define-property: 1.0.1
-
- has-symbol-support-x@1.4.2: {}
-
has-symbols@1.1.0: {}
- has-to-string-tag-x@1.4.1:
- dependencies:
- has-symbol-support-x: 1.4.2
-
has-tostringtag@1.0.2:
dependencies:
has-symbols: 1.1.0
- hash.js@1.1.7:
- dependencies:
- inherits: 2.0.4
- minimalistic-assert: 1.0.1
-
hasown@2.0.2:
dependencies:
function-bind: 1.1.2
he@1.2.0: {}
- header-case@2.0.4:
- dependencies:
- capital-case: 1.0.4
- tslib: 2.8.1
+ headers-polyfill@4.0.3: {}
homedir-polyfill@1.0.3:
dependencies:
@@ -14450,8 +14474,6 @@ snapshots:
deep-equal: 1.0.1
http-errors: 1.8.1
- http-cache-semantics@3.8.1: {}
-
http-cache-semantics@4.1.1: {}
http-deceiver@1.2.7: {}
@@ -14481,6 +14503,14 @@ snapshots:
http-parser-js@0.5.9: {}
+ http-proxy-agent@5.0.0:
+ dependencies:
+ '@tootallnate/once': 2.0.0
+ agent-base: 6.0.2
+ debug: 4.4.0
+ transitivePeerDependencies:
+ - supports-color
+
http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.3
@@ -14543,11 +14573,13 @@ snapshots:
assert-plus: 1.0.0
jsprim: 1.4.2
sshpk: 1.18.0
+ optional: true
http2-wrapper@1.0.3:
dependencies:
quick-lru: 5.1.1
resolve-alpn: 1.2.1
+ optional: true
https-proxy-agent@2.2.4:
dependencies:
@@ -14555,6 +14587,7 @@ snapshots:
debug: 3.2.7
transitivePeerDependencies:
- supports-color
+ optional: true
https-proxy-agent@4.0.0:
dependencies:
@@ -14562,6 +14595,7 @@ snapshots:
debug: 4.4.0
transitivePeerDependencies:
- supports-color
+ optional: true
https-proxy-agent@5.0.1:
dependencies:
@@ -14604,7 +14638,8 @@ snapshots:
image-size@0.5.5:
optional: true
- immediate@3.0.6: {}
+ immediate@3.0.6:
+ optional: true
immutable@5.0.3: {}
@@ -14613,17 +14648,12 @@ snapshots:
parent-module: 1.0.1
resolve-from: 4.0.0
- import-lazy@3.1.0: {}
-
import-lazy@4.0.0: {}
- import-local@3.2.0:
- dependencies:
- pkg-dir: 4.2.0
- resolve-cwd: 3.0.0
-
imurmurhash@0.1.4: {}
+ indent-string@4.0.0: {}
+
indent-string@5.0.0: {}
inflight@1.0.6:
@@ -14643,13 +14673,6 @@ snapshots:
dependencies:
tslib: 2.8.1
- interpret@3.1.1: {}
-
- into-stream@3.1.0:
- dependencies:
- from2: 2.3.0
- p-is-promise: 1.1.0
-
ip-address@9.0.5:
dependencies:
jsbn: 1.1.0
@@ -14700,25 +14723,26 @@ snapshots:
is-interactive@1.0.0: {}
- is-natural-number@4.0.1: {}
-
is-network-error@1.1.0: {}
+ is-node-process@1.2.0: {}
+
is-number@7.0.0: {}
is-obj@2.0.0: {}
- is-object@1.0.2: {}
-
- is-path-cwd@1.0.0: {}
+ is-path-cwd@1.0.0:
+ optional: true
is-path-in-cwd@1.0.1:
dependencies:
is-path-inside: 1.0.1
+ optional: true
is-path-inside@1.0.1:
dependencies:
path-is-inside: 1.0.2
+ optional: true
is-plain-obj@1.1.0: {}
@@ -14730,6 +14754,8 @@ snapshots:
is-plain-object@5.0.0: {}
+ is-potential-custom-element-name@1.0.1: {}
+
is-regex@1.2.1:
dependencies:
call-bound: 1.0.3
@@ -14737,17 +14763,12 @@ snapshots:
has-tostringtag: 1.0.2
hasown: 2.0.2
- is-retry-allowed@1.2.0: {}
-
- is-running@2.1.0: {}
-
- is-stream@1.1.0: {}
-
is-text-path@2.0.0:
dependencies:
text-extensions: 2.4.0
- is-typedarray@1.0.0: {}
+ is-typedarray@1.0.0:
+ optional: true
is-unicode-supported@0.1.0: {}
@@ -14765,7 +14786,8 @@ snapshots:
isarray@1.0.0: {}
- isbinaryfile@4.0.10: {}
+ isbinaryfile@4.0.10:
+ optional: true
isexe@2.0.0: {}
@@ -14781,41 +14803,32 @@ snapshots:
dependencies:
ws: 8.18.0
- isstream@0.1.2: {}
+ isstream@0.1.2:
+ optional: true
istanbul-lib-coverage@3.2.2: {}
- istanbul-lib-instrument@5.2.1:
+ istanbul-lib-instrument@6.0.3:
dependencies:
'@babel/core': 7.26.9
'@babel/parser': 7.26.9
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
- semver: 6.3.1
+ semver: 7.7.1
transitivePeerDependencies:
- supports-color
- istanbul-lib-instrument@6.0.3:
- dependencies:
- '@babel/core': 7.26.9
- '@babel/parser': 7.26.9
- '@istanbuljs/schema': 0.1.3
- istanbul-lib-coverage: 3.2.2
- semver: 7.7.1
- transitivePeerDependencies:
- - supports-color
-
- istanbul-lib-report@3.0.1:
+ istanbul-lib-report@3.0.1:
dependencies:
istanbul-lib-coverage: 3.2.2
make-dir: 4.0.0
supports-color: 7.2.0
- istanbul-lib-source-maps@4.0.1:
+ istanbul-lib-source-maps@5.0.6:
dependencies:
+ '@jridgewell/trace-mapping': 0.3.25
debug: 4.4.0
istanbul-lib-coverage: 3.2.2
- source-map: 0.6.1
transitivePeerDependencies:
- supports-color
@@ -14824,28 +14837,6 @@ snapshots:
html-escaper: 2.0.2
istanbul-lib-report: 3.0.1
- istanbul@0.4.5:
- dependencies:
- abbrev: 1.0.9
- async: 1.5.2
- escodegen: 1.8.1
- esprima: 2.7.3
- glob: 5.0.15
- handlebars: 4.7.8
- js-yaml: 3.14.1
- mkdirp: 0.5.6
- nopt: 3.0.6
- once: 1.4.0
- resolve: 1.1.7
- supports-color: 3.2.3
- which: 1.3.1
- wordwrap: 1.0.0
-
- isurl@1.0.0:
- dependencies:
- has-to-string-tag-x: 1.4.1
- is-object: 1.0.2
-
jackspeak@3.4.3:
dependencies:
'@isaacs/cliui': 8.0.2
@@ -14859,24 +14850,18 @@ snapshots:
filelist: 1.0.4
minimatch: 3.1.2
- jasmine-core@2.8.0: {}
-
- jasmine-core@4.6.1: {}
-
- jasmine-core@5.6.0: {}
+ jasmine-core@2.8.0:
+ optional: true
jasmine@2.8.0:
dependencies:
exit: 0.1.2
glob: 7.2.3
jasmine-core: 2.8.0
+ optional: true
- jasmine@5.6.0:
- dependencies:
- glob: 10.4.5
- jasmine-core: 5.6.0
-
- jasminewd2@2.2.0: {}
+ jasminewd2@2.2.0:
+ optional: true
jest-diff@29.7.0:
dependencies:
@@ -14922,16 +14907,45 @@ snapshots:
dependencies:
argparse: 2.0.1
- jsbn@0.1.1: {}
+ jsbn@0.1.1:
+ optional: true
jsbn@1.1.0: {}
+ jsdom@22.1.0:
+ dependencies:
+ abab: 2.0.6
+ cssstyle: 3.0.0
+ data-urls: 4.0.0
+ decimal.js: 10.5.0
+ domexception: 4.0.0
+ form-data: 4.0.2
+ html-encoding-sniffer: 3.0.0
+ http-proxy-agent: 5.0.0
+ https-proxy-agent: 5.0.1
+ is-potential-custom-element-name: 1.0.1
+ nwsapi: 2.2.16
+ parse5: 7.2.1
+ rrweb-cssom: 0.6.0
+ saxes: 6.0.0
+ symbol-tree: 3.2.4
+ tough-cookie: 4.1.4
+ w3c-xmlserializer: 4.0.0
+ webidl-conversions: 7.0.0
+ whatwg-encoding: 2.0.0
+ whatwg-mimetype: 3.0.0
+ whatwg-url: 12.0.1
+ ws: 8.18.0
+ xml-name-validator: 4.0.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
jsesc@3.0.2: {}
jsesc@3.1.0: {}
- json-buffer@3.0.0: {}
-
json-buffer@3.0.1: {}
json-parse-even-better-errors@2.3.1: {}
@@ -14944,7 +14958,8 @@ snapshots:
json-schema-traverse@1.0.0: {}
- json-schema@0.4.0: {}
+ json-schema@0.4.0:
+ optional: true
json-stable-stringify-without-jsonify@1.0.1: {}
@@ -14981,6 +14996,7 @@ snapshots:
extsprintf: 1.3.0
json-schema: 0.4.0
verror: 1.10.0
+ optional: true
jszip@3.10.1:
dependencies:
@@ -14988,65 +15004,7 @@ snapshots:
pako: 1.0.11
readable-stream: 2.3.8
setimmediate: 1.0.5
-
- karma-browserstack-launcher@1.6.0(karma@6.4.4):
- dependencies:
- browserstack: 1.5.3
- browserstack-local: 1.5.6
- karma: 6.4.4
- q: 1.5.1
- transitivePeerDependencies:
- - supports-color
-
- karma-chrome-launcher@3.2.0:
- dependencies:
- which: 1.3.1
-
- karma-coverage@2.2.1:
- dependencies:
- istanbul-lib-coverage: 3.2.2
- istanbul-lib-instrument: 5.2.1
- istanbul-lib-report: 3.0.1
- istanbul-lib-source-maps: 4.0.1
- istanbul-reports: 3.1.7
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
-
- karma-firefox-launcher@2.1.3:
- dependencies:
- is-wsl: 2.2.0
- which: 3.0.1
-
- karma-jasmine-html-reporter@2.1.0(jasmine-core@5.6.0)(karma-jasmine@5.1.0(karma@6.4.4))(karma@6.4.4):
- dependencies:
- jasmine-core: 5.6.0
- karma: 6.4.4
- karma-jasmine: 5.1.0(karma@6.4.4)
-
- karma-jasmine@5.1.0(karma@6.4.4):
- dependencies:
- jasmine-core: 4.6.1
- karma: 6.4.4
-
- karma-parallel@0.3.1(karma@6.4.4):
- dependencies:
- istanbul: 0.4.5
- karma: 6.4.4
- lodash: 4.17.21
-
- karma-sauce-launcher@4.3.6(encoding@0.1.13)(typescript@5.7.3):
- dependencies:
- global-agent: 2.2.0
- saucelabs: 4.7.8
- webdriverio: 6.12.1(encoding@0.1.13)(typescript@5.7.3)
- transitivePeerDependencies:
- - bare-buffer
- - bufferutil
- - encoding
- - supports-color
- - typescript
- - utf-8-validate
+ optional: true
karma-source-map-support@1.4.0:
dependencies:
@@ -15083,15 +15041,12 @@ snapshots:
- debug
- supports-color
- utf-8-validate
+ optional: true
keygrip@1.1.0:
dependencies:
tsscmp: 1.0.6
- keyv@3.0.0:
- dependencies:
- json-buffer: 3.0.0
-
keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
@@ -15145,33 +15100,20 @@ snapshots:
lazystream@1.0.1:
dependencies:
readable-stream: 2.3.8
+ optional: true
- less-loader@11.1.0(less@4.1.3)(webpack@5.98.0):
+ less-loader@11.1.0(less@4.2.2)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
klona: 2.0.6
- less: 4.1.3
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ less: 4.2.2
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
- less-loader@12.2.0(@rspack/core@1.2.3(@swc/helpers@0.5.15))(less@4.2.1)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)):
+ less-loader@12.2.0(@rspack/core@1.2.3(@swc/helpers@0.5.15))(less@4.2.1)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)):
dependencies:
less: 4.2.1
optionalDependencies:
'@rspack/core': 1.2.3(@swc/helpers@0.5.15)
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
-
- less@4.1.3:
- dependencies:
- copy-anything: 2.0.6
- parse-node-version: 1.0.1
- tslib: 2.8.1
- optionalDependencies:
- errno: 0.1.8
- graceful-fs: 4.2.11
- image-size: 0.5.5
- make-dir: 2.1.0
- mime: 1.6.0
- needle: 3.3.1
- source-map: 0.6.1
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
less@4.2.1:
dependencies:
@@ -15201,31 +15143,27 @@ snapshots:
needle: 3.3.1
source-map: 0.6.1
- levn@0.3.0:
- dependencies:
- prelude-ls: 1.1.2
- type-check: 0.3.2
-
levn@0.4.1:
dependencies:
prelude-ls: 1.2.1
type-check: 0.4.0
- license-webpack-plugin@4.0.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)):
+ license-webpack-plugin@4.0.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)):
dependencies:
webpack-sources: 3.2.3
optionalDependencies:
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
- license-webpack-plugin@4.0.2(webpack@5.98.0):
+ license-webpack-plugin@4.0.2(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
webpack-sources: 3.2.3
optionalDependencies:
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
lie@3.3.0:
dependencies:
immediate: 3.0.6
+ optional: true
lighthouse-logger@1.4.2:
dependencies:
@@ -15233,6 +15171,7 @@ snapshots:
marky: 1.2.5
transitivePeerDependencies:
- supports-color
+ optional: true
lilconfig@3.1.3: {}
@@ -15289,21 +15228,27 @@ snapshots:
dependencies:
p-locate: 6.0.0
- lodash.clonedeep@4.5.0: {}
+ lodash.clonedeep@4.5.0:
+ optional: true
lodash.clonedeepwith@4.5.0: {}
lodash.debounce@4.0.8: {}
- lodash.defaults@4.2.0: {}
+ lodash.defaults@4.2.0:
+ optional: true
- lodash.difference@4.5.0: {}
+ lodash.difference@4.5.0:
+ optional: true
- lodash.flatten@4.4.0: {}
+ lodash.flatten@4.4.0:
+ optional: true
- lodash.isobject@3.0.2: {}
+ lodash.isobject@3.0.2:
+ optional: true
- lodash.isplainobject@4.0.6: {}
+ lodash.isplainobject@4.0.6:
+ optional: true
lodash.memoize@4.1.2: {}
@@ -15311,11 +15256,13 @@ snapshots:
lodash.truncate@4.4.2: {}
- lodash.union@4.6.0: {}
+ lodash.union@4.6.0:
+ optional: true
lodash.uniq@4.5.0: {}
- lodash.zip@4.2.0: {}
+ lodash.zip@4.2.0:
+ optional: true
lodash@4.17.21: {}
@@ -15342,9 +15289,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- loglevel-plugin-prefix@0.8.4: {}
+ loglevel-plugin-prefix@0.8.4:
+ optional: true
- loglevel@1.9.2: {}
+ loglevel@1.9.2:
+ optional: true
long-timeout@0.1.1: {}
@@ -15352,23 +15301,13 @@ snapshots:
dependencies:
js-tokens: 4.0.0
- lower-case@2.0.2:
- dependencies:
- tslib: 2.8.1
-
- lowercase-keys@1.0.0: {}
+ loupe@3.1.3: {}
- lowercase-keys@1.0.1: {}
-
- lowercase-keys@2.0.0: {}
+ lowercase-keys@2.0.0:
+ optional: true
lru-cache@10.4.3: {}
- lru-cache@4.1.5:
- dependencies:
- pseudomap: 1.0.2
- yallist: 2.1.2
-
lru-cache@5.1.1:
dependencies:
yallist: 3.1.1
@@ -15377,17 +15316,22 @@ snapshots:
dependencies:
yallist: 4.0.0
- lru-cache@7.18.3: {}
+ lru-cache@7.18.3:
+ optional: true
luxon@3.5.0: {}
+ lz-string@1.5.0: {}
+
magic-string@0.30.17:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
- make-dir@1.3.0:
+ magicast@0.3.5:
dependencies:
- pify: 3.0.0
+ '@babel/parser': 7.26.9
+ '@babel/types': 7.26.9
+ source-map-js: 1.2.1
make-dir@2.1.0:
dependencies:
@@ -15425,13 +15369,8 @@ snapshots:
map-obj@4.3.0: {}
- map-stream@0.1.0: {}
-
- marky@1.2.5: {}
-
- matcher@3.0.0:
- dependencies:
- escape-string-regexp: 4.0.0
+ marky@1.2.5:
+ optional: true
math-intrinsics@1.1.0: {}
@@ -15496,28 +15435,31 @@ snapshots:
mime@2.5.2: {}
- mime@2.6.0: {}
+ mime@2.6.0:
+ optional: true
mimic-fn@2.1.0: {}
mimic-function@5.0.1: {}
- mimic-response@1.0.1: {}
+ mimic-response@1.0.1:
+ optional: true
- mimic-response@3.1.0: {}
+ mimic-response@3.1.0:
+ optional: true
min-indent@1.0.1: {}
- mini-css-extract-plugin@2.4.7(webpack@5.98.0):
+ mini-css-extract-plugin@2.4.7(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
schema-utils: 4.3.0
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
- mini-css-extract-plugin@2.9.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)):
+ mini-css-extract-plugin@2.9.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)):
dependencies:
schema-utils: 4.3.0
tapable: 2.2.1
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
minimalistic-assert@1.0.1: {}
@@ -15591,9 +15533,11 @@ snapshots:
minipass: 7.1.2
rimraf: 5.0.10
- mitt@3.0.1: {}
+ mitt@3.0.1:
+ optional: true
- mkdirp-classic@0.5.3: {}
+ mkdirp-classic@0.5.3:
+ optional: true
mkdirp@0.5.6:
dependencies:
@@ -15626,6 +15570,31 @@ snapshots:
msgpackr-extract: 3.0.3
optional: true
+ msw@2.7.3(@types/node@20.17.19)(typescript@5.7.3):
+ dependencies:
+ '@bundled-es-modules/cookie': 2.0.1
+ '@bundled-es-modules/statuses': 1.0.1
+ '@bundled-es-modules/tough-cookie': 0.1.6
+ '@inquirer/confirm': 5.1.6(@types/node@20.17.19)
+ '@mswjs/interceptors': 0.37.6
+ '@open-draft/deferred-promise': 2.2.0
+ '@open-draft/until': 2.1.0
+ '@types/cookie': 0.6.0
+ '@types/statuses': 2.0.5
+ graphql: 16.10.0
+ headers-polyfill: 4.0.3
+ is-node-process: 1.2.0
+ outvariant: 1.4.3
+ path-to-regexp: 6.3.0
+ picocolors: 1.1.1
+ strict-event-emitter: 0.5.1
+ type-fest: 4.34.1
+ yargs: 17.7.2
+ optionalDependencies:
+ typescript: 5.7.3
+ transitivePeerDependencies:
+ - '@types/node'
+
multicast-dns@7.2.5:
dependencies:
dns-packet: 5.6.1
@@ -15653,7 +15622,8 @@ snapshots:
neo-async@2.6.2: {}
- netmask@2.0.2: {}
+ netmask@2.0.2:
+ optional: true
ng-packagr@19.1.2(@angular/compiler-cli@19.1.6(@angular/compiler@19.1.6(@angular/core@19.1.6(rxjs@7.8.1)(zone.js@0.15.0)))(typescript@5.7.3))(tslib@2.8.1)(typescript@5.7.3):
dependencies:
@@ -15683,13 +15653,6 @@ snapshots:
optionalDependencies:
rollup: 4.34.7
- nice-try@1.0.5: {}
-
- no-case@3.0.4:
- dependencies:
- lower-case: 2.0.2
- tslib: 2.8.1
-
node-abort-controller@3.1.1: {}
node-addon-api@6.1.0:
@@ -15736,10 +15699,6 @@ snapshots:
long-timeout: 0.1.1
sorted-array-functions: 1.3.0
- nopt@3.0.6:
- dependencies:
- abbrev: 1.0.9
-
nopt@8.1.0:
dependencies:
abbrev: 3.0.0
@@ -15761,23 +15720,13 @@ snapshots:
normalize-range@0.1.2: {}
- normalize-url@2.0.1:
- dependencies:
- prepend-http: 2.0.0
- query-string: 5.1.1
- sort-keys: 2.0.0
-
- normalize-url@6.1.0: {}
+ normalize-url@6.1.0:
+ optional: true
npm-bundled@4.0.0:
dependencies:
npm-normalize-package-bin: 4.0.0
- npm-conf@1.1.3:
- dependencies:
- config-chain: 1.1.13
- pify: 3.0.0
-
npm-install-checks@7.1.1:
dependencies:
semver: 7.7.1
@@ -15822,10 +15771,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- npm-run-path@2.0.2:
- dependencies:
- path-key: 2.0.1
-
npm-run-path@4.0.1:
dependencies:
path-key: 3.1.1
@@ -15834,7 +15779,9 @@ snapshots:
dependencies:
boolbase: 1.0.0
- nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)):
+ nwsapi@2.2.16: {}
+
+ nx@20.4.4(@swc-node/register@1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3))(@swc/core@1.5.29(@swc/helpers@0.5.15)):
dependencies:
'@napi-rs/wasm-runtime': 0.2.4
'@yarnpkg/lockfile': 1.1.0
@@ -15881,24 +15828,25 @@ snapshots:
'@nx/nx-linux-x64-musl': 20.4.4
'@nx/nx-win32-arm64-msvc': 20.4.4
'@nx/nx-win32-x64-msvc': 20.4.4
- '@swc-node/register': 1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.17)(typescript@5.7.3)
+ '@swc-node/register': 1.9.2(@swc/core@1.5.29(@swc/helpers@0.5.15))(@swc/types@0.1.19)(typescript@5.7.3)
'@swc/core': 1.5.29(@swc/helpers@0.5.15)
transitivePeerDependencies:
- debug
- oauth-sign@0.9.0: {}
+ oauth-sign@0.9.0:
+ optional: true
- object-assign@4.1.1: {}
+ object-assign@4.1.1:
+ optional: true
object-inspect@1.13.4: {}
- object-keys@1.1.1: {}
-
obuf@1.1.2: {}
on-finished@2.3.0:
dependencies:
ee-first: 1.1.1
+ optional: true
on-finished@2.4.1:
dependencies:
@@ -15935,15 +15883,6 @@ snapshots:
opener@1.5.2: {}
- optionator@0.8.3:
- dependencies:
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.3.0
- prelude-ls: 1.1.2
- type-check: 0.3.2
- word-wrap: 1.2.5
-
optionator@0.9.4:
dependencies:
deep-is: 0.1.4
@@ -15979,23 +15918,12 @@ snapshots:
ordered-binary@1.5.3:
optional: true
- os-filter-obj@2.0.0:
- dependencies:
- arch: 2.2.0
-
os-tmpdir@1.0.2: {}
- p-cancelable@0.4.1: {}
-
- p-cancelable@2.1.1: {}
-
- p-event@2.3.1:
- dependencies:
- p-timeout: 2.0.1
-
- p-finally@1.0.0: {}
+ outvariant@1.4.3: {}
- p-is-promise@1.1.0: {}
+ p-cancelable@2.1.1:
+ optional: true
p-limit@2.3.0:
dependencies:
@@ -16029,10 +15957,6 @@ snapshots:
is-network-error: 1.1.0
retry: 0.13.1
- p-timeout@2.0.1:
- dependencies:
- p-finally: 1.0.0
-
p-try@2.2.0: {}
pac-proxy-agent@7.1.0:
@@ -16047,11 +15971,13 @@ snapshots:
socks-proxy-agent: 8.0.5
transitivePeerDependencies:
- supports-color
+ optional: true
pac-resolver@7.0.1:
dependencies:
degenerator: 5.0.1
netmask: 2.0.2
+ optional: true
package-json-from-dist@1.0.1: {}
@@ -16078,12 +16004,8 @@ snapshots:
- bluebird
- supports-color
- pako@1.0.11: {}
-
- param-case@3.0.4:
- dependencies:
- dot-case: 3.0.4
- tslib: 2.8.1
+ pako@1.0.11:
+ optional: true
parent-module@1.0.1:
dependencies:
@@ -16126,15 +16048,7 @@ snapshots:
parseurl@1.3.3: {}
- pascal-case@3.1.2:
- dependencies:
- no-case: 3.0.4
- tslib: 2.8.1
-
- path-case@3.0.4:
- dependencies:
- dot-case: 3.0.4
- tslib: 2.8.1
+ path-browserify@1.0.1: {}
path-exists@4.0.0: {}
@@ -16142,9 +16056,8 @@ snapshots:
path-is-absolute@1.0.1: {}
- path-is-inside@1.0.2: {}
-
- path-key@2.0.1: {}
+ path-is-inside@1.0.2:
+ optional: true
path-key@3.1.1: {}
@@ -16157,17 +16070,21 @@ snapshots:
path-to-regexp@0.1.12: {}
+ path-to-regexp@6.3.0: {}
+
path-type@4.0.0: {}
path-type@6.0.0: {}
- pause-stream@0.0.11:
- dependencies:
- through: 2.3.8
+ pathe@1.1.2: {}
+
+ pathval@2.0.0: {}
- pend@1.2.0: {}
+ pend@1.2.0:
+ optional: true
- performance-now@2.1.0: {}
+ performance-now@2.1.0:
+ optional: true
picocolors@1.1.1: {}
@@ -16177,15 +16094,16 @@ snapshots:
pify@2.3.0: {}
- pify@3.0.0: {}
-
- pify@4.0.1: {}
+ pify@4.0.1:
+ optional: true
pinkie-promise@2.0.1:
dependencies:
pinkie: 2.0.4
+ optional: true
- pinkie@2.0.4: {}
+ pinkie@2.0.4:
+ optional: true
pirates@4.0.6: {}
@@ -16201,6 +16119,14 @@ snapshots:
dependencies:
find-up: 6.3.0
+ playwright-core@1.51.0: {}
+
+ playwright@1.51.0:
+ dependencies:
+ playwright-core: 1.51.0
+ optionalDependencies:
+ fsevents: 2.3.2
+
portfinder@1.0.32:
dependencies:
async: 2.6.4
@@ -16252,15 +16178,15 @@ snapshots:
read-cache: 1.0.0
resolve: 1.22.10
- postcss-loader@6.2.1(postcss@8.5.2)(webpack@5.98.0):
+ postcss-loader@6.2.1(postcss@8.5.2)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
cosmiconfig: 7.1.0
klona: 2.0.6
postcss: 8.5.2
semver: 7.7.1
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
- postcss-loader@8.1.1(@rspack/core@1.2.3(@swc/helpers@0.5.15))(postcss@8.4.49)(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)):
+ postcss-loader@8.1.1(@rspack/core@1.2.3(@swc/helpers@0.5.15))(postcss@8.4.49)(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)):
dependencies:
cosmiconfig: 9.0.0(typescript@5.7.3)
jiti: 1.21.7
@@ -16268,7 +16194,7 @@ snapshots:
semver: 7.7.1
optionalDependencies:
'@rspack/core': 1.2.3(@swc/helpers@0.5.15)
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
transitivePeerDependencies:
- typescript
@@ -16448,14 +16374,16 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
- prelude-ls@1.1.2: {}
-
prelude-ls@1.2.1: {}
- prepend-http@2.0.0: {}
-
prettier@3.5.3: {}
+ pretty-format@27.5.1:
+ dependencies:
+ ansi-regex: 5.0.1
+ ansi-styles: 5.2.0
+ react-is: 17.0.2
+
pretty-format@29.7.0:
dependencies:
'@jest/schemas': 29.6.3
@@ -16468,7 +16396,8 @@ snapshots:
process-nextick-args@2.0.1: {}
- progress@2.0.3: {}
+ progress@2.0.3:
+ optional: true
promise-inflight@1.0.1: {}
@@ -16477,8 +16406,6 @@ snapshots:
err-code: 2.0.3
retry: 0.12.0
- proto-list@1.2.4: {}
-
protractor@7.0.0:
dependencies:
'@types/q': 0.0.32
@@ -16498,6 +16425,7 @@ snapshots:
yargs: 15.4.1
transitivePeerDependencies:
- supports-color
+ optional: true
proxy-addr@2.0.7:
dependencies:
@@ -16516,18 +16444,13 @@ snapshots:
socks-proxy-agent: 8.0.5
transitivePeerDependencies:
- supports-color
+ optional: true
proxy-from-env@1.1.0: {}
prr@1.0.1:
optional: true
- ps-tree@1.2.0:
- dependencies:
- event-stream: 3.3.4
-
- pseudomap@1.0.2: {}
-
psl@1.15.0:
dependencies:
punycode: 2.3.1
@@ -16536,8 +16459,10 @@ snapshots:
dependencies:
end-of-stream: 1.4.4
once: 1.4.0
+ optional: true
- punycode@1.4.1: {}
+ punycode@1.4.1:
+ optional: true
punycode@2.3.1: {}
@@ -16554,6 +16479,7 @@ snapshots:
- bufferutil
- supports-color
- utf-8-validate
+ optional: true
puppeteer-core@5.5.0(encoding@0.1.13):
dependencies:
@@ -16574,6 +16500,7 @@ snapshots:
- encoding
- supports-color
- utf-8-validate
+ optional: true
puppeteer@24.2.1(typescript@5.7.3):
dependencies:
@@ -16589,12 +16516,13 @@ snapshots:
- supports-color
- typescript
- utf-8-validate
+ optional: true
- q@1.4.1: {}
-
- q@1.5.1: {}
+ q@1.4.1:
+ optional: true
- qjobs@1.2.0: {}
+ qjobs@1.2.0:
+ optional: true
qs@6.13.0:
dependencies:
@@ -16604,13 +16532,10 @@ snapshots:
dependencies:
side-channel: 1.1.0
- qs@6.5.3: {}
+ qs@6.5.3:
+ optional: true
- query-string@5.1.1:
- dependencies:
- decode-uri-component: 0.2.2
- object-assign: 4.1.1
- strict-uri-encode: 1.1.0
+ querystringify@2.2.0: {}
queue-microtask@1.2.3: {}
@@ -16637,6 +16562,8 @@ snapshots:
react: 18.3.1
scheduler: 0.23.2
+ react-is@17.0.2: {}
+
react-is@18.3.1: {}
react@18.3.1:
@@ -16692,6 +16619,7 @@ snapshots:
readdir-glob@1.1.3:
dependencies:
minimatch: 5.1.6
+ optional: true
readdirp@3.6.0:
dependencies:
@@ -16699,9 +16627,10 @@ snapshots:
readdirp@4.1.2: {}
- rechoir@0.8.0:
+ redent@3.0.0:
dependencies:
- resolve: 1.22.10
+ indent-string: 4.0.0
+ strip-indent: 3.0.0
redent@4.0.0:
dependencies:
@@ -16761,20 +16690,19 @@ snapshots:
tough-cookie: 2.5.0
tunnel-agent: 0.6.0
uuid: 3.4.0
+ optional: true
require-directory@2.1.1: {}
require-from-string@2.0.2: {}
- require-main-filename@2.0.0: {}
+ require-main-filename@2.0.0:
+ optional: true
requires-port@1.0.0: {}
- resolve-alpn@1.2.1: {}
-
- resolve-cwd@3.0.0:
- dependencies:
- resolve-from: 5.0.0
+ resolve-alpn@1.2.1:
+ optional: true
resolve-dir@1.0.1:
dependencies:
@@ -16795,8 +16723,6 @@ snapshots:
resolve.exports@2.0.3: {}
- resolve@1.1.7: {}
-
resolve@1.22.10:
dependencies:
is-core-module: 2.16.1
@@ -16809,17 +16735,15 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- responselike@1.0.2:
- dependencies:
- lowercase-keys: 1.0.1
-
responselike@2.0.1:
dependencies:
lowercase-keys: 2.0.0
+ optional: true
resq@1.11.0:
dependencies:
fast-deep-equal: 2.0.1
+ optional: true
restore-cursor@3.1.0:
dependencies:
@@ -16839,15 +16763,13 @@ snapshots:
rfdc@1.4.1: {}
- rgb2hex@0.2.3: {}
-
- rimraf@2.5.4:
- dependencies:
- glob: 7.2.3
+ rgb2hex@0.2.3:
+ optional: true
rimraf@2.7.1:
dependencies:
glob: 7.2.3
+ optional: true
rimraf@3.0.2:
dependencies:
@@ -16857,15 +16779,6 @@ snapshots:
dependencies:
glob: 10.4.5
- roarr@2.15.4:
- dependencies:
- boolean: 3.2.0
- detect-node: 2.1.0
- globalthis: 1.0.4
- json-stringify-safe: 5.0.1
- semver-compare: 1.0.0
- sprintf-js: 1.1.3
-
rollup@4.30.1:
dependencies:
'@types/estree': 1.0.6
@@ -16916,6 +16829,8 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.34.7
fsevents: 2.3.3
+ rrweb-cssom@0.6.0: {}
+
run-applescript@7.0.0: {}
run-parallel@1.2.0:
@@ -16938,21 +16853,21 @@ snapshots:
safer-buffer@2.1.2: {}
- sass-loader@12.6.0(sass@1.85.0)(webpack@5.98.0):
+ sass-loader@12.6.0(sass@1.85.0)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
klona: 2.0.6
neo-async: 2.6.2
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
optionalDependencies:
sass: 1.85.0
- sass-loader@16.0.4(@rspack/core@1.2.3(@swc/helpers@0.5.15))(sass@1.83.1)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)):
+ sass-loader@16.0.4(@rspack/core@1.2.3(@swc/helpers@0.5.15))(sass@1.83.1)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)):
dependencies:
neo-async: 2.6.2
optionalDependencies:
'@rspack/core': 1.2.3(@swc/helpers@0.5.15)
sass: 1.83.1
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
sass@1.83.1:
dependencies:
@@ -16975,19 +16890,14 @@ snapshots:
https-proxy-agent: 2.2.4
transitivePeerDependencies:
- supports-color
-
- saucelabs@4.7.8:
- dependencies:
- bin-wrapper: 4.1.0
- change-case: 4.1.2
- form-data: 3.0.3
- got: 11.8.6
- hash.js: 1.1.7
- tunnel: 0.0.6
- yargs: 16.2.0
+ optional: true
sax@1.4.1: {}
+ saxes@6.0.0:
+ dependencies:
+ xmlchars: 2.2.0
+
scheduler@0.23.2:
dependencies:
loose-envify: 1.4.0
@@ -17007,10 +16917,6 @@ snapshots:
secure-compare@3.0.1: {}
- seek-bzip@1.0.6:
- dependencies:
- commander: 2.20.3
-
select-hose@2.0.0: {}
selenium-webdriver@3.6.0:
@@ -17019,20 +16925,13 @@ snapshots:
rimraf: 2.7.1
tmp: 0.0.30
xml2js: 0.4.23
+ optional: true
selfsigned@2.4.1:
dependencies:
'@types/node-forge': 1.3.11
node-forge: 1.3.1
- semver-compare@1.0.0: {}
-
- semver-regex@2.0.0: {}
-
- semver-truncate@1.1.2:
- dependencies:
- semver: 5.7.2
-
semver@5.7.2: {}
semver@6.3.1: {}
@@ -17059,19 +16958,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
- sentence-case@3.0.4:
- dependencies:
- no-case: 3.0.4
- tslib: 2.8.1
- upper-case-first: 2.0.2
-
- serialize-error@7.0.1:
- dependencies:
- type-fest: 0.13.1
-
serialize-error@8.1.0:
dependencies:
type-fest: 0.20.2
+ optional: true
serialize-javascript@6.0.2:
dependencies:
@@ -17098,9 +16988,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- set-blocking@2.0.0: {}
+ set-blocking@2.0.0:
+ optional: true
- setimmediate@1.0.5: {}
+ setimmediate@1.0.5:
+ optional: true
setprototypeof@1.1.0: {}
@@ -17110,16 +17002,10 @@ snapshots:
dependencies:
kind-of: 6.0.3
- shebang-command@1.2.0:
- dependencies:
- shebang-regex: 1.0.0
-
shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
- shebang-regex@1.0.0: {}
-
shebang-regex@3.0.0: {}
shell-quote@1.8.2: {}
@@ -17152,6 +17038,8 @@ snapshots:
side-channel-map: 1.0.1
side-channel-weakmap: 1.0.2
+ siginfo@2.0.0: {}
+
signal-exit@3.0.7: {}
signal-exit@4.1.0: {}
@@ -17167,6 +17055,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ sirv@3.0.1:
+ dependencies:
+ '@polka/url': 1.0.0-next.28
+ mrmime: 2.0.0
+ totalist: 3.0.1
+
slash@3.0.0: {}
slash@4.0.0: {}
@@ -17191,11 +17085,6 @@ snapshots:
smart-buffer@4.2.0: {}
- snake-case@3.0.4:
- dependencies:
- dot-case: 3.0.4
- tslib: 2.8.1
-
socket.io-adapter@2.5.5:
dependencies:
debug: 4.3.7
@@ -17204,6 +17093,7 @@ snapshots:
- bufferutil
- supports-color
- utf-8-validate
+ optional: true
socket.io-parser@4.2.4:
dependencies:
@@ -17211,6 +17101,7 @@ snapshots:
debug: 4.3.7
transitivePeerDependencies:
- supports-color
+ optional: true
socket.io@4.8.1:
dependencies:
@@ -17225,6 +17116,7 @@ snapshots:
- bufferutil
- supports-color
- utf-8-validate
+ optional: true
sockjs@0.3.24:
dependencies:
@@ -17245,37 +17137,26 @@ snapshots:
ip-address: 9.0.5
smart-buffer: 4.2.0
- sort-keys-length@1.0.1:
- dependencies:
- sort-keys: 1.1.2
-
- sort-keys@1.1.2:
- dependencies:
- is-plain-obj: 1.1.0
-
- sort-keys@2.0.0:
- dependencies:
- is-plain-obj: 1.1.0
-
sorted-array-functions@1.3.0: {}
source-map-js@1.2.1: {}
- source-map-loader@5.0.0(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)):
+ source-map-loader@5.0.0(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)):
dependencies:
iconv-lite: 0.6.3
source-map-js: 1.2.1
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
- source-map-loader@5.0.0(webpack@5.98.0):
+ source-map-loader@5.0.0(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
iconv-lite: 0.6.3
source-map-js: 1.2.1
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
source-map-support@0.4.18:
dependencies:
source-map: 0.5.7
+ optional: true
source-map-support@0.5.19:
dependencies:
@@ -17287,13 +17168,9 @@ snapshots:
buffer-from: 1.1.2
source-map: 0.6.1
- source-map@0.2.0:
- dependencies:
- amdefine: 1.0.1
+ source-map@0.5.7:
optional: true
- source-map@0.5.7: {}
-
source-map@0.6.1: {}
source-map@0.7.4: {}
@@ -17335,10 +17212,6 @@ snapshots:
split2@4.2.0: {}
- split@0.3.3:
- dependencies:
- through: 2.3.8
-
sprintf-js@1.0.3: {}
sprintf-js@1.1.3: {}
@@ -17354,18 +17227,19 @@ snapshots:
jsbn: 0.1.1
safer-buffer: 2.1.2
tweetnacl: 0.14.5
+ optional: true
ssri@12.0.0:
dependencies:
minipass: 7.1.2
+ stackback@0.0.2: {}
+
statuses@1.5.0: {}
statuses@2.0.1: {}
- stream-combiner@0.0.4:
- dependencies:
- duplexer: 0.1.2
+ std-env@3.8.0: {}
streamroller@3.1.5:
dependencies:
@@ -17381,8 +17255,9 @@ snapshots:
text-decoder: 1.2.3
optionalDependencies:
bare-events: 2.5.4
+ optional: true
- strict-uri-encode@1.1.0: {}
+ strict-event-emitter@0.5.1: {}
string-width@4.2.3:
dependencies:
@@ -17413,6 +17288,7 @@ snapshots:
strip-ansi@3.0.1:
dependencies:
ansi-regex: 2.1.1
+ optional: true
strip-ansi@6.0.1:
dependencies:
@@ -17424,11 +17300,9 @@ snapshots:
strip-bom@3.0.0: {}
- strip-dirs@2.1.0:
+ strip-indent@3.0.0:
dependencies:
- is-natural-number: 4.0.1
-
- strip-eof@1.0.0: {}
+ min-indent: 1.0.1
strip-indent@4.0.0:
dependencies:
@@ -17436,13 +17310,9 @@ snapshots:
strip-json-comments@3.1.1: {}
- strip-outer@1.0.1:
+ style-loader@3.3.4(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
- escape-string-regexp: 1.0.5
-
- style-loader@3.3.4(webpack@5.98.0):
- dependencies:
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
style-search@0.1.0: {}
@@ -17498,12 +17368,12 @@ snapshots:
- supports-color
- typescript
- stylus-loader@7.1.3(stylus@0.64.0)(webpack@5.98.0):
+ stylus-loader@7.1.3(stylus@0.64.0)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
fast-glob: 3.3.3
normalize-path: 3.0.0
stylus: 0.64.0
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
stylus@0.64.0:
dependencies:
@@ -17515,11 +17385,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
- supports-color@2.0.0: {}
-
- supports-color@3.2.3:
- dependencies:
- has-flag: 1.0.0
+ supports-color@2.0.0:
+ optional: true
supports-color@5.5.0:
dependencies:
@@ -17554,6 +17421,8 @@ snapshots:
symbol-observable@4.0.0: {}
+ symbol-tree@3.2.4: {}
+
table@6.9.0:
dependencies:
ajv: 8.17.1
@@ -17570,6 +17439,7 @@ snapshots:
mkdirp-classic: 0.5.3
pump: 3.0.2
tar-stream: 2.2.0
+ optional: true
tar-fs@3.0.8:
dependencies:
@@ -17580,16 +17450,7 @@ snapshots:
bare-path: 3.0.0
transitivePeerDependencies:
- bare-buffer
-
- tar-stream@1.6.2:
- dependencies:
- bl: 1.2.3
- buffer-alloc: 1.2.0
- end-of-stream: 1.4.4
- fs-constants: 1.0.0
- readable-stream: 2.3.8
- to-buffer: 1.1.1
- xtend: 4.0.2
+ optional: true
tar-stream@2.2.0:
dependencies:
@@ -17604,6 +17465,7 @@ snapshots:
b4a: 1.6.7
fast-fifo: 1.3.2
streamx: 2.22.0
+ optional: true
tar@6.2.1:
dependencies:
@@ -17625,34 +17487,30 @@ snapshots:
temp-dir@3.0.0: {}
- temp-fs@0.9.9:
- dependencies:
- rimraf: 2.5.4
-
tempfile@5.0.0:
dependencies:
temp-dir: 3.0.0
- terser-webpack-plugin@5.3.11(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)):
+ terser-webpack-plugin@5.3.11(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
jest-worker: 27.5.1
schema-utils: 4.3.0
serialize-javascript: 6.0.2
terser: 5.39.0
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
optionalDependencies:
'@swc/core': 1.5.29(@swc/helpers@0.5.15)
esbuild: 0.24.2
- terser-webpack-plugin@5.3.11(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack@5.98.0):
+ terser-webpack-plugin@5.3.11(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
jest-worker: 27.5.1
schema-utils: 4.3.0
serialize-javascript: 6.0.2
terser: 5.39.0
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
optionalDependencies:
'@swc/core': 1.5.29(@swc/helpers@0.5.15)
@@ -17670,9 +17528,16 @@ snapshots:
commander: 2.20.3
source-map-support: 0.5.21
+ test-exclude@7.0.1:
+ dependencies:
+ '@istanbuljs/schema': 0.1.3
+ glob: 10.4.5
+ minimatch: 9.0.5
+
text-decoder@1.2.3:
dependencies:
b4a: 1.6.7
+ optional: true
text-extensions@2.4.0: {}
@@ -17684,16 +17549,25 @@ snapshots:
thunky@1.1.0: {}
- timed-out@4.0.1: {}
+ tinybench@2.9.0: {}
+
+ tinyexec@0.3.2: {}
tinyglobby@0.2.10:
dependencies:
fdir: 6.4.3(picomatch@4.0.2)
picomatch: 4.0.2
+ tinypool@1.0.2: {}
+
+ tinyrainbow@1.2.0: {}
+
+ tinyspy@3.0.2: {}
+
tmp@0.0.30:
dependencies:
os-tmpdir: 1.0.2
+ optional: true
tmp@0.0.33:
dependencies:
@@ -17701,21 +17575,33 @@ snapshots:
tmp@0.2.3: {}
- to-buffer@1.1.1: {}
-
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
toidentifier@1.0.1: {}
+ totalist@3.0.1: {}
+
tough-cookie@2.5.0:
dependencies:
psl: 1.15.0
punycode: 2.3.1
+ optional: true
+
+ tough-cookie@4.1.4:
+ dependencies:
+ psl: 1.15.0
+ punycode: 2.3.1
+ universalify: 0.2.0
+ url-parse: 1.5.10
tr46@0.0.3: {}
+ tr46@4.1.1:
+ dependencies:
+ punycode: 2.3.1
+
tree-dump@1.0.2(tslib@2.8.1):
dependencies:
tslib: 2.8.1
@@ -17724,15 +17610,11 @@ snapshots:
trim-newlines@4.1.1: {}
- trim-repeated@1.0.0:
- dependencies:
- escape-string-regexp: 1.0.5
-
ts-api-utils@2.0.1(typescript@5.7.3):
dependencies:
typescript: 5.7.3
- ts-loader@9.5.2(typescript@5.7.3)(webpack@5.98.0):
+ ts-loader@9.5.2(typescript@5.7.3)(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
chalk: 4.1.2
enhanced-resolve: 5.18.1
@@ -17740,7 +17622,12 @@ snapshots:
semver: 7.7.1
source-map: 0.7.4
typescript: 5.7.3
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
+
+ ts-morph@21.0.1:
+ dependencies:
+ '@ts-morph/common': 0.22.0
+ code-block-writer: 12.0.0
ts-node@10.9.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3):
dependencies:
@@ -17838,22 +17725,17 @@ snapshots:
tunnel-agent@0.6.0:
dependencies:
safe-buffer: 5.2.1
+ optional: true
- tunnel@0.0.6: {}
-
- tweetnacl@0.14.5: {}
-
- type-check@0.3.2:
- dependencies:
- prelude-ls: 1.1.2
+ tweetnacl@0.14.5:
+ optional: true
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
- type-fest@0.13.1: {}
-
- type-fest@0.20.2: {}
+ type-fest@0.20.2:
+ optional: true
type-fest@0.21.3: {}
@@ -17870,7 +17752,8 @@ snapshots:
typed-assert@1.0.9: {}
- typed-query-selector@2.12.0: {}
+ typed-query-selector@2.12.0:
+ optional: true
typescript-eslint@8.24.0(eslint@9.20.1(jiti@1.21.7))(typescript@5.7.3):
dependencies:
@@ -17884,7 +17767,8 @@ snapshots:
typescript@5.7.3: {}
- ua-parser-js@0.7.40: {}
+ ua-parser-js@0.7.40:
+ optional: true
uglify-js@3.19.3:
optional: true
@@ -17893,6 +17777,7 @@ snapshots:
dependencies:
buffer: 5.7.1
through: 2.3.8
+ optional: true
undici-types@6.19.8: {}
@@ -17921,8 +17806,14 @@ snapshots:
dependencies:
imurmurhash: 0.1.4
+ unist-util-stringify-position@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
universalify@0.1.2: {}
+ universalify@0.2.0: {}
+
universalify@2.0.1: {}
unpipe@1.0.0: {}
@@ -17935,31 +17826,23 @@ snapshots:
escalade: 3.2.0
picocolors: 1.1.1
- upper-case-first@2.0.2:
- dependencies:
- tslib: 2.8.1
-
- upper-case@2.0.2:
- dependencies:
- tslib: 2.8.1
-
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
url-join@4.0.1: {}
- url-parse-lax@3.0.0:
+ url-parse@1.5.10:
dependencies:
- prepend-http: 2.0.0
-
- url-to-options@1.0.1: {}
+ querystringify: 2.2.0
+ requires-port: 1.0.0
util-deprecate@1.0.2: {}
utils-merge@1.0.1: {}
- uuid@3.4.0: {}
+ uuid@3.4.0:
+ optional: true
uuid@8.3.2: {}
@@ -17981,8 +17864,50 @@ snapshots:
assert-plus: 1.0.0
core-util-is: 1.0.2
extsprintf: 1.3.0
+ optional: true
+
+ vfile-message@4.0.2:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-stringify-position: 4.0.0
+
+ vfile@6.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ vfile-message: 4.0.2
+
+ vite-node@2.1.9(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0):
+ dependencies:
+ cac: 6.7.14
+ debug: 4.4.0
+ es-module-lexer: 1.6.0
+ pathe: 1.1.2
+ vite: 5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+
+ vite@5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0):
+ dependencies:
+ esbuild: 0.21.5
+ postcss: 8.5.2
+ rollup: 4.34.7
+ optionalDependencies:
+ '@types/node': 20.17.19
+ fsevents: 2.3.3
+ less: 4.2.2
+ sass: 1.85.0
+ stylus: 0.64.0
+ terser: 5.37.0
- vite@6.0.11(@types/node@20.17.19)(jiti@1.21.7)(less@4.1.3)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)(yaml@2.7.0):
+ vite@6.0.11(@types/node@20.17.19)(jiti@1.21.7)(less@4.2.1)(sass@1.83.1)(stylus@0.64.0)(terser@5.37.0)(yaml@2.7.0):
dependencies:
esbuild: 0.24.2
postcss: 8.5.2
@@ -17991,13 +17916,73 @@ snapshots:
'@types/node': 20.17.19
fsevents: 2.3.3
jiti: 1.21.7
- less: 4.1.3
- sass: 1.85.0
+ less: 4.2.1
+ sass: 1.83.1
stylus: 0.64.0
terser: 5.37.0
yaml: 2.7.0
- void-elements@2.0.1: {}
+ vite@6.0.11(@types/node@20.17.19)(jiti@1.21.7)(less@4.2.2)(sass@1.83.1)(stylus@0.64.0)(terser@5.37.0)(yaml@2.7.0):
+ dependencies:
+ esbuild: 0.24.2
+ postcss: 8.5.2
+ rollup: 4.34.7
+ optionalDependencies:
+ '@types/node': 20.17.19
+ fsevents: 2.3.3
+ jiti: 1.21.7
+ less: 4.2.2
+ sass: 1.83.1
+ stylus: 0.64.0
+ terser: 5.37.0
+ yaml: 2.7.0
+ optional: true
+
+ vitest@2.1.9(@types/node@20.17.19)(@vitest/browser@2.1.9)(@vitest/ui@2.1.9)(happy-dom@17.3.1)(jsdom@22.1.0)(less@4.2.2)(msw@2.7.3(@types/node@20.17.19)(typescript@5.7.3))(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0):
+ dependencies:
+ '@vitest/expect': 2.1.9
+ '@vitest/mocker': 2.1.9(msw@2.7.3(@types/node@20.17.19)(typescript@5.7.3))(vite@5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0))
+ '@vitest/pretty-format': 2.1.9
+ '@vitest/runner': 2.1.9
+ '@vitest/snapshot': 2.1.9
+ '@vitest/spy': 2.1.9
+ '@vitest/utils': 2.1.9
+ chai: 5.2.0
+ debug: 4.4.0
+ expect-type: 1.2.0
+ magic-string: 0.30.17
+ pathe: 1.1.2
+ std-env: 3.8.0
+ tinybench: 2.9.0
+ tinyexec: 0.3.2
+ tinypool: 1.0.2
+ tinyrainbow: 1.2.0
+ vite: 5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)
+ vite-node: 2.1.9(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0)
+ why-is-node-running: 2.3.0
+ optionalDependencies:
+ '@types/node': 20.17.19
+ '@vitest/browser': 2.1.9(@types/node@20.17.19)(playwright@1.51.0)(typescript@5.7.3)(vite@5.4.15(@types/node@20.17.19)(less@4.2.2)(sass@1.85.0)(stylus@0.64.0)(terser@5.37.0))(vitest@2.1.9)(webdriverio@6.12.1(encoding@0.1.13)(typescript@5.7.3))
+ '@vitest/ui': 2.1.9(vitest@2.1.9)
+ happy-dom: 17.3.1
+ jsdom: 22.1.0
+ transitivePeerDependencies:
+ - less
+ - lightningcss
+ - msw
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+
+ void-elements@2.0.1:
+ optional: true
+
+ w3c-xmlserializer@4.0.0:
+ dependencies:
+ xml-name-validator: 4.0.0
watchpack@2.4.2:
dependencies:
@@ -18019,6 +18004,7 @@ snapshots:
dependencies:
'@types/selenium-webdriver': 3.0.26
selenium-webdriver: 3.6.0
+ optional: true
webdriver-manager@12.1.9:
dependencies:
@@ -18033,6 +18019,7 @@ snapshots:
rimraf: 2.7.1
semver: 5.7.2
xml2js: 0.4.23
+ optional: true
webdriver@6.12.1:
dependencies:
@@ -18042,6 +18029,7 @@ snapshots:
'@wdio/utils': 6.11.0
got: 11.8.6
lodash.merge: 4.6.2
+ optional: true
webdriverio@6.12.1(encoding@0.1.13)(typescript@5.7.3):
dependencies:
@@ -18075,29 +18063,13 @@ snapshots:
- supports-color
- typescript
- utf-8-validate
+ optional: true
webidl-conversions@3.0.1: {}
- webpack-cli@5.1.4(webpack-dev-server@5.2.0)(webpack@5.98.0):
- dependencies:
- '@discoveryjs/json-ext': 0.5.7
- '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.98.0)
- '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.98.0)
- '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.0)(webpack@5.98.0)
- colorette: 2.0.20
- commander: 10.0.1
- cross-spawn: 7.0.6
- envinfo: 7.14.0
- fastest-levenshtein: 1.0.16
- import-local: 3.2.0
- interpret: 3.1.1
- rechoir: 0.8.0
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
- webpack-merge: 5.10.0
- optionalDependencies:
- webpack-dev-server: 5.2.0(webpack-cli@5.1.4)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ webidl-conversions@7.0.0: {}
- webpack-dev-middleware@7.4.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)):
+ webpack-dev-middleware@7.4.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)):
dependencies:
colorette: 2.0.20
memfs: 4.17.0
@@ -18106,47 +18078,20 @@ snapshots:
range-parser: 1.2.1
schema-utils: 4.3.0
optionalDependencies:
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
- webpack-dev-server@5.2.0(webpack-cli@5.1.4)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)):
+ webpack-dev-middleware@7.4.2(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
- '@types/bonjour': 3.5.13
- '@types/connect-history-api-fallback': 1.5.4
- '@types/express': 4.17.21
- '@types/serve-index': 1.9.4
- '@types/serve-static': 1.15.7
- '@types/sockjs': 0.3.36
- '@types/ws': 8.5.14
- ansi-html-community: 0.0.8
- bonjour-service: 1.3.0
- chokidar: 3.6.0
colorette: 2.0.20
- compression: 1.8.0
- connect-history-api-fallback: 2.0.0
- express: 4.21.2
- graceful-fs: 4.2.11
- http-proxy-middleware: 2.0.7(@types/express@4.17.21)
- ipaddr.js: 2.2.0
- launch-editor: 2.9.1
- open: 10.1.0
- p-retry: 6.2.1
+ memfs: 4.17.0
+ mime-types: 2.1.35
+ on-finished: 2.4.1
+ range-parser: 1.2.1
schema-utils: 4.3.0
- selfsigned: 2.4.1
- serve-index: 1.9.1
- sockjs: 0.3.24
- spdy: 4.0.2
- webpack-dev-middleware: 7.4.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
- ws: 8.18.0
optionalDependencies:
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
- webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.98.0)
- transitivePeerDependencies:
- - bufferutil
- - debug
- - supports-color
- - utf-8-validate
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
- webpack-dev-server@5.2.0(webpack-cli@5.1.4)(webpack@5.98.0):
+ webpack-dev-server@5.2.0(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
'@types/bonjour': 3.5.13
'@types/connect-history-api-fallback': 1.5.4
@@ -18173,11 +18118,10 @@ snapshots:
serve-index: 1.9.1
sockjs: 0.3.24
spdy: 4.0.2
- webpack-dev-middleware: 7.4.2(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ webpack-dev-middleware: 7.4.2(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
ws: 8.18.0
optionalDependencies:
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
- webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.98.0)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
transitivePeerDependencies:
- bufferutil
- debug
@@ -18200,17 +18144,17 @@ snapshots:
webpack-sources@3.2.3: {}
- webpack-subresource-integrity@5.1.0(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)):
+ webpack-subresource-integrity@5.1.0(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)):
dependencies:
typed-assert: 1.0.9
- webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4)
+ webpack: 5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)
- webpack-subresource-integrity@5.1.0(webpack@5.98.0):
+ webpack-subresource-integrity@5.1.0(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))):
dependencies:
typed-assert: 1.0.9
- webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4)
+ webpack: 5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))
- webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4):
+ webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2):
dependencies:
'@types/eslint-scope': 3.7.7
'@types/estree': 1.0.6
@@ -18232,17 +18176,15 @@ snapshots:
neo-async: 2.6.2
schema-utils: 3.3.0
tapable: 2.2.1
- terser-webpack-plugin: 5.3.11(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack-cli@5.1.4))
+ terser-webpack-plugin: 5.3.11(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2)(webpack@5.97.1(@swc/core@1.5.29(@swc/helpers@0.5.15))(esbuild@0.24.2))
watchpack: 2.4.2
webpack-sources: 3.2.3
- optionalDependencies:
- webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.98.0)
transitivePeerDependencies:
- '@swc/core'
- esbuild
- uglify-js
- webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack-cli@5.1.4):
+ webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)):
dependencies:
'@types/eslint-scope': 3.7.7
'@types/estree': 1.0.6
@@ -18264,11 +18206,9 @@ snapshots:
neo-async: 2.6.2
schema-utils: 4.3.0
tapable: 2.2.1
- terser-webpack-plugin: 5.3.11(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack@5.98.0)
+ terser-webpack-plugin: 5.3.11(@swc/core@1.5.29(@swc/helpers@0.5.15))(webpack@5.98.0(@swc/core@1.5.29(@swc/helpers@0.5.15)))
watchpack: 2.4.2
webpack-sources: 3.2.3
- optionalDependencies:
- webpack-cli: 5.1.4(webpack-dev-server@5.2.0)(webpack@5.98.0)
transitivePeerDependencies:
- '@swc/core'
- esbuild
@@ -18286,12 +18226,20 @@ snapshots:
dependencies:
iconv-lite: 0.6.3
+ whatwg-mimetype@3.0.0: {}
+
+ whatwg-url@12.0.1:
+ dependencies:
+ tr46: 4.1.1
+ webidl-conversions: 7.0.0
+
whatwg-url@5.0.0:
dependencies:
tr46: 0.0.3
webidl-conversions: 3.0.1
- which-module@2.0.1: {}
+ which-module@2.0.1:
+ optional: true
which@1.3.1:
dependencies:
@@ -18301,14 +18249,15 @@ snapshots:
dependencies:
isexe: 2.0.0
- which@3.0.1:
- dependencies:
- isexe: 2.0.0
-
which@5.0.0:
dependencies:
isexe: 3.1.1
+ why-is-node-running@2.3.0:
+ dependencies:
+ siginfo: 2.0.0
+ stackback: 0.0.2
+
wildcard@2.0.1: {}
word-wrap@1.2.5: {}
@@ -18346,33 +18295,38 @@ snapshots:
imurmurhash: 0.1.4
signal-exit: 4.1.0
- ws@7.5.10: {}
+ ws@7.5.10:
+ optional: true
- ws@8.17.1: {}
+ ws@8.17.1:
+ optional: true
ws@8.18.0: {}
xhr2@0.2.1: {}
+ xml-name-validator@4.0.0: {}
+
xml2js@0.4.23:
dependencies:
sax: 1.4.1
xmlbuilder: 11.0.1
+ optional: true
- xmlbuilder@11.0.1: {}
+ xmlbuilder@11.0.1:
+ optional: true
- xtend@4.0.2: {}
+ xmlchars@2.2.0: {}
xxhashjs@0.2.2:
dependencies:
cuint: 0.2.2
- y18n@4.0.3: {}
+ y18n@4.0.3:
+ optional: true
y18n@5.0.8: {}
- yallist@2.1.2: {}
-
yallist@3.1.1: {}
yallist@4.0.0: {}
@@ -18387,6 +18341,7 @@ snapshots:
dependencies:
camelcase: 5.3.1
decamelize: 1.2.0
+ optional: true
yargs-parser@20.2.9: {}
@@ -18405,6 +18360,7 @@ snapshots:
which-module: 2.0.1
y18n: 4.0.3
yargs-parser: 18.1.3
+ optional: true
yargs@16.2.0:
dependencies:
@@ -18415,6 +18371,7 @@ snapshots:
string-width: 4.2.3
y18n: 5.0.8
yargs-parser: 20.2.9
+ optional: true
yargs@17.7.2:
dependencies:
@@ -18430,6 +18387,7 @@ snapshots:
dependencies:
buffer-crc32: 0.2.13
fd-slicer: 1.1.0
+ optional: true
ylru@1.4.0: {}
@@ -18446,7 +18404,9 @@ snapshots:
archiver-utils: 3.0.4
compress-commons: 4.1.2
readable-stream: 3.6.2
+ optional: true
- zod@3.24.2: {}
+ zod@3.24.2:
+ optional: true
zone.js@0.15.0: {}
diff --git a/projects/apps/demo-app/karma.conf.js b/projects/apps/demo-app/karma.conf.js
deleted file mode 100644
index 94360a41..00000000
--- a/projects/apps/demo-app/karma.conf.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Karma configuration file, see link for more information
-// https://karma-runner.github.io/1.0/config/configuration-file.html
-
-module.exports = function (config) {
- config.set({
- basePath: '',
- frameworks: ['jasmine', '@angular-devkit/build-angular'],
- plugins: [
- require('karma-jasmine'),
- require('karma-chrome-launcher'),
- require('karma-jasmine-html-reporter'),
- require('karma-coverage'),
- require('@angular-devkit/build-angular/plugins/karma')
- ],
- client: {
- jasmine: {
- // you can add configuration options for Jasmine here
- // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
- // for example, you can disable the random execution with `random: false`
- // or set a specific seed with `seed: 4321`
- },
- clearContext: false // leave Jasmine Spec Runner output visible in browser
- },
- jasmineHtmlReporter: {
- suppressAll: true // removes the duplicated traces
- },
- coverageReporter: {
- dir: require('path').join(__dirname, '../../../coverage/demo-app'),
- subdir: '.',
- reporters: [
- { type: 'html' },
- { type: 'text-summary' }
- ]
- },
- reporters: ['progress', 'kjhtml'],
- port: 9876,
- colors: true,
- logLevel: config.LOG_INFO,
- autoWatch: true,
- browsers: ['Chrome'],
- singleRun: false,
- restartOnFileChange: true
- });
-};
diff --git a/projects/apps/demo-app/project.json b/projects/apps/demo-app/project.json
index c83394b6..c42e39d8 100644
--- a/projects/apps/demo-app/project.json
+++ b/projects/apps/demo-app/project.json
@@ -68,21 +68,10 @@
}
},
"test": {
- "executor": "@angular-devkit/build-angular:karma",
+ "executor": "@nx/vite:test",
+ "outputs": ["{options.reportsDirectory}"],
"options": {
- "watch": false,
- "main": "projects/apps/demo-app/src/test.ts",
- "polyfills": ["zone.js", "zone.js/testing"],
- "tsConfig": "projects/apps/demo-app/tsconfig.spec.json",
- "karmaConfig": "projects/apps/demo-app/karma.conf.js",
- "assets": [
- {
- "glob": "**/*",
- "input": "projects/apps/demo-app/public"
- }
- ],
- "styles": ["projects/apps/demo-app/src/styles.scss"],
- "scripts": []
+ "reportsDirectory": "../../../coverage/projects/apps/demo-app"
}
}
}
diff --git a/projects/apps/demo-app/src/test.ts b/projects/apps/demo-app/src/test-setup.ts
similarity index 79%
rename from projects/apps/demo-app/src/test.ts
rename to projects/apps/demo-app/src/test-setup.ts
index 72bc4716..ad5acb3b 100644
--- a/projects/apps/demo-app/src/test.ts
+++ b/projects/apps/demo-app/src/test-setup.ts
@@ -1,3 +1,6 @@
+import '@analogjs/vitest-angular/setup-zone';
+import './styles.scss';
+
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
diff --git a/projects/apps/demo-app/tsconfig.json b/projects/apps/demo-app/tsconfig.json
new file mode 100644
index 00000000..1424f6fd
--- /dev/null
+++ b/projects/apps/demo-app/tsconfig.json
@@ -0,0 +1,30 @@
+{
+ "compilerOptions": {
+ "target": "es2022",
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true
+ },
+ "files": [],
+ "include": [],
+ "references": [
+ {
+ "path": "./tsconfig.app.json"
+ },
+
+ {
+ "path": "./tsconfig.spec.json"
+ }
+ ],
+ "extends": "../../../tsconfig.json",
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
diff --git a/projects/apps/demo-app/tsconfig.spec.json b/projects/apps/demo-app/tsconfig.spec.json
index d283ae8e..d3f553bd 100644
--- a/projects/apps/demo-app/tsconfig.spec.json
+++ b/projects/apps/demo-app/tsconfig.spec.json
@@ -3,12 +3,29 @@
"compilerOptions": {
"outDir": "../../../out-tsc/spec",
"types": [
- "jasmine"
+ "@vitest/browser/matchers",
+ "@vitest/browser/providers/playwright",
+ "vitest/globals",
+ "vitest/importMeta",
+ "vite/client",
+ "node",
+ "vitest"
]
},
- "files": ["src/test.ts"],
+ "files": ["src/test-setup.ts"],
"include": [
- "src/**/*.spec.ts",
- "src/**/*.d.ts"
+ "vite.config.ts",
+ "vite.config.mts",
+ "vitest.config.ts",
+ "vitest.config.mts",
+ "**/*.test.ts",
+ "**/*.spec.ts",
+ "**/*.test.tsx",
+ "**/*.spec.tsx",
+ "**/*.test.js",
+ "**/*.spec.js",
+ "**/*.test.jsx",
+ "**/*.spec.jsx",
+ "**/*.d.ts"
]
}
diff --git a/projects/apps/demo-app/vite.config.mts b/projects/apps/demo-app/vite.config.mts
new file mode 100644
index 00000000..3923440c
--- /dev/null
+++ b/projects/apps/demo-app/vite.config.mts
@@ -0,0 +1,34 @@
+///
+import { defineConfig } from 'vite';
+import angular from '@analogjs/vite-plugin-angular';
+import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
+import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin';
+
+const isCi = !!process.env['CI'];
+
+export default defineConfig({
+ root: __dirname,
+ cacheDir: '../../../node_modules/.vite/projects/apps/demo-app'.replace('/node_modules/', isCi ? '/' : '/node_modules/'),
+ plugins: [angular(), nxViteTsPaths(), nxCopyAssetsPlugin(['*.md'])],
+ // Uncomment this if you are using workers.
+ // worker: {
+ // plugins: [ nxViteTsPaths() ],
+ // },
+ test: {
+ globals: true,
+ include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
+ setupFiles: ['./src/test-setup.ts'],
+ reporters: ['default'],
+ coverage: {
+ reportsDirectory: '../../../coverage/projects/apps/demo-app',
+ provider: 'v8',
+ },
+ browser: {
+ enabled: true,
+ provider: 'playwright',
+ // https://vitest.dev/guide/browser/playwright
+ name: 'chromium',
+ fileParallelism: isCi ? false : undefined, // Prevent hanging tests timing out in Firefox
+ },
+ },
+});
diff --git a/projects/apps/universal-demo-app/karma.conf.js b/projects/apps/universal-demo-app/karma.conf.js
deleted file mode 100644
index 1458e464..00000000
--- a/projects/apps/universal-demo-app/karma.conf.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// Karma configuration file, see link for more information
-// https://karma-runner.github.io/1.0/config/configuration-file.html
-
-module.exports = function (config) {
- config.set({
- basePath: '',
- frameworks: ['jasmine', '@angular-devkit/build-angular'],
- plugins: [
- require('karma-jasmine'),
- require('karma-chrome-launcher'),
- require('karma-jasmine-html-reporter'),
- require('karma-coverage'),
- require('@angular-devkit/build-angular/plugins/karma')
- ],
- client: {
- jasmine: {
- // you can add configuration options for Jasmine here
- // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
- // for example, you can disable the random execution with `random: false`
- // or set a specific seed with `seed: 4321`
- },
- clearContext: false // leave Jasmine Spec Runner output visible in browser
- },
- jasmineHtmlReporter: {
- suppressAll: true // removes the duplicated traces
- },
- coverageReporter: {
- dir: require('path').join(__dirname, '../../../coverage/universal-demo-app'),
- subdir: '.',
- reporters: [
- { type: 'html' },
- { type: 'text-summary' }
- ]
- },
- reporters: ['progress', 'kjhtml'],
- port: 9876,
- colors: true,
- logLevel: config.LOG_INFO,
- autoWatch: true,
- browsers: ['Chrome'],
- singleRun: false,
- restartOnFileChange: true
- });
-};
diff --git a/projects/apps/universal-demo-app/project.json b/projects/apps/universal-demo-app/project.json
index 39a2e37b..d1b4aa95 100644
--- a/projects/apps/universal-demo-app/project.json
+++ b/projects/apps/universal-demo-app/project.json
@@ -73,21 +73,16 @@
}
},
"test": {
- "executor": "@angular-devkit/build-angular:karma",
+ "executor": "@nx/vite:test",
+ "outputs": ["{options.reportsDirectory}"],
"options": {
- "watch": false,
- "main": "projects/apps/universal-demo-app/src/test.ts",
- "polyfills": ["zone.js", "zone.js/testing"],
- "tsConfig": "projects/apps/universal-demo-app/tsconfig.spec.json",
- "karmaConfig": "projects/apps/universal-demo-app/karma.conf.js",
- "assets": [
- {
- "glob": "**/*",
- "input": "projects/apps/universal-demo-app/public"
- }
- ],
- "styles": ["projects/apps/universal-demo-app/src/styles.scss"],
- "scripts": []
+ "reportsDirectory": "../../../coverage/projects/apps/universal-demo-app"
+ },
+ "configurations": {
+ "ssr": {
+ "config": "projects/apps/universal-demo-app/vite.config.ssr.mts",
+ "reportsDirectory": "../../../coverage/projects/apps/universal-demo-app/ssr"
+ }
}
}
}
diff --git a/projects/apps/universal-demo-app/src/app/app.component.spec.ts b/projects/apps/universal-demo-app/src/app/app.component.spec.ts
index f2fdb494..c0cd1df5 100644
--- a/projects/apps/universal-demo-app/src/app/app.component.spec.ts
+++ b/projects/apps/universal-demo-app/src/app/app.component.spec.ts
@@ -1,9 +1,21 @@
import { TestBed, waitForAsync } from '@angular/core/testing';
import { AppComponent } from './app.component';
+import { importProvidersFrom } from '@angular/core';
+import { FlexLayoutModule } from '@ngbracket/ngx-layout';
+
+function isServerEnvironment(): boolean {
+ return typeof process !== 'undefined';
+}
+
describe('AppComponent', () => {
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
imports: [AppComponent],
+ providers: [
+ importProvidersFrom(
+ FlexLayoutModule.withConfig({ serverLoaded: isServerEnvironment() })
+ ),
+ ],
}).compileComponents();
}));
it('should create the app', waitForAsync(() => {
diff --git a/projects/apps/universal-demo-app/src/karma.conf.js b/projects/apps/universal-demo-app/src/karma.conf.js
deleted file mode 100644
index ee9caa15..00000000
--- a/projects/apps/universal-demo-app/src/karma.conf.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// Karma configuration file, see link for more information
-// https://karma-runner.github.io/1.0/config/configuration-file.html
-
-module.exports = function (config) {
- config.set({
- basePath: '',
- frameworks: ['jasmine', '@angular-devkit/build-angular'],
- plugins: [
- require('karma-jasmine'),
- require('karma-chrome-launcher'),
- require('karma-jasmine-html-reporter'),
- require('karma-coverage-istanbul-reporter'),
- require('@angular-devkit/build-angular/plugins/karma')
- ],
- client: {
- clearContext: false // leave Jasmine Spec Runner output visible in browser
- },
- coverageIstanbulReporter: {
- dir: require('path').join(__dirname, '../coverage'),
- reports: ['html', 'lcovonly', 'text-summary'],
- fixWebpackSourcePaths: true
- },
- reporters: ['progress', 'kjhtml'],
- port: 9876,
- colors: true,
- logLevel: config.LOG_INFO,
- autoWatch: true,
- browsers: ['Chrome'],
- singleRun: false
- });
-};
\ No newline at end of file
diff --git a/projects/apps/universal-demo-app/src/test-setup.ssr.ts b/projects/apps/universal-demo-app/src/test-setup.ssr.ts
new file mode 100644
index 00000000..e84136e6
--- /dev/null
+++ b/projects/apps/universal-demo-app/src/test-setup.ssr.ts
@@ -0,0 +1,12 @@
+import '@analogjs/vitest-angular/setup-zone';
+
+import { getTestBed } from '@angular/core/testing';
+import {
+ ServerTestingModule,
+ platformServerTesting,
+} from '@angular/platform-server/testing';
+
+getTestBed().initTestEnvironment(
+ ServerTestingModule,
+ platformServerTesting(),
+);
diff --git a/projects/apps/universal-demo-app/src/test.ts b/projects/apps/universal-demo-app/src/test-setup.ts
similarity index 82%
rename from projects/apps/universal-demo-app/src/test.ts
rename to projects/apps/universal-demo-app/src/test-setup.ts
index dfb090f7..bda8071e 100644
--- a/projects/apps/universal-demo-app/src/test.ts
+++ b/projects/apps/universal-demo-app/src/test-setup.ts
@@ -1,3 +1,6 @@
+import '@analogjs/vitest-angular/setup-zone';
+import './styles.scss';
+
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
diff --git a/projects/apps/universal-demo-app/tsconfig.json b/projects/apps/universal-demo-app/tsconfig.json
new file mode 100644
index 00000000..1424f6fd
--- /dev/null
+++ b/projects/apps/universal-demo-app/tsconfig.json
@@ -0,0 +1,30 @@
+{
+ "compilerOptions": {
+ "target": "es2022",
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true
+ },
+ "files": [],
+ "include": [],
+ "references": [
+ {
+ "path": "./tsconfig.app.json"
+ },
+
+ {
+ "path": "./tsconfig.spec.json"
+ }
+ ],
+ "extends": "../../../tsconfig.json",
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
diff --git a/projects/apps/universal-demo-app/tsconfig.spec.json b/projects/apps/universal-demo-app/tsconfig.spec.json
index d283ae8e..acc81366 100644
--- a/projects/apps/universal-demo-app/tsconfig.spec.json
+++ b/projects/apps/universal-demo-app/tsconfig.spec.json
@@ -3,12 +3,32 @@
"compilerOptions": {
"outDir": "../../../out-tsc/spec",
"types": [
- "jasmine"
+ "@vitest/browser/matchers",
+ "@vitest/browser/providers/playwright",
+ "vitest/globals",
+ "vitest/importMeta",
+ "vite/client",
+ "node",
+ "vitest"
]
},
- "files": ["src/test.ts"],
+ "files": [
+ "src/test-setup.ts",
+ "src/test-setup.ssr.ts"
+ ],
"include": [
- "src/**/*.spec.ts",
- "src/**/*.d.ts"
+ "vite.config.ts",
+ "vite.config.mts",
+ "vitest.config.ts",
+ "vitest.config.mts",
+ "**/*.test.ts",
+ "**/*.spec.ts",
+ "**/*.test.tsx",
+ "**/*.spec.tsx",
+ "**/*.test.js",
+ "**/*.spec.js",
+ "**/*.test.jsx",
+ "**/*.spec.jsx",
+ "**/*.d.ts"
]
}
diff --git a/projects/apps/universal-demo-app/vite.config.mts b/projects/apps/universal-demo-app/vite.config.mts
new file mode 100644
index 00000000..7f24f72d
--- /dev/null
+++ b/projects/apps/universal-demo-app/vite.config.mts
@@ -0,0 +1,36 @@
+///
+import { defineConfig, UserConfig } from 'vite';
+import angular from '@analogjs/vite-plugin-angular';
+import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
+import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin';
+
+const isCi = !!process.env['CI'];
+
+export const config = {
+ root: __dirname,
+ cacheDir: '../../../node_modules/.vite/projects/apps/universal-demo-app'.replace('/node_modules/', isCi ? '/' : '/node_modules/'),
+ plugins: [angular(), nxViteTsPaths(), nxCopyAssetsPlugin(['*.md'])],
+ // Uncomment this if you are using workers.
+ // worker: {
+ // plugins: [ nxViteTsPaths() ],
+ // },
+ test: {
+ globals: true,
+ include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
+ setupFiles: ['./src/test-setup.ts'],
+ reporters: ['default'],
+ coverage: {
+ reportsDirectory: '../../../coverage/projects/apps/universal-demo-app',
+ provider: 'v8',
+ },
+ browser: {
+ enabled: true,
+ provider: 'playwright',
+ // https://vitest.dev/guide/browser/playwright
+ name: 'chromium',
+ fileParallelism: isCi ? false : undefined, // Prevent hanging tests timing out in Firefox
+ },
+ },
+} as const satisfies UserConfig;
+
+export default defineConfig(config);
diff --git a/projects/apps/universal-demo-app/vite.config.ssr.mts b/projects/apps/universal-demo-app/vite.config.ssr.mts
new file mode 100644
index 00000000..6dd494ee
--- /dev/null
+++ b/projects/apps/universal-demo-app/vite.config.ssr.mts
@@ -0,0 +1,51 @@
+///
+import { defineConfig, UserConfig } from 'vite';
+import { config as baseConfig } from './vite.config.mjs';
+
+const isCi = !!process.env['CI'];
+
+/**
+ * Prevent flaky SSR tests
+ */
+const forksPoolTestOptions: UserConfig['test'] = {
+ pool: 'forks',
+ poolOptions: {
+ forks: {
+ /**
+ * @see https://v2.vitest.dev/config/#pooloptions-forks-singlefork
+ */
+ singleFork: true,
+ },
+ },
+};
+
+/**
+ * The following options prevent SSR tests from failing in GitHub Actions
+ * runners due to limited resources and possibly memory leaks.
+ */
+const ciTestOptions: UserConfig['test'] = {
+ fileParallelism: false,
+ minWorkers: 1,
+ maxWorkers: 2,
+};
+
+export default defineConfig({
+ ...baseConfig,
+ cacheDir: baseConfig.cacheDir.replace('/.vite/', '/.vite/ssr/'),
+ test: {
+ ...baseConfig.test,
+ name: 'universal-demo:ssr',
+ browser: undefined,
+ environment: 'jsdom',
+ setupFiles: ['./src/test-setup.ssr.ts'],
+ coverage: {
+ ...baseConfig.test.coverage,
+ reportsDirectory: baseConfig.test.coverage.reportsDirectory.replace(
+ '/coverage/',
+ '/coverage/ssr/'
+ ),
+ },
+ ...forksPoolTestOptions,
+ ...(isCi ? ciTestOptions : {}),
+ },
+});
diff --git a/projects/apps/updated-demo/project.json b/projects/apps/updated-demo/project.json
index 88e83607..49c21c92 100644
--- a/projects/apps/updated-demo/project.json
+++ b/projects/apps/updated-demo/project.json
@@ -80,6 +80,13 @@
"staticFilePath": "dist/projects/apps/updated-demo/browser",
"spa": true
}
+ },
+ "test": {
+ "executor": "@nx/vite:test",
+ "outputs": ["{options.reportsDirectory}"],
+ "options": {
+ "reportsDirectory": "../../../coverage/projects/apps/updated-demo"
+ }
}
}
}
diff --git a/projects/apps/updated-demo/src/app/pages/grid/layout/layout.component.spec.ts b/projects/apps/updated-demo/src/app/pages/grid/layout/layout.component.spec.ts
index 8ebce500..3286be2a 100644
--- a/projects/apps/updated-demo/src/app/pages/grid/layout/layout.component.spec.ts
+++ b/projects/apps/updated-demo/src/app/pages/grid/layout/layout.component.spec.ts
@@ -1,5 +1,7 @@
+import { provideLocationMocks } from '@angular/common/testing';
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { LayoutComponent } from '../../layout/layout.component';
+import { provideRouter } from '@angular/router';
describe('LayoutComponent', () => {
let component: LayoutComponent;
@@ -8,6 +10,10 @@ describe('LayoutComponent', () => {
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
imports: [],
+ providers: [
+ provideRouter([]),
+ provideLocationMocks(),
+ ],
}).compileComponents();
}));
diff --git a/projects/apps/updated-demo/src/app/pages/grid/layout/layout.component.ts b/projects/apps/updated-demo/src/app/pages/grid/layout/layout.component.ts
index 7d9c6166..df9ff3ce 100644
--- a/projects/apps/updated-demo/src/app/pages/grid/layout/layout.component.ts
+++ b/projects/apps/updated-demo/src/app/pages/grid/layout/layout.component.ts
@@ -6,8 +6,8 @@ import {
GridAreasDirective,
GridColumnsDirective,
GridGapDirective,
+ StyleDirective,
} from '@ngbracket/ngx-layout';
-import { StyleDirective } from 'projects/libs/flex-layout/extended/style/style';
@Component({
selector: 'app-grid-layout',
diff --git a/projects/apps/updated-demo/src/app/pages/layout/alignment/alignment.component.ts b/projects/apps/updated-demo/src/app/pages/layout/alignment/alignment.component.ts
index 1ba11b55..0e2d0545 100644
--- a/projects/apps/updated-demo/src/app/pages/layout/alignment/alignment.component.ts
+++ b/projects/apps/updated-demo/src/app/pages/layout/alignment/alignment.component.ts
@@ -3,9 +3,11 @@ import { FormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
import { MatRadioModule } from '@angular/material/radio';
-import { FlexDirective } from '@ngbracket/ngx-layout';
-import { LayoutAlignDirective } from 'projects/libs/flex-layout/flex/layout-align/layout-align';
-import { LayoutDirective } from 'projects/libs/flex-layout/flex/layout/layout';
+import {
+ FlexDirective,
+ LayoutAlignDirective,
+ LayoutDirective,
+} from '@ngbracket/ngx-layout';
@Component({
selector: 'app-alignment',
diff --git a/projects/apps/updated-demo/src/app/pages/layout/direction/direction.component.spec.ts b/projects/apps/updated-demo/src/app/pages/layout/direction/direction.component.spec.ts
index e69de29b..62b9a854 100644
--- a/projects/apps/updated-demo/src/app/pages/layout/direction/direction.component.spec.ts
+++ b/projects/apps/updated-demo/src/app/pages/layout/direction/direction.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
+import { DirectionComponent } from './direction.component';
+
+describe('DirectionComponent', () => {
+ let component: DirectionComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(waitForAsync(() => {
+ TestBed.configureTestingModule({
+ imports: [],
+ }).compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(DirectionComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/projects/apps/updated-demo/src/app/pages/layout/row-fill-wrap/row-fill-wrap.component.spec.ts b/projects/apps/updated-demo/src/app/pages/layout/row-fill-wrap/row-fill-wrap.component.spec.ts
index e69de29b..2f1e3213 100644
--- a/projects/apps/updated-demo/src/app/pages/layout/row-fill-wrap/row-fill-wrap.component.spec.ts
+++ b/projects/apps/updated-demo/src/app/pages/layout/row-fill-wrap/row-fill-wrap.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
+import { RowFillWrapComponent } from './row-fill-wrap.component';
+
+describe('RowFillWrapComponent', () => {
+ let component: RowFillWrapComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(waitForAsync(() => {
+ TestBed.configureTestingModule({
+ imports: [],
+ }).compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(RowFillWrapComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/projects/libs/flex-layout/test.ts b/projects/apps/updated-demo/src/test-setup.ts
similarity index 79%
rename from projects/libs/flex-layout/test.ts
rename to projects/apps/updated-demo/src/test-setup.ts
index 72bc4716..ad5acb3b 100644
--- a/projects/libs/flex-layout/test.ts
+++ b/projects/apps/updated-demo/src/test-setup.ts
@@ -1,3 +1,6 @@
+import '@analogjs/vitest-angular/setup-zone';
+import './styles.scss';
+
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
diff --git a/projects/apps/updated-demo/tsconfig.spec.json b/projects/apps/updated-demo/tsconfig.spec.json
new file mode 100644
index 00000000..d3f553bd
--- /dev/null
+++ b/projects/apps/updated-demo/tsconfig.spec.json
@@ -0,0 +1,31 @@
+{
+ "extends": "../../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../../../out-tsc/spec",
+ "types": [
+ "@vitest/browser/matchers",
+ "@vitest/browser/providers/playwright",
+ "vitest/globals",
+ "vitest/importMeta",
+ "vite/client",
+ "node",
+ "vitest"
+ ]
+ },
+ "files": ["src/test-setup.ts"],
+ "include": [
+ "vite.config.ts",
+ "vite.config.mts",
+ "vitest.config.ts",
+ "vitest.config.mts",
+ "**/*.test.ts",
+ "**/*.spec.ts",
+ "**/*.test.tsx",
+ "**/*.spec.tsx",
+ "**/*.test.js",
+ "**/*.spec.js",
+ "**/*.test.jsx",
+ "**/*.spec.jsx",
+ "**/*.d.ts"
+ ]
+}
diff --git a/projects/apps/updated-demo/vite.config.mts b/projects/apps/updated-demo/vite.config.mts
new file mode 100644
index 00000000..2e3e900c
--- /dev/null
+++ b/projects/apps/updated-demo/vite.config.mts
@@ -0,0 +1,34 @@
+///
+import { defineConfig } from 'vite';
+import angular from '@analogjs/vite-plugin-angular';
+import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
+import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin';
+
+const isCi = !!process.env['CI'];
+
+export default defineConfig({
+ root: __dirname,
+ cacheDir: '../../../node_modules/.vite/projects/apps/updated-demo'.replace('/node_modules/', isCi ? '/' : '/node_modules/'),
+ plugins: [angular(), nxViteTsPaths(), nxCopyAssetsPlugin(['*.md'])],
+ // Uncomment this if you are using workers.
+ // worker: {
+ // plugins: [ nxViteTsPaths() ],
+ // },
+ test: {
+ globals: true,
+ include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
+ setupFiles: ['./src/test-setup.ts'],
+ reporters: ['default'],
+ coverage: {
+ reportsDirectory: '../../../coverage/projects/apps/updated-demo',
+ provider: 'v8',
+ },
+ browser: {
+ enabled: true,
+ provider: 'playwright',
+ // https://vitest.dev/guide/browser/playwright
+ name: 'chromium',
+ fileParallelism: isCi ? false : undefined, // Prevent hanging tests timing out in Firefox
+ },
+ },
+});
diff --git a/projects/libs/flex-layout/_private-utils/testing/custom-matchers.ts b/projects/libs/flex-layout/_private-utils/testing/custom-matchers.ts
index c92fadb7..d02a56dc 100644
--- a/projects/libs/flex-layout/_private-utils/testing/custom-matchers.ts
+++ b/projects/libs/flex-layout/_private-utils/testing/custom-matchers.ts
@@ -1,48 +1,31 @@
-declare var global: any;
-const _global = (typeof window === 'undefined' ? global : window);
-
-import { _dom as _ } from './dom-tools';
-
import {
applyCssPrefixes,
extendObject,
} from '@ngbracket/ngx-layout/_private-utils';
import { StyleUtils } from '@ngbracket/ngx-layout/core';
+ // This line is important even if imported values are not used! See https://stackoverflow.com/a/78524129/1071200
+import type { Assertion, AsymmetricMatchersContaining, ExpectStatic } from 'vitest';
+// import { expect } from 'vitest';
+
+declare module 'vitest' {
+ interface Assertion extends NgMatchers {}
+ interface AsymmetricMatchersContaining extends NgMatchers {}
+}
-export const expect: (actual: any) => NgMatchers = _global.expect;
+interface ExpectationResult {
+ pass: boolean;
+ message: () => string;
+ // If you pass these, they will automatically appear inside a diff when
+ // the matcher does not pass, so you don't need to print the diff yourself
+ actual?: unknown;
+ expected?: unknown;
+}
/**
* Jasmine matchers that check Angular specific conditions.
*/
-export interface NgMatchers extends jasmine.Matchers {
- /**
- * Expect the element to have exactly the given text.
- *
- * ## Example
- *
- * {@example testing/ts/matchers.ts region='toHaveText'}
- */
- toHaveText(expected: string): boolean;
-
- /**
- * Compare key:value pairs as matching EXACTLY
- */
- toHaveMap(expected: { [k: string]: string }): boolean;
-
- /**
- * Expect the element to have the given CSS class.
- *
- * ## Example
- *
- * {@example testing/ts/matchers.ts region='toHaveCssClass'}
- */
- toHaveCssClass(expected: string): boolean;
-
- /**
- * Expect the element to have the given pairs of attribute name and attribute value
- */
- toHaveAttributes(expected: { [k: string]: string }): boolean;
-
+// export interface NgMatchers extends jasmine.Matchers {
+export interface NgMatchers {
/**
* Expect the element to have the given CSS styles injected INLINE
*
@@ -50,7 +33,10 @@ export interface NgMatchers extends jasmine.Matchers {
*
* {@example testing/ts/matchers.ts region='toHaveStyle'}
*/
- toHaveStyle(expected: { [k: string]: string } | string): boolean;
+ toHaveInlineStyle(
+ expected: { [k: string]: string } | string,
+ styler: StyleUtils
+ ): R;
/**
* Expect the element to have the given CSS inline OR computed styles.
@@ -59,12 +45,12 @@ export interface NgMatchers extends jasmine.Matchers {
*
* {@example testing/ts/matchers.ts region='toHaveStyle'}
*/
- toHaveStyle(expected: { [k: string]: string } | string): boolean;
+ toHaveCSS(expected: { [k: string]: string } | string, styler: StyleUtils): R;
- /**
- * Invert the matchers.
- */
- not: NgMatchers;
+ // /**
+ // * Invert the matchers.
+ // */
+ // not: NgMatchers;
}
/**
@@ -72,120 +58,23 @@ export interface NgMatchers extends jasmine.Matchers {
* in the Karma/Jasmine testing for the Layout Directives
* in `src/lib/flex/api`
*/
-export const customMatchers: jasmine.CustomMatcherFactories = {
- toEqual: function (util) {
- return {
- compare: function (actual: any, expected: any) {
- return { pass: util.equals(actual, expected) };
- },
- };
- },
-
- toHaveText: function () {
- return {
- compare: function (actual: any, expectedText: string) {
- const actualText = elementText(actual);
- return {
- pass: actualText == expectedText,
- get message() {
- return 'Expected ' + actualText + ' to be equal to ' + expectedText;
- },
- };
- },
- };
- },
-
- toHaveCssClass: function () {
- return { compare: buildError(false), negativeCompare: buildError(true) };
-
- function buildError(isNot: boolean) {
- return function (actual: any, className: string) {
- return {
- pass: _.hasClass(actual, className) == !isNot,
- get message() {
- return `
- Expected ${actual.outerHTML} ${isNot ? 'not ' : ''}
- to contain the CSS class '${className}'
- `;
- },
- };
- };
- }
- },
-
- toHaveMap: function () {
- return {
- compare: function (
- actual: { [k: string]: string },
- map: { [k: string]: string },
- ) {
- let allPassed: boolean;
- allPassed = Object.keys(map).length !== 0;
- Object.keys(map).forEach((key) => {
- allPassed = allPassed && actual[key] === map[key];
- });
-
- return {
- pass: allPassed,
- get message() {
- return `
- Expected ${JSON.stringify(actual)} ${
- !allPassed ? ' ' : 'not '
- } to contain the
- '${JSON.stringify(map)}'
- `;
- },
- };
- },
- };
- },
-
- toHaveAttributes: function () {
- return {
- compare: function (actual: any, map: { [k: string]: string }) {
- let allPassed: boolean;
- let attributeNames = Object.keys(map);
- allPassed = attributeNames.length !== 0;
- attributeNames.forEach((name) => {
- allPassed =
- allPassed &&
- _.hasAttribute(actual, name) &&
- _.getAttribute(actual, name) === map[name];
- });
- return {
- pass: allPassed,
- get message() {
- return `
- Expected ${actual.outerHTML} ${
- allPassed ? 'not ' : ''
- } attributes to contain
- '${JSON.stringify(map)}'
- `;
- },
- };
- },
- };
- },
-
+export const customMatchers: Record<
+ string,
+ (received: any, ...expected: any[]) => ExpectationResult
+> = {
/**
* Check element's inline styles only
*/
- toHaveStyle: function () {
- return {
- compare: buildCompareStyleFunction(true),
- };
- },
+ toHaveInlineStyle: buildCompareStyleFunction(true),
/**
* Check element's css stylesheet only (if not present inline)
*/
- toHaveCSS: function () {
- return {
- compare: buildCompareStyleFunction(false),
- };
- },
+ toHaveCSS: buildCompareStyleFunction(false),
};
+((globalThis as any).expect as ExpectStatic).extend(customMatchers);
+
/**
* Curried value to function to check styles that are inline or in a stylesheet for the
* specified DOM element.
@@ -195,7 +84,7 @@ function buildCompareStyleFunction(inlineOnly = true) {
actual: any,
styles: { [k: string]: string } | string,
styler: StyleUtils,
- ) {
+ ): ExpectationResult {
const found = {};
const styleMap: { [k: string]: string } = {};
@@ -222,7 +111,7 @@ function buildCompareStyleFunction(inlineOnly = true) {
return {
pass: allPassed,
- get message() {
+ message() {
const expectedValueStr =
typeof styles === 'string'
? styleMap
@@ -276,32 +165,3 @@ function hasPrefixedStyles(
// Return BOTH confirmation and current computed key values (if confirmation == false)
return { elHasStyle, current };
}
-
-function elementText(n: any): string {
- const hasNodes = (m: any) => {
- const children = _.childNodes(m);
- return children && children['length'];
- };
-
- if (n instanceof Array) {
- return n.map(elementText).join('');
- }
-
- if (_.isCommentNode(n)) {
- return '';
- }
-
- if (_.isElementNode(n) && _.tagName(n) == 'CONTENT') {
- return elementText(Array.prototype.slice.apply(_.getDistributedNodes(n)));
- }
-
- if (_.hasShadowRoot(n)) {
- return elementText(_.childNodesAsList(_.getShadowRoot(n)));
- }
-
- if (hasNodes(n)) {
- return elementText(_.childNodesAsList(n));
- }
-
- return _.getText(n);
-}
diff --git a/projects/libs/flex-layout/_private-utils/testing/helpers.ts b/projects/libs/flex-layout/_private-utils/testing/helpers.ts
index 7243c4ce..db1d14e0 100644
--- a/projects/libs/flex-layout/_private-utils/testing/helpers.ts
+++ b/projects/libs/flex-layout/_private-utils/testing/helpers.ts
@@ -2,6 +2,10 @@ import { DebugElement, Type } from '@angular/core';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { extendObject } from '@ngbracket/ngx-layout/_private-utils';
+import type { Assertion, ExpectStatic } from 'vitest';
+// import { expect } from 'vitest';
+
+const expect = ((globalThis as any).expect as ExpectStatic);
export type ComponentClazzFn = () => Type;
@@ -36,17 +40,17 @@ export function makeCreateTestComponent(getClass: ComponentClazzFn) {
export function expectNativeEl(
fixture: ComponentFixture,
instanceOptions?: any,
-): any {
+): Assertion {
extendObject(fixture.componentInstance, instanceOptions || {});
fixture.detectChanges();
- return expect(fixture.debugElement.children[0].nativeElement);
+ return expect(fixture.debugElement.children[0].nativeElement as HTMLElement);
}
/**
*
*/
-export function expectEl(debugEl: DebugElement): any {
- return expect(debugEl.nativeElement);
+export function expectEl(debugEl: DebugElement): Assertion {
+ return expect(debugEl.nativeElement as HTMLElement);
}
export function queryFor(
diff --git a/projects/libs/flex-layout/core/add-alias.ts b/projects/libs/flex-layout/core/add-alias.ts
index 0ec6e7cf..c2a33042 100644
--- a/projects/libs/flex-layout/core/add-alias.ts
+++ b/projects/libs/flex-layout/core/add-alias.ts
@@ -1,4 +1,4 @@
-import { OptionalBreakPoint } from './breakpoints';
+import { OptionalBreakPoint } from './breakpoints/break-point-registry';
import { MediaChange } from './media-change';
/**
diff --git a/projects/libs/flex-layout/core/base/index.ts b/projects/libs/flex-layout/core/base/index.ts
deleted file mode 100644
index a536933e..00000000
--- a/projects/libs/flex-layout/core/base/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './base2';
diff --git a/projects/libs/flex-layout/core/breakpoints/data/orientation-break-points.spec.ts b/projects/libs/flex-layout/core/breakpoints/data/orientation-break-points.spec.ts
index 70f1fc13..19850304 100644
--- a/projects/libs/flex-layout/core/breakpoints/data/orientation-break-points.spec.ts
+++ b/projects/libs/flex-layout/core/breakpoints/data/orientation-break-points.spec.ts
@@ -8,12 +8,10 @@
import { inject, TestBed, waitForAsync } from '@angular/core/testing';
import { FlexLayoutModule } from '@ngbracket/ngx-layout';
-import {
- BreakPoint,
- BREAKPOINTS,
- DEFAULT_BREAKPOINTS,
- ORIENTATION_BREAKPOINTS,
-} from '../../public-api';
+import { BreakPoint } from '../break-point';
+import { BREAKPOINTS } from '../break-points-token';
+import { DEFAULT_BREAKPOINTS } from './break-points';
+import { ORIENTATION_BREAKPOINTS } from './orientation-break-points';
describe('break-point-provider', () => {
let breakPoints: BreakPoint[];
diff --git a/projects/libs/flex-layout/core/breakpoints/index.ts b/projects/libs/flex-layout/core/breakpoints/index.ts
deleted file mode 100644
index ca771995..00000000
--- a/projects/libs/flex-layout/core/breakpoints/index.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export * from './data/break-points';
-export * from './data/orientation-break-points';
-
-export * from './break-point';
-export * from './break-point-registry';
-export * from './break-points-token';
diff --git a/projects/libs/flex-layout/core/match-media/index.ts b/projects/libs/flex-layout/core/match-media/index.ts
deleted file mode 100644
index 6ff24e00..00000000
--- a/projects/libs/flex-layout/core/match-media/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from './match-media';
-export * from './mock/mock-match-media';
diff --git a/projects/libs/flex-layout/core/match-media/match-media.spec.ts b/projects/libs/flex-layout/core/match-media/match-media.spec.ts
index bf3b15b7..f57b52c0 100644
--- a/projects/libs/flex-layout/core/match-media/match-media.spec.ts
+++ b/projects/libs/flex-layout/core/match-media/match-media.spec.ts
@@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license
*/
import { inject, TestBed } from '@angular/core/testing';
-import { BreakPoint } from '@ngbracket/ngx-layout/core';
+import { BreakPoint } from '../breakpoints/break-point';
import { Subscription } from 'rxjs';
import { BreakPointRegistry } from '../breakpoints/break-point-registry';
diff --git a/projects/libs/flex-layout/core/match-media/mock/mock-match-media.spec.ts b/projects/libs/flex-layout/core/match-media/mock/mock-match-media.spec.ts
index dce313c4..06ad1fa6 100644
--- a/projects/libs/flex-layout/core/match-media/mock/mock-match-media.spec.ts
+++ b/projects/libs/flex-layout/core/match-media/mock/mock-match-media.spec.ts
@@ -8,7 +8,7 @@
import { TestBed, inject } from '@angular/core/testing';
-import { MatchMedia } from '../../match-media/match-media';
+import { MatchMedia } from '../match-media';
import { MediaChange } from '../../media-change';
import { BreakPoint } from '../../breakpoints/break-point';
import { MockMatchMedia, MockMatchMediaProvider } from './mock-match-media';
@@ -229,7 +229,7 @@ describe('mock-match-media', () => {
bpMd = breakPoints.findByAlias('md'),
bpGtMd = breakPoints.findByAlias('gt-md'),
bpLg = breakPoints.findByAlias('lg');
- let subscription = mediaController.observe().subscribe(() => {});
+ let subscription = mediaController.observe().subscribe(() => { });
mediaController.activate(bpGtSm!.mediaQuery);
expect(mediaController.isActive(bpGtSm!.mediaQuery)).toBeTruthy();
diff --git a/projects/libs/flex-layout/core/media-marshaller/media-marshaller.spec.ts b/projects/libs/flex-layout/core/media-marshaller/media-marshaller.spec.ts
index 94d15613..252f4b0e 100644
--- a/projects/libs/flex-layout/core/media-marshaller/media-marshaller.spec.ts
+++ b/projects/libs/flex-layout/core/media-marshaller/media-marshaller.spec.ts
@@ -26,8 +26,8 @@ describe('media-marshaller', () => {
TestBed.configureTestingModule({
providers: [MockMatchMediaProvider],
});
- spyOn(MediaMarshaller.prototype, 'onMediaChange').and.callThrough();
- spyOn(MediaMarshaller.prototype, 'updateStyles').and.callThrough();
+ vi.spyOn(MediaMarshaller.prototype, 'onMediaChange');
+ vi.spyOn(MediaMarshaller.prototype, 'updateStyles');
});
beforeEach(inject(
@@ -169,8 +169,8 @@ describe('media-marshaller', () => {
},
],
});
- spyOn(MediaMarshaller.prototype, 'onMediaChange').and.callThrough();
- spyOn(MediaMarshaller.prototype, 'updateStyles').and.callThrough();
+ vi.spyOn(MediaMarshaller.prototype, 'onMediaChange');
+ vi.spyOn(MediaMarshaller.prototype, 'updateStyles');
});
beforeEach(inject(
diff --git a/projects/libs/flex-layout/core/media-observer/index.ts b/projects/libs/flex-layout/core/media-observer/index.ts
deleted file mode 100644
index bc239f70..00000000
--- a/projects/libs/flex-layout/core/media-observer/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './media-observer';
diff --git a/projects/libs/flex-layout/core/media-trigger/index.ts b/projects/libs/flex-layout/core/media-trigger/index.ts
deleted file mode 100644
index 2a1698a8..00000000
--- a/projects/libs/flex-layout/core/media-trigger/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './media-trigger';
diff --git a/projects/libs/flex-layout/core/public-api.ts b/projects/libs/flex-layout/core/public-api.ts
index 6c3cc93a..0bab6be6 100644
--- a/projects/libs/flex-layout/core/public-api.ts
+++ b/projects/libs/flex-layout/core/public-api.ts
@@ -2,19 +2,28 @@ export * from './add-alias';
export * from './browser-provider';
export * from './media-change';
export * from './module';
-export * from './stylesheet-map/index';
-export * from './tokens/index';
+export * from './stylesheet-map/stylesheet-map';
+export * from './tokens/breakpoint-token';
+export * from './tokens/library-config';
+export * from './tokens/server-token';
-export * from './base/index';
-export * from './breakpoints/index';
+export * from './base/base2';
+export * from './breakpoints/data/break-points';
+export * from './breakpoints/data/orientation-break-points';
+export * from './breakpoints/break-point';
+export * from './breakpoints/break-point-registry';
+export * from './breakpoints/break-points-token';
export {
MatchMedia as ɵMatchMedia,
+} from './match-media/match-media';
+export {
MockMatchMedia as ɵMockMatchMedia,
MockMatchMediaProvider as ɵMockMatchMediaProvider,
-} from './match-media/index';
-export * from './media-observer/index';
-export * from './media-trigger/index';
-export * from './utils/index';
+} from './match-media/mock/mock-match-media';
+export * from './media-observer/media-observer';
+export * from './media-trigger/media-trigger';
+export * from './utils/array';
+export * from './utils/sort';
export * from './basis-validator/basis-validator';
export * from './media-marshaller/media-marshaller';
diff --git a/projects/libs/flex-layout/core/style-utils/style-utils.spec.ts b/projects/libs/flex-layout/core/style-utils/style-utils.spec.ts
index 00124aa7..2f62ee55 100644
--- a/projects/libs/flex-layout/core/style-utils/style-utils.spec.ts
+++ b/projects/libs/flex-layout/core/style-utils/style-utils.spec.ts
@@ -10,7 +10,6 @@ import { Component, PLATFORM_ID } from '@angular/core';
import { ComponentFixture, inject, TestBed } from '@angular/core/testing';
import {
- customMatchers,
expectNativeEl,
makeCreateTestComponent,
} from '@ngbracket/ngx-layout/_private-utils/testing';
@@ -37,7 +36,7 @@ describe('styler', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -51,7 +50,7 @@ describe('styler', () => {
componentWithTemplate(`
`);
- expectNativeEl(fixture).not.toHaveStyle({ display: 'block' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'block' }, styler);
});
it('should find to "display" for inline style ', () => {
diff --git a/projects/libs/flex-layout/core/stylesheet-map/index.ts b/projects/libs/flex-layout/core/stylesheet-map/index.ts
deleted file mode 100644
index 9681e9c8..00000000
--- a/projects/libs/flex-layout/core/stylesheet-map/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './stylesheet-map';
diff --git a/projects/libs/flex-layout/core/tokens/index.ts b/projects/libs/flex-layout/core/tokens/index.ts
deleted file mode 100644
index fe1b3998..00000000
--- a/projects/libs/flex-layout/core/tokens/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export * from './breakpoint-token';
-export * from './library-config';
-export * from './server-token';
diff --git a/projects/libs/flex-layout/core/utils/index.ts b/projects/libs/flex-layout/core/utils/index.ts
deleted file mode 100644
index 6c49d114..00000000
--- a/projects/libs/flex-layout/core/utils/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from './array';
-export * from './sort';
diff --git a/projects/libs/flex-layout/extended/class/class.spec.ts b/projects/libs/flex-layout/extended/class/class.spec.ts
index 391e50b3..4f0a3229 100644
--- a/projects/libs/flex-layout/extended/class/class.spec.ts
+++ b/projects/libs/flex-layout/extended/class/class.spec.ts
@@ -21,11 +21,9 @@ import {
ɵMockMatchMedia as MockMatchMedia,
ɵMockMatchMediaProvider as MockMatchMediaProvider,
} from '@ngbracket/ngx-layout/core';
-import { DefaultClassDirective } from '@ngbracket/ngx-layout/extended';
+import { DefaultClassDirective } from './class';
import {
- customMatchers,
- expect,
expectNativeEl,
makeCreateTestComponent,
queryFor,
@@ -48,7 +46,7 @@ describe('class directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -69,53 +67,53 @@ describe('class directive', () => {
it(`should apply '${selector}' with '${mq}' media query`, () => {
createTestComponent(``);
mediaController.activate(mq);
- expectNativeEl(fixture).toHaveCssClass(selector);
+ expectNativeEl(fixture).toHaveClass(selector);
});
});
it('should merge `ngClass` values with any `class` values', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveCssClass('class0');
- expectNativeEl(fixture).toHaveCssClass('class1');
- expectNativeEl(fixture).toHaveCssClass('class2');
+ expectNativeEl(fixture).toHaveClass('class0');
+ expectNativeEl(fixture).toHaveClass('class1');
+ expectNativeEl(fixture).toHaveClass('class2');
});
it('should override base `class` values with responsive ngClass string', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveCssClass('class0');
- expectNativeEl(fixture).not.toHaveCssClass('what');
- expectNativeEl(fixture).not.toHaveCssClass('class2');
+ expectNativeEl(fixture).toHaveClass('class0');
+ expectNativeEl(fixture).not.toHaveClass('what');
+ expectNativeEl(fixture).not.toHaveClass('class2');
// the CSS classes listed in the string (space delimited) are added,
// See https://angular.io/api/common/NgClass
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveCssClass('class0');
- expectNativeEl(fixture).toHaveCssClass('what');
- expectNativeEl(fixture).toHaveCssClass('class2');
+ expectNativeEl(fixture).toHaveClass('class0');
+ expectNativeEl(fixture).toHaveClass('what');
+ expectNativeEl(fixture).toHaveClass('class2');
mediaController.activate('lg');
- expectNativeEl(fixture).toHaveCssClass('class0');
- expectNativeEl(fixture).not.toHaveCssClass('what');
- expectNativeEl(fixture).not.toHaveCssClass('class2');
+ expectNativeEl(fixture).toHaveClass('class0');
+ expectNativeEl(fixture).not.toHaveClass('what');
+ expectNativeEl(fixture).not.toHaveClass('class2');
});
it('should use responsive ngClass string and remove without fallback', () => {
createTestComponent(``);
- expectNativeEl(fixture).not.toHaveCssClass('what');
- expectNativeEl(fixture).not.toHaveCssClass('class2');
+ expectNativeEl(fixture).not.toHaveClass('what');
+ expectNativeEl(fixture).not.toHaveClass('class2');
// the CSS classes listed in the string (space delimited) are added,
// See https://angular.io/api/common/NgClass
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveCssClass('what');
- expectNativeEl(fixture).toHaveCssClass('class2');
+ expectNativeEl(fixture).toHaveClass('what');
+ expectNativeEl(fixture).toHaveClass('class2');
mediaController.activate('lg');
- expectNativeEl(fixture).not.toHaveCssClass('what');
- expectNativeEl(fixture).not.toHaveCssClass('class2');
+ expectNativeEl(fixture).not.toHaveClass('what');
+ expectNativeEl(fixture).not.toHaveClass('class2');
});
it('should override base `class` values with responsive ngClass map', () => {
@@ -123,21 +121,21 @@ describe('class directive', () => {
`);
- expectNativeEl(fixture).toHaveCssClass('class0');
- expectNativeEl(fixture).not.toHaveCssClass('what');
- expectNativeEl(fixture).not.toHaveCssClass('class2');
+ expectNativeEl(fixture).toHaveClass('class0');
+ expectNativeEl(fixture).not.toHaveClass('what');
+ expectNativeEl(fixture).not.toHaveClass('class2');
// Object keys are CSS classes that get added when the expression given in
// the value evaluates to a truthy value, otherwise they are removed.
mediaController.activate('xs');
- expectNativeEl(fixture).not.toHaveCssClass('class0');
- expectNativeEl(fixture).toHaveCssClass('what');
- expectNativeEl(fixture).toHaveCssClass('class2');
+ expectNativeEl(fixture).not.toHaveClass('class0');
+ expectNativeEl(fixture).toHaveClass('what');
+ expectNativeEl(fixture).toHaveClass('class2');
mediaController.activate('lg');
- expectNativeEl(fixture).toHaveCssClass('class0');
- expectNativeEl(fixture).not.toHaveCssClass('what');
- expectNativeEl(fixture).not.toHaveCssClass('class2');
+ expectNativeEl(fixture).toHaveClass('class0');
+ expectNativeEl(fixture).not.toHaveClass('what');
+ expectNativeEl(fixture).not.toHaveClass('class2');
});
it('should keep the raw existing `class` with responsive updates', () => {
@@ -146,18 +144,18 @@ describe('class directive', () => {
`);
- expectNativeEl(fixture).toHaveCssClass('existing-class');
- expectNativeEl(fixture).toHaveCssClass('class1');
+ expectNativeEl(fixture).toHaveClass('existing-class');
+ expectNativeEl(fixture).toHaveClass('class1');
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveCssClass('xs-class');
- expectNativeEl(fixture).toHaveCssClass('existing-class');
- expectNativeEl(fixture).not.toHaveCssClass('class1');
+ expectNativeEl(fixture).toHaveClass('xs-class');
+ expectNativeEl(fixture).toHaveClass('existing-class');
+ expectNativeEl(fixture).not.toHaveClass('class1');
mediaController.activate('lg');
- expectNativeEl(fixture).not.toHaveCssClass('xs-class');
- expectNativeEl(fixture).toHaveCssClass('existing-class');
- expectNativeEl(fixture).toHaveCssClass('class1');
+ expectNativeEl(fixture).not.toHaveClass('xs-class');
+ expectNativeEl(fixture).toHaveClass('existing-class');
+ expectNativeEl(fixture).toHaveClass('class1');
});
it('should keep allow removal of class selector', () => {
@@ -168,14 +166,14 @@ describe('class directive', () => {
`);
- expectNativeEl(fixture).toHaveCssClass('existing-class');
+ expectNativeEl(fixture).toHaveClass('existing-class');
mediaController.activate('xs');
- expectNativeEl(fixture).not.toHaveCssClass('existing-class');
- expectNativeEl(fixture).toHaveCssClass('xs-class');
+ expectNativeEl(fixture).not.toHaveClass('existing-class');
+ expectNativeEl(fixture).toHaveClass('xs-class');
mediaController.activate('lg');
- expectNativeEl(fixture).not.toHaveCssClass('xs-class');
- expectNativeEl(fixture).toHaveCssClass('existing-class');
+ expectNativeEl(fixture).not.toHaveClass('xs-class');
+ expectNativeEl(fixture).toHaveClass('existing-class');
});
it('should keep existing ngClass selector', () => {
@@ -187,18 +185,18 @@ describe('class directive', () => {
`);
- expectNativeEl(fixture).toHaveCssClass('always');
- expectNativeEl(fixture).toHaveCssClass('existing-class');
+ expectNativeEl(fixture).toHaveClass('always');
+ expectNativeEl(fixture).toHaveClass('existing-class');
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveCssClass('always');
- expectNativeEl(fixture).toHaveCssClass('existing-class');
- expectNativeEl(fixture).toHaveCssClass('xs-class');
+ expectNativeEl(fixture).toHaveClass('always');
+ expectNativeEl(fixture).toHaveClass('existing-class');
+ expectNativeEl(fixture).toHaveClass('xs-class');
mediaController.activate('lg');
- expectNativeEl(fixture).toHaveCssClass('always');
- expectNativeEl(fixture).toHaveCssClass('existing-class');
- expectNativeEl(fixture).not.toHaveCssClass('xs-class');
+ expectNativeEl(fixture).toHaveClass('always');
+ expectNativeEl(fixture).toHaveClass('existing-class');
+ expectNativeEl(fixture).not.toHaveClass('xs-class');
});
it('should support more than one responsive breakpoint on one element', () => {
@@ -206,11 +204,11 @@ describe('class directive', () => {
``,
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveCssClass('xs-class');
- expectNativeEl(fixture).not.toHaveCssClass('mat-class');
+ expectNativeEl(fixture).toHaveClass('xs-class');
+ expectNativeEl(fixture).not.toHaveClass('mat-class');
mediaController.activate('md');
- expectNativeEl(fixture).not.toHaveCssClass('xs-class');
- expectNativeEl(fixture).toHaveCssClass('mat-class');
+ expectNativeEl(fixture).not.toHaveClass('xs-class');
+ expectNativeEl(fixture).toHaveClass('mat-class');
});
it('should support more than one responsive breakpoint on one element with undefined', () => {
@@ -218,7 +216,7 @@ describe('class directive', () => {
``,
);
mediaController.activate('md', true);
- expectNativeEl(fixture).toHaveCssClass('mat-class');
+ expectNativeEl(fixture).toHaveClass('mat-class');
});
it('should work with ngClass object notation', () => {
@@ -231,58 +229,58 @@ describe('class directive', () => {
hasX1: true,
hasX2: true,
hasX3: true,
- }).toHaveCssClass('x1');
+ }).toHaveClass('x1');
expectNativeEl(fixture, {
hasX1: true,
hasX2: true,
hasX3: true,
- }).not.toHaveCssClass('x2');
+ }).not.toHaveClass('x2');
expectNativeEl(fixture, {
hasX1: true,
hasX2: true,
hasX3: true,
- }).toHaveCssClass('x3');
+ }).toHaveClass('x3');
mediaController.activate('X');
expectNativeEl(fixture, {
hasX1: true,
hasX2: false,
hasX3: false,
- }).toHaveCssClass('x1');
+ }).toHaveClass('x1');
expectNativeEl(fixture, {
hasX1: true,
hasX2: false,
hasX3: false,
- }).not.toHaveCssClass('x2');
+ }).not.toHaveClass('x2');
expectNativeEl(fixture, {
hasX1: true,
hasX2: false,
hasX3: false,
- }).not.toHaveCssClass('x3');
+ }).not.toHaveClass('x3');
mediaController.activate('md');
expectNativeEl(fixture, {
hasX1: true,
hasX2: false,
hasX3: true,
- }).toHaveCssClass('x1');
+ }).toHaveClass('x1');
expectNativeEl(fixture, {
hasX1: true,
hasX2: false,
hasX3: true,
- }).not.toHaveCssClass('x2');
+ }).not.toHaveClass('x2');
expectNativeEl(fixture, {
hasX1: true,
hasX2: false,
hasX3: true,
- }).toHaveCssClass('x3');
+ }).toHaveClass('x3');
});
it('should work with ngClass array notation', () => {
createTestComponent(``);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveCssClass('xs-1');
- expectNativeEl(fixture).toHaveCssClass('xs-2');
+ expectNativeEl(fixture).toHaveClass('xs-1');
+ expectNativeEl(fixture).toHaveClass('xs-2');
});
it('should work with changing overlapping breakpoint activations', () => {
@@ -290,16 +288,16 @@ describe('class directive', () => {
'',
);
- expectNativeEl(fixture).toHaveCssClass('white');
+ expectNativeEl(fixture).toHaveClass('white');
mediaController.activate('xs', true);
- expectNativeEl(fixture).toHaveCssClass('green');
+ expectNativeEl(fixture).toHaveClass('green');
mediaController.activate('sm', true);
- expectNativeEl(fixture).toHaveCssClass('blue');
+ expectNativeEl(fixture).toHaveClass('blue');
mediaController.activate('xs', true);
- expectNativeEl(fixture).toHaveCssClass('green');
+ expectNativeEl(fixture).toHaveClass('green');
});
it('should work with material buttons', () => {
@@ -316,24 +314,20 @@ describe('class directive', () => {
let button = queryFor(fixture, '[mat-raised-button]')[0].nativeElement;
if (!isPlatformServer(platformId)) {
- expect(button).toHaveAttributes({
- 'mat-raised-button': '',
- });
+ expect(button).toHaveAttribute('mat-raised-button', '');
}
- expect(button).toHaveCssClass('btn-xs');
- expect(button).toHaveCssClass('mat-primary');
+ expect(button).toHaveClass('btn-xs');
+ expect(button).toHaveClass('mat-primary');
fixture.componentInstance.formButtonXs = false;
fixture.detectChanges();
button = queryFor(fixture, '[mat-raised-button]')[0].nativeElement;
if (!isPlatformServer(platformId)) {
- expect(button).toHaveAttributes({
- 'mat-raised-button': '',
- });
+ expect(button).toHaveAttribute('mat-raised-button', '');
}
- expect(button).not.toHaveCssClass('btn-xs');
- expect(button).toHaveCssClass('mat-primary');
+ expect(button).not.toHaveClass('btn-xs');
+ expect(button).toHaveClass('mat-primary');
});
});
diff --git a/projects/libs/flex-layout/extended/img-src/img-src.spec.ts b/projects/libs/flex-layout/extended/img-src/img-src.spec.ts
index 038c3864..16fd9ee9 100644
--- a/projects/libs/flex-layout/extended/img-src/img-src.spec.ts
+++ b/projects/libs/flex-layout/extended/img-src/img-src.spec.ts
@@ -18,8 +18,6 @@ import {
import {
_dom as _,
- customMatchers,
- expect,
expectEl,
makeCreateTestComponent,
queryFor,
@@ -78,7 +76,7 @@ describe('img-src directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -110,9 +108,7 @@ describe('img-src directive', () => {
const img = queryFor(fixture, 'img')[0].nativeElement;
fixture.detectChanges();
- expect(img).toHaveAttributes({
- src: '',
- });
+ expect(img).toHaveAttribute('src', '');
});
it('should work standard input bindings', () => {
@@ -124,7 +120,7 @@ describe('img-src directive', () => {
fixture.detectChanges();
if (isPlatformServer(platformId)) {
- expectEl(img).toHaveStyle(
+ expectEl(img).toHaveInlineStyle(
{
content: 'url(https://dummyimage.com/300x300/c72538/ffffff.png)',
},
@@ -134,21 +130,19 @@ describe('img-src directive', () => {
let url = 'https://dummyimage.com/700x400/258cc7/fff.png';
fixture.componentInstance.defaultSrc = url;
fixture.detectChanges();
- expectEl(img).toHaveStyle(
+ expectEl(img).toHaveInlineStyle(
{
content: `url(${url})`,
},
styler,
);
} else {
- expect(imgEl).toHaveAttributes({
- src: 'https://dummyimage.com/300x300/c72538/ffffff.png',
- });
+ expect(imgEl).toHaveAttribute('src', 'https://dummyimage.com/300x300/c72538/ffffff.png');
let url = 'https://dummyimage.com/700x400/258cc7/fff.png';
fixture.componentInstance.defaultSrc = url;
fixture.detectChanges();
- expect(imgEl).toHaveAttributes({ src: url });
+ expect(imgEl).toHaveAttribute('src', url);
}
});
@@ -159,9 +153,7 @@ describe('img-src directive', () => {
const img = queryFor(fixture, 'img')[0].nativeElement;
fixture.detectChanges();
- expect(img).toHaveAttributes({
- src: '',
- });
+ expect(img).toHaveAttribute('src', '');
});
it('should only work with "
" elements.', () => {
@@ -171,9 +163,7 @@ describe('img-src directive', () => {
const img = queryFor(fixture, 'iframe')[0].nativeElement;
fixture.detectChanges();
- expect(img).not.toHaveAttributes({
- src: '',
- });
+ expect(img).not.toHaveAttribute('src', '');
});
it('should not replace src on the server', () => {
@@ -184,7 +174,7 @@ describe('img-src directive', () => {
const img = queryFor(fixture, 'img')[0];
fixture.detectChanges();
- expectEl(img).not.toHaveStyle(
+ expectEl(img).not.toHaveInlineStyle(
{
content: 'url(https://dummyimage.com/300x300/c72538/ffffff.png)',
},
@@ -204,7 +194,7 @@ describe('img-src directive', () => {
const img = queryFor(fixture, 'img')[0];
- expectEl(img).toHaveStyle(
+ expectEl(img).toHaveInlineStyle(
{
content: `url(https://dummyimage.com/300x300/c72538/ffffff.png)`,
},
@@ -213,7 +203,7 @@ describe('img-src directive', () => {
mediaController.activate('md');
fixture.detectChanges();
- expectEl(img).toHaveStyle(
+ expectEl(img).toHaveInlineStyle(
{
content: `url(${SRC_URLS['md'][0]})`,
},
@@ -236,7 +226,7 @@ describe('img-src directive', () => {
fixture.detectChanges();
expect(imgEl).toBeDefined();
if (isPlatformServer(platformId)) {
- expectEl(img).toHaveStyle(
+ expectEl(img).toHaveInlineStyle(
{
content: `url(${SRC_URLS['md'][0]})`,
},
@@ -246,23 +236,19 @@ describe('img-src directive', () => {
// When activating an unused breakpoint, fallback to default [src] value
mediaController.activate('xl');
fixture.detectChanges();
- expectEl(img).toHaveStyle(
+ expectEl(img).toHaveInlineStyle(
{
content: `url(${SRC_URLS['xs'][0]})`,
},
styler,
);
} else {
- expect(imgEl).toHaveAttributes({
- src: SRC_URLS['md'][0],
- });
+ expect(imgEl).toHaveAttribute('src', SRC_URLS['md'][0]);
// When activating an unused breakpoint, fallback to default [src] value
mediaController.activate('xl');
fixture.detectChanges();
- expect(imgEl).toHaveAttributes({
- src: SRC_URLS['xs'][0],
- });
+ expect(imgEl).toHaveAttribute('src', SRC_URLS['xs'][0]);
}
});
@@ -278,7 +264,7 @@ describe('img-src directive', () => {
let imgEl = img.nativeElement;
expect(imgEl).toBeDefined();
if (isPlatformServer(platformId)) {
- expectEl(img).toHaveStyle(
+ expectEl(img).toHaveInlineStyle(
{
content: `url(${defaultSrc})`,
},
@@ -287,7 +273,7 @@ describe('img-src directive', () => {
mediaController.activate('xs');
fixture.detectChanges();
- expectEl(img).toHaveStyle(
+ expectEl(img).toHaveInlineStyle(
{
content: `url(${xsSrc})`,
},
@@ -296,28 +282,22 @@ describe('img-src directive', () => {
mediaController.activate('lg');
fixture.detectChanges();
- expectEl(img).toHaveStyle(
+ expectEl(img).toHaveInlineStyle(
{
content: `url(${defaultSrc})`,
},
styler,
);
} else {
- expect(imgEl).toHaveAttributes({
- src: defaultSrc,
- });
+ expect(imgEl).toHaveAttribute('src', defaultSrc);
mediaController.activate('xs');
fixture.detectChanges();
- expect(imgEl).toHaveAttributes({
- src: xsSrc,
- });
+ expect(imgEl).toHaveAttribute('src', xsSrc);
mediaController.activate('lg');
fixture.detectChanges();
- expect(imgEl).toHaveAttributes({
- src: defaultSrc,
- });
+ expect(imgEl).toHaveAttribute('src', defaultSrc);
}
});
@@ -333,10 +313,8 @@ describe('img-src directive', () => {
let imgEl = img.nativeElement;
expect(imgEl).toBeDefined();
if (isPlatformServer(platformId)) {
- expect(imgEl).toHaveAttributes({
- src: '',
- });
- expectEl(img).toHaveStyle(
+ expect(imgEl).toHaveAttribute('src', '');
+ expectEl(img).toHaveInlineStyle(
{
content: `url(${SRC_URLS['md'][0]})`,
},
@@ -346,26 +324,20 @@ describe('img-src directive', () => {
// When activating an unused breakpoint, fallback to default [src] value
mediaController.activate('xl');
fixture.detectChanges();
- expectEl(img).not.toHaveStyle(
+ expectEl(img).not.toHaveInlineStyle(
{
content: `url(${SRC_URLS['md'][0]})`,
},
styler,
);
- expect(imgEl).toHaveAttributes({
- src: '',
- });
+ expect(imgEl).toHaveAttribute('src', '');
} else {
- expect(imgEl).toHaveAttributes({
- src: SRC_URLS['md'][0],
- });
+ expect(imgEl).toHaveAttribute('src', SRC_URLS['md'][0]);
// When activating an unused breakpoint, fallback to default [src] value
mediaController.activate('xl');
fixture.detectChanges();
- expect(imgEl).toHaveAttributes({
- src: '',
- });
+ expect(imgEl).toHaveAttribute('src', '');
}
});
});
diff --git a/projects/libs/flex-layout/extended/show-hide/hide.spec.ts b/projects/libs/flex-layout/extended/show-hide/hide.spec.ts
index a6be9750..1d31bdaa 100644
--- a/projects/libs/flex-layout/extended/show-hide/hide.spec.ts
+++ b/projects/libs/flex-layout/extended/show-hide/hide.spec.ts
@@ -18,8 +18,6 @@ import {
} from '@ngbracket/ngx-layout/core';
import {
- customMatchers,
- expect,
expectNativeEl,
makeCreateTestComponent,
NgMatchers,
@@ -65,7 +63,7 @@ describe('hide directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -85,17 +83,17 @@ describe('hide directive', () => {
describe('without `responsive` features', () => {
it('should initial with component not visible as default', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
});
it('should initial with component visible when set to `false`', () => {
createTestComponent(``);
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
});
it('should initial with component visible when set to `0`', () => {
createTestComponent(``);
- expectNativeEl(fixture, { isVisible: 0 }).not.toHaveStyle(
+ expectNativeEl(fixture, { isVisible: 0 }).not.toHaveInlineStyle(
{ display: 'none' },
styler,
);
@@ -103,23 +101,23 @@ describe('hide directive', () => {
it('should update styles with binding changes', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
fixture.componentInstance.toggleMenu();
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
fixture.componentInstance.toggleMenu();
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
});
it('should use "block" display style when not explicitly defined', () => {
createTestComponent(``);
- expectNativeEl(fixture, { isHidden: true }).toHaveStyle(
+ expectNativeEl(fixture, { isHidden: true }).toHaveInlineStyle(
{
display: 'none',
},
styler,
);
- expectNativeEl(fixture, { isHidden: false }).not.toHaveStyle(
+ expectNativeEl(fixture, { isHidden: false }).not.toHaveInlineStyle(
{
display: 'none',
},
@@ -129,11 +127,11 @@ describe('hide directive', () => {
it('should use "flex" display style when the element also has an fxLayout', () => {
createTestComponent(``);
- expectNativeEl(fixture, { isHidden: true }).toHaveStyle(
+ expectNativeEl(fixture, { isHidden: true }).toHaveInlineStyle(
{ display: 'none' },
styler,
);
- expectNativeEl(fixture, { isHidden: false }).not.toHaveStyle(
+ expectNativeEl(fixture, { isHidden: false }).not.toHaveInlineStyle(
{ display: 'none' },
styler,
);
@@ -143,9 +141,9 @@ describe('hide directive', () => {
createTestComponent(
``,
);
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
});
});
@@ -153,41 +151,41 @@ describe('hide directive', () => {
it('should show on `xs` viewports only when the default is included', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('xs');
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
});
it('should preserve display and update only on activated mediaQuery', () => {
createTestComponent(
``,
);
- expectNativeEl(fixture).toHaveStyle({ display: 'inline-block' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'inline-block' }, styler);
// should hide with this activation
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
// should reset to original display style
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle({ display: 'inline-block' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'inline-block' }, styler);
});
it('should restore original display when disabled', () => {
createTestComponent(
``,
);
- expectNativeEl(fixture).toHaveStyle({ display: 'inline-block' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'inline-block' }, styler);
// should hide with this activation
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
// should reset to original display style
fixture.componentInstance.isHidden = false;
- expectNativeEl(fixture).toHaveStyle({ display: 'inline-block' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'inline-block' }, styler);
});
it('should restore original display when the mediaQuery deactivates', () => {
@@ -195,39 +193,39 @@ describe('hide directive', () => {
createTestComponent(
``,
);
- expectNativeEl(fixture).toHaveStyle(originalDisplay, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(originalDisplay, styler);
// should hide with this activation
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
// should reset to original display style
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(originalDisplay, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(originalDisplay, styler);
});
it('should support use of the `media` observable in templates ', () => {
createTestComponent(``);
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('lg');
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
});
it('should support use of the `media` observable in adaptive templates ', () => {
createTestComponent(
``,
);
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('xs');
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('md');
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
});
it('should hide when used with fxLayout and the ".md" breakpoint activates', () => {
@@ -251,8 +249,8 @@ describe('hide directive', () => {
'.hideOnMd',
);
- expectActivation().not.toHaveStyle({ display: 'none' }, styler);
- expectActivation('md').toHaveStyle({ display: 'none' }, styler);
+ expectActivation().not.toHaveInlineStyle({ display: 'none' }, styler);
+ expectActivation('md').toHaveInlineStyle({ display: 'none' }, styler);
});
it('should restore proper display mode when not hiding', () => {
@@ -266,9 +264,9 @@ describe('hide directive', () => {
'.hideOnXs',
);
- expectActivation().not.toHaveStyle({ display: 'none' }, styler);
- expectActivation('xs').toHaveStyle({ display: 'none' }, styler);
- expectActivation('md').not.toHaveStyle({ display: 'none' }, styler);
+ expectActivation().not.toHaveInlineStyle({ display: 'none' }, styler);
+ expectActivation('xs').toHaveInlineStyle({ display: 'none' }, styler);
+ expectActivation('md').not.toHaveInlineStyle({ display: 'none' }, styler);
});
it('should work with overlapping breakpoint', () => {
@@ -284,9 +282,9 @@ describe('hide directive', () => {
);
mediaController.useOverlaps = true;
- expectActivation().not.toHaveStyle({ display: 'none' }, styler);
- expectActivation('xs').toHaveStyle({ display: 'none' }, styler);
- expectActivation('md').not.toHaveStyle({ display: 'none' }, styler);
+ expectActivation().not.toHaveInlineStyle({ display: 'none' }, styler);
+ expectActivation('xs').toHaveInlineStyle({ display: 'none' }, styler);
+ expectActivation('md').not.toHaveInlineStyle({ display: 'none' }, styler);
});
});
@@ -299,13 +297,13 @@ describe('hide directive', () => {
`);
mediaController.useOverlaps = true;
- expectNativeEl(fixture).toHaveStyle({ display: 'inline-block' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'inline-block' }, styler);
mediaController.activate('print');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('sm');
- expectNativeEl(fixture).toHaveStyle({ display: 'inline-block' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'inline-block' }, styler);
});
});
@@ -315,19 +313,19 @@ describe('hide directive', () => {
This content to be shown ONLY when gt-sm
`);
- expectNativeEl(fixture).toHaveStyle({ display: 'inline-block' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'inline-block' }, styler);
mediaController.activate('md', true);
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('sm', true);
- expectNativeEl(fixture).toHaveStyle({ display: 'inline-block' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'inline-block' }, styler);
mediaController.activate('xs', true);
- expectNativeEl(fixture).toHaveStyle({ display: 'inline-block' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'inline-block' }, styler);
mediaController.activate('print', false);
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
});
it('should support hide and show with fxLayoutAlign', () => {
@@ -337,16 +335,16 @@ describe('hide directive', () => {
fxHide.print>
`);
- expectNativeEl(fixture).toHaveStyle({ display: 'flex' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'flex' }, styler);
mediaController.activate('md', true);
- expectNativeEl(fixture).toHaveStyle({ display: 'flex' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'flex' }, styler);
mediaController.activate('print', false);
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('xs', true);
- expectNativeEl(fixture).toHaveStyle({ display: 'flex' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'flex' }, styler);
});
it('should support fxHide and fxLayout', () => {
@@ -356,13 +354,13 @@ describe('hide directive', () => {
`);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('sm');
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
});
});
diff --git a/projects/libs/flex-layout/extended/show-hide/show.spec.ts b/projects/libs/flex-layout/extended/show-hide/show.spec.ts
index 0eb714ca..68a3e7b2 100644
--- a/projects/libs/flex-layout/extended/show-hide/show.spec.ts
+++ b/projects/libs/flex-layout/extended/show-hide/show.spec.ts
@@ -14,7 +14,6 @@ import { MatSelectModule } from '@angular/material/select';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { FlexLayoutModule } from '@ngbracket/ngx-layout';
import {
- customMatchers,
expectEl,
expectNativeEl,
makeCreateTestComponent,
@@ -28,7 +27,7 @@ import {
SERVER_TOKEN,
StyleUtils,
} from '@ngbracket/ngx-layout/core';
-import { ShowHideDirective } from '@ngbracket/ngx-layout/extended';
+import { ShowHideDirective } from './show-hide';
describe('show directive', () => {
let fixture: ComponentFixture;
@@ -56,7 +55,7 @@ describe('show directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -84,73 +83,73 @@ describe('show directive', () => {
describe('without `responsive` features', () => {
it('should initial with component visible as default', () => {
createTestComponent(``);
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
});
it('should initial with component not visible when set to `false`', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
});
it('should initial with component not visible when set to `0`', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
fixture.componentInstance.isVisible = true;
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
});
it('should update styles with binding changes', () => {
createTestComponent(``);
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
fixture.componentInstance.toggleMenu();
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
fixture.componentInstance.toggleMenu();
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
});
it('should use "block" display style when not explicitly defined', () => {
createTestComponent(``);
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
});
it('should use "flex" display style when the element also has an fxLayout', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle({ display: 'flex' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'flex' }, styler);
});
});
describe('with responsive features', () => {
it('should hide on `xs` viewports only', () => {
createTestComponent(``);
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('md');
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
});
it('should hide when fallbacks are configured to hide on `gt-xs` viewports', () => {
createTestComponent(``);
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('md', true);
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
});
it('should support use of the `media` observable in templates ', () => {
createTestComponent(``);
mediaController.useOverlaps = true;
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('xs');
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('gt-md');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
});
it('should preserve display and update only on activated mediaQuery', () => {
@@ -159,12 +158,12 @@ describe('show directive', () => {
);
fixture.componentInstance.isHidden = false;
- expectNativeEl(fixture).toHaveStyle({ display: 'inline-block' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'inline-block' }, styler);
// should hide with this activation and setting
mediaController.activate('xs');
fixture.componentInstance.isHidden = true;
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
});
it('should restore display when not enabled', () => {
@@ -173,15 +172,15 @@ describe('show directive', () => {
``,
);
fixture.componentInstance.isHidden = false;
- expectNativeEl(fixture).toHaveStyle(visibleStyle, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(visibleStyle, styler);
// mqActivation but the isHidden == false, so show it
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(visibleStyle, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(visibleStyle, styler);
// should hide with this activation
fixture.componentInstance.isHidden = true;
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
});
it('should restore display when the mediaQuery deactivates', () => {
@@ -190,15 +189,15 @@ describe('show directive', () => {
``,
);
fixture.componentInstance.isHidden = true;
- expectNativeEl(fixture).toHaveStyle(visibleStyle, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(visibleStyle, styler);
// should hide with this activation
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
// should reset to original display style
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(visibleStyle, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(visibleStyle, styler);
});
it('should work oninit with responsive', () => {
@@ -208,13 +207,13 @@ describe('show directive', () => {
`);
mediaController.activate('gt-lg');
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('lg');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('gt-lg');
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
});
});
@@ -227,13 +226,13 @@ describe('show directive', () => {
`);
mediaController.useOverlaps = true;
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('print');
- expectNativeEl(fixture).toHaveStyle({ display: 'block' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'block' }, styler);
mediaController.activate('sm');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
});
});
@@ -246,16 +245,16 @@ describe('show directive', () => {
`);
mediaController.useOverlaps = true;
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('lg');
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('sm');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('print');
- expectNativeEl(fixture).toHaveStyle({ display: 'block' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'block' }, styler);
});
it('should work with responsive and adding flex to parent', () => {
@@ -268,13 +267,13 @@ describe('show directive', () => {
`);
mediaController.useOverlaps = true;
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('gt-sm');
- expectNativeEl(fixture).toHaveStyle({ display: 'flex' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'flex' }, styler);
mediaController.activate('sm');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
});
it('should work with unknown elements', () => {
@@ -304,7 +303,7 @@ describe('show directive', () => {
styler,
);
} else {
- expectEl(queryFor(fixture, elSelector)[0]).toHaveStyle(
+ expectEl(queryFor(fixture, elSelector)[0]).toHaveInlineStyle(
{
display: 'initial',
},
@@ -314,7 +313,7 @@ describe('show directive', () => {
mediaController.activate('xs');
fixture.detectChanges();
- expectEl(queryFor(fixture, elSelector)[0]).toHaveStyle(
+ expectEl(queryFor(fixture, elSelector)[0]).toHaveInlineStyle(
{
display: 'none',
},
@@ -332,7 +331,7 @@ describe('show directive', () => {
styler,
);
} else {
- expectEl(queryFor(fixture, elSelector)[0]).toHaveStyle(
+ expectEl(queryFor(fixture, elSelector)[0]).toHaveInlineStyle(
{
display: 'initial',
},
@@ -344,7 +343,7 @@ describe('show directive', () => {
describe('with custom breakpoints', () => {
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -386,16 +385,16 @@ describe('show directive', () => {
`);
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('sm-md');
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('sm');
- expectNativeEl(fixture).toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'none' }, styler);
mediaController.activate('sm.lg');
- expectNativeEl(fixture).not.toHaveStyle({ display: 'none' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ display: 'none' }, styler);
});
});
});
diff --git a/projects/libs/flex-layout/extended/style/style-transforms.spec.ts b/projects/libs/flex-layout/extended/style/style-transforms.spec.ts
index c81ade7c..eefe2c35 100644
--- a/projects/libs/flex-layout/extended/style/style-transforms.spec.ts
+++ b/projects/libs/flex-layout/extended/style/style-transforms.spec.ts
@@ -5,10 +5,6 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
-import {
- customMatchers,
- expect,
-} from '@ngbracket/ngx-layout/_private-utils/testing';
import {
buildMapFromList,
buildMapFromSet,
@@ -21,7 +17,7 @@ import {
describe('ngStyleUtils', () => {
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
});
it('should parse a raw string of key:value pairs', () => {
@@ -45,7 +41,7 @@ describe('ngStyleUtils', () => {
`),
);
- expect(map).toHaveMap({
+ expect(map).toStrictEqual({
color: 'red',
'font-size': '16px',
'background-color': 'rgba(116, 37, 49, 0.72)',
@@ -61,7 +57,7 @@ describe('ngStyleUtils', () => {
`),
);
- expect(map).toHaveMap({
+ expect(map).toStrictEqual({
color: 'red',
'font-size': '16px',
'background-color': 'rgba(116, 37, 49, 0.72)',
@@ -76,7 +72,7 @@ describe('ngStyleUtils', () => {
let map: NgStyleMap = buildMapFromSet(customSet);
- expect(map).toHaveMap({
+ expect(map).toStrictEqual({
color: 'red',
'font-size': '16px',
'background-color': 'rgba(116, 37, 49, 0.72)',
diff --git a/projects/libs/flex-layout/extended/style/style.spec.ts b/projects/libs/flex-layout/extended/style/style.spec.ts
index ea2bf95d..44a5b18b 100644
--- a/projects/libs/flex-layout/extended/style/style.spec.ts
+++ b/projects/libs/flex-layout/extended/style/style.spec.ts
@@ -18,7 +18,6 @@ import {
import { LayoutDirective } from '@ngbracket/ngx-layout/flex';
import {
- customMatchers,
expectNativeEl,
makeCreateTestComponent,
} from '@ngbracket/ngx-layout/_private-utils/testing';
@@ -41,7 +40,7 @@ describe('style directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -79,7 +78,7 @@ describe('style directive', () => {
`);
mediaController.activate(testData.mq);
- expectNativeEl(fixture).toHaveStyle(testData.styleObj, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(testData.styleObj, styler);
});
});
@@ -88,9 +87,9 @@ describe('style directive', () => {
`);
- expectNativeEl(fixture).toHaveStyle({ color: 'blue' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ color: 'blue' }, styler);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{ color: 'blue', 'font-size': '15px' },
styler,
);
@@ -103,10 +102,10 @@ describe('style directive', () => {
ngStyle.xs="font-size: 15px; background-color: #fc2929;" >
`);
- expectNativeEl(fixture).toHaveStyle({ color: 'blue' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ color: 'blue' }, styler);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
color: 'blue',
'font-size': '15px',
@@ -138,19 +137,19 @@ describe('style directive', () => {
fixture.detectChanges();
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle({ display: 'flex' }, styler);
- expectNativeEl(fixture).toHaveStyle({ 'font-size': '16px' }, styler);
- expectNativeEl(fixture).not.toHaveStyle({ 'font-size': '12px' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'flex' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ 'font-size': '16px' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ 'font-size': '12px' }, styler);
mediaController.activate('md');
- expectNativeEl(fixture).not.toHaveStyle({ 'font-size': '16px' }, styler);
- expectNativeEl(fixture).toHaveStyle({ 'font-size': '12px' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ 'font-size': '16px' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ 'font-size': '12px' }, styler);
mediaController.activate('lg');
- expectNativeEl(fixture).not.toHaveStyle({ 'font-size': '12px' }, styler);
- expectNativeEl(fixture).not.toHaveStyle({ 'font-size': '16px' }, styler);
- expectNativeEl(fixture).toHaveStyle({ 'font-size': '10px' }, styler); // original is gone
- expectNativeEl(fixture).toHaveStyle({ 'margin-left': '13px' }, styler); // portion remains
+ expectNativeEl(fixture).not.toHaveInlineStyle({ 'font-size': '12px' }, styler);
+ expectNativeEl(fixture).not.toHaveInlineStyle({ 'font-size': '16px' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ 'font-size': '10px' }, styler); // original is gone
+ expectNativeEl(fixture).toHaveInlineStyle({ 'margin-left': '13px' }, styler); // portion remains
});
it('should work with special ngStyle px notation', () => {
@@ -159,7 +158,7 @@ describe('style directive', () => {
`);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle({ 'font-size': '15px' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ 'font-size': '15px' }, styler);
});
it('should work with bound values', () => {
@@ -168,7 +167,7 @@ describe('style directive', () => {
`);
mediaController.activate('xs');
- expectNativeEl(fixture, { fontSize: 19 }).toHaveStyle(
+ expectNativeEl(fixture, { fontSize: 19 }).toHaveInlineStyle(
{ 'font-size': '19px' },
styler,
);
@@ -194,10 +193,10 @@ describe('style directive', () => {
First div
`);
- expectNativeEl(fixture).toHaveStyle({ 'background-color': 'red' }, styler);
- expectNativeEl(fixture).toHaveStyle({ height: '100px' }, styler);
- expectNativeEl(fixture).toHaveStyle({ width: '100px' }, styler);
- expectNativeEl(fixture).toHaveStyle({ border: '2px solid green' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ 'background-color': 'red' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ height: '100px' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ width: '100px' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ border: '2px solid green' }, styler);
});
});
diff --git a/projects/libs/flex-layout/flex/flex-offset/flex-offset.spec.ts b/projects/libs/flex-layout/flex/flex-offset/flex-offset.spec.ts
index d65e61dc..02d89a5c 100644
--- a/projects/libs/flex-layout/flex/flex-offset/flex-offset.spec.ts
+++ b/projects/libs/flex-layout/flex/flex-offset/flex-offset.spec.ts
@@ -1,10 +1,10 @@
/**
* @license
* Copyright Google LLC All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
+*
+* Use of this source code is governed by an MIT-style license that can be
+* found in the LICENSE file at https://angular.io/license
+*/
import { DIR_DOCUMENT } from '@angular/cdk/bidi';
import { CommonModule, isPlatformServer } from '@angular/common';
import { Component, Injectable, PLATFORM_ID } from '@angular/core';
@@ -16,14 +16,14 @@ import {
StyleUtils,
ɵMockMatchMediaProvider as MockMatchMediaProvider,
} from '@ngbracket/ngx-layout/core';
-import { FlexModule, FlexOffsetStyleBuilder } from '@ngbracket/ngx-layout/flex';
import {
- customMatchers,
expectEl,
expectNativeEl,
makeCreateTestComponent,
queryFor,
} from '@ngbracket/ngx-layout/_private-utils/testing';
+import { FlexModule } from '../module';
+import { FlexOffsetStyleBuilder } from './flex-offset';
describe('flex-offset directive', () => {
let fixture: ComponentFixture;
@@ -46,7 +46,7 @@ describe('flex-offset directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
fakeDocument = { body: {}, documentElement: {} };
// Configure testbed to prepare services
@@ -74,8 +74,8 @@ describe('flex-offset directive', () => {
fixture.detectChanges();
let dom = fixture.debugElement.children[0];
- expectEl(dom).toHaveStyle({ 'margin-left': '32px' }, styler);
- expectEl(dom).toHaveStyle({ flex: '1 1 0%' }, styler);
+ expectEl(dom).toHaveInlineStyle({ 'margin-left': '32px' }, styler);
+ expectEl(dom).toHaveInlineStyle({ flex: '1 1 0%' }, styler);
});
it('should add correct styles for default `fxFlexOffset` usage w/ mulitplier', () => {
@@ -83,13 +83,13 @@ describe('flex-offset directive', () => {
fixture.detectChanges();
let dom = fixture.debugElement.children[0];
- expectEl(dom).toHaveStyle({ 'margin-left': '32px' }, styler);
- expectEl(dom).toHaveStyle({ flex: '1 1 0%' }, styler);
+ expectEl(dom).toHaveInlineStyle({ 'margin-left': '32px' }, styler);
+ expectEl(dom).toHaveInlineStyle({ flex: '1 1 0%' }, styler);
});
it('should work with percentage values', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 100%',
'box-sizing': 'border-box',
@@ -110,11 +110,11 @@ describe('flex-offset directive', () => {
let element = queryFor(fixture, '[fxFlex]')[0];
// parent flex-direction found with 'column' with child height styles
- expectEl(parent).toHaveStyle(
+ expectEl(parent).toHaveInlineStyle(
{ 'flex-direction': 'column', display: 'flex' },
styler,
);
- expectEl(element).toHaveStyle({ 'margin-top': '17px' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'margin-top': '17px' }, styler);
});
it('should CSS stylesheet and not inject flex-direction on parent', () => {
@@ -134,11 +134,11 @@ describe('flex-offset directive', () => {
// TODO(CaerusKaru): Domino is unable to detect these styles properly
if (!isPlatformServer(platformId)) {
// parent flex-direction found with 'column' with child height styles
- expectEl(parent).toHaveStyle(
+ expectEl(parent).toHaveInlineStyle(
{ 'flex-direction': 'column', display: 'flex' },
styler,
);
- expectEl(element).toHaveStyle({ 'margin-top': '41px' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'margin-top': '41px' }, styler);
}
});
@@ -155,8 +155,8 @@ describe('flex-offset directive', () => {
let parent = queryFor(fixture, '.parent')[0];
// parent flex-direction found with 'column'; set child with height styles
- expectEl(element).toHaveStyle({ 'margin-top': '21%' }, styler);
- expectEl(parent).toHaveStyle({ 'flex-direction': 'column' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'margin-top': '21%' }, styler);
+ expectEl(parent).toHaveInlineStyle({ 'flex-direction': 'column' }, styler);
});
it('should ignore fxLayout settings on same element', () => {
@@ -164,7 +164,7 @@ describe('flex-offset directive', () => {
`);
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'flex-direction': 'row',
flex: '1 1 100%',
@@ -184,7 +184,7 @@ describe('flex-offset directive', () => {
fixture.detectChanges();
let element = queryFor(fixture, '[fxFlex]')[0];
- expectEl(element).toHaveStyle({ 'margin-right': '17px' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'margin-right': '17px' }, styler);
});
it('should set margin-right for rtl layouts on documentElement', () => {
@@ -197,7 +197,7 @@ describe('flex-offset directive', () => {
fixture.detectChanges();
let element = queryFor(fixture, '[fxFlex]')[0];
- expectEl(element).toHaveStyle({ 'margin-right': '17px' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'margin-right': '17px' }, styler);
});
it('should set margin-left for ltr layouts', () => {
@@ -209,13 +209,13 @@ describe('flex-offset directive', () => {
fixture.detectChanges();
let element = queryFor(fixture, '[fxFlex]')[0];
- expectEl(element).toHaveStyle({ 'margin-left': '17px' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'margin-left': '17px' }, styler);
});
});
describe('with custom builder', () => {
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -245,12 +245,12 @@ describe('flex-offset directive', () => {
`);
fixture.detectChanges();
let element = queryFor(fixture, '[fxFlexOffset]')[0];
- expectEl(element).toHaveStyle({ 'margin-top': '10px' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'margin-top': '10px' }, styler);
});
});
});
-@Injectable({ providedIn: FlexModule })
+@Injectable()
export class MockFlexOffsetStyleBuilder extends StyleBuilder {
override shouldCache = false;
buildStyles(_input: string) {
diff --git a/projects/libs/flex-layout/flex/flex-order/flex-order.spec.ts b/projects/libs/flex-layout/flex/flex-order/flex-order.spec.ts
index 7081c86a..b88541ff 100644
--- a/projects/libs/flex-layout/flex/flex-order/flex-order.spec.ts
+++ b/projects/libs/flex-layout/flex/flex-order/flex-order.spec.ts
@@ -17,7 +17,6 @@ import {
} from '@ngbracket/ngx-layout/core';
import {
- customMatchers,
expectNativeEl,
makeCreateTestComponent,
} from '@ngbracket/ngx-layout/_private-utils/testing';
@@ -40,7 +39,7 @@ describe('flex-order', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
TestBed.configureTestingModule({
declarations: [TestOrderComponent],
imports: [CommonModule, FlexLayoutModule],
@@ -54,7 +53,7 @@ describe('flex-order', () => {
describe('static API', () => {
it('should add correct static values', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
order: '1',
},
@@ -66,21 +65,21 @@ describe('flex-order', () => {
describe('responsive API', () => {
it('should add correct responsive values', () => {
createTestComponent(``);
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
order: '1',
},
styler,
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
order: '1',
},
styler,
);
mediaController.activate('sm');
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
order: '1',
},
diff --git a/projects/libs/flex-layout/flex/flex/flex.spec.ts b/projects/libs/flex-layout/flex/flex/flex.spec.ts
index 1f51a556..9242e270 100644
--- a/projects/libs/flex-layout/flex/flex/flex.spec.ts
+++ b/projects/libs/flex-layout/flex/flex/flex.spec.ts
@@ -9,8 +9,6 @@ import {
} from '@angular/core/testing';
import { FlexLayoutModule } from '@ngbracket/ngx-layout';
import {
- customMatchers,
- expect,
expectEl,
expectNativeEl,
makeCreateTestComponent,
@@ -23,11 +21,8 @@ import {
StyleBuilder,
StyleUtils,
} from '@ngbracket/ngx-layout/core';
-import {
- DefaultFlexDirective,
- DefaultLayoutDirective,
- FlexStyleBuilder,
-} from '@ngbracket/ngx-layout/flex';
+import { DefaultLayoutDirective } from '../layout/layout';
+import { DefaultFlexDirective, FlexStyleBuilder } from './flex';
describe('flex directive', () => {
let fixture: ComponentFixture;
@@ -58,7 +53,7 @@ describe('flex directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
TestBed.configureTestingModule({
imports: [
@@ -84,8 +79,8 @@ describe('flex directive', () => {
fixture.detectChanges();
let dom = fixture.debugElement.children[0];
- expectEl(dom).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(dom).toHaveStyle({ flex: '1 1 0%' }, styler);
+ expectEl(dom).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(dom).toHaveInlineStyle({ flex: '1 1 0%' }, styler);
});
it('should add correct styles for `fxFlex` and ngStyle with layout change', () => {
@@ -98,9 +93,9 @@ describe('flex directive', () => {
fixture.detectChanges();
mediaController.activate('sm', true);
let element = queryFor(fixture, '[fxFlex]')[0];
- expectEl(element).toHaveStyle({ width: '15px' }, styler);
- expectEl(element).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(element).toHaveStyle({ flex: '10 1 auto' }, styler);
+ expectEl(element).toHaveInlineStyle({ width: '15px' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '10 1 auto' }, styler);
});
it('should add correct styles for `fxFlex` with NgForOf', () => {
@@ -112,15 +107,15 @@ describe('flex directive', () => {
fixture.componentInstance.direction = 'row';
fixture.detectChanges();
let element = queryFor(fixture, '[fxFlex]')[0];
- expectEl(element).toHaveStyle({ 'max-width': '50%' }, styler);
- expectEl(element).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(element).toHaveStyle({ flex: '1 1 100%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'max-width': '50%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '1 1 100%' }, styler);
fixture.componentInstance.direction = 'column';
fixture.detectChanges();
element = queryFor(fixture, '[fxFlex]')[0];
- expectEl(element).toHaveStyle({ 'max-height': '50%' }, styler);
- expectEl(element).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(element).toHaveStyle({ flex: '1 1 100%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'max-height': '50%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '1 1 100%' }, styler);
});
it('should add correct styles for `fxFlex` and ngStyle without layout change', () => {
@@ -133,9 +128,9 @@ describe('flex directive', () => {
fixture.detectChanges();
mediaController.activate('sm', true);
let element = queryFor(fixture, '[fxFlex]')[0];
- expectEl(element).toHaveStyle({ width: '15px' }, styler);
- expectEl(element).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(element).toHaveStyle({ flex: '10 1 auto' }, styler);
+ expectEl(element).toHaveInlineStyle({ width: '15px' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '10 1 auto' }, styler);
});
it('should add correct styles for `fxFlex` with multiple layout changes and wraps', () => {
@@ -147,32 +142,32 @@ describe('flex directive', () => {
fixture.debugElement.componentInstance.direction = 'column';
fixture.detectChanges();
let element = queryFor(fixture, '[fxFlex]')[0];
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{ 'flex-direction': 'column' },
styler,
);
- expectEl(element).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(element).toHaveStyle({ flex: '1 1 30%' }, styler);
- expectEl(element).toHaveStyle({ 'max-height': '30%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '1 1 30%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'max-height': '30%' }, styler);
fixture.debugElement.componentInstance.direction = 'row';
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle({ 'flex-direction': 'row' }, styler);
- expectEl(element).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(element).toHaveStyle({ flex: '1 1 30%' }, styler);
- expectEl(element).toHaveStyle({ 'max-width': '30%' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ 'flex-direction': 'row' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '1 1 30%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'max-width': '30%' }, styler);
fixture.debugElement.componentInstance.direction = 'column';
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{ 'flex-direction': 'column' },
styler,
);
- expectEl(element).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(element).toHaveStyle({ flex: '1 1 30%' }, styler);
- expectEl(element).toHaveStyle({ 'max-height': '30%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '1 1 30%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'max-height': '30%' }, styler);
});
it('should add correct styles for `fxFlex` with gap in grid mode and wrap parent', () => {
@@ -186,43 +181,43 @@ describe('flex directive', () => {
fixture.debugElement.componentInstance.direction = 'row';
fixture.detectChanges();
let element = queryFor(fixture, '[fxFlex]')[0];
- expectNativeEl(fixture).toHaveStyle({ 'flex-direction': 'row' }, styler);
- expectEl(element).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(element).toHaveStyle({ flex: '1 1 30%' }, styler);
- expectEl(element).toHaveStyle({ 'max-width': '30%' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ 'flex-direction': 'row' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '1 1 30%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'max-width': '30%' }, styler);
fixture.debugElement.componentInstance.direction = 'row-reverse';
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{ 'flex-direction': 'row-reverse' },
styler,
);
- expectEl(element).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(element).toHaveStyle({ flex: '1 1 30%' }, styler);
- expectEl(element).toHaveStyle({ 'max-width': '30%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '1 1 30%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'max-width': '30%' }, styler);
fixture.debugElement.componentInstance.direction = 'column';
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{ 'flex-direction': 'column' },
styler,
);
- expectEl(element).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(element).toHaveStyle({ flex: '1 1 30%' }, styler);
- expectEl(element).toHaveStyle({ 'max-height': '30%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '1 1 30%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'max-height': '30%' }, styler);
fixture.debugElement.componentInstance.direction = 'column-reverse';
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{ 'flex-direction': 'column-reverse' },
styler,
);
- expectEl(element).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(element).toHaveStyle({ flex: '1 1 30%' }, styler);
- expectEl(element).toHaveStyle({ 'max-height': '30%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '1 1 30%' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'max-height': '30%' }, styler);
});
it('should add correct styles for `fxFlex` and ngStyle with multiple layout changes', () => {
@@ -236,16 +231,16 @@ describe('flex directive', () => {
fixture.detectChanges();
let element = queryFor(fixture, '[fxFlex]')[0];
- expectEl(element).toHaveStyle({ width: '15px' }, styler);
- expectEl(element).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(element).toHaveStyle({ flex: '10 1 auto' }, styler);
+ expectEl(element).toHaveInlineStyle({ width: '15px' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '10 1 auto' }, styler);
mediaController.activate('md', true);
fixture.detectChanges();
- expectEl(element).not.toHaveStyle({ width: '15px' }, styler);
- expectEl(element).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(element).toHaveStyle({ flex: '10 1 auto' }, styler);
+ expectEl(element).not.toHaveInlineStyle({ width: '15px' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '10 1 auto' }, styler);
});
it('should apply `fxGrow` value to flex-grow when used default `fxFlex`', () => {
@@ -254,8 +249,8 @@ describe('flex directive', () => {
let dom = fixture.debugElement.children[0];
- expectEl(dom).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(dom).toHaveStyle({ flex: '10 1 0%' }, styler);
+ expectEl(dom).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(dom).toHaveInlineStyle({ flex: '10 1 0%' }, styler);
});
it('should apply `fxShrink` value to flex-shrink when used default `fxFlex`', () => {
@@ -264,8 +259,8 @@ describe('flex directive', () => {
let dom = fixture.debugElement.children[0];
- expectEl(dom).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(dom).toHaveStyle({ flex: '1 10 0%' }, styler);
+ expectEl(dom).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(dom).toHaveInlineStyle({ flex: '1 10 0%' }, styler);
});
it('should apply both `fxGrow` and `fxShrink` when used with default fxFlex', () => {
@@ -273,15 +268,15 @@ describe('flex directive', () => {
fixture.detectChanges();
let dom = fixture.debugElement.children[0];
- expectEl(dom).toHaveStyle({ 'box-sizing': 'border-box' }, styler);
- expectEl(dom).toHaveStyle({ flex: '4 5 0%' }, styler);
+ expectEl(dom).toHaveInlineStyle({ 'box-sizing': 'border-box' }, styler);
+ expectEl(dom).toHaveInlineStyle({ flex: '4 5 0%' }, styler);
});
it('should add correct styles for flex-basis unitless 0 input', () => {
componentWithTemplate(``);
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 0%',
'box-sizing': 'border-box',
@@ -289,7 +284,7 @@ describe('flex directive', () => {
styler,
);
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'max-width': '*',
},
@@ -301,7 +296,7 @@ describe('flex directive', () => {
componentWithTemplate(``);
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 0%',
'box-sizing': 'border-box',
@@ -309,7 +304,7 @@ describe('flex directive', () => {
styler,
);
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'max-width': '*',
},
@@ -321,7 +316,7 @@ describe('flex directive', () => {
componentWithTemplate(``);
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 0 50%',
'box-sizing': 'border-box',
@@ -329,7 +324,7 @@ describe('flex directive', () => {
styler,
);
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'max-width': '*',
},
@@ -341,7 +336,7 @@ describe('flex directive', () => {
componentWithTemplate(``);
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'max-width': '2%',
flex: '1 1 100%',
@@ -353,7 +348,7 @@ describe('flex directive', () => {
it('should work with percentage values', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 100%',
'max-width': '37%',
@@ -364,7 +359,7 @@ describe('flex directive', () => {
});
it('should work with pixel values', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 37px',
'box-sizing': 'border-box',
@@ -374,7 +369,7 @@ describe('flex directive', () => {
});
it('should work with "1 0 auto" values', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 0 auto',
'box-sizing': 'border-box',
@@ -394,12 +389,12 @@ describe('flex directive', () => {
let element = queryFor(fixture, '[fxFlex]')[0];
// parent flex-direction found with 'column' with child height styles
- expectEl(parent).toHaveStyle(
+ expectEl(parent).toHaveInlineStyle(
{ 'flex-direction': 'column', display: 'flex' },
styler,
);
- expectEl(element).toHaveStyle({ 'min-height': '30px' }, styler);
- expectEl(element).not.toHaveStyle({ 'min-width': '30px' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'min-height': '30px' }, styler);
+ expectEl(element).not.toHaveInlineStyle({ 'min-width': '30px' }, styler);
});
it('should work fxLayout parents default in column mode', () => {
@@ -413,29 +408,29 @@ describe('flex directive', () => {
let element = queryFor(fixture, '[fxFlex]')[0];
// parent flex-direction found with 'column' with child height styles
- expectEl(parent).toHaveStyle(
+ expectEl(parent).toHaveInlineStyle(
{ 'flex-direction': 'column', display: 'flex' },
styler,
);
if (platform.BLINK) {
- expectEl(element).toHaveStyle(
+ expectEl(element).toHaveInlineStyle(
{
flex: '1 1 1e-09px',
'box-sizing': 'border-box',
},
styler,
);
- } else if (platform.FIREFOX || platform.WEBKIT || platform.IOS) {
- expectEl(element).toHaveStyle(
+ } else if (platform.FIREFOX) {
+ expectEl(element).toHaveInlineStyle(
{
flex: '1 1 1e-9px',
'box-sizing': 'border-box',
},
styler,
);
- } else if (platform.EDGE) {
- expectEl(element).toHaveStyle(
+ } else if (platform.EDGE || platform.WEBKIT || platform.IOS) {
+ expectEl(element).toHaveInlineStyle(
{
flex: '1 1 0px',
'box-sizing': 'border-box',
@@ -443,7 +438,7 @@ describe('flex directive', () => {
styler,
);
} else {
- expectEl(element).toHaveStyle(
+ expectEl(element).toHaveInlineStyle(
{
flex: '1 1 0.000000001px',
'box-sizing': 'border-box',
@@ -474,8 +469,8 @@ describe('flex directive', () => {
{ 'flex-direction': 'column', display: 'flex' },
styler,
);
- expectEl(element).toHaveStyle({ 'min-height': '30px' }, styler);
- expectEl(element).not.toHaveStyle({ 'min-width': '30px' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'min-height': '30px' }, styler);
+ expectEl(element).not.toHaveInlineStyle({ 'min-width': '30px' }, styler);
}
});
@@ -495,9 +490,9 @@ describe('flex directive', () => {
// The parent flex-direction not found;
// A flex-direction should have been auto-injected to the parent...
// fallback to 'row' and set child width styles accordingly
- expectEl(parent).toHaveStyle({ 'flex-direction': 'row' }, styler);
- expectEl(element).toHaveStyle({ 'min-width': '40px' }, styler);
- expectEl(element).not.toHaveStyle({ 'min-height': '40px' }, styler);
+ expectEl(parent).toHaveInlineStyle({ 'flex-direction': 'row' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'min-width': '40px' }, styler);
+ expectEl(element).not.toHaveInlineStyle({ 'min-height': '40px' }, styler);
}));
it('should work with styled-parent flex directions', () => {
@@ -513,8 +508,8 @@ describe('flex directive', () => {
let parent = queryFor(fixture, '.parent')[0];
// parent flex-direction found with 'column'; set child with height styles
- expectEl(element).toHaveStyle({ 'min-height': '60px' }, styler);
- expectEl(parent).toHaveStyle({ 'flex-direction': 'column' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'min-height': '60px' }, styler);
+ expectEl(parent).toHaveInlineStyle({ 'flex-direction': 'column' }, styler);
});
it('should work with "1 1 auto" values', () => {
@@ -530,11 +525,11 @@ describe('flex directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
- expectEl(nodes[1]).not.toHaveStyle(
+ expectEl(nodes[1]).not.toHaveInlineStyle(
{ 'max-height': '*', 'min-height': '*' },
styler,
);
- expectEl(nodes[1]).toHaveStyle(
+ expectEl(nodes[1]).toHaveInlineStyle(
{
flex: '1 1 auto',
'box-sizing': 'border-box',
@@ -548,7 +543,7 @@ describe('flex directive', () => {
// @see http://caniuse.com/#feat=calc for IE issues with calc()
componentWithTemplate(``);
if (platform.WEBKIT || platform.IOS) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'box-sizing': 'border-box',
'flex-grow': '1',
@@ -559,7 +554,7 @@ describe('flex directive', () => {
);
} else if (!(platform.FIREFOX || platform.EDGE)) {
// needs fixing
- // expectNativeEl(fixture).toHaveStyle(
+ // expectNativeEl(fixture).toHaveInlineStyle(
// {
// 'box-sizing': 'border-box',
// 'flex-grow': '1',
@@ -576,7 +571,7 @@ describe('flex directive', () => {
componentWithTemplate('');
if (!(platform.FIREFOX || platform.EDGE)) {
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'box-sizing': 'border-box',
'flex-grow': '1',
@@ -590,7 +585,7 @@ describe('flex directive', () => {
it('should work with "auto" values', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 auto',
},
@@ -599,7 +594,7 @@ describe('flex directive', () => {
});
it('should work with "nogrow" values', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '0 1 auto',
},
@@ -608,7 +603,7 @@ describe('flex directive', () => {
});
it('should work with "grow" values', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 100%',
},
@@ -617,7 +612,7 @@ describe('flex directive', () => {
});
it('should work with "initial" values', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '0 1 auto',
},
@@ -626,7 +621,7 @@ describe('flex directive', () => {
});
it('should work with "noshrink" values', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 0 auto',
},
@@ -635,7 +630,7 @@ describe('flex directive', () => {
});
it('should work with "none" values', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '0 0 auto',
},
@@ -645,7 +640,7 @@ describe('flex directive', () => {
it('should work with full-spec values', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 2 0.9em',
},
@@ -654,7 +649,7 @@ describe('flex directive', () => {
});
it('should set a min-width when the shrink == 0', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 0 37px',
'min-width': '37px',
@@ -665,7 +660,7 @@ describe('flex directive', () => {
});
it('should set a min-width and max-width when the grow == 0 and shrink == 0', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '0 0 375px',
'max-width': '375px',
@@ -678,7 +673,7 @@ describe('flex directive', () => {
it('should not set max-width to 69px when fxFlex="1 0 69px"', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'max-width': '69px',
},
@@ -690,12 +685,12 @@ describe('flex directive', () => {
componentWithTemplate(``);
fixture.detectChanges();
let dom = fixture.debugElement.children[0];
- expectEl(dom).not.toHaveStyle({ 'max-width': '*' }, styler);
+ expectEl(dom).not.toHaveInlineStyle({ 'max-width': '*' }, styler);
});
it('should not set min-width to 96px when fxFlex="0 1 96px"', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'min-width': '96px',
},
@@ -707,12 +702,12 @@ describe('flex directive', () => {
componentWithTemplate(``);
fixture.detectChanges();
let dom = fixture.debugElement.children[0];
- expectEl(dom).not.toHaveStyle({ 'min-width': '*' }, styler);
+ expectEl(dom).not.toHaveInlineStyle({ 'min-width': '*' }, styler);
});
it('should set a min-width when basis is a Px value', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 312px',
'max-width': '312px',
@@ -724,7 +719,7 @@ describe('flex directive', () => {
it('should set a min-width and max-width when basis is a rem value', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 12rem',
'max-width': '12rem',
@@ -740,7 +735,7 @@ describe('flex directive', () => {
`);
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'flex-direction': 'row',
flex: '1 1 37%',
@@ -759,7 +754,7 @@ describe('flex directive', () => {
componentWithTemplate(template);
fixture.detectChanges();
- expectEl(queryFor(fixture, '[fxFlex]')[0]).toHaveStyle(
+ expectEl(queryFor(fixture, '[fxFlex]')[0]).toHaveInlineStyle(
{
flex: '1 1 100%',
'max-height': '37%',
@@ -770,7 +765,7 @@ describe('flex directive', () => {
it('should set max-width for `fxFlex="<%val>"`', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 100%',
'max-width': '37%',
@@ -781,7 +776,7 @@ describe('flex directive', () => {
it('should set max-width for `fxFlex="2%"` usage', () => {
componentWithTemplate(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 100%',
'max-width': '2%',
@@ -805,7 +800,7 @@ describe('flex directive', () => {
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 25px',
'max-width': '25px',
@@ -816,7 +811,7 @@ describe('flex directive', () => {
mediaController.activate('xl', true);
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 25px',
'max-width': '25px',
@@ -827,7 +822,7 @@ describe('flex directive', () => {
mediaController.activate('md', true);
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 100%',
'max-width': '50%',
@@ -838,7 +833,7 @@ describe('flex directive', () => {
mediaController.activate('xs', true);
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 100%',
'max-width': '33%',
@@ -858,7 +853,7 @@ describe('flex directive', () => {
mediaController.activate('xl', true);
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 100%',
'max-width': '50%',
@@ -869,7 +864,7 @@ describe('flex directive', () => {
mediaController.activate('sm', true);
fixture.detectChanges();
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
flex: '1 1 100%',
'max-width': '33%',
@@ -893,23 +888,23 @@ describe('flex directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle({ flex: '1 1 auto' }, styler);
- expectEl(nodes[1]).toHaveStyle({ flex: '1 1 auto' }, styler);
- expectEl(nodes[2]).toHaveStyle({ flex: '1 1 auto' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
+ expectEl(nodes[2]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
mediaController.activate('xl');
fixture.detectChanges();
nodes = queryFor(fixture, '[fxFlex]');
- expectEl(nodes[0]).toHaveStyle(
+ expectEl(nodes[0]).toHaveInlineStyle(
{ flex: '1 1 100%', 'max-height': '50%' },
styler,
);
- expectEl(nodes[1]).toHaveStyle(
+ expectEl(nodes[1]).toHaveInlineStyle(
{ flex: '1 1 100%', 'max-height': '24.4%' },
styler,
);
- expectEl(nodes[2]).toHaveStyle(
+ expectEl(nodes[2]).toHaveInlineStyle(
{ flex: '1 1 100%', 'max-height': '25.6%' },
styler,
);
@@ -919,16 +914,16 @@ describe('flex directive', () => {
nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle({ flex: '1 1 auto' }, styler);
- expectEl(nodes[1]).toHaveStyle({ flex: '1 1 auto' }, styler);
- expectEl(nodes[2]).toHaveStyle({ flex: '1 1 auto' }, styler);
-
- expectEl(nodes[0]).not.toHaveStyle({ 'max-height': '50%' }, styler);
- expectEl(nodes[1]).not.toHaveStyle({ 'max-height': '24.4%' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'max-height': '25.6%' }, styler);
- expectEl(nodes[0]).not.toHaveStyle({ 'max-height': '*' }, styler);
- expectEl(nodes[1]).not.toHaveStyle({ 'max-height': '*' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'max-height': '*' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
+ expectEl(nodes[2]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
+
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'max-height': '50%' }, styler);
+ expectEl(nodes[1]).not.toHaveInlineStyle({ 'max-height': '24.4%' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'max-height': '25.6%' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'max-height': '*' }, styler);
+ expectEl(nodes[1]).not.toHaveInlineStyle({ 'max-height': '*' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'max-height': '*' }, styler);
});
it('should fallback to the default layout from gt-md selectors', () => {
@@ -945,31 +940,31 @@ describe('flex directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle({ flex: '1 1 auto' }, styler);
- expectEl(nodes[1]).toHaveStyle({ flex: '1 1 auto' }, styler);
- expectEl(nodes[2]).toHaveStyle({ flex: '1 1 auto' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
+ expectEl(nodes[2]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
mediaController.activate('sm');
fixture.detectChanges();
nodes = queryFor(fixture, '[fxFlex]');
- expectEl(nodes[0]).toHaveStyle({ flex: '1 1 auto' }, styler);
- expectEl(nodes[1]).toHaveStyle({ flex: '1 1 auto' }, styler);
- expectEl(nodes[2]).toHaveStyle({ flex: '1 1 auto' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
+ expectEl(nodes[2]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
mediaController.activate('lg', true);
fixture.detectChanges();
nodes = queryFor(fixture, '[fxFlex]');
- expectEl(nodes[0]).toHaveStyle(
+ expectEl(nodes[0]).toHaveInlineStyle(
{ flex: '1 1 100%', 'max-height': '50%' },
styler,
);
- expectEl(nodes[1]).toHaveStyle(
+ expectEl(nodes[1]).toHaveInlineStyle(
{ flex: '1 1 100%', 'max-height': '24.4%' },
styler,
);
- expectEl(nodes[2]).toHaveStyle(
+ expectEl(nodes[2]).toHaveInlineStyle(
{ flex: '1 1 100%', 'max-height': '25.6%' },
styler,
);
@@ -987,13 +982,13 @@ describe('flex directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(1);
- expectEl(nodes[0]).toHaveStyle({ flex: '1 1 auto' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
mediaController.activate('sm', true);
fixture.detectChanges();
nodes = queryFor(fixture, '[fxFlex]');
- expectEl(nodes[0]).toHaveStyle(
+ expectEl(nodes[0]).toHaveInlineStyle(
{
flex: '1 1 100%',
'max-height': '50%',
@@ -1005,7 +1000,7 @@ describe('flex directive', () => {
fixture.detectChanges();
nodes = queryFor(fixture, '[fxFlex]');
- expectEl(nodes[0]).toHaveStyle({ flex: '1 1 auto' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
});
});
@@ -1038,7 +1033,7 @@ describe('flex directive', () => {
expect(layout).toBeDefined();
expect(layout.activatedValue).toBe('');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
},
@@ -1047,7 +1042,7 @@ describe('flex directive', () => {
layout.activatedValue = 'column';
expect(layout.activatedValue).toBe('column');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'column',
},
@@ -1068,7 +1063,7 @@ describe('flex directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(1);
- expectEl(nodes[0]).toHaveStyle({ 'max-width': '50%' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'max-width': '50%' }, styler);
// Test for raw value assignments that are converted to percentages
flex.activatedValue = '35';
@@ -1076,7 +1071,7 @@ describe('flex directive', () => {
nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(1);
- expectEl(nodes[0]).toHaveStyle({ 'max-width': '35%' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'max-width': '35%' }, styler);
// Test for pixel value assignments
flex.activatedValue = '27.5px';
@@ -1084,7 +1079,7 @@ describe('flex directive', () => {
nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(1);
- expectEl(nodes[0]).toHaveStyle({ 'max-width': '27.5px' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'max-width': '27.5px' }, styler);
});
it('should restore `fxFlex` value after breakpoint activations', () => {
@@ -1101,7 +1096,7 @@ describe('flex directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(1);
- expectEl(nodes[0]).toHaveStyle({ 'max-width': '35%' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'max-width': '35%' }, styler);
mediaController.activate('sm');
fixture.detectChanges();
@@ -1109,7 +1104,7 @@ describe('flex directive', () => {
// Test for breakpoint value changes
expect(flex.activatedValue).toBe('71%');
nodes = queryFor(fixture, '[fxFlex]');
- expectEl(nodes[0]).toHaveStyle({ 'max-width': '71%' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'max-width': '71%' }, styler);
mediaController.activate('lg');
fixture.detectChanges();
@@ -1117,7 +1112,7 @@ describe('flex directive', () => {
// Confirm activatedValue was restored properly when `sm` deactivated
expect(flex.activatedValue).toBe('35');
nodes = queryFor(fixture, '[fxFlex]');
- expectEl(nodes[0]).toHaveStyle({ 'max-width': '35%' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'max-width': '35%' }, styler);
});
});
@@ -1156,9 +1151,9 @@ describe('flex directive', () => {
// The parent flex-direction not found;
// A flex-direction should have been auto-injected to the parent...
// fallback to 'row' and set child width styles accordingly
- expectEl(parent).toHaveStyle({ 'flex-direction': 'row' }, styler);
- expectEl(element).toHaveStyle({ 'min-width': '40px' }, styler);
- expectEl(element).not.toHaveStyle({ 'min-height': '40px' }, styler);
+ expectEl(parent).toHaveInlineStyle({ 'flex-direction': 'row' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'min-width': '40px' }, styler);
+ expectEl(element).not.toHaveInlineStyle({ 'min-height': '40px' }, styler);
}));
});
@@ -1197,11 +1192,11 @@ describe('flex directive', () => {
// The parent flex-direction not found;
// A flex-direction should have been auto-injected to the parent...
// fallback to 'row' and set child width styles accordingly
- expect(parent.nativeElement.getAttribute('style')).not.toContain(
+ expect(parent.nativeElement.getAttribute('style') ?? '').not.toContain(
'-webkit-flex-direction',
);
- expectEl(element).toHaveStyle({ 'min-width': '40px' }, styler);
- expectEl(element).not.toHaveStyle({ 'min-height': '40px' }, styler);
+ expectEl(element).toHaveInlineStyle({ 'min-width': '40px' }, styler);
+ expectEl(element).not.toHaveInlineStyle({ 'min-height': '40px' }, styler);
}));
});
@@ -1239,7 +1234,7 @@ describe('flex directive', () => {
styleBuilder.shouldCache = false;
fixture.detectChanges();
let element = queryFor(fixture, '[fxFlex]')[0];
- expectEl(element).toHaveStyle({ flex: '1 1 auto' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '1 1 auto' }, styler);
});
});
@@ -1277,7 +1272,7 @@ describe('flex directive', () => {
`);
fixture.detectChanges();
let element = queryFor(fixture, '[fxFlex]')[0];
- expectEl(element).toHaveStyle({ flex: '1 1 30%' }, styler);
+ expectEl(element).toHaveInlineStyle({ flex: '1 1 30%' }, styler);
}));
});
});
diff --git a/projects/libs/flex-layout/flex/layout-align/layout-align.spec.ts b/projects/libs/flex-layout/flex/layout-align/layout-align.spec.ts
index 69738cf0..8d8e083f 100644
--- a/projects/libs/flex-layout/flex/layout-align/layout-align.spec.ts
+++ b/projects/libs/flex-layout/flex/layout-align/layout-align.spec.ts
@@ -12,7 +12,6 @@ import { ComponentFixture, inject, TestBed } from '@angular/core/testing';
import { FlexLayoutModule } from '@ngbracket/ngx-layout';
import { extendObject } from '@ngbracket/ngx-layout/_private-utils';
import {
- customMatchers,
expectNativeEl,
makeCreateTestComponent,
} from '@ngbracket/ngx-layout/_private-utils/testing';
@@ -24,10 +23,8 @@ import {
StyleBuilder,
StyleUtils,
} from '@ngbracket/ngx-layout/core';
-import {
- FlexModule,
- LayoutAlignStyleBuilder,
-} from '@ngbracket/ngx-layout/flex';
+import { FlexModule } from '../module';
+import { LayoutAlignStyleBuilder } from './layout-align';
describe('layout-align directive', () => {
let fixture: ComponentFixture;
@@ -52,7 +49,7 @@ describe('layout-align directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -68,7 +65,7 @@ describe('layout-align directive', () => {
describe('with static features', () => {
it('should add work without a peer `fxLayout` directive', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'flex',
'flex-direction': 'row',
@@ -79,7 +76,7 @@ describe('layout-align directive', () => {
});
it('should add correct styles for default `fxLayoutAlign` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'flex-start',
'align-items': 'stretch',
@@ -90,7 +87,7 @@ describe('layout-align directive', () => {
});
it('should add preserve fxLayout', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'flex',
'flex-direction': 'column',
@@ -104,7 +101,7 @@ describe('layout-align directive', () => {
});
it('should add preserve fxLayout in inline mode', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'inline-flex',
'flex-direction': 'column',
@@ -120,28 +117,28 @@ describe('layout-align directive', () => {
describe('for "main-axis" testing', () => {
it('should add correct styles for `fxLayoutAlign="start"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-content': 'flex-start' }, CROSSAXIS_DEFAULTS),
styler,
);
});
it('should add correct styles for `fxLayoutAlign="flex-start"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-content': 'flex-start' }, CROSSAXIS_DEFAULTS),
styler,
);
});
it('should add correct styles for `fxLayoutAlign="center"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-content': 'center' }, CROSSAXIS_DEFAULTS),
styler,
);
});
it('should add correct styles for `fxLayoutAlign="space-around"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(
{ 'justify-content': 'space-around' },
CROSSAXIS_DEFAULTS,
@@ -154,7 +151,7 @@ describe('layout-align directive', () => {
// Safari does not appear to support this property
if (platform.SAFARI) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(
{ 'justify-content': 'space-evenly' },
CROSSAXIS_DEFAULTS,
@@ -165,7 +162,7 @@ describe('layout-align directive', () => {
});
it('should add correct styles for `fxLayoutAlign="space-between"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(
{ 'justify-content': 'space-between' },
CROSSAXIS_DEFAULTS,
@@ -175,21 +172,21 @@ describe('layout-align directive', () => {
});
it('should add correct styles for `fxLayoutAlign="end"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-content': 'flex-end' }, CROSSAXIS_DEFAULTS),
styler,
);
});
it('should add correct styles for `fxLayoutAlign="flex-end"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-content': 'flex-end' }, CROSSAXIS_DEFAULTS),
styler,
);
});
it('should add ignore invalid main-axis values', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-content': 'flex-start' }, CROSSAXIS_DEFAULTS),
styler,
);
@@ -199,7 +196,7 @@ describe('layout-align directive', () => {
describe('for "cross-axis" testing', () => {
it('should add correct styles for `fxLayoutAlign="start start"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAINAXIS_DEFAULTS, {
'align-items': 'flex-start',
'align-content': 'flex-start',
@@ -209,7 +206,7 @@ describe('layout-align directive', () => {
});
it('should add correct styles for `fxLayoutAlign="start center"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAINAXIS_DEFAULTS, {
'align-items': 'center',
'align-content': 'center',
@@ -219,7 +216,7 @@ describe('layout-align directive', () => {
});
it('should add correct styles for `fxLayoutAlign="start end"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAINAXIS_DEFAULTS, {
'align-items': 'flex-end',
'align-content': 'flex-end',
@@ -229,7 +226,7 @@ describe('layout-align directive', () => {
});
it('should add correct styles for `fxLayoutAlign="start space-between"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAINAXIS_DEFAULTS, {
'align-items': 'stretch',
'align-content': 'space-between',
@@ -239,7 +236,7 @@ describe('layout-align directive', () => {
});
it('should add correct styles for `fxLayoutAlign="start space-around"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAINAXIS_DEFAULTS, {
'align-items': 'stretch',
'align-content': 'space-around',
@@ -249,7 +246,7 @@ describe('layout-align directive', () => {
});
it('should add correct styles for `fxLayoutAlign="start baseline"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'flex-start',
'align-items': 'baseline',
@@ -260,7 +257,7 @@ describe('layout-align directive', () => {
});
it('should add ignore invalid cross-axis values', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAINAXIS_DEFAULTS, {
'align-items': 'stretch',
'align-content': 'stretch',
@@ -270,7 +267,7 @@ describe('layout-align directive', () => {
});
it('should add special styles for cross-axis `stretch`', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'max-height': '100%',
},
@@ -284,7 +281,7 @@ describe('layout-align directive', () => {
`);
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'max-height': '100%',
},
@@ -295,7 +292,7 @@ describe('layout-align directive', () => {
createTestComponent(
``,
);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'max-width': '100%',
},
@@ -309,7 +306,7 @@ describe('layout-align directive', () => {
createTestComponent(``);
fixture.componentInstance.alignBy = 'center end';
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
'align-items': 'flex-end',
@@ -319,10 +316,10 @@ describe('layout-align directive', () => {
);
fixture.componentInstance.alignBy = 'invalid invalid';
- expectNativeEl(fixture).toHaveStyle(DEFAULT_ALIGNS, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(DEFAULT_ALIGNS, styler);
fixture.componentInstance.alignBy = '';
- expectNativeEl(fixture).toHaveStyle(DEFAULT_ALIGNS, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(DEFAULT_ALIGNS, styler);
});
});
});
@@ -333,7 +330,7 @@ describe('layout-align directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
'align-items': 'center',
@@ -348,7 +345,7 @@ describe('layout-align directive', () => {
`);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
'align-items': 'center',
@@ -359,7 +356,7 @@ describe('layout-align directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'flex-end',
'align-items': 'stretch',
@@ -374,7 +371,7 @@ describe('layout-align directive', () => {
`);
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'max-width': '25%',
},
@@ -383,7 +380,7 @@ describe('layout-align directive', () => {
mediaController.activate('md', true);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'max-width': '25%',
},
@@ -392,7 +389,7 @@ describe('layout-align directive', () => {
mediaController.activate('sm', true);
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'max-width': '25%',
},
@@ -409,7 +406,7 @@ describe('layout-align directive', () => {
`);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
'max-height': '100%',
@@ -419,7 +416,7 @@ describe('layout-align directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'flex-end',
'max-width': '100%',
@@ -436,7 +433,7 @@ describe('layout-align directive', () => {
`);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'max-height': '100%',
},
@@ -445,7 +442,7 @@ describe('layout-align directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'max-height': '100%',
},
@@ -463,7 +460,7 @@ describe('layout-align directive', () => {
`);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
'max-height': '100%',
@@ -473,7 +470,7 @@ describe('layout-align directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'flex-end',
'max-width': '100%',
@@ -483,7 +480,7 @@ describe('layout-align directive', () => {
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
'max-height': '100%',
@@ -500,7 +497,7 @@ describe('layout-align directive', () => {
`);
mediaController.activate('lt-md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
'align-items': 'center',
@@ -510,7 +507,7 @@ describe('layout-align directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'justify-content': 'center',
'align-items': 'center',
@@ -520,7 +517,7 @@ describe('layout-align directive', () => {
);
mediaController.activate('lt-md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
'align-items': 'center',
@@ -543,7 +540,7 @@ describe('layout-align directive', () => {
mediaController.useOverlaps = true;
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
'justify-content': 'flex-start',
@@ -552,7 +549,7 @@ describe('layout-align directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'column',
'justify-content': 'center',
@@ -561,7 +558,7 @@ describe('layout-align directive', () => {
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
'justify-content': 'flex-start',
@@ -571,7 +568,7 @@ describe('layout-align directive', () => {
// Should fallback to value for 'gt-xs' or default
mediaController.activate('lg', true);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
'justify-content': 'flex-end',
@@ -580,7 +577,7 @@ describe('layout-align directive', () => {
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
'justify-content': 'flex-start',
@@ -590,7 +587,7 @@ describe('layout-align directive', () => {
// Should fallback to value for 'gt-xs' or default
mediaController.activate('xl', true);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
'justify-content': 'flex-end',
@@ -602,7 +599,7 @@ describe('layout-align directive', () => {
describe('with custom builder', () => {
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -630,7 +627,7 @@ describe('layout-align directive', () => {
`);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{ 'justify-content': 'flex-end' },
styler,
);
@@ -638,7 +635,7 @@ describe('layout-align directive', () => {
});
});
-@Injectable({ providedIn: FlexModule })
+@Injectable()
export class MockLayoutAlignStyleBuilder extends StyleBuilder {
override shouldCache = false;
diff --git a/projects/libs/flex-layout/flex/layout-gap/layout-gap.spec.ts b/projects/libs/flex-layout/flex/layout-gap/layout-gap.spec.ts
index 3ee6b82c..16bfbcc2 100644
--- a/projects/libs/flex-layout/flex/layout-gap/layout-gap.spec.ts
+++ b/projects/libs/flex-layout/flex/layout-gap/layout-gap.spec.ts
@@ -1,3 +1,4 @@
+import { isPlatformBrowser } from '@angular/common';
/**
* @license
* Copyright Google LLC All Rights Reserved.
@@ -23,15 +24,14 @@ import {
ɵMockMatchMedia as MockMatchMedia,
ɵMockMatchMediaProvider as MockMatchMediaProvider,
} from '@ngbracket/ngx-layout/core';
-import { FlexModule, LayoutGapStyleBuilder } from '@ngbracket/ngx-layout/flex';
import {
- customMatchers,
- expect,
expectEl,
expectNativeEl,
makeCreateTestComponent,
queryFor,
} from '@ngbracket/ngx-layout/_private-utils/testing';
+import { FlexModule } from '../module';
+import { LayoutGapStyleBuilder } from './layout-gap';
describe('layout-gap directive', () => {
let fixture: ComponentFixture;
@@ -62,7 +62,7 @@ describe('layout-gap directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
fakeDocument = { body: {}, documentElement: {} };
// Configure testbed to prepare services
@@ -100,8 +100,8 @@ describe('layout-gap directive', () => {
const nodes = queryFor(fixture, 'span');
const styles = { [marginKey]: margin };
- expectEl(nodes[0]).toHaveStyle(styles, styler);
- expectEl(nodes[1]).not.toHaveStyle(styles, styler);
+ expectEl(nodes[0]).toHaveInlineStyle(styles, styler);
+ expectEl(nodes[1]).not.toHaveInlineStyle(styles, styler);
}
describe('with static features', () => {
@@ -112,7 +112,7 @@ describe('layout-gap directive', () => {
`;
createTestComponent(template);
- expectEl(queryFor(fixture, '[fxFlex]')[0]).not.toHaveStyle(
+ expectEl(queryFor(fixture, '[fxFlex]')[0]).not.toHaveInlineStyle(
{ 'margin-right': '13px;' },
styler,
);
@@ -131,10 +131,10 @@ describe('layout-gap directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '0px' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '0px' }, styler);
});
it('should add gap styles to all children except the 1st child w/ multiplier', () => {
@@ -150,10 +150,10 @@ describe('layout-gap directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '52px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '52px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '52px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '0px' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '52px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '52px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '52px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '0px' }, styler);
});
it('should add gap styles to all children except the 1st child w/o unit', () => {
@@ -169,10 +169,10 @@ describe('layout-gap directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '0px' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '0px' }, styler);
});
it('should add gap styles in proper order when order style is applied', () => {
@@ -188,10 +188,10 @@ describe('layout-gap directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
- expectEl(nodes[2]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-right': '0px' }, styler);
+ expectEl(nodes[2]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-right': '0px' }, styler);
});
it('should add gap styles to dynamics rows EXCEPT first', () => {
@@ -206,11 +206,11 @@ describe('layout-gap directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(4);
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[2]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[3]).not.toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[3]).not.toHaveStyle({ 'margin-right': '0px' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[2]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[3]).not.toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[3]).not.toHaveInlineStyle({ 'margin-right': '0px' }, styler);
});
it('should add update gap styles when row items are removed', waitForAsync(() => {
@@ -236,10 +236,10 @@ describe('layout-gap directive', () => {
nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
- if (typeof MutationObserver !== 'undefined') {
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle(
+ if (isPlatformBrowser(platformId) && typeof MutationObserver !== 'undefined') {
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle(
{ 'margin-right': '13px' },
styler,
);
@@ -260,8 +260,8 @@ describe('layout-gap directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(4);
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[3]).not.toHaveStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[3]).not.toHaveInlineStyle({ 'margin-right': '13px' }, styler);
fixture.componentInstance.rows = new Array(1);
fixture.detectChanges();
@@ -273,8 +273,8 @@ describe('layout-gap directive', () => {
nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(1);
- if (typeof MutationObserver !== 'undefined') {
- expectEl(nodes[0]).not.toHaveStyle(
+ if (isPlatformBrowser(platformId) && typeof MutationObserver !== 'undefined') {
+ expectEl(nodes[0]).not.toHaveInlineStyle(
{ 'margin-right': '13px' },
styler,
);
@@ -309,24 +309,24 @@ describe('layout-gap directive', () => {
fixture.detectChanges();
let nodes = queryFor(fixture, 'span');
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-right': '8px' }, styler);
- expectEl(nodes[0]).toHaveStyle({ 'margin-bottom': '8px' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-right': '8px' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-bottom': '8px' }, styler);
// layout = column-reverse, use margin-bottom
instance.direction = 'column-reverse';
fixture.detectChanges();
nodes = queryFor(fixture, 'span');
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-right': '8px' }, styler);
- expectEl(nodes[0]).toHaveStyle({ 'margin-top': '8px' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-right': '8px' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-top': '8px' }, styler);
// layout = row-reverse, use margin-right
instance.direction = 'row-reverse';
fixture.detectChanges();
nodes = queryFor(fixture, 'span');
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-bottom': '8px' }, styler);
- expectEl(nodes[0]).toHaveStyle({ 'margin-left': '8px' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-bottom': '8px' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-left': '8px' }, styler);
});
it('should recognize hidden elements when applying gaps', () => {
@@ -347,10 +347,10 @@ describe('layout-gap directive', () => {
expect(nodes.length).toEqual(3);
// TODO(CaerusKaru): Domino is unable to detect this style
if (!isPlatformServer(platformId)) {
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-right': '0px' }, styler);
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-right': '16px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '16px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '16px' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-right': '0px' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-right': '16px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '16px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '16px' }, styler);
}
});
@@ -376,10 +376,10 @@ describe('layout-gap directive', () => {
expect(nodes.length).toEqual(4);
// TODO(CaerusKaru): Domino is unable to detect this style
if (!isPlatformServer(platformId)) {
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-right': '16px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '16px' }, styler);
- expectEl(nodes[2]).toHaveStyle({ 'margin-right': '16px' }, styler);
- expectEl(nodes[3]).not.toHaveStyle({ 'margin-right': '16px' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-right': '16px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '16px' }, styler);
+ expectEl(nodes[2]).toHaveInlineStyle({ 'margin-right': '16px' }, styler);
+ expectEl(nodes[3]).not.toHaveInlineStyle({ 'margin-right': '16px' }, styler);
}
fixture.componentInstance.gap = '8px';
@@ -391,10 +391,10 @@ describe('layout-gap directive', () => {
expect(nodes.length).toEqual(4);
// TODO(CaerusKaru): Domino is unable to detect this style
if (!isPlatformServer(platformId)) {
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-bottom': '8px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-bottom': '8px' }, styler);
- expectEl(nodes[2]).toHaveStyle({ 'margin-bottom': '8px' }, styler);
- expectEl(nodes[3]).not.toHaveStyle({ 'margin-bottom': '8px' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-bottom': '8px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-bottom': '8px' }, styler);
+ expectEl(nodes[2]).toHaveInlineStyle({ 'margin-bottom': '8px' }, styler);
+ expectEl(nodes[3]).not.toHaveInlineStyle({ 'margin-bottom': '8px' }, styler);
}
});
});
@@ -413,17 +413,17 @@ describe('layout-gap directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '0px' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '0px' }, styler);
mediaController.activate('md');
fixture.detectChanges();
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '24px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '24px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '24px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '0px' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '24px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '24px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '24px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '0px' }, styler);
});
it('should set gap without fallback', () => {
@@ -440,21 +440,21 @@ describe('layout-gap directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
mediaController.activate('sm');
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-right': '*' }, styler);
- expectEl(nodes[1]).not.toHaveStyle({ 'margin-right': '*' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[1]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
mediaController.activate('md');
fixture.detectChanges();
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '24px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '24px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '24px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '0px' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '24px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '24px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '24px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '0px' }, styler);
mediaController.activate('sm');
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-right': '*' }, styler);
- expectEl(nodes[1]).not.toHaveStyle({ 'margin-right': '*' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[1]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
});
it('should set gap with responsive layout change', () => {
@@ -470,15 +470,15 @@ describe('layout-gap directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '24px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '24px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '24px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '24px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
mediaController.activate('xs');
fixture.detectChanges();
- expectEl(nodes[0]).toHaveStyle({ 'margin-bottom': '24px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-bottom': '24px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-bottom': '*' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-bottom': '24px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-bottom': '24px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-bottom': '*' }, styler);
});
it('should remove gaps with responsive layout change', () => {
@@ -494,22 +494,22 @@ describe('layout-gap directive', () => {
mediaController.activate('md');
fixture.detectChanges();
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-bottom': '24px' }, styler);
- expectEl(nodes[1]).not.toHaveStyle({ 'margin-bottom': '24px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-bottom': '*' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-bottom': '24px' }, styler);
+ expectEl(nodes[1]).not.toHaveInlineStyle({ 'margin-bottom': '24px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-bottom': '*' }, styler);
mediaController.activate('xs');
fixture.detectChanges();
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle({ 'margin-bottom': '24px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-bottom': '24px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-bottom': '*' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-bottom': '24px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-bottom': '24px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-bottom': '*' }, styler);
mediaController.activate('md');
fixture.detectChanges();
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-bottom': '24px' }, styler);
- expectEl(nodes[1]).not.toHaveStyle({ 'margin-bottom': '24px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-bottom': '*' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-bottom': '24px' }, styler);
+ expectEl(nodes[1]).not.toHaveInlineStyle({ 'margin-bottom': '24px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-bottom': '*' }, styler);
});
it('should add gap styles in proper order when order style is applied on responsive layout change', () => {
@@ -526,15 +526,15 @@ describe('layout-gap directive', () => {
mediaController.activate('md');
fixture.detectChanges();
expect(nodes.length).toEqual(3);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-bottom': '*' }, styler);
- expectEl(nodes[1]).not.toHaveStyle({ 'margin-bottom': '*' }, styler);
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-bottom': '*' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-bottom': '*' }, styler);
+ expectEl(nodes[1]).not.toHaveInlineStyle({ 'margin-bottom': '*' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-bottom': '*' }, styler);
mediaController.activate('xs');
fixture.detectChanges();
- expectEl(nodes[2]).toHaveStyle({ 'margin-bottom': '20px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-bottom': '20px' }, styler);
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-bottom': '*' }, styler);
+ expectEl(nodes[2]).toHaveInlineStyle({ 'margin-bottom': '20px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-bottom': '20px' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-bottom': '*' }, styler);
});
it('should work with dynamic fxHide', () => {
@@ -549,15 +549,15 @@ describe('layout-gap directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(2);
- expectEl(nodes[0]).not.toHaveStyle({ 'margin-right': '*' }, styler);
- expectEl(nodes[1]).not.toHaveStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[1]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
let instance = fixture.componentInstance;
instance.shouldHide = false;
fixture.detectChanges();
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '10px' }, styler);
- expectEl(nodes[1]).not.toHaveStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '10px' }, styler);
+ expectEl(nodes[1]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
});
it('should work with responsive fxHide', () => {
@@ -573,21 +573,21 @@ describe('layout-gap directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
mediaController.activate('sm');
fixture.detectChanges();
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[1]).not.toHaveStyle({ 'margin-right': '*' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[1]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
mediaController.activate('lg');
fixture.detectChanges();
- expectEl(nodes[0]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ 'margin-right': '13px' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ 'margin-right': '*' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'margin-right': '13px' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ 'margin-right': '*' }, styler);
});
});
@@ -624,10 +624,10 @@ describe('layout-gap directive', () => {
let expectedMargin = { margin: '0px -13px -13px 0px' };
let expectedPadding = { padding: '0px 13px 13px 0px' };
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle(expectedPadding, styler);
- expectEl(nodes[1]).toHaveStyle(expectedPadding, styler);
- expectEl(nodes[2]).toHaveStyle(expectedPadding, styler);
- expectNativeEl(fixture).toHaveStyle(expectedMargin, styler);
+ expectEl(nodes[0]).toHaveInlineStyle(expectedPadding, styler);
+ expectEl(nodes[1]).toHaveInlineStyle(expectedPadding, styler);
+ expectEl(nodes[2]).toHaveInlineStyle(expectedPadding, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(expectedMargin, styler);
});
it('should add gap styles correctly w/ multiplier', () => {
@@ -645,10 +645,10 @@ describe('layout-gap directive', () => {
let expectedMargin = { margin: '0px -52px -52px 0px' };
let expectedPadding = { padding: '0px 52px 52px 0px' };
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle(expectedPadding, styler);
- expectEl(nodes[1]).toHaveStyle(expectedPadding, styler);
- expectEl(nodes[2]).toHaveStyle(expectedPadding, styler);
- expectNativeEl(fixture).toHaveStyle(expectedMargin, styler);
+ expectEl(nodes[0]).toHaveInlineStyle(expectedPadding, styler);
+ expectEl(nodes[1]).toHaveInlineStyle(expectedPadding, styler);
+ expectEl(nodes[2]).toHaveInlineStyle(expectedPadding, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(expectedMargin, styler);
});
it('should add gap styles correctly between option', () => {
@@ -666,10 +666,10 @@ describe('layout-gap directive', () => {
let expectedMargin = { margin: '0px -13px -12px 0px' };
let expectedPadding = { padding: '0px 13px 12px 0px' };
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle(expectedPadding, styler);
- expectEl(nodes[1]).toHaveStyle(expectedPadding, styler);
- expectEl(nodes[2]).toHaveStyle(expectedPadding, styler);
- expectNativeEl(fixture).toHaveStyle(expectedMargin, styler);
+ expectEl(nodes[0]).toHaveInlineStyle(expectedPadding, styler);
+ expectEl(nodes[1]).toHaveInlineStyle(expectedPadding, styler);
+ expectEl(nodes[2]).toHaveInlineStyle(expectedPadding, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(expectedMargin, styler);
});
it('should set gap without fallback', () => {
@@ -686,20 +686,20 @@ describe('layout-gap directive', () => {
let nodes = queryFor(fixture, '[fxFlex]');
expect(nodes.length).toEqual(3);
mediaController.activate('sm');
- expectEl(nodes[0]).not.toHaveStyle({ padding: '*' }, styler);
- expectEl(nodes[1]).not.toHaveStyle({ padding: '*' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ padding: '*' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ padding: '*' }, styler);
+ expectEl(nodes[1]).not.toHaveInlineStyle({ padding: '*' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ padding: '*' }, styler);
mediaController.activate('md');
fixture.detectChanges();
- expectEl(nodes[0]).toHaveStyle({ padding: '0px 24px 24px 0px' }, styler);
- expectEl(nodes[1]).toHaveStyle({ padding: '0px 24px 24px 0px' }, styler);
- expectEl(nodes[2]).toHaveStyle({ padding: '0px 24px 24px 0px' }, styler);
+ expectEl(nodes[0]).toHaveInlineStyle({ padding: '0px 24px 24px 0px' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ padding: '0px 24px 24px 0px' }, styler);
+ expectEl(nodes[2]).toHaveInlineStyle({ padding: '0px 24px 24px 0px' }, styler);
mediaController.activate('sm');
- expectEl(nodes[0]).not.toHaveStyle({ padding: '*' }, styler);
- expectEl(nodes[1]).not.toHaveStyle({ padding: '*' }, styler);
- expectEl(nodes[2]).not.toHaveStyle({ padding: '*' }, styler);
+ expectEl(nodes[0]).not.toHaveInlineStyle({ padding: '*' }, styler);
+ expectEl(nodes[1]).not.toHaveInlineStyle({ padding: '*' }, styler);
+ expectEl(nodes[2]).not.toHaveInlineStyle({ padding: '*' }, styler);
});
it('should add gap styles correctly for rtl', () => {
@@ -718,16 +718,16 @@ describe('layout-gap directive', () => {
let expectedMargin = { margin: '0px 0px -13px -13px' };
let expectedPadding = { padding: '0px 0px 13px 13px' };
expect(nodes.length).toEqual(3);
- expectEl(nodes[0]).toHaveStyle(expectedPadding, styler);
- expectEl(nodes[1]).toHaveStyle(expectedPadding, styler);
- expectEl(nodes[2]).toHaveStyle(expectedPadding, styler);
- expectNativeEl(fixture).toHaveStyle(expectedMargin, styler);
+ expectEl(nodes[0]).toHaveInlineStyle(expectedPadding, styler);
+ expectEl(nodes[1]).toHaveInlineStyle(expectedPadding, styler);
+ expectEl(nodes[2]).toHaveInlineStyle(expectedPadding, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(expectedMargin, styler);
});
});
describe('with custom builder', () => {
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -754,12 +754,12 @@ describe('layout-gap directive', () => {
`);
- expectNativeEl(fixture).toHaveStyle({ 'margin-top': '12px' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ 'margin-top': '12px' }, styler);
});
});
});
-@Injectable({ providedIn: FlexModule })
+@Injectable()
export class MockLayoutGapStyleBuilder extends StyleBuilder {
override shouldCache = false;
buildStyles(_input: string) {
diff --git a/projects/libs/flex-layout/flex/layout-gap/layout-gap.ts b/projects/libs/flex-layout/flex/layout-gap/layout-gap.ts
index 816966f4..17eb438e 100644
--- a/projects/libs/flex-layout/flex/layout-gap/layout-gap.ts
+++ b/projects/libs/flex-layout/flex/layout-gap/layout-gap.ts
@@ -1,4 +1,5 @@
import { Directionality } from '@angular/cdk/bidi';
+import { isPlatformBrowser } from '@angular/common';
import {
AfterContentInit,
Directive,
@@ -7,6 +8,7 @@ import {
Injectable,
NgZone,
OnDestroy,
+ PLATFORM_ID,
} from '@angular/core';
import { LAYOUT_VALUES } from '@ngbracket/ngx-layout/_private-utils';
import {
@@ -146,6 +148,7 @@ export class LayoutGapDirective
protected styleUtils: StyleUtils,
styleBuilder: LayoutGapStyleBuilder,
marshal: MediaMarshaller,
+ @Inject(PLATFORM_ID) protected platformId: Object,
) {
super(elRef, styleBuilder, styleUtils, marshal);
const extraTriggers = [
@@ -265,7 +268,7 @@ export class LayoutGapDirective
protected buildChildObservable(): void {
this.zone.runOutsideAngular(() => {
- if (typeof MutationObserver !== 'undefined') {
+ if (isPlatformBrowser(this.platformId) && typeof MutationObserver !== 'undefined') {
this.observer = new MutationObserver((mutations: MutationRecord[]) => {
const validatedChanges = (it: MutationRecord): boolean => {
return (
diff --git a/projects/libs/flex-layout/flex/layout/layout.spec.ts b/projects/libs/flex-layout/flex/layout/layout.spec.ts
index 1b687fae..5bb82297 100644
--- a/projects/libs/flex-layout/flex/layout/layout.spec.ts
+++ b/projects/libs/flex-layout/flex/layout/layout.spec.ts
@@ -17,14 +17,14 @@ import {
ɵMockMatchMedia as MockMatchMedia,
ɵMockMatchMediaProvider as MockMatchMediaProvider,
} from '@ngbracket/ngx-layout/core';
-import { FlexModule, LayoutStyleBuilder } from '@ngbracket/ngx-layout/flex';
import {
- customMatchers,
expectEl,
expectNativeEl,
makeCreateTestComponent,
queryFor,
} from '@ngbracket/ngx-layout/_private-utils/testing';
+import { FlexModule } from '../module';
+import { LayoutStyleBuilder } from './layout';
describe('layout directive', () => {
let fixture: ComponentFixture;
@@ -43,7 +43,7 @@ describe('layout directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -62,7 +62,7 @@ describe('layout directive', () => {
describe('with static features', () => {
it('should add correct styles for default `fxLayout` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'flex',
'flex-direction': 'row',
@@ -73,7 +73,7 @@ describe('layout directive', () => {
});
it('should add correct styles for `fxLayout="row"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'flex',
'flex-direction': 'row',
@@ -84,7 +84,7 @@ describe('layout directive', () => {
});
it('should not override pre-existing styles', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'none',
'flex-direction': 'row',
@@ -95,7 +95,7 @@ describe('layout directive', () => {
});
it('should add correct styles for `fxLayout="row wrap"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'flex',
'flex-direction': 'row',
@@ -107,7 +107,7 @@ describe('layout directive', () => {
});
it('should add correct styles for `fxLayout="column"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'flex',
'flex-direction': 'column',
@@ -118,7 +118,7 @@ describe('layout directive', () => {
});
it('should add correct styles for binding `[fxLayout]="direction"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'flex',
'flex-direction': 'column',
@@ -129,7 +129,7 @@ describe('layout directive', () => {
});
it('should use default flex-direction for invalid value `fxLayout="invalid"` usage', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
},
@@ -140,7 +140,7 @@ describe('layout directive', () => {
// tslint:disable-line:max-line-length
createTestComponent(``);
fixture.componentInstance.direction = 'invalid';
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
},
@@ -151,7 +151,7 @@ describe('layout directive', () => {
createTestComponent(``);
fixture.componentInstance.direction = 'invalid';
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
},
@@ -159,7 +159,7 @@ describe('layout directive', () => {
);
fixture.componentInstance.direction = 'column';
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'column',
},
@@ -185,7 +185,7 @@ describe('layout directive', () => {
createTestComponent(template);
fixture.detectChanges();
- expectEl(queryFor(fixture, selector)[0]).toHaveStyle(
+ expectEl(queryFor(fixture, selector)[0]).toHaveInlineStyle(
{
'flex-direction': 'row-reverse',
},
@@ -197,7 +197,7 @@ describe('layout directive', () => {
describe('with wrap options', () => {
it('should recognize valid `wrap` option', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'flex',
'flex-direction': 'row',
@@ -210,7 +210,7 @@ describe('layout directive', () => {
it('should fallback to `wrap` for invalid options', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-wrap': 'wrap',
},
@@ -220,7 +220,7 @@ describe('layout directive', () => {
it('should fallback to `wrap` for invalid options', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-wrap': 'wrap',
},
@@ -230,7 +230,7 @@ describe('layout directive', () => {
it('should have valid wrap with flex children', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-wrap': 'wrap',
},
@@ -242,7 +242,7 @@ describe('layout directive', () => {
describe('with inline options', () => {
it('should recognize valid `inline` option', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'inline-flex',
'flex-direction': 'row',
@@ -253,7 +253,7 @@ describe('layout directive', () => {
it('should recognize `line` used with `wrap`', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'inline-flex',
'flex-wrap': 'wrap',
@@ -264,7 +264,7 @@ describe('layout directive', () => {
it('should recognize `inline` used with `wrap`', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'inline-flex',
'flex-wrap': 'wrap',
@@ -275,7 +275,7 @@ describe('layout directive', () => {
it('should fallback to `wrap` for invalid options', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'inline-flex',
'flex-wrap': 'wrap',
@@ -289,7 +289,7 @@ describe('layout directive', () => {
it('should ignore responsive changes when not configured', () => {
createTestComponent(``);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'flex',
'flex-direction': 'column',
@@ -303,7 +303,7 @@ describe('layout directive', () => {
``,
);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'flex',
'flex-direction': 'row',
@@ -313,7 +313,7 @@ describe('layout directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'flex',
'flex-direction': 'column',
@@ -324,7 +324,7 @@ describe('layout directive', () => {
);
mediaController.activate('lg');
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'flex-wrap': 'reverse-wrap',
},
@@ -334,7 +334,7 @@ describe('layout directive', () => {
it('should update responsive styles when the active mediaQuery changes', () => {
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
},
@@ -342,14 +342,14 @@ describe('layout directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'column',
},
styler,
);
mediaController.activate('all');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
},
@@ -363,22 +363,22 @@ describe('layout directive', () => {
[fxLayout.md]='direction'>
`);
- expectNativeEl(fixture).toHaveStyle({ 'flex-direction': 'row' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ 'flex-direction': 'row' }, styler);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{ 'flex-direction': 'column' },
styler,
);
fixture.componentInstance.direction = 'row';
- expectNativeEl(fixture).toHaveStyle({ 'flex-direction': 'row' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ 'flex-direction': 'row' }, styler);
});
it('should fallback to default styles when the active mediaQuery change is not configured', () => {
// tslint:disable-line:max-line-length
createTestComponent(``);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
},
@@ -386,14 +386,14 @@ describe('layout directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'column',
},
styler,
);
mediaController.activate('lg');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
},
@@ -405,7 +405,7 @@ describe('layout directive', () => {
// tslint:disable-line:max-line-length
createTestComponent(``);
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'flex-direction': 'column',
},
@@ -413,7 +413,7 @@ describe('layout directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'column',
},
@@ -421,7 +421,7 @@ describe('layout directive', () => {
);
mediaController.activate('lg');
- expectNativeEl(fixture).not.toHaveStyle(
+ expectNativeEl(fixture).not.toHaveInlineStyle(
{
'flex-direction': 'column',
},
@@ -429,7 +429,7 @@ describe('layout directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'column',
},
@@ -443,7 +443,7 @@ describe('layout directive', () => {
``,
);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
},
@@ -451,14 +451,14 @@ describe('layout directive', () => {
);
mediaController.activate('gt-sm');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'column',
},
styler,
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'row',
},
@@ -467,7 +467,7 @@ describe('layout directive', () => {
// Should fallback to value for 'gt-sm'
mediaController.activate('lg', true);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'flex-direction': 'column',
},
@@ -478,7 +478,7 @@ describe('layout directive', () => {
describe('with custom builder', () => {
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -505,12 +505,12 @@ describe('layout directive', () => {
`);
- expectNativeEl(fixture).toHaveStyle({ display: 'inline-flex' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'inline-flex' }, styler);
});
});
});
-@Injectable({ providedIn: FlexModule })
+@Injectable()
export class MockLayoutStyleBuilder extends StyleBuilder {
override shouldCache = false;
buildStyles(_input: string) {
diff --git a/projects/libs/flex-layout/grid/align-columns/align-columns.spec.ts b/projects/libs/flex-layout/grid/align-columns/align-columns.spec.ts
index 6a1c00b8..20259f81 100644
--- a/projects/libs/flex-layout/grid/align-columns/align-columns.spec.ts
+++ b/projects/libs/flex-layout/grid/align-columns/align-columns.spec.ts
@@ -18,7 +18,6 @@ import {
import { extendObject } from '@ngbracket/ngx-layout/_private-utils';
import {
- customMatchers,
expectNativeEl,
makeCreateTestComponent,
} from '@ngbracket/ngx-layout/_private-utils/testing';
@@ -53,7 +52,7 @@ describe('align columns directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -71,7 +70,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(DEFAULT_ALIGNS, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(DEFAULT_ALIGNS, styler);
});
it('should work with inline grid', () => {
@@ -81,7 +80,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(
{
display: 'inline-grid',
@@ -100,7 +99,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'align-content': 'start' }, CROSS_DEFAULT),
styler,
);
@@ -112,7 +111,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'align-content': 'end' }, CROSS_DEFAULT),
styler,
);
@@ -124,7 +123,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'align-content': 'stretch' }, CROSS_DEFAULT),
styler,
);
@@ -136,7 +135,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'align-content': 'center' }, CROSS_DEFAULT),
styler,
);
@@ -148,7 +147,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'align-content': 'space-around' }, CROSS_DEFAULT),
styler,
);
@@ -160,7 +159,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'align-content': 'space-between' }, CROSS_DEFAULT),
styler,
);
@@ -172,7 +171,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'align-content': 'space-evenly' }, CROSS_DEFAULT),
styler,
);
@@ -185,7 +184,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAIN_DEFAULT, CROSS_DEFAULT),
styler,
);
@@ -200,7 +199,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAIN_DEFAULT, { 'align-items': 'start' }),
styler,
);
@@ -212,7 +211,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAIN_DEFAULT, { 'align-items': 'center' }),
styler,
);
@@ -224,7 +223,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAIN_DEFAULT, { 'align-items': 'end' }),
styler,
);
@@ -236,7 +235,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAIN_DEFAULT, CROSS_DEFAULT),
styler,
);
@@ -252,7 +251,7 @@ describe('align columns directive', () => {
}
fixture.componentInstance.alignBy = 'center end';
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'align-content': 'center',
'align-items': 'end',
@@ -261,10 +260,10 @@ describe('align columns directive', () => {
);
fixture.componentInstance.alignBy = 'invalid invalid';
- expectNativeEl(fixture).toHaveStyle(DEFAULT_ALIGNS, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(DEFAULT_ALIGNS, styler);
fixture.componentInstance.alignBy = '';
- expectNativeEl(fixture).toHaveStyle(DEFAULT_ALIGNS, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(DEFAULT_ALIGNS, styler);
});
});
});
@@ -279,7 +278,7 @@ describe('align columns directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'align-content': 'center',
'align-items': 'center',
@@ -297,7 +296,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'align-content': 'center',
'align-items': 'center',
@@ -307,7 +306,7 @@ describe('align columns directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'align-content': 'end',
'align-items': 'stretch',
@@ -328,7 +327,7 @@ describe('align columns directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'align-content': 'center',
'align-items': 'stretch',
@@ -338,7 +337,7 @@ describe('align columns directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'align-content': 'end',
'align-items': 'stretch',
@@ -348,7 +347,7 @@ describe('align columns directive', () => {
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'align-content': 'center',
'align-items': 'stretch',
@@ -372,7 +371,7 @@ describe('align columns directive', () => {
mediaController.useOverlaps = true;
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'align-content': 'start',
},
@@ -380,7 +379,7 @@ describe('align columns directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'align-content': 'center',
},
@@ -388,7 +387,7 @@ describe('align columns directive', () => {
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'align-content': 'start',
},
@@ -397,7 +396,7 @@ describe('align columns directive', () => {
// Should fallback to value for 'gt-xs' or default
mediaController.activate('lg', true);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'align-content': 'end',
},
@@ -405,7 +404,7 @@ describe('align columns directive', () => {
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'align-content': 'start',
},
@@ -414,7 +413,7 @@ describe('align columns directive', () => {
// Should fallback to value for 'gt-xs' or default
mediaController.activate('xl', true);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'align-content': 'end',
},
diff --git a/projects/libs/flex-layout/grid/align-rows/align-rows.spec.ts b/projects/libs/flex-layout/grid/align-rows/align-rows.spec.ts
index dd9e81d0..d52f2de3 100644
--- a/projects/libs/flex-layout/grid/align-rows/align-rows.spec.ts
+++ b/projects/libs/flex-layout/grid/align-rows/align-rows.spec.ts
@@ -17,7 +17,6 @@ import {
import { extendObject } from '@ngbracket/ngx-layout/_private-utils';
import {
- customMatchers,
expectNativeEl,
makeCreateTestComponent,
} from '@ngbracket/ngx-layout/_private-utils/testing';
@@ -53,7 +52,7 @@ describe('align rows directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -71,7 +70,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(DEFAULT_ALIGNS, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(DEFAULT_ALIGNS, styler);
});
it('should work with inline grid', () => {
@@ -81,7 +80,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(
{
display: 'inline-grid',
@@ -100,7 +99,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-content': 'start' }, CROSS_DEFAULT),
styler,
);
@@ -112,7 +111,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-content': 'end' }, CROSS_DEFAULT),
styler,
);
@@ -124,7 +123,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-content': 'stretch' }, CROSS_DEFAULT),
styler,
);
@@ -136,7 +135,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-content': 'center' }, CROSS_DEFAULT),
styler,
);
@@ -148,7 +147,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-content': 'space-around' }, CROSS_DEFAULT),
styler,
);
@@ -160,7 +159,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-content': 'space-between' }, CROSS_DEFAULT),
styler,
);
@@ -172,7 +171,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-content': 'space-evenly' }, CROSS_DEFAULT),
styler,
);
@@ -185,7 +184,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAIN_DEFAULT, CROSS_DEFAULT),
styler,
);
@@ -200,7 +199,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAIN_DEFAULT, { 'justify-items': 'start' }),
styler,
);
@@ -212,7 +211,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAIN_DEFAULT, { 'justify-items': 'center' }),
styler,
);
@@ -224,7 +223,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAIN_DEFAULT, { 'justify-items': 'end' }),
styler,
);
@@ -236,7 +235,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(MAIN_DEFAULT, CROSS_DEFAULT),
styler,
);
@@ -252,7 +251,7 @@ describe('align rows directive', () => {
}
fixture.componentInstance.alignBy = 'center end';
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
'justify-items': 'end',
@@ -261,10 +260,10 @@ describe('align rows directive', () => {
);
fixture.componentInstance.alignBy = 'invalid invalid';
- expectNativeEl(fixture).toHaveStyle(DEFAULT_ALIGNS, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(DEFAULT_ALIGNS, styler);
fixture.componentInstance.alignBy = '';
- expectNativeEl(fixture).toHaveStyle(DEFAULT_ALIGNS, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(DEFAULT_ALIGNS, styler);
});
});
});
@@ -279,7 +278,7 @@ describe('align rows directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
'justify-items': 'center',
@@ -297,7 +296,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
'justify-items': 'center',
@@ -307,7 +306,7 @@ describe('align rows directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'end',
'justify-items': 'stretch',
@@ -328,7 +327,7 @@ describe('align rows directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
'justify-items': 'stretch',
@@ -338,7 +337,7 @@ describe('align rows directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'end',
'justify-items': 'stretch',
@@ -348,7 +347,7 @@ describe('align rows directive', () => {
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
'justify-items': 'stretch',
@@ -372,7 +371,7 @@ describe('align rows directive', () => {
mediaController.useOverlaps = true;
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'start',
},
@@ -380,7 +379,7 @@ describe('align rows directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'center',
},
@@ -388,7 +387,7 @@ describe('align rows directive', () => {
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'start',
},
@@ -397,7 +396,7 @@ describe('align rows directive', () => {
// Should fallback to value for 'gt-xs' or default
mediaController.activate('lg', true);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'end',
},
@@ -405,7 +404,7 @@ describe('align rows directive', () => {
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'start',
},
@@ -414,7 +413,7 @@ describe('align rows directive', () => {
// Should fallback to value for 'gt-xs' or default
mediaController.activate('xl', true);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-content': 'end',
},
diff --git a/projects/libs/flex-layout/grid/area/area.spec.ts b/projects/libs/flex-layout/grid/area/area.spec.ts
index f0179cd7..7d9e1bdd 100644
--- a/projects/libs/flex-layout/grid/area/area.spec.ts
+++ b/projects/libs/flex-layout/grid/area/area.spec.ts
@@ -18,7 +18,6 @@ import {
} from '@ngbracket/ngx-layout/core';
import {
- customMatchers,
expectEl,
expectNativeEl,
makeCreateTestComponent,
@@ -59,7 +58,7 @@ describe('grid area child directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -92,7 +91,7 @@ describe('grid area child directive', () => {
let nodes = queryFor(fixture, '[gdArea]');
expect(nodes.length).toBe(3);
if (platform.WEBKIT) {
- expectEl(nodes[1]).toHaveStyle(
+ expectEl(nodes[1]).toHaveInlineStyle(
{
'grid-row-start': 'grace',
'grid-row-end': 'grace',
@@ -124,7 +123,7 @@ describe('grid area child directive', () => {
}
if (platform.WEBKIT) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'grid-row-start': 'sidebar',
'grid-row-end': 'sidebar',
@@ -148,7 +147,7 @@ describe('grid area child directive', () => {
fixture.componentInstance.area = 'header';
if (platform.WEBKIT) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'grid-row-start': 'header',
'grid-row-end': 'header',
@@ -183,7 +182,7 @@ describe('grid area child directive', () => {
}
if (platform.WEBKIT) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'grid-row-start': 'sidebar',
'grid-row-end': 'sidebar',
@@ -206,7 +205,7 @@ describe('grid area child directive', () => {
mediaController.activate('xs');
if (platform.WEBKIT) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'grid-row-start': 'footer',
'grid-row-end': 'footer',
@@ -228,7 +227,7 @@ describe('grid area child directive', () => {
mediaController.activate('md');
if (platform.WEBKIT) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'grid-row-start': 'sidebar',
'grid-row-end': 'sidebar',
diff --git a/projects/libs/flex-layout/grid/areas/areas.spec.ts b/projects/libs/flex-layout/grid/areas/areas.spec.ts
index 6367a6a8..ad92390f 100644
--- a/projects/libs/flex-layout/grid/areas/areas.spec.ts
+++ b/projects/libs/flex-layout/grid/areas/areas.spec.ts
@@ -18,7 +18,6 @@ import {
} from '@ngbracket/ngx-layout/core';
import {
- customMatchers,
expectNativeEl,
makeCreateTestComponent,
} from '@ngbracket/ngx-layout/_private-utils/testing';
@@ -57,7 +56,7 @@ describe('grid area parent directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -91,7 +90,7 @@ describe('grid area parent directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-areas': '"header" "header" "sidebar" "footer"',
@@ -120,7 +119,7 @@ describe('grid area parent directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'inline-grid',
'grid-template-areas': '"header" "header" "sidebar" "footer"',
@@ -149,7 +148,7 @@ describe('grid area parent directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-areas': '"header" "header" "sidebar" "footer"',
@@ -174,7 +173,7 @@ describe('grid area parent directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'grid-template-areas': '"sidebar" "sidebar"',
},
@@ -183,7 +182,7 @@ describe('grid area parent directive', () => {
fixture.componentInstance.areas = 'header | header | sidebar';
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-areas': '"header" "header" "sidebar"',
@@ -211,7 +210,7 @@ describe('grid area parent directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-areas':
@@ -221,7 +220,7 @@ describe('grid area parent directive', () => {
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-areas':
@@ -231,7 +230,7 @@ describe('grid area parent directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-areas':
diff --git a/projects/libs/flex-layout/grid/auto/auto.spec.ts b/projects/libs/flex-layout/grid/auto/auto.spec.ts
index 5025272a..d91f7106 100644
--- a/projects/libs/flex-layout/grid/auto/auto.spec.ts
+++ b/projects/libs/flex-layout/grid/auto/auto.spec.ts
@@ -10,7 +10,6 @@ import { CommonModule } from '@angular/common';
import { Component } from '@angular/core';
import { ComponentFixture, inject, TestBed } from '@angular/core/testing';
import {
- customMatchers,
expectNativeEl,
makeCreateTestComponent,
} from '@ngbracket/ngx-layout/_private-utils/testing';
@@ -21,7 +20,7 @@ import {
SERVER_TOKEN,
StyleUtils,
} from '@ngbracket/ngx-layout/core';
-import { GridModule } from '@ngbracket/ngx-layout/grid';
+import { GridModule } from '../module';
describe('grid auto parent directive', () => {
let fixture: ComponentFixture;
@@ -48,7 +47,7 @@ describe('grid auto parent directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -72,7 +71,7 @@ describe('grid auto parent directive', () => {
`;
createTestComponent(template);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow': 'row',
@@ -91,7 +90,7 @@ describe('grid auto parent directive', () => {
`;
createTestComponent(template);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'inline-grid',
'grid-auto-flow': 'row',
@@ -110,7 +109,7 @@ describe('grid auto parent directive', () => {
`;
createTestComponent(template);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow': 'row',
@@ -129,7 +128,7 @@ describe('grid auto parent directive', () => {
`;
createTestComponent(template);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow': 'column',
@@ -148,7 +147,7 @@ describe('grid auto parent directive', () => {
`;
createTestComponent(template);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow': 'dense',
@@ -167,7 +166,7 @@ describe('grid auto parent directive', () => {
`;
createTestComponent(template);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow': 'dense',
@@ -186,7 +185,7 @@ describe('grid auto parent directive', () => {
`;
createTestComponent(template);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow': 'column dense',
@@ -205,7 +204,7 @@ describe('grid auto parent directive', () => {
`;
createTestComponent(template);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow':
@@ -225,7 +224,7 @@ describe('grid auto parent directive', () => {
`;
createTestComponent(template);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow':
@@ -245,7 +244,7 @@ describe('grid auto parent directive', () => {
`;
createTestComponent(template);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow': 'column',
@@ -260,7 +259,7 @@ describe('grid auto parent directive', () => {
`;
createTestComponent(template);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow': 'row',
@@ -270,7 +269,7 @@ describe('grid auto parent directive', () => {
fixture.componentInstance.auto = 'column';
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow': 'column',
@@ -288,7 +287,7 @@ describe('grid auto parent directive', () => {
`;
createTestComponent(template);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow': 'row',
@@ -297,7 +296,7 @@ describe('grid auto parent directive', () => {
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow': 'column',
@@ -306,7 +305,7 @@ describe('grid auto parent directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-flow': 'row',
diff --git a/projects/libs/flex-layout/grid/column/column.spec.ts b/projects/libs/flex-layout/grid/column/column.spec.ts
index f221bcd7..d65d647f 100644
--- a/projects/libs/flex-layout/grid/column/column.spec.ts
+++ b/projects/libs/flex-layout/grid/column/column.spec.ts
@@ -18,7 +18,6 @@ import {
} from '@ngbracket/ngx-layout/core';
import {
- customMatchers,
expectEl,
makeCreateTestComponent,
queryFor,
@@ -58,7 +57,7 @@ describe('grid column child directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -92,7 +91,7 @@ describe('grid column child directive', () => {
expect(nodes.length).toBe(3);
if (platform.WEBKIT) {
- expectEl(nodes[1]).toHaveStyle(
+ expectEl(nodes[1]).toHaveInlineStyle(
{
'grid-column-start': 'span 2',
'grid-column-end': '6',
@@ -100,7 +99,7 @@ describe('grid column child directive', () => {
styler,
);
} else {
- expectEl(nodes[1]).toHaveStyle({ 'grid-column': 'span 2 / 6' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'grid-column': 'span 2 / 6' }, styler);
}
});
diff --git a/projects/libs/flex-layout/grid/columns/columns.spec.ts b/projects/libs/flex-layout/grid/columns/columns.spec.ts
index fceb3a73..a70dd8f1 100644
--- a/projects/libs/flex-layout/grid/columns/columns.spec.ts
+++ b/projects/libs/flex-layout/grid/columns/columns.spec.ts
@@ -18,7 +18,6 @@ import {
} from '@ngbracket/ngx-layout/core';
import {
- customMatchers,
expectNativeEl,
makeCreateTestComponent,
} from '@ngbracket/ngx-layout/_private-utils/testing';
@@ -57,7 +56,7 @@ describe('grid columns parent directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -85,7 +84,7 @@ describe('grid columns parent directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-columns': '100px 1fr',
@@ -111,7 +110,7 @@ describe('grid columns parent directive', () => {
// TODO(CaerusKaru): Firefox has an issue with auto tracks,
// caused by rachelandrew/gridbugs#1
if (!platform.FIREFOX) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-columns': '100px 1fr auto',
@@ -135,7 +134,7 @@ describe('grid columns parent directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'inline-grid',
'grid-template-columns': '100px 1fr',
@@ -154,7 +153,7 @@ describe('grid columns parent directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-columns': '50px 1fr',
@@ -164,7 +163,7 @@ describe('grid columns parent directive', () => {
fixture.componentInstance.cols = '100px 1fr';
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-columns': '100px 1fr',
@@ -186,7 +185,7 @@ describe('grid columns parent directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-columns': '100px 1fr',
@@ -195,7 +194,7 @@ describe('grid columns parent directive', () => {
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-columns': '50px 1fr',
@@ -204,7 +203,7 @@ describe('grid columns parent directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-columns': '100px 1fr',
diff --git a/projects/libs/flex-layout/grid/gap/gap.spec.ts b/projects/libs/flex-layout/grid/gap/gap.spec.ts
index a51cc342..796f2dcd 100644
--- a/projects/libs/flex-layout/grid/gap/gap.spec.ts
+++ b/projects/libs/flex-layout/grid/gap/gap.spec.ts
@@ -18,7 +18,6 @@ import {
} from '@ngbracket/ngx-layout/core';
import {
- customMatchers,
expectNativeEl,
makeCreateTestComponent,
} from '@ngbracket/ngx-layout/_private-utils/testing';
@@ -57,7 +56,7 @@ describe('grid gap directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -84,7 +83,7 @@ describe('grid gap directive', () => {
}
if (platform.WEBKIT) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-row-gap': '10px',
@@ -93,7 +92,7 @@ describe('grid gap directive', () => {
styler,
);
} else {
- expectNativeEl(fixture).toHaveStyle({ display: 'grid' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'grid' }, styler);
let gapStyle = styler.lookupStyle(
fixture.debugElement.children[0].nativeElement,
'grid-gap',
@@ -116,7 +115,7 @@ describe('grid gap directive', () => {
}
if (platform.WEBKIT) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-row-gap': '10px',
@@ -125,7 +124,7 @@ describe('grid gap directive', () => {
styler,
);
} else if (platform.BLINK) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
gap: '10px 15px',
@@ -133,7 +132,7 @@ describe('grid gap directive', () => {
styler,
);
} else {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-gap': '10px 15px',
@@ -158,7 +157,7 @@ describe('grid gap directive', () => {
}
if (platform.WEBKIT) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-row-gap': '8px',
@@ -179,7 +178,7 @@ describe('grid gap directive', () => {
fixture.componentInstance.gap = '16px';
if (platform.WEBKIT) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-row-gap': '16px',
@@ -211,7 +210,7 @@ describe('grid gap directive', () => {
}
if (platform.WEBKIT) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'inline-grid',
'grid-row-gap': '10px',
@@ -220,7 +219,7 @@ describe('grid gap directive', () => {
styler,
);
} else {
- expectNativeEl(fixture).toHaveStyle({ display: 'inline-grid' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'inline-grid' }, styler);
let gapStyle = styler.lookupStyle(
fixture.debugElement.children[0].nativeElement,
'grid-gap',
@@ -245,7 +244,7 @@ describe('grid gap directive', () => {
}
if (platform.WEBKIT) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-row-gap': '10px',
@@ -254,7 +253,7 @@ describe('grid gap directive', () => {
styler,
);
} else {
- expectNativeEl(fixture).toHaveStyle({ display: 'grid' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'grid' }, styler);
let gapStyle = styler.lookupStyle(
fixture.debugElement.children[0].nativeElement,
'grid-gap',
@@ -265,7 +264,7 @@ describe('grid gap directive', () => {
mediaController.activate('xs');
if (platform.WEBKIT) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-row-gap': '16px',
@@ -274,7 +273,7 @@ describe('grid gap directive', () => {
styler,
);
} else {
- expectNativeEl(fixture).toHaveStyle({ display: 'grid' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'grid' }, styler);
let gapStyle = styler.lookupStyle(
fixture.debugElement.children[0].nativeElement,
'grid-gap',
@@ -285,7 +284,7 @@ describe('grid gap directive', () => {
mediaController.activate('md');
if (platform.WEBKIT) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-row-gap': '10px',
@@ -294,7 +293,7 @@ describe('grid gap directive', () => {
styler,
);
} else {
- expectNativeEl(fixture).toHaveStyle({ display: 'grid' }, styler);
+ expectNativeEl(fixture).toHaveInlineStyle({ display: 'grid' }, styler);
let gapStyle = styler.lookupStyle(
fixture.debugElement.children[0].nativeElement,
'grid-gap',
diff --git a/projects/libs/flex-layout/grid/grid-align/grid-align.spec.ts b/projects/libs/flex-layout/grid/grid-align/grid-align.spec.ts
index 2bb3d294..2d8966f7 100644
--- a/projects/libs/flex-layout/grid/grid-align/grid-align.spec.ts
+++ b/projects/libs/flex-layout/grid/grid-align/grid-align.spec.ts
@@ -19,7 +19,6 @@ import {
import { extendObject } from '@ngbracket/ngx-layout/_private-utils';
import {
- customMatchers,
expectNativeEl,
makeCreateTestComponent,
} from '@ngbracket/ngx-layout/_private-utils/testing';
@@ -53,7 +52,7 @@ describe('align directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -74,7 +73,7 @@ describe('align directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{ 'justify-self': 'stretch' },
styler,
);
@@ -88,7 +87,7 @@ describe('align directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-self': 'start' }, COLUMN_DEFAULT),
styler,
);
@@ -100,7 +99,7 @@ describe('align directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-self': 'center' }, COLUMN_DEFAULT),
styler,
);
@@ -112,7 +111,7 @@ describe('align directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-self': 'end' }, COLUMN_DEFAULT),
styler,
);
@@ -124,7 +123,7 @@ describe('align directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-self': 'stretch' }, COLUMN_DEFAULT),
styler,
);
@@ -136,7 +135,7 @@ describe('align directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject({ 'justify-self': 'stretch' }, COLUMN_DEFAULT),
styler,
);
@@ -151,7 +150,7 @@ describe('align directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(ROW_DEFAULT, { 'align-self': 'start' }),
styler,
);
@@ -163,7 +162,7 @@ describe('align directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(ROW_DEFAULT, { 'align-self': 'center' }),
styler,
);
@@ -175,7 +174,7 @@ describe('align directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(ROW_DEFAULT, { 'align-self': 'end' }),
styler,
);
@@ -187,7 +186,7 @@ describe('align directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
extendObject(ROW_DEFAULT, { 'align-self': 'stretch' }),
styler,
);
@@ -203,7 +202,7 @@ describe('align directive', () => {
}
fixture.componentInstance.alignBy = 'center end';
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-self': 'center',
'align-self': 'end',
@@ -212,10 +211,10 @@ describe('align directive', () => {
);
fixture.componentInstance.alignBy = 'invalid invalid';
- expectNativeEl(fixture).toHaveStyle(DEFAULT_ALIGNS, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(DEFAULT_ALIGNS, styler);
fixture.componentInstance.alignBy = '';
- expectNativeEl(fixture).toHaveStyle(DEFAULT_ALIGNS, styler);
+ expectNativeEl(fixture).toHaveInlineStyle(DEFAULT_ALIGNS, styler);
});
});
});
@@ -230,7 +229,7 @@ describe('align directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-self': 'center',
'align-self': 'center',
@@ -248,7 +247,7 @@ describe('align directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-self': 'center',
'align-self': 'center',
@@ -258,7 +257,7 @@ describe('align directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-self': 'end',
'align-self': 'stretch',
@@ -279,7 +278,7 @@ describe('align directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-self': 'center',
'align-self': 'stretch',
@@ -289,7 +288,7 @@ describe('align directive', () => {
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-self': 'end',
'align-self': 'stretch',
@@ -299,7 +298,7 @@ describe('align directive', () => {
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-self': 'center',
'align-self': 'stretch',
@@ -323,7 +322,7 @@ describe('align directive', () => {
mediaController.useOverlaps = true;
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-self': 'start',
},
@@ -331,7 +330,7 @@ describe('align directive', () => {
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-self': 'start',
},
@@ -339,7 +338,7 @@ describe('align directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-self': 'center',
},
@@ -348,7 +347,7 @@ describe('align directive', () => {
// Should fallback to value for 'gt-xs' or default
mediaController.activate('lg', true);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-self': 'end',
},
@@ -356,7 +355,7 @@ describe('align directive', () => {
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-self': 'start',
},
@@ -365,7 +364,7 @@ describe('align directive', () => {
// Should fallback to value for 'gt-xs' or default
mediaController.activate('xl', true);
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
'justify-self': 'end',
},
diff --git a/projects/libs/flex-layout/grid/row/row.spec.ts b/projects/libs/flex-layout/grid/row/row.spec.ts
index e4b3769b..6059f9b5 100644
--- a/projects/libs/flex-layout/grid/row/row.spec.ts
+++ b/projects/libs/flex-layout/grid/row/row.spec.ts
@@ -18,7 +18,6 @@ import {
} from '@ngbracket/ngx-layout/core';
import {
- customMatchers,
expectEl,
makeCreateTestComponent,
queryFor,
@@ -58,7 +57,7 @@ describe('grid row child directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -91,7 +90,7 @@ describe('grid row child directive', () => {
let nodes = queryFor(fixture, '[gdRow]');
expect(nodes.length).toBe(3);
if (platform.WEBKIT) {
- expectEl(nodes[1]).toHaveStyle(
+ expectEl(nodes[1]).toHaveInlineStyle(
{
'grid-row-start': 'span 2',
'grid-row-end': '6',
@@ -99,7 +98,7 @@ describe('grid row child directive', () => {
styler,
);
} else {
- expectEl(nodes[1]).toHaveStyle({ 'grid-row': 'span 2 / 6' }, styler);
+ expectEl(nodes[1]).toHaveInlineStyle({ 'grid-row': 'span 2 / 6' }, styler);
}
});
diff --git a/projects/libs/flex-layout/grid/rows/rows.spec.ts b/projects/libs/flex-layout/grid/rows/rows.spec.ts
index 69b14c5c..80de7fb8 100644
--- a/projects/libs/flex-layout/grid/rows/rows.spec.ts
+++ b/projects/libs/flex-layout/grid/rows/rows.spec.ts
@@ -18,7 +18,6 @@ import {
} from '@ngbracket/ngx-layout/core';
import {
- customMatchers,
expectNativeEl,
makeCreateTestComponent,
} from '@ngbracket/ngx-layout/_private-utils/testing';
@@ -57,7 +56,7 @@ describe('grid rows parent directive', () => {
};
beforeEach(() => {
- jasmine.addMatchers(customMatchers);
+
// Configure testbed to prepare services
TestBed.configureTestingModule({
@@ -85,7 +84,7 @@ describe('grid rows parent directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-rows': '100px 1fr',
@@ -111,7 +110,7 @@ describe('grid rows parent directive', () => {
// TODO(CaerusKaru): Firefox has an issue with auto tracks,
// caused by rachelandrew/gridbugs#1
if (!platform.FIREFOX) {
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-auto-rows': '100px 1fr auto',
@@ -135,7 +134,7 @@ describe('grid rows parent directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'inline-grid',
'grid-template-rows': '100px 1fr',
@@ -154,7 +153,7 @@ describe('grid rows parent directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-rows': '50px 1fr',
@@ -164,7 +163,7 @@ describe('grid rows parent directive', () => {
fixture.componentInstance.cols = '100px 1fr';
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-rows': '100px 1fr',
@@ -186,7 +185,7 @@ describe('grid rows parent directive', () => {
return;
}
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-rows': '100px 1fr',
@@ -195,7 +194,7 @@ describe('grid rows parent directive', () => {
);
mediaController.activate('xs');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-rows': '50px 1fr',
@@ -204,7 +203,7 @@ describe('grid rows parent directive', () => {
);
mediaController.activate('md');
- expectNativeEl(fixture).toHaveStyle(
+ expectNativeEl(fixture).toHaveInlineStyle(
{
display: 'grid',
'grid-template-rows': '100px 1fr',
diff --git a/projects/libs/flex-layout/project.json b/projects/libs/flex-layout/project.json
index 49ac6590..5a4f8327 100644
--- a/projects/libs/flex-layout/project.json
+++ b/projects/libs/flex-layout/project.json
@@ -23,13 +23,16 @@
"defaultConfiguration": "production"
},
"test": {
- "executor": "@angular-devkit/build-angular:karma",
+ "executor": "@nx/vite:test",
+ "outputs": ["{options.reportsDirectory}"],
"options": {
- "watch": false,
- "main": "projects/libs/flex-layout/test.ts",
- "polyfills": ["zone.js", "zone.js/testing"],
- "tsConfig": "projects/libs/flex-layout/tsconfig.spec.json",
- "karmaConfig": "test/karma.conf.js"
+ "reportsDirectory": "../../../coverage/projects/libs/flex-layout"
+ },
+ "configurations": {
+ "ssr": {
+ "config": "projects/libs/flex-layout/vite.config.ssr.mts",
+ "reportsDirectory": "../../../coverage/ssr/projects/libs/flex-layout"
+ }
}
}
}
diff --git a/projects/libs/flex-layout/test-setup.ssr.ts b/projects/libs/flex-layout/test-setup.ssr.ts
new file mode 100644
index 00000000..f5a17de8
--- /dev/null
+++ b/projects/libs/flex-layout/test-setup.ssr.ts
@@ -0,0 +1,14 @@
+import '@analogjs/vitest-angular/setup-zone';
+import '@testing-library/jest-dom/vitest';
+import './_private-utils/testing/custom-matchers';
+
+import { getTestBed } from '@angular/core/testing';
+import {
+ ServerTestingModule,
+ platformServerTesting,
+} from '@angular/platform-server/testing';
+
+getTestBed().initTestEnvironment(
+ ServerTestingModule,
+ platformServerTesting(),
+);
diff --git a/projects/libs/flex-layout/test-setup.ts b/projects/libs/flex-layout/test-setup.ts
new file mode 100644
index 00000000..39dc2bcf
--- /dev/null
+++ b/projects/libs/flex-layout/test-setup.ts
@@ -0,0 +1,14 @@
+import '@analogjs/vitest-angular/setup-zone';
+import '@testing-library/jest-dom/vitest';
+import './_private-utils/testing/custom-matchers';
+
+import { getTestBed } from '@angular/core/testing';
+import {
+ BrowserDynamicTestingModule,
+ platformBrowserDynamicTesting,
+} from '@angular/platform-browser-dynamic/testing';
+
+getTestBed().initTestEnvironment(
+ BrowserDynamicTestingModule,
+ platformBrowserDynamicTesting(),
+);
diff --git a/projects/libs/flex-layout/test.ssr.ts b/projects/libs/flex-layout/test.ssr.ts
deleted file mode 100644
index f8b8fd77..00000000
--- a/projects/libs/flex-layout/test.ssr.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import 'zone.js';
-import 'zone.js/testing';
-
-import { getTestBed } from '@angular/core/testing';
-import {
- ServerTestingModule,
- platformServerTesting,
-} from '@angular/platform-server/testing';
-
-// First, initialize the Angular testing environment.
-getTestBed().initTestEnvironment(ServerTestingModule, platformServerTesting());
-
-declare const require: {
- context(
- path: string,
- deep?: boolean,
- filter?: RegExp,
- ): {
- keys(): string[];
- (id: string): T;
- };
-};
-
-// Then we find all the tests.
-const context = require.context('./', true, /\.spec\.ts$/);
-// And load the modules.
-context.keys().map(context);
diff --git a/projects/libs/flex-layout/tsconfig.json b/projects/libs/flex-layout/tsconfig.json
new file mode 100644
index 00000000..6e294be9
--- /dev/null
+++ b/projects/libs/flex-layout/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compilerOptions": {
+ "target": "es2022",
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true
+ },
+ "files": [],
+ "include": [],
+ "references": [
+ {
+ "path": "./tsconfig.lib.json"
+ },
+ {
+ "path": "./tsconfig.lib.prod.json"
+ },
+ {
+ "path": "./tsconfig.spec.json"
+ }
+ ],
+ "extends": "../../../tsconfig.json",
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
diff --git a/projects/libs/flex-layout/tsconfig.lib.json b/projects/libs/flex-layout/tsconfig.lib.json
index 7ed198b4..01c23351 100644
--- a/projects/libs/flex-layout/tsconfig.lib.json
+++ b/projects/libs/flex-layout/tsconfig.lib.json
@@ -5,12 +5,28 @@
"declaration": true,
"declarationMap": false,
"inlineSources": true,
- "types": ["jasmine"]
+ "types": ["vitest"]
},
"exclude": [
- "test.ts",
"**/*.spec.ts",
- "**/testing/**/*.ts"
+ "test-setup.ts",
+ "jest.config.ts",
+ "**/*.test.ts",
+ "vite.config.ts",
+ "vite.config.mts",
+ "vitest.config.ts",
+ "vitest.config.mts",
+ "vite.config.ssr.ts",
+ "vite.config.ssr.mts",
+ "vitest.config.ssr.ts",
+ "vitest.config.ssr.mts",
+ "**/*.test.tsx",
+ "**/*.spec.tsx",
+ "**/*.test.js",
+ "**/*.spec.js",
+ "**/*.test.jsx",
+ "**/*.spec.jsx",
+ "test-setup.ts"
],
"include":[
"**/*.ts"
diff --git a/projects/libs/flex-layout/tsconfig.spec.json b/projects/libs/flex-layout/tsconfig.spec.json
index f312e5e9..3ca97e8c 100644
--- a/projects/libs/flex-layout/tsconfig.spec.json
+++ b/projects/libs/flex-layout/tsconfig.spec.json
@@ -3,15 +3,36 @@
"compilerOptions": {
"outDir": "../../../out-tsc/spec",
"types": [
- "jasmine"
+ "@vitest/browser/matchers",
+ "@vitest/browser/providers/playwright",
+ "vitest/globals",
+ "vitest/importMeta",
+ "vite/client",
+ "node",
+ "vitest"
]
},
"files": [
- "test.ts"
+ "test-setup.ts",
+ "test-setup.ssr.ts"
],
"include": [
+ "vite.config.ts",
+ "vite.config.mts",
+ "vitest.config.ts",
+ "vitest.config.mts",
+ "vite.config.ssr.ts",
+ "vite.config.ssr.mts",
+ "vitest.config.ssr.ts",
+ "vitest.config.ssr.mts",
+ "**/*.test.ts",
"**/*.spec.ts",
- "**/*.d.ts",
- "**/testing/**/*.ts"
+ "**/*.test.tsx",
+ "**/*.spec.tsx",
+ "**/*.test.js",
+ "**/*.spec.js",
+ "**/*.test.jsx",
+ "**/*.spec.jsx",
+ "**/*.d.ts"
]
}
diff --git a/projects/libs/flex-layout/tsconfig.spec.ssr.json b/projects/libs/flex-layout/tsconfig.spec.ssr.json
deleted file mode 100644
index b6c8cb13..00000000
--- a/projects/libs/flex-layout/tsconfig.spec.ssr.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "extends": "../../../tsconfig.json",
- "compilerOptions": {
- "outDir": "../../../out-tsc/spec",
- "types": [
- "jasmine"
- ],
- "target": "ES2015"
- },
- "files": [
- "test.ssr.ts"
- ],
- "include": [
- "**/*.spec.ts",
- "**/*.d.ts",
- "**/testing/**/*.ts"
- ]
-}
diff --git a/projects/libs/flex-layout/vite.config.mts b/projects/libs/flex-layout/vite.config.mts
new file mode 100644
index 00000000..30dedbca
--- /dev/null
+++ b/projects/libs/flex-layout/vite.config.mts
@@ -0,0 +1,36 @@
+///
+import { defineConfig, UserConfig } from 'vite';
+import angular from '@analogjs/vite-plugin-angular';
+import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
+import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin';
+
+const isCi = !!process.env['CI'];
+
+export const config = {
+ root: __dirname,
+ cacheDir: '../../../node_modules/.vite/projects/libs/flex-layout'.replace('/node_modules/', isCi ? '/' : '/node_modules/'),
+ plugins: [angular(), nxViteTsPaths(), nxCopyAssetsPlugin(['*.md'])],
+ // Uncomment this if you are using workers.
+ // worker: {
+ // plugins: [ nxViteTsPaths() ],
+ // },
+ test: {
+ globals: true,
+ include: ['**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
+ setupFiles: ['test-setup.ts'],
+ reporters: ['default'],
+ coverage: {
+ reportsDirectory: '../../../coverage/projects/libs/flex-layout',
+ provider: 'v8',
+ },
+ browser: {
+ enabled: true,
+ provider: 'playwright',
+ // https://vitest.dev/guide/browser/playwright
+ name: 'chromium',
+ fileParallelism: isCi ? false : undefined, // Prevent hanging tests timing out in Firefox
+ },
+ },
+} as const satisfies UserConfig;
+
+export default defineConfig(config);
diff --git a/projects/libs/flex-layout/vite.config.ssr.mts b/projects/libs/flex-layout/vite.config.ssr.mts
new file mode 100644
index 00000000..4d91918b
--- /dev/null
+++ b/projects/libs/flex-layout/vite.config.ssr.mts
@@ -0,0 +1,51 @@
+///
+import { defineConfig, UserConfig } from 'vite';
+import { config as baseConfig } from './vite.config.mjs';
+
+const isCi = !!process.env['CI'];
+
+/**
+ * Prevent flaky SSR tests
+ */
+const forksPoolTestOptions: UserConfig['test'] = {
+ pool: 'forks',
+ poolOptions: {
+ forks: {
+ /**
+ * @see https://v2.vitest.dev/config/#pooloptions-forks-singlefork
+ */
+ singleFork: true,
+ },
+ },
+};
+
+/**
+ * The following options prevent SSR tests from failing in GitHub Actions
+ * runners due to limited resources and possibly memory leaks.
+ */
+const ciTestOptions: UserConfig['test'] = {
+ fileParallelism: false,
+ minWorkers: 1,
+ maxWorkers: 2,
+};
+
+export default defineConfig({
+ ...baseConfig,
+ cacheDir: baseConfig.cacheDir.replace('/.vite/', '/.vite/ssr/'),
+ test: {
+ ...baseConfig.test,
+ name: '@ngbracket/ngx-layout:ssr',
+ browser: undefined,
+ environment: 'jsdom',
+ setupFiles: ['test-setup.ssr.ts'],
+ coverage: {
+ ...baseConfig.test.coverage,
+ reportsDirectory: baseConfig.test.coverage.reportsDirectory.replace(
+ '/coverage/',
+ '/coverage/ssr/'
+ ),
+ },
+ ...forksPoolTestOptions,
+ ...(isCi ? ciTestOptions : {}),
+ },
+});
diff --git a/test/browser-providers.js b/test/browser-providers.js
deleted file mode 100644
index b3493250..00000000
--- a/test/browser-providers.js
+++ /dev/null
@@ -1,44 +0,0 @@
-'use strict';
-
-/*
- * Browser Configuration for the different jobs in the CI.
- *
- * - local: Launches the browser locally on the current operating system.
- * - BS: Launches the browser within BrowserStack
- * - SL: Launches the browser within Saucelabs
- */
-const browserConfig = {
- 'ChromeHeadlessCI': { unitTest: {target: 'local', }},
- 'FirefoxHeadless': { unitTest: {target: 'local', }},
- 'iOS15': {unitTest: {target: 'saucelabs'}},
- 'Safari15': {unitTest: {target: 'browserstack'}}
-};
-
-/** Exports all available custom Karma browsers. */
-exports.customLaunchers = require('./karma-browsers.json');
-
-/** Exports a map of configured browsers, which should run in the given platform. */
-exports.platformMap = {
- 'saucelabs': buildConfiguration('unitTest', 'saucelabs'),
- 'browserstack': buildConfiguration('unitTest', 'browserstack'),
- 'local': buildConfiguration('unitTest', 'local'),
-};
-
-/** Build a list of configuration (custom launcher names). */
-function buildConfiguration(type, target) {
- const targetBrowsers = Object.keys(browserConfig)
- .map(browserName => [browserName, browserConfig[browserName][type]])
- .filter(([, config]) => config.target === target)
- .map(([browserName]) => browserName);
-
- // For browsers that run locally, the browser name shouldn't be prefixed with the target
- // platform. We only prefix the external platforms in order to distinguish between
- // local and remote browsers in our "customLaunchers" for Karma.
- if (target === 'local') {
- return targetBrowsers;
- }
-
- return targetBrowsers.map(browserName => {
- return `${target.toUpperCase()}_${browserName.toUpperCase()}`;
- });
-}
diff --git a/test/jasmine-ssr.json b/test/jasmine-ssr.json
deleted file mode 100644
index 0d02bd19..00000000
--- a/test/jasmine-ssr.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "spec_dir": "dist/spec/flex-layout",
- "spec_files": ["**/*.js"],
- "random": false
-}
diff --git a/test/karma-browsers.json b/test/karma-browsers.json
deleted file mode 100644
index f3fa0976..00000000
--- a/test/karma-browsers.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "ChromeHeadlessLocal": {
- "base": "ChromeHeadless",
- "flags": ["--window-size=1024,768"]
- },
- "ChromeHeadlessCI": {
- "base": "ChromeHeadless",
- "flags": ["--window-size=1024,768", "--no-sandbox"]
- },
- "FirefoxHeadless": {
- "base": "Firefox",
- "flags": ["-headless"]
- },
- "SAUCELABS_IOS15": {
- "base": "SauceLabs",
- "appiumVersion": "1.22.0",
- "deviceOrientation": "portrait",
- "browserName": "Safari",
- "platformVersion": "15.0",
- "platformName": "iOS",
- "deviceName": "iPhone 13 Pro Max Simulator"
- },
- "BROWSERSTACK_SAFARI15": {
- "base": "BrowserStack",
- "browser": "Safari",
- "browser_version": "15.0",
- "os": "OS X",
- "os_version": "Monterey"
- }
-}
diff --git a/test/karma.conf.js b/test/karma.conf.js
deleted file mode 100644
index a5108b50..00000000
--- a/test/karma.conf.js
+++ /dev/null
@@ -1,127 +0,0 @@
-// Karma configuration file, see link for more information
-// https://karma-runner.github.io/1.0/config/configuration-file.html
-
-const {customLaunchers, platformMap} = require('./browser-providers');
-
-module.exports = function (config) {
- config.set({
- basePath: "",
- frameworks: ["jasmine", "@angular-devkit/build-angular"],
- plugins: [
- require("karma-jasmine"),
- require("karma-browserstack-launcher"),
- require('karma-firefox-launcher'),
- require("karma-sauce-launcher"),
- require("karma-chrome-launcher"),
- require("karma-jasmine-html-reporter"),
- require("@angular-devkit/build-angular/plugins/karma"),
- ],
- client: {
- jasmine: {
- // TODO(jelbourn): re-enable random test order once we can de-flake existing issues.
- random: false,
- },
- clearContext: false, // leave Jasmine Spec Runner output visible in browser
- },
- customLaunchers,
- jasmineHtmlReporter: {
- suppressAll: true, // removes the duplicated traces
- },
- sauceLabs: {
- testName: "Angular Layout Unit Tests",
- startConnect: false,
- recordVideo: false,
- recordScreenshots: false,
- idleTimeout: 600,
- commandTimeout: 600,
- maxDuration: 5400,
- },
-
- browserStack: {
- project: "Angular Layout Unit Tests",
- startTunnel: true,
- retryLimit: 3,
- timeout: 1800,
- video: false,
- },
-
- // Try Websocket for a faster transmission first. Fallback to polling if necessary.
- transports: ["websocket", "polling"],
- browserDisconnectTimeout: 180000,
- browserDisconnectTolerance: 3,
- browserNoActivityTimeout: 300000,
- captureTimeout: 180000,
- browsers: ['ChromeHeadlessLocal'],
- reporters: ["progress", "kjhtml"],
- port: 9876,
- colors: true,
- logLevel: config.LOG_INFO,
- autoWatch: true,
- singleRun: false,
- restartOnFileChange: true,
- });
-
- if (process.env["CIRCLECI"]) {
- const containerInstanceIndex = Number(process.env["CIRCLE_NODE_INDEX"]);
- const maxParallelContainerInstances = Number(
- process.env["CIRCLE_NODE_TOTAL"]
- );
- const tunnelIdentifier = `angular-layout-${process.env["CIRCLE_BUILD_NUM"]}-${containerInstanceIndex}`;
- const buildIdentifier = `circleci-${tunnelIdentifier}`;
- const testPlatform = process.env["TEST_PLATFORM"];
-
- // This defines how often a given browser should be launched in the same CircleCI
- // container. This is helpful if we want to shard tests across the same browser.
- const parallelBrowserInstances =
- Number(process.env["KARMA_PARALLEL_BROWSERS"]) || 1;
-
- // In case there should be multiple instances of the browsers, we need to set up the
- // the karma-parallel plugin.
- if (parallelBrowserInstances > 1) {
- config.frameworks.unshift("parallel");
- config.plugins.push(require("karma-parallel"));
- config.parallelOptions = {
- executors: parallelBrowserInstances,
- shardStrategy: "round-robin",
- };
- }
-
- if (testPlatform === "browserstack") {
- config.browserStack.build = buildIdentifier;
- config.browserStack.tunnelIdentifier = tunnelIdentifier;
- } else if (testPlatform === "saucelabs") {
- config.sauceLabs.build = buildIdentifier;
- config.sauceLabs.tunnelIdentifier = tunnelIdentifier;
- }
-
- const platformBrowsers = platformMap[testPlatform];
- const browserInstanceChunks = splitBrowsersIntoInstances(
- platformBrowsers,
- maxParallelContainerInstances
- );
-
- // Configure Karma to launch the browsers that belong to the given test platform and
- // container instance.
- config.browsers = browserInstanceChunks[containerInstanceIndex];
- }
-};
-
-/**
- * Splits the specified browsers into a maximum amount of chunks. The chunk of browsers
- * are being created deterministically and therefore we get reproducible tests when executing
- * the same CircleCI instance multiple times.
- */
-function splitBrowsersIntoInstances(browsers, maxInstances) {
- let chunks = [];
- let assignedBrowsers = 0;
-
- for (let i = 0; i < maxInstances; i++) {
- const chunkSize = Math.floor(
- (browsers.length - assignedBrowsers) / (maxInstances - i)
- );
- chunks[i] = browsers.slice(assignedBrowsers, assignedBrowsers + chunkSize);
- assignedBrowsers += chunkSize;
- }
-
- return chunks;
-}
diff --git a/test/webpack-spec-ssr-bundle.js b/test/webpack-spec-ssr-bundle.js
deleted file mode 100644
index e71a4043..00000000
--- a/test/webpack-spec-ssr-bundle.js
+++ /dev/null
@@ -1,32 +0,0 @@
-const { resolve } = require('path');
-const { AngularWebpackPlugin, AngularWebpackLoaderPath } = require('@ngtools/webpack');
-
-module.exports = {
- mode: 'development',
- entry: './projects/libs/flex-layout/test.ssr.ts',
- target: 'node',
- output: {
- clean: true,
- path: resolve('./dist/spec/flex-layout/'),
- libraryTarget: 'commonjs',
- },
- resolve: {
- // Add `.ts` and `.tsx` as a resolvable extension.
- extensions: ['.ts', '.tsx', '.js', '.mjs'],
- },
- module: {
- rules: [
- {
- test: /\.ts$/,
- loader: AngularWebpackLoaderPath,
- },
- ],
- },
- plugins: [
- new AngularWebpackPlugin({
- tsconfig: resolve('projects/libs/flex-layout/tsconfig.spec.ssr.json'),
- jitMode: true,
- emitNgModuleScope: false,
- }),
- ],
-};
diff --git a/vitest.workspace.ts b/vitest.workspace.ts
new file mode 100644
index 00000000..75220d62
--- /dev/null
+++ b/vitest.workspace.ts
@@ -0,0 +1,6 @@
+export default [
+ '**/*/vite.config.{ts,mts}',
+ '**/*/vitest.config.{ts,mts}',
+ '**/*/vite.config.ssr.{ts,mts}',
+ '**/*/vitest.config.ssr.{ts,mts}',
+];