diff --git a/.github/workflows/check-toc.yml b/.github/workflows/check-toc.yml index f0a86f775b..4a7a158a9f 100644 --- a/.github/workflows/check-toc.yml +++ b/.github/workflows/check-toc.yml @@ -24,7 +24,7 @@ jobs: uses: actions/setup-node@v4 with: cache: 'yarn' - node-version: 21 + node-version: 20 - name: Install Node dependencies run: yarn --frozen-lockfile diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 911fa813c1..17ebf3547f 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -19,7 +19,7 @@ jobs: uses: actions/setup-node@v4 with: cache: 'yarn' - node-version: 21 + node-version: 20 - name: Install Node dependencies run: yarn --frozen-lockfile diff --git a/.github/workflows/release-docs-and-schema.yml b/.github/workflows/release-docs-and-schema.yml index 183c00e0c1..b0651b17e7 100644 --- a/.github/workflows/release-docs-and-schema.yml +++ b/.github/workflows/release-docs-and-schema.yml @@ -26,7 +26,7 @@ jobs: uses: actions/setup-node@v4 with: cache: 'yarn' - node-version: 21 + node-version: 20 - name: Install Node dependencies run: yarn --frozen-lockfile @@ -62,7 +62,7 @@ jobs: uses: actions/setup-node@v4 with: cache: 'yarn' - node-version: 21 + node-version: 20 - name: Setup Pages uses: actions/configure-pages@v5 diff --git a/.github/workflows/test-docs.yml b/.github/workflows/test-docs.yml index bdb107b208..ea24b5fe76 100644 --- a/.github/workflows/test-docs.yml +++ b/.github/workflows/test-docs.yml @@ -20,7 +20,7 @@ jobs: uses: actions/setup-node@v4 with: cache: 'yarn' - node-version: 21 + node-version: 20 - name: Install Node dependencies run: yarn --frozen-lockfile diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fa56b7ed3b..deeb021c76 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,7 +19,7 @@ jobs: uses: actions/setup-node@v4 with: cache: 'yarn' - node-version: 21 + node-version: 20 - name: Install Node dependencies run: yarn --frozen-lockfile @@ -44,7 +44,7 @@ jobs: uses: actions/setup-node@v4 with: cache: 'yarn' - node-version: 21 + node-version: 20 - name: Install Node dependencies run: yarn --frozen-lockfile @@ -88,7 +88,7 @@ jobs: uses: actions/setup-node@v4 with: cache: 'yarn' - node-version: 21 + node-version: 20 - name: Install Node dependencies run: yarn --frozen-lockfile diff --git a/build/vega-lite-schema.json b/build/vega-lite-schema.json index b6c6b5a1f1..446bb1cd95 100644 --- a/build/vega-lite-schema.json +++ b/build/vega-lite-schema.json @@ -4428,46 +4428,37 @@ ] }, "BinnedTimeUnit": { - "anyOf": [ - { - "enum": [ - "binnedyear", - "binnedyearquarter", - "binnedyearquartermonth", - "binnedyearmonth", - "binnedyearmonthdate", - "binnedyearmonthdatehours", - "binnedyearmonthdatehoursminutes", - "binnedyearmonthdatehoursminutesseconds", - "binnedyearweek", - "binnedyearweekday", - "binnedyearweekdayhours", - "binnedyearweekdayhoursminutes", - "binnedyearweekdayhoursminutesseconds", - "binnedyeardayofyear" - ], - "type": "string" - }, - { - "enum": [ - "binnedutcyear", - "binnedutcyearquarter", - "binnedutcyearquartermonth", - "binnedutcyearmonth", - "binnedutcyearmonthdate", - "binnedutcyearmonthdatehours", - "binnedutcyearmonthdatehoursminutes", - "binnedutcyearmonthdatehoursminutesseconds", - "binnedutcyearweek", - "binnedutcyearweekday", - "binnedutcyearweekdayhours", - "binnedutcyearweekdayhoursminutes", - "binnedutcyearweekdayhoursminutesseconds", - "binnedutcyeardayofyear" - ], - "type": "string" - } - ] + "enum": [ + "binnedyear", + "binnedyearquarter", + "binnedyearquartermonth", + "binnedyearmonth", + "binnedyearmonthdate", + "binnedyearmonthdatehours", + "binnedyearmonthdatehoursminutes", + "binnedyearmonthdatehoursminutesseconds", + "binnedyearweek", + "binnedyearweekday", + "binnedyearweekdayhours", + "binnedyearweekdayhoursminutes", + "binnedyearweekdayhoursminutesseconds", + "binnedyeardayofyear", + "binnedutcyear", + "binnedutcyearquarter", + "binnedutcyearquartermonth", + "binnedutcyearmonth", + "binnedutcyearmonthdate", + "binnedutcyearmonthdatehours", + "binnedutcyearmonthdatehoursminutes", + "binnedutcyearmonthdatehoursminutesseconds", + "binnedutcyearweek", + "binnedutcyearweekday", + "binnedutcyearweekdayhours", + "binnedutcyearweekdayhoursminutes", + "binnedutcyearweekdayhoursminutesseconds", + "binnedutcyeardayofyear" + ], + "type": "string" }, "Blend": { "enum": [ @@ -4761,7 +4752,8 @@ "set2", "set3", "tableau10", - "tableau20" + "tableau20", + "observable10" ], "type": "string" }, @@ -19238,29 +19230,9 @@ "type": "object" }, "ParseValue": { - "anyOf": [ - { - "type": "null" - }, - { - "type": "string" - }, - { - "const": "string", - "type": "string" - }, - { - "const": "boolean", - "type": "string" - }, - { - "const": "date", - "type": "string" - }, - { - "const": "number", - "type": "string" - } + "type": [ + "string", + "null" ] }, "PivotTransform": { @@ -27685,6 +27657,8 @@ }, "SingleDefUnitChannel": { "enum": [ + "text", + "shape", "x", "y", "xOffset", @@ -27709,9 +27683,7 @@ "strokeDash", "size", "angle", - "shape", "key", - "text", "href", "url", "description" diff --git a/examples/compiled/area_cumulative_freq.svg b/examples/compiled/area_cumulative_freq.svg index 5c526a87b2..0b4b253af4 100644 --- a/examples/compiled/area_cumulative_freq.svg +++ b/examples/compiled/area_cumulative_freq.svg @@ -1 +1 @@ -246810IMDB Rating05001,0001,5002,0002,5003,0003,500Cumulative Count \ No newline at end of file +246810IMDB Rating05001,0001,5002,0002,5003,0003,500Cumulative Count \ No newline at end of file diff --git a/examples/compiled/area_invalid_null.svg b/examples/compiled/area_invalid_null.svg index 558fd24cd9..80e45e7a01 100644 --- a/examples/compiled/area_invalid_null.svg +++ b/examples/compiled/area_invalid_null.svg @@ -1 +1 @@ -0246810x010203040y \ No newline at end of file +0246810x010203040y \ No newline at end of file diff --git a/examples/compiled/bar_invalid_color_show.svg b/examples/compiled/bar_invalid_color_show.svg index 7034b097ee..4120b21fc6 100644 --- a/examples/compiled/bar_invalid_color_show.svg +++ b/examples/compiled/bar_invalid_color_show.svg @@ -1 +1 @@ -1.01.52.02.53.0a020406080100b1.01.21.41.61.82.0c \ No newline at end of file +1.01.52.02.53.0a020406080100b1.01.21.41.61.82.0c \ No newline at end of file diff --git a/examples/compiled/bar_invalid_color_show_override.svg b/examples/compiled/bar_invalid_color_show_override.svg index 862b351951..f1b0eacc53 100644 --- a/examples/compiled/bar_invalid_color_show_override.svg +++ b/examples/compiled/bar_invalid_color_show_override.svg @@ -1 +1 @@ -1.01.52.02.53.0a020406080100b1.01.21.41.61.82.0c \ No newline at end of file +1.01.52.02.53.0a020406080100b1.01.21.41.61.82.0c \ No newline at end of file diff --git a/examples/compiled/line_invalid_null.svg b/examples/compiled/line_invalid_null.svg index 8fe8462a54..91d2307543 100644 --- a/examples/compiled/line_invalid_null.svg +++ b/examples/compiled/line_invalid_null.svg @@ -1 +1 @@ -0246810x010203040y \ No newline at end of file +0246810x010203040y \ No newline at end of file diff --git a/examples/compiled/point_invalid_color.svg b/examples/compiled/point_invalid_color.svg index a0151281c8..99b571f873 100644 --- a/examples/compiled/point_invalid_color.svg +++ b/examples/compiled/point_invalid_color.svg @@ -1 +1 @@ -0246810IMDB Rating020406080100Rotten Tomatoes Rating \ No newline at end of file +0246810IMDB Rating020406080100Rotten Tomatoes Rating \ No newline at end of file diff --git a/examples/compiled/point_invalid_size_show.svg b/examples/compiled/point_invalid_size_show.svg index 2ae4ee19d6..b045566a3e 100644 --- a/examples/compiled/point_invalid_size_show.svg +++ b/examples/compiled/point_invalid_size_show.svg @@ -1 +1 @@ -0123a02040bQuantitative X0.00.51.01.52.0c \ No newline at end of file +0123a02040bQuantitative X0.00.51.01.52.0c \ No newline at end of file diff --git a/examples/compiled/test_invalid_break_paths_filter_domains.svg b/examples/compiled/test_invalid_break_paths_filter_domains.svg index c91dd809d5..8af37fd9c4 100644 --- a/examples/compiled/test_invalid_break_paths_filter_domains.svg +++ b/examples/compiled/test_invalid_break_paths_filter_domains.svg @@ -1 +1 @@ -−505a−2002040b−505a−2002040b−505a−2002040b−505a−2002040bQuantitative Xnull-5-115a050100bnull-5-115a050100bnull-5-115a050100bnull-5-115a050100bOrdinal X \ No newline at end of file +−505a−2002040b−505a−2002040b−505a−2002040b−505a−2002040bQuantitative Xnull-5-115a050100bnull-5-115a050100bnull-5-115a050100bnull-5-115a050100bOrdinal X \ No newline at end of file diff --git a/examples/compiled/test_invalid_break_paths_show_domains.svg b/examples/compiled/test_invalid_break_paths_show_domains.svg index 8bd25d26d9..9e26282bfb 100644 --- a/examples/compiled/test_invalid_break_paths_show_domains.svg +++ b/examples/compiled/test_invalid_break_paths_show_domains.svg @@ -1 +1 @@ -−10−50510a050100b−10010a050100b−10−50510a050100b−10−50510a050100bQuantitative Xnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file +−10−50510a050100b−10010a050100b−10−50510a050100b−10−50510a050100bQuantitative Xnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file diff --git a/examples/compiled/test_invalid_break_paths_show_path_domains.svg b/examples/compiled/test_invalid_break_paths_show_path_domains.svg index fd3f096e5f..ac6f9c6ab0 100644 --- a/examples/compiled/test_invalid_break_paths_show_path_domains.svg +++ b/examples/compiled/test_invalid_break_paths_show_path_domains.svg @@ -1 +1 @@ -−505a−2002040b−505a−2002040b−10−50510a050100b−10−50510a050100bQuantitative Xnull-5-115a050100bnull-5-115a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file +−505a−2002040b−505a−2002040b−10−50510a050100b−10−50510a050100bQuantitative Xnull-5-115a050100bnull-5-115a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file diff --git a/examples/compiled/test_invalid_color_filter_but_include_in_scale_invalid.svg b/examples/compiled/test_invalid_color_filter_but_include_in_scale_invalid.svg index bb48b40d80..25a209cc7e 100644 --- a/examples/compiled/test_invalid_color_filter_but_include_in_scale_invalid.svg +++ b/examples/compiled/test_invalid_color_filter_but_include_in_scale_invalid.svg @@ -1 +1 @@ -0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file +0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file diff --git a/examples/compiled/test_invalid_color_show.svg b/examples/compiled/test_invalid_color_show.svg index 0da6eb7437..e727c52953 100644 --- a/examples/compiled/test_invalid_color_show.svg +++ b/examples/compiled/test_invalid_color_show.svg @@ -1 +1 @@ -0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file +0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file diff --git a/examples/compiled/test_invalid_color_size_config_scale.svg b/examples/compiled/test_invalid_color_size_config_scale.svg index 641c8d1c4d..0ab4f73e43 100644 --- a/examples/compiled/test_invalid_color_size_config_scale.svg +++ b/examples/compiled/test_invalid_color_size_config_scale.svg @@ -1 +1 @@ -0123a02040bColor0123a02040bSize0.00.51.01.52.0c \ No newline at end of file +0123a02040bColor0123a02040bSize0.00.51.01.52.0c \ No newline at end of file diff --git a/examples/compiled/test_invalid_color_size_mark_show_only.svg b/examples/compiled/test_invalid_color_size_mark_show_only.svg index fbe2695055..547fad019c 100644 --- a/examples/compiled/test_invalid_color_size_mark_show_only.svg +++ b/examples/compiled/test_invalid_color_size_mark_show_only.svg @@ -1 +1 @@ -0123a02040bColor0123a02040bSize0.00.51.01.52.0c \ No newline at end of file +0123a02040bColor0123a02040bSize0.00.51.01.52.0c \ No newline at end of file diff --git a/examples/compiled/test_invalid_default.svg b/examples/compiled/test_invalid_default.svg index fd3f096e5f..ac6f9c6ab0 100644 --- a/examples/compiled/test_invalid_default.svg +++ b/examples/compiled/test_invalid_default.svg @@ -1 +1 @@ -−505a−2002040b−505a−2002040b−10−50510a050100b−10−50510a050100bQuantitative Xnull-5-115a050100bnull-5-115a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file +−505a−2002040b−505a−2002040b−10−50510a050100b−10−50510a050100bQuantitative Xnull-5-115a050100bnull-5-115a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file diff --git a/examples/compiled/test_invalid_null.svg b/examples/compiled/test_invalid_null.svg index f4635611ae..a1ca2d816b 100644 --- a/examples/compiled/test_invalid_null.svg +++ b/examples/compiled/test_invalid_null.svg @@ -1 +1 @@ -−10−50510a050100b−10010a050100b−10−50510a050100b−10−50510a050100bQuantitative Xnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file +−10−50510a050100b−10010a050100b−10−50510a050100b−10−50510a050100bQuantitative Xnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file diff --git a/examples/compiled/test_invalid_opacity_filter_but_include_in_scale_invalid.svg b/examples/compiled/test_invalid_opacity_filter_but_include_in_scale_invalid.svg index 67540caf76..37ab9c2e33 100644 --- a/examples/compiled/test_invalid_opacity_filter_but_include_in_scale_invalid.svg +++ b/examples/compiled/test_invalid_opacity_filter_but_include_in_scale_invalid.svg @@ -1 +1 @@ -0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file +0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file diff --git a/examples/compiled/test_invalid_opacity_show.svg b/examples/compiled/test_invalid_opacity_show.svg index 3330670d5f..1638d52e7a 100644 --- a/examples/compiled/test_invalid_opacity_show.svg +++ b/examples/compiled/test_invalid_opacity_show.svg @@ -1 +1 @@ -0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file +0123a02040b123a050100b1.01.52.02.53.0a02040b1.01.52.02.53.0a050100bQuantitative X123a02040b123a050100b123a02040b123a050100bOrdinal X1.01.21.41.61.82.0c \ No newline at end of file diff --git a/examples/compiled/test_invalid_show.svg b/examples/compiled/test_invalid_show.svg index f4635611ae..a1ca2d816b 100644 --- a/examples/compiled/test_invalid_show.svg +++ b/examples/compiled/test_invalid_show.svg @@ -1 +1 @@ -−10−50510a050100b−10010a050100b−10−50510a050100b−10−50510a050100bQuantitative Xnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file +−10−50510a050100b−10010a050100b−10−50510a050100b−10−50510a050100bQuantitative Xnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bnull-10-5-101510a050100bOrdinal X \ No newline at end of file diff --git a/examples/compiled/vega_version b/examples/compiled/vega_version index 5fee08105a..d78a1a83e5 100644 --- a/examples/compiled/vega_version +++ b/examples/compiled/vega_version @@ -1 +1 @@ -vega: 5.29.0 +vega: 5.30.0 diff --git a/package.json b/package.json index 30cc5fcb22..feac894e5c 100644 --- a/package.json +++ b/package.json @@ -79,8 +79,8 @@ "url": "https://github.com/vega/vega-lite/issues" }, "devDependencies": { - "@babel/core": "^7.24.7", - "@babel/preset-env": "^7.24.7", + "@babel/core": "^7.24.9", + "@babel/preset-env": "^7.25.0", "@babel/preset-typescript": "^7.24.7", "@release-it/conventional-changelog": "^8.0.1", "@rollup/plugin-alias": "^5.1.0", @@ -92,37 +92,37 @@ "@types/d3": "^7.4.3", "@types/jest": "^29.5.12", "@types/pako": "^2.0.3", - "@typescript-eslint/eslint-plugin": "^7.13.0", - "@typescript-eslint/parser": "^7.13.0", - "ajv": "^8.16.0", + "@typescript-eslint/eslint-plugin": "^7.17.0", + "@typescript-eslint/parser": "^7.17.0", + "ajv": "^8.17.1", "ajv-formats": "^2.1.1", "cheerio": "^1.0.0-rc.12", - "conventional-changelog-cli": "^4.1.0", + "conventional-changelog-cli": "^5.0.0", "d3": "^7.9.0", "del-cli": "^5.1.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jest": "^27.9.0", - "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-prettier": "^5.2.1", "fast-json-stable-stringify": "~2.1.0", - "highlight.js": "^11.9.0", + "highlight.js": "^11.10.0", "jest": "^29.7.0", "jest-dev-server": "^10.0.0", "mkdirp": "^3.0.1", "pako": "^2.1.0", - "prettier": "^3.3.2", + "prettier": "^3.3.3", "puppeteer": "^15.0.0", - "release-it": "17.2.1", - "rollup": "^4.18.0", + "release-it": "17.6.0", + "rollup": "^4.19.1", "rollup-plugin-bundle-size": "^1.0.3", "serve": "^14.2.3", - "terser": "^5.31.1", - "ts-jest": "^29.1.4", - "ts-json-schema-generator": "^1.5.0", - "typescript": "~5.4.5", + "terser": "^5.31.3", + "ts-jest": "^29.2.3", + "ts-json-schema-generator": "^2.3.0", + "typescript": "~5.5.4", "vega-cli": "^5.28.0", "vega-datasets": "^2.8.1", - "vega-embed": "^6.25.0", + "vega-embed": "^6.26.0", "vega-tooltip": "^0.34.0", "yaml-front-matter": "^4.1.1" }, @@ -130,7 +130,7 @@ "json-stringify-pretty-compact": "~3.0.0", "tslib": "~2.6.3", "vega-event-selector": "~3.0.1", - "vega-expression": "~5.1.0", + "vega-expression": "~5.1.1", "vega-util": "~1.17.2", "yargs": "~17.7.2" }, diff --git a/rollup.config.mjs b/rollup.config.mjs index 2600ebf98a..f84622a4be 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -5,7 +5,7 @@ import resolve from '@rollup/plugin-node-resolve'; import terser from '@rollup/plugin-terser'; import bundleSize from 'rollup-plugin-bundle-size'; -import pkg from './package.json' assert {type: 'json'}; +import pkg from './package.json' with {type: 'json'}; export function disallowedImports() { return { diff --git a/site/static/index.ts b/site/static/index.ts index eded94b542..9a342574f0 100644 --- a/site/static/index.ts +++ b/site/static/index.ts @@ -20,8 +20,8 @@ import {compile, TopLevelSpec} from '../../src'; import {post} from './post'; import {runStreamingExample} from './streaming'; -window['runStreamingExample'] = runStreamingExample; -window['embedExample'] = embedExample; +(window as any)['runStreamingExample'] = runStreamingExample; +(window as any)['embedExample'] = embedExample; hljs.registerLanguage('javascript', javascript); hljs.registerLanguage('typescript', typescript); @@ -131,13 +131,13 @@ async function getSpec(el: d3.BaseType) { } } -window['changeSpec'] = (elId: string, newSpec: string) => { +(window as any)['changeSpec'] = (elId: string, newSpec: string) => { const el = document.getElementById(elId); select(el).attr('data-name', newSpec); getSpec(el); }; -window['buildSpecOpts'] = (id: string, baseName: string) => { +(window as any)['buildSpecOpts'] = (id: string, baseName: string) => { const oldName = select(`#${id}`).attr('data-name'); const prefixSel = select(`select[name=${id}]`); const inputsSel = selectAll(`input[name=${id}]:checked`); @@ -149,7 +149,7 @@ window['buildSpecOpts'] = (id: string, baseName: string) => { .join('_'); const newName = baseName + prefix + (values ? `_${values}` : ''); if (oldName !== newName) { - window['changeSpec'](id, newName); + (window as any)['changeSpec'](id, newName); } }; diff --git a/src/aggregate.ts b/src/aggregate.ts index 910db866f0..196fe3826b 100644 --- a/src/aggregate.ts +++ b/src/aggregate.ts @@ -1,7 +1,7 @@ -import {AggregateOp} from 'vega'; -import {isString} from 'vega-util'; +import type {AggregateOp} from 'vega'; +import {hasOwnProperty, isString} from 'vega-util'; import {FieldName} from './channeldef'; -import {contains, Flag} from './util'; +import {contains, Flag, hasProperty} from './util'; const AGGREGATE_OP_INDEX: Flag = { argmax: 1, @@ -50,15 +50,15 @@ export type NonArgAggregateOp = Exclude; export type Aggregate = NonArgAggregateOp | ArgmaxDef | ArgminDef; export function isArgminDef(a: Aggregate | string): a is ArgminDef { - return !!a && !!a['argmin']; + return hasProperty(a, 'argmin'); } export function isArgmaxDef(a: Aggregate | string): a is ArgmaxDef { - return !!a && !!a['argmax']; + return hasProperty(a, 'argmax'); } export function isAggregateOp(a: string | ArgminDef | ArgmaxDef): a is AggregateOp { - return isString(a) && !!AGGREGATE_OP_INDEX[a]; + return isString(a) && hasOwnProperty(AGGREGATE_OP_INDEX, a); } export const COUNTING_OPS = new Set([ diff --git a/src/axis.ts b/src/axis.ts index c5da6bea5c..d35b615cb6 100644 --- a/src/axis.ts +++ b/src/axis.ts @@ -1,4 +1,4 @@ -import { +import type { Align, Axis as VgAxis, AxisEncode, @@ -19,6 +19,7 @@ import {ExprRef} from './expr'; import {Guide, GuideEncodingEntry, TitleMixins, VlOnlyGuideConfig} from './guide'; import {Flag, keys} from './util'; import {MapExcludeValueRefAndReplaceSignalWith, VgEncodeChannel} from './vega.schema'; +import {hasOwnProperty} from 'vega-util'; export type BaseAxisNoValueRefs = AxisOverrideMixins & VLOnlyAxisMixins & @@ -569,7 +570,7 @@ const AXIS_PROPERTIES_INDEX: Flag> = { }; export function isAxisProperty(prop: string): prop is keyof Axis { - return !!AXIS_PROPERTIES_INDEX[prop]; + return hasOwnProperty(AXIS_PROPERTIES_INDEX, prop); } // Export for dependent projects diff --git a/src/bin.ts b/src/bin.ts index 33148722b0..0d233fc136 100644 --- a/src/bin.ts +++ b/src/bin.ts @@ -16,7 +16,7 @@ import { } from './channel'; import {normalizeBin} from './channeldef'; import {ParameterExtent} from './selection'; -import {entries, keys, varName} from './util'; +import {entries, hasProperty, keys, varName} from './util'; export interface BaseBin { /** @@ -124,7 +124,7 @@ export function isBinParams(bin: BinParams | boolean | 'binned'): bin is BinPara } export function isParameterExtent(extent: unknown): extent is ParameterExtent { - return extent?.['param']; + return hasProperty(extent, 'param'); } export function autoMaxBins(channel?: ExtendedChannel): number { diff --git a/src/channel.ts b/src/channel.ts index a66d21143e..78744c312b 100644 --- a/src/channel.ts +++ b/src/channel.ts @@ -3,6 +3,7 @@ * such as 'x', 'y', 'color'. */ +import {hasOwnProperty} from 'vega-util'; import {RangeType} from './compile/scale/type'; import {Encoding} from './encoding'; import {Mark} from './mark'; @@ -91,7 +92,7 @@ const POLAR_POSITION_CHANNEL_INDEX = { export type PolarPositionChannel = keyof typeof POLAR_POSITION_CHANNEL_INDEX; export function isPolarPositionChannel(c: Channel): c is PolarPositionChannel { - return c in POLAR_POSITION_CHANNEL_INDEX; + return hasOwnProperty(POLAR_POSITION_CHANNEL_INDEX, c); } const GEO_POSIITON_CHANNEL_INDEX = { @@ -117,7 +118,7 @@ export function getPositionChannelFromLatLong(channel: GeoPositionChannel): Posi } export function isGeoPositionChannel(c: Channel): c is GeoPositionChannel { - return c in GEO_POSIITON_CHANNEL_INDEX; + return hasOwnProperty(GEO_POSIITON_CHANNEL_INDEX, c); } export const GEOPOSITION_CHANNELS = keys(GEO_POSIITON_CHANNEL_INDEX); @@ -200,11 +201,11 @@ export const SINGLE_DEF_UNIT_CHANNELS = keys(SINGLE_DEF_UNIT_CHANNEL_INDEX); export type SingleDefUnitChannel = (typeof SINGLE_DEF_UNIT_CHANNELS)[number]; export function isSingleDefUnitChannel(str: string): str is SingleDefUnitChannel { - return !!SINGLE_DEF_UNIT_CHANNEL_INDEX[str]; + return hasOwnProperty(SINGLE_DEF_UNIT_CHANNEL_INDEX, str); } export function isChannel(str: string): str is Channel { - return !!CHANNEL_INDEX[str]; + return hasOwnProperty(CHANNEL_INDEX, str); } export type SecondaryRangeChannel = 'x2' | 'y2' | 'latitude2' | 'longitude2' | 'theta2' | 'radius2'; @@ -399,7 +400,7 @@ export const POSITION_SCALE_CHANNELS = keys(POSITION_SCALE_CHANNEL_INDEX); export type PositionScaleChannel = keyof typeof POSITION_SCALE_CHANNEL_INDEX; export function isXorY(channel: ExtendedChannel): channel is PositionScaleChannel { - return channel in POSITION_SCALE_CHANNEL_INDEX; + return hasOwnProperty(POSITION_SCALE_CHANNEL_INDEX, channel); } export const POLAR_POSITION_SCALE_CHANNEL_INDEX = { @@ -421,7 +422,7 @@ export const OFFSET_SCALE_CHANNELS = keys(OFFSET_SCALE_CHANNEL_INDEX); export type OffsetScaleChannel = (typeof OFFSET_SCALE_CHANNELS)[0]; export function isXorYOffset(channel: Channel): channel is OffsetScaleChannel { - return channel in OFFSET_SCALE_CHANNEL_INDEX; + return hasOwnProperty(OFFSET_SCALE_CHANNEL_INDEX, channel); } // NON_POSITION_SCALE_CHANNEL = SCALE_CHANNELS without position / offset @@ -444,7 +445,7 @@ export const NONPOSITION_SCALE_CHANNELS = keys(NONPOSITION_SCALE_CHANNEL_INDEX); export type NonPositionScaleChannel = (typeof NONPOSITION_SCALE_CHANNELS)[number]; export function isNonPositionScaleChannel(channel: Channel): channel is NonPositionScaleChannel { - return !!NONPOSITION_CHANNEL_INDEX[channel]; + return hasOwnProperty(NONPOSITION_CHANNEL_INDEX, channel); } /** @@ -481,7 +482,7 @@ export const SCALE_CHANNELS = keys(SCALE_CHANNEL_INDEX); export type ScaleChannel = (typeof SCALE_CHANNELS)[number]; export function isScaleChannel(channel: ExtendedChannel): channel is ScaleChannel { - return !!SCALE_CHANNEL_INDEX[channel]; + return hasOwnProperty(SCALE_CHANNEL_INDEX, channel); } export type SupportedMark = Partial>; diff --git a/src/channeldef.ts b/src/channeldef.ts index 0b8b96f0eb..d1110ac101 100644 --- a/src/channeldef.ts +++ b/src/channeldef.ts @@ -83,6 +83,7 @@ import { Dict, flatAccessWithDatum, getFirstDefined, + hasProperty, internalField, omit, removePathFromField, @@ -157,7 +158,7 @@ export type ConditionalPredicate = { export type ConditionalParameter = ParameterPredicate & CD; export function isConditionalParameter(c: Conditional): c is ConditionalParameter { - return c['param']; + return hasProperty(c, 'param'); } export interface ConditionValueDefMixins { @@ -219,7 +220,7 @@ export type FieldName = string; export type Field = FieldName | RepeatRef; export function isRepeatRef(field: Field | any): field is RepeatRef { - return field && !isString(field) && 'repeat' in field; + return !isString(field) && hasProperty(field, 'repeat'); } /** @@hidden */ @@ -356,7 +357,7 @@ export interface SortableFieldDef< } export function isSortableFieldDef(fieldDef: FieldDef): fieldDef is SortableFieldDef { - return 'sort' in fieldDef; + return hasProperty(fieldDef, 'sort'); } export type ScaleFieldDef< @@ -647,7 +648,7 @@ export interface OrderOnlyDef { export function isOrderOnlyDef( orderDef: OrderFieldDef | OrderFieldDef[] | OrderValueDef | OrderOnlyDef ): orderDef is OrderOnlyDef { - return orderDef && !!(orderDef as OrderOnlyDef).sort && !orderDef['field']; + return hasProperty(orderDef, 'sort') && !hasProperty(orderDef, 'field'); } export type OrderValueDef = ConditionValueDefMixins & NumericValueDef; @@ -660,7 +661,7 @@ export type ChannelDef = Encoding[keyof Encoding export function isConditionalDef | GuideEncodingConditionalValueDef | ExprRef | SignalRef>( channelDef: CD ): channelDef is CD & {condition: Conditional} { - return channelDef && 'condition' in channelDef; + return hasProperty(channelDef, 'condition'); } /** @@ -669,39 +670,38 @@ export function isConditionalDef | GuideEncodingCondi export function hasConditionalFieldDef( channelDef: Partial> ): channelDef is {condition: Conditional>} { - const condition = channelDef?.['condition']; + const condition = (channelDef as any)?.['condition']; return !!condition && !isArray(condition) && isFieldDef(condition); } export function hasConditionalFieldOrDatumDef( channelDef: ChannelDef ): channelDef is {condition: Conditional>} { - const condition = channelDef?.['condition']; + const condition = (channelDef as any)?.['condition']; return !!condition && !isArray(condition) && isFieldOrDatumDef(condition); } export function hasConditionalValueDef( channelDef: ChannelDef ): channelDef is ValueDef & {condition: Conditional> | Conditional>[]} { - const condition = channelDef?.['condition']; + const condition = (channelDef as any)?.['condition']; return !!condition && (isArray(condition) || isValueDef(condition)); } export function isFieldDef( channelDef: Partial> | FieldDefBase | DatumDef ): channelDef is FieldDefBase | TypedFieldDef | SecondaryFieldDef { - // TODO: we can't use field in channelDef here as it's somehow failing runtime test - return channelDef && (!!channelDef['field'] || channelDef['aggregate'] === 'count'); + return hasProperty(channelDef, 'field') || (channelDef as any)?.aggregate === 'count'; } export function channelDefType(channelDef: ChannelDef): Type | undefined { - return channelDef?.['type']; + return (channelDef as any)?.['type']; } export function isDatumDef( channelDef: Partial> | FieldDefBase | DatumDef ): channelDef is DatumDef { - return channelDef && 'datum' in channelDef; + return hasProperty(channelDef, 'datum'); } export function isContinuousFieldOrDatumDef( @@ -727,33 +727,37 @@ export function isFieldOrDatumDef( } export function isTypedFieldDef(channelDef: ChannelDef): channelDef is TypedFieldDef { - return channelDef && ('field' in channelDef || channelDef['aggregate'] === 'count') && 'type' in channelDef; + return ( + channelDef && + (hasProperty(channelDef, 'field') || (channelDef as any)['aggregate'] === 'count') && + hasProperty(channelDef, 'type') + ); } export function isValueDef(channelDef: Partial>): channelDef is ValueDef { - return channelDef && 'value' in channelDef && 'value' in channelDef; + return hasProperty(channelDef, 'value'); } export function isScaleFieldDef(channelDef: ChannelDef): channelDef is ScaleFieldDef { - return channelDef && ('scale' in channelDef || 'sort' in channelDef); + return hasProperty(channelDef, 'scale') || hasProperty(channelDef, 'sort'); } export function isPositionFieldOrDatumDef( channelDef: ChannelDef ): channelDef is PositionFieldDef | PositionDatumDef { - return channelDef && ('axis' in channelDef || 'stack' in channelDef || 'impute' in channelDef); + return hasProperty(channelDef, 'axis') || hasProperty(channelDef, 'stack') || hasProperty(channelDef, 'impute'); } export function isMarkPropFieldOrDatumDef( channelDef: ChannelDef ): channelDef is MarkPropFieldDef | MarkPropDatumDef { - return channelDef && 'legend' in channelDef; + return hasProperty(channelDef, 'legend'); } export function isStringFieldOrDatumDef( channelDef: ChannelDef ): channelDef is StringFieldDef | StringDatumDef { - return channelDef && ('format' in channelDef || 'formatType' in channelDef); + return hasProperty(channelDef, 'format') || hasProperty(channelDef, 'formatType'); } export function toStringFieldDef(fieldDef: FieldDef): StringFieldDef { @@ -782,7 +786,7 @@ export interface FieldRefOption { function isOpFieldDef( fieldDef: FieldDefBase | WindowFieldDef | AggregatedFieldDef ): fieldDef is WindowFieldDef | AggregatedFieldDef { - return 'op' in fieldDef; + return hasProperty(fieldDef, 'op'); } /** @@ -910,11 +914,7 @@ export function functionalTitleFormatter(fieldDef: FieldDefBase) { const timeUnitParams = timeUnit && !isBinnedTimeUnit(timeUnit) ? normalizeTimeUnit(timeUnit) : undefined; const fn = aggregate || timeUnitParams?.unit || (timeUnitParams?.maxbins && 'timeunit') || (isBinning(bin) && 'bin'); - if (fn) { - return `${fn.toUpperCase()}(${field})`; - } else { - return field; - } + return fn ? `${fn.toUpperCase()}(${field})` : field; } export const defaultTitleFormatter: FieldTitleFormatter = (fieldDef: FieldDefBase, config: Config) => { @@ -1101,8 +1101,8 @@ export function initFieldOrDatumDef( : isFacetFieldDef(fd) ? 'header' : null; - if (guideType && fd[guideType]) { - const {format, formatType, ...newGuide} = fd[guideType]; + if (guideType && (fd as any)[guideType]) { + const {format, formatType, ...newGuide} = (fd as any)[guideType]; if (isCustomFormatType(formatType) && !config.customFormatTypes) { log.warn(log.message.customFormatTypeNotAllowed(channel)); return initFieldOrDatumDef({...fd, [guideType]: newGuide}, channel, config, opt); @@ -1176,7 +1176,7 @@ export function initFieldDef( } else if (!isSecondaryRangeChannel(channel)) { // If type is empty / invalid, then augment with default type const newType = defaultType(fieldDef as TypedFieldDef, channel); - fieldDef['type'] = newType; + (fieldDef as any)['type'] = newType; } if (isTypedFieldDef(fieldDef)) { @@ -1194,7 +1194,7 @@ export function initFieldDef( sort: {encoding: sort} }; } - const sub = sort.substr(1); + const sub = sort.substring(1); if (sort.charAt(0) === '-' && isSortByChannel(sub)) { return { ...fieldDef, @@ -1303,7 +1303,7 @@ export function channelCompatibility( case RADIUS2: case X2: case Y2: - if (type === 'nominal' && !fieldDef['sort']) { + if (type === 'nominal' && !(fieldDef as any)['sort']) { return { compatible: false, warning: `Channel ${channel} should not be used with an unsorted discrete field.` @@ -1345,7 +1345,7 @@ export function isFieldOrDatumDefForTimeFormat(fieldOrDatumDef: FieldDef * Check if field def has type `temporal`. If you want to also cover field defs that use a time format, use `isTimeFormatFieldDef`. */ export function isTimeFieldDef(def: FieldDef | DatumDef): boolean { - return def && (def['type'] === 'temporal' || (isFieldDef(def) && !!def.timeUnit)); + return def && ((def as any)['type'] === 'temporal' || (isFieldDef(def) && !!def.timeUnit)); } /** diff --git a/src/compile/axis/assemble.ts b/src/compile/axis/assemble.ts index b165a2cfc4..efbc4754b2 100644 --- a/src/compile/axis/assemble.ts +++ b/src/compile/axis/assemble.ts @@ -1,6 +1,12 @@ import {Axis as VgAxis, AxisEncode, NewSignal, SignalRef, Text} from 'vega'; import {array, isArray} from 'vega-util'; -import {AXIS_PARTS, AXIS_PROPERTY_TYPE, CONDITIONAL_AXIS_PROP_INDEX, isConditionalAxisValue} from '../../axis'; +import { + AXIS_PARTS, + AXIS_PROPERTY_TYPE, + CONDITIONAL_AXIS_PROP_INDEX, + ConditionalAxisProp, + isConditionalAxisValue +} from '../../axis'; import {POSITION_SCALE_CHANNELS} from '../../channel'; import {defaultTitle, FieldDefBase} from '../../channeldef'; import {Config} from '../../config'; @@ -49,7 +55,8 @@ export function assembleAxis( return undefined; } - for (const prop in axis) { + for (const p in axis) { + const prop = p as keyof typeof axis; const propType = AXIS_PROPERTY_TYPE[prop]; const propValue = axis[prop]; @@ -59,10 +66,10 @@ export function assembleAxis( } else if (isConditionalAxisValue(propValue)) { // deal with conditional axis value - const {condition, ...valueOrSignalRef} = propValue; + const {condition, ...valueOrSignalRef} = propValue as any; const conditions = array(condition); - const propIndex = CONDITIONAL_AXIS_PROP_INDEX[prop]; + const propIndex = CONDITIONAL_AXIS_PROP_INDEX[prop as ConditionalAxisProp]; if (propIndex) { const {vgProp, part} = propIndex; // If there is a corresponding Vega property for the channel, @@ -91,13 +98,14 @@ export function assembleAxis( }) .join('') + exprFromValueRefOrSignalRef(valueOrSignalRef) }; - axis[prop] = signalRef; + (axis as any)[prop] = signalRef; } } else if (isSignalRef(propValue)) { - const propIndex = CONDITIONAL_AXIS_PROP_INDEX[prop]; + const propIndex = CONDITIONAL_AXIS_PROP_INDEX[prop as ConditionalAxisProp]; if (propIndex) { const {vgProp, part} = propIndex; - setAxisEncode(axis, part, vgProp, propValue); + // FIXME: remove as any + setAxisEncode(axis, part, vgProp, propValue as any); delete axis[prop]; } // else do nothing since the property already supports signal } diff --git a/src/compile/axis/config.ts b/src/compile/axis/config.ts index 2f242bbf36..527810e009 100644 --- a/src/compile/axis/config.ts +++ b/src/compile/axis/config.ts @@ -27,9 +27,9 @@ function getAxisConfigFromConfigTypes( const conditionalOrientAxisConfig = {}; for (const prop of props.values()) { - conditionalOrientAxisConfig[prop] = { + (conditionalOrientAxisConfig as any)[prop] = { // orient is surely signal in this case - signal: `${orient['signal']} === "${orient1}" ? ${signalOrStringValue( + signal: `${(orient as any)['signal']} === "${orient1}" ? ${signalOrStringValue( orientConfig1[prop] )} : ${signalOrStringValue(orientConfig2[prop])}` }; @@ -38,7 +38,7 @@ function getAxisConfigFromConfigTypes( return conditionalOrientAxisConfig; } - return config[configType]; + return (config as any)[configType]; }) ]); } @@ -85,7 +85,7 @@ export function getAxisConfigStyle(axisConfigTypes: string[], config: Config) { const toMerge = [{}]; for (const configType of axisConfigTypes) { // TODO: add special casing to add conditional value based on orient signal - let style = config[configType]?.style; + let style = (config as any)[configType]?.style; if (style) { style = array(style); for (const s of style) { @@ -110,7 +110,7 @@ export function getAxisConfig( }; } - for (const configFrom of ['vlOnlyAxisConfig', 'vgAxisConfig', 'axisConfigStyle']) { + for (const configFrom of ['vlOnlyAxisConfig', 'vgAxisConfig', 'axisConfigStyle'] as const) { if (axisConfigs[configFrom]?.[property] !== undefined) { return {configFrom, configValue: axisConfigs[configFrom][property]}; } diff --git a/src/compile/axis/parse.ts b/src/compile/axis/parse.ts index 26524adfb5..1c27ce5a98 100644 --- a/src/compile/axis/parse.ts +++ b/src/compile/axis/parse.ts @@ -1,4 +1,4 @@ -import {AxisEncode as VgAxisEncode, AxisOrient, SignalRef} from 'vega'; +import type {AxisEncode as VgAxisEncode, AxisOrient, SignalRef} from 'vega'; import {Axis, AXIS_PARTS, isAxisProperty, isConditionalAxisValue} from '../../axis'; import {PositionScaleChannel, POSITION_SCALE_CHANNELS} from '../../channel'; import {getFieldOrDatumDef, PositionDatumDef, PositionFieldDef} from '../../channeldef'; @@ -198,7 +198,7 @@ function isExplicit( } } // Otherwise, things are explicit if the returned value matches the specified property - return value === axis[property]; + return value === (axis as any)[property]; } /** diff --git a/src/compile/common.ts b/src/compile/common.ts index 2617aa759a..1c733bcf11 100644 --- a/src/compile/common.ts +++ b/src/compile/common.ts @@ -1,4 +1,4 @@ -import {ExprRef, SignalRef, Text} from 'vega'; +import type {ExprRef, SignalRef, Text} from 'vega'; import {array, isArray, stringValue} from 'vega-util'; import {AxisConfig, ConditionalAxisProperty} from '../axis'; import { @@ -17,7 +17,7 @@ import {isExprRef} from '../expr'; import {Mark, MarkConfig, MarkDef} from '../mark'; import {SortFields} from '../sort'; import {isText} from '../title'; -import {deepEqual, getFirstDefined} from '../util'; +import {deepEqual, getFirstDefined, hasProperty} from '../util'; import {isSignalRef, VgEncodeChannel, VgEncodeEntry, VgValueRef} from '../vega.schema'; import {AxisComponentProps} from './axis/component'; import {Explicit} from './split'; @@ -91,7 +91,7 @@ export function applyMarkConfig(e: VgEncodeEntry, model: UnitModel, propsList: ( for (const property of propsList) { const value = getMarkConfig(property, model.markDef, model.config); if (value !== undefined) { - e[property] = signalOrValueRef(value); + (e as any)[property] = signalOrValueRef(value); } } return e; @@ -111,8 +111,8 @@ export function getMarkPropOrConfig

[P] { const {vgChannel, ignoreVgConfig} = opt; - if (vgChannel && mark[vgChannel] !== undefined) { - return mark[vgChannel]; + if (vgChannel && hasProperty(mark, vgChannel)) { + return mark[vgChannel] as any; } else if (mark[channel] !== undefined) { return mark[channel]; } else if (ignoreVgConfig && (!vgChannel || vgChannel === channel)) { @@ -132,18 +132,19 @@ export function getMarkConfig

, {vgChannel}: {vgChannel?: VgEncodeChannel} = {} ): MarkDef[P] { + const cfg = getMarkStyleConfig(channel, mark, config.style) as MarkDef[P]; return getFirstDefined[P]>( // style config has highest precedence - vgChannel ? getMarkStyleConfig(channel, mark, config.style) : undefined, - getMarkStyleConfig(channel, mark, config.style), + vgChannel ? cfg : undefined, + cfg, // then mark-specific config - vgChannel ? config[mark.type][vgChannel] : undefined, + vgChannel ? (config[mark.type] as any)[vgChannel] : undefined, - config[mark.type][channel as any], // Need to cast because MarkDef doesn't perfectly match with AnyMarkConfig, but if the type isn't available, we'll get nothing here, which is fine + (config[mark.type] as any)[channel], // Need to cast because MarkDef doesn't perfectly match with AnyMarkConfig, but if the type isn't available, we'll get nothing here, which is fine // If there is vgChannel, skip vl channel. // For example, vl size for text is vg fontSize, but config.mark.size is only for point size. - vgChannel ? config.mark[vgChannel] : config.mark[channel as any] // Need to cast for the same reason as above + vgChannel ? (config.mark as any)[vgChannel] : (config.mark as any)[channel] // Need to cast for the same reason as above ); } @@ -165,8 +166,8 @@ export function getStyleConfig

, ch // read format from axis or legend, if there is no format then use config.numberFormat const guide = isUnitModel(model) - ? model.axis(channel as PositionChannel) ?? model.legend(channel as NonPositionScaleChannel) ?? {} + ? (model.axis(channel as PositionChannel) ?? model.legend(channel as NonPositionScaleChannel) ?? {}) : {}; const startField = vgField(fieldDef, {expr: 'datum'}); diff --git a/src/compile/data/debug.ts b/src/compile/data/debug.ts index fb2e16112c..b1e9488c06 100644 --- a/src/compile/data/debug.ts +++ b/src/compile/data/debug.ts @@ -43,10 +43,10 @@ export function dotString(roots: readonly DataFlowNode[]) { const edges: [string, string][] = []; function getId(node: DataFlowNode) { - let id = node['__uniqueid']; + let id = (node as any)['__uniqueid']; if (id === undefined) { id = uniqueId(); - node['__uniqueid'] = id; + (node as any)['__uniqueid'] = id; } return id; } @@ -83,7 +83,7 @@ export function dotString(roots: readonly DataFlowNode[]) { label: getLabel(node), hash: node instanceof SourceNode - ? node.data.url ?? node.data.name ?? node.debugName + ? (node.data.url ?? node.data.name ?? node.debugName) : String(node.hash()).replace(/"/g, '') }; diff --git a/src/compile/data/facet.ts b/src/compile/data/facet.ts index a501aa41dc..c5fb84b55a 100644 --- a/src/compile/data/facet.ts +++ b/src/compile/data/facet.ts @@ -1,4 +1,4 @@ -import {AggregateOp} from 'vega'; +import type {AggregateOp} from 'vega'; import {isArray} from 'vega-util'; import {isBinning} from '../../bin'; import {COLUMN, FACET_CHANNELS, POSITION_SCALE_CHANNELS, ROW} from '../../channel'; @@ -152,7 +152,7 @@ export class FacetNode extends DataFlowNode { crossedDataName: string, childIndependentFieldsWithStep: ChildIndependentFieldsWithStep ): VgData { - const childChannel = {row: 'y', column: 'x', facet: undefined}[channel]; + const childChannel = ({row: 'y', column: 'x', facet: undefined} as const)[channel]; const fields: string[] = []; const ops: AggregateOp[] = []; diff --git a/src/compile/data/filter.ts b/src/compile/data/filter.ts index e5927981b5..5e9149e560 100644 --- a/src/compile/data/filter.ts +++ b/src/compile/data/filter.ts @@ -1,4 +1,4 @@ -import {FilterTransform as VgFilterTransform} from 'vega'; +import type {FilterTransform as VgFilterTransform} from 'vega'; import {LogicalComposition} from '../../logical'; import {Predicate} from '../../predicate'; import {duplicate} from '../../util'; diff --git a/src/compile/data/filterinvalid.ts b/src/compile/data/filterinvalid.ts index 2d20b9e3c0..6bf65370c8 100644 --- a/src/compile/data/filterinvalid.ts +++ b/src/compile/data/filterinvalid.ts @@ -1,4 +1,4 @@ -import {FilterTransform as VgFilterTransform} from 'vega'; +import type {FilterTransform as VgFilterTransform} from 'vega'; import {isScaleChannel} from '../../channel'; import {TypedFieldDef, vgField as fieldRef} from '../../channeldef'; import {Dict, hash, keys} from '../../util'; diff --git a/src/compile/data/flatten.ts b/src/compile/data/flatten.ts index dd25c35506..a00b12407a 100644 --- a/src/compile/data/flatten.ts +++ b/src/compile/data/flatten.ts @@ -1,4 +1,4 @@ -import {FlattenTransform as VgFlattenTransform} from 'vega'; +import type {FlattenTransform as VgFlattenTransform} from 'vega'; import {FlattenTransform} from '../../transform'; import {duplicate, hash} from '../../util'; import {DataFlowNode} from './dataflow'; diff --git a/src/compile/data/fold.ts b/src/compile/data/fold.ts index e35a592694..0276f3993c 100644 --- a/src/compile/data/fold.ts +++ b/src/compile/data/fold.ts @@ -1,4 +1,4 @@ -import {FoldTransform as VgFoldTransform} from 'vega'; +import type {FoldTransform as VgFoldTransform} from 'vega'; import {FoldTransform} from '../../transform'; import {duplicate, hash} from '../../util'; import {DataFlowNode} from './dataflow'; diff --git a/src/compile/data/formatparse.ts b/src/compile/data/formatparse.ts index 33982c8b2a..e7de918fc1 100644 --- a/src/compile/data/formatparse.ts +++ b/src/compile/data/formatparse.ts @@ -92,9 +92,10 @@ export function getImplicitFromFilterTransform(transform: FilterTransform) { } else if (isFieldGTEPredicate(filter)) { val = signalRefOrValue(filter.gte); } else if (isFieldRangePredicate(filter)) { - val = filter.range[0]; + // FIXME: remove as any + val = (filter as any).range[0]; } else if (isFieldOneOfPredicate(filter)) { - val = (filter.oneOf ?? filter['in'])[0]; + val = (filter.oneOf ?? (filter as any).in)[0]; } // else -- for filter expression, we can't infer anything if (val) { diff --git a/src/compile/data/optimizers.ts b/src/compile/data/optimizers.ts index c3a39b491c..59b6b1747c 100644 --- a/src/compile/data/optimizers.ts +++ b/src/compile/data/optimizers.ts @@ -30,7 +30,7 @@ export class MergeIdenticalNodes extends TopDownOptimizer { public run(node: DataFlowNode) { const hashes = node.children.map(x => x.hash()); - const buckets: {hash?: DataFlowNode[]} = {}; + const buckets: Record = {}; for (let i = 0; i < hashes.length; i++) { if (buckets[hashes[i]] === undefined) { diff --git a/src/compile/data/parse.ts b/src/compile/data/parse.ts index 9fc9009402..b480d09665 100644 --- a/src/compile/data/parse.ts +++ b/src/compile/data/parse.ts @@ -84,7 +84,7 @@ export function findSource(data: Data, sources: SourceNode[]) { continue; } - const formatMesh = data['format']?.mesh; + const formatMesh = (data as any).format?.mesh; const otherFeature = otherData.format?.feature; // feature and mesh are mutually exclusive @@ -93,7 +93,7 @@ export function findSource(data: Data, sources: SourceNode[]) { } // we have to extract the same feature or mesh - const formatFeature = data['format']?.feature; + const formatFeature = (data as any).format?.feature; if ((formatFeature || otherFeature) && formatFeature !== otherFeature) { continue; } diff --git a/src/compile/data/timeunit.ts b/src/compile/data/timeunit.ts index d64c8be0df..7e4bda8b49 100644 --- a/src/compile/data/timeunit.ts +++ b/src/compile/data/timeunit.ts @@ -82,7 +82,7 @@ export class TimeUnitNode extends DataFlowNode { } if (component) { - timeUnitComponent[hash(component)] = component; + (timeUnitComponent as any)[hash(component)] = component; } } return timeUnitComponent; @@ -137,7 +137,7 @@ export class TimeUnitNode extends DataFlowNode { * Remove time units coming from the other node. */ public removeFormulas(fields: Set) { - const newFormula = {}; + const newFormula: Dict = {}; for (const [key, timeUnitComponent] of entries(this.timeUnits)) { const fieldAs = isTimeUnitTransformComponent(timeUnitComponent) diff --git a/src/compile/facet.ts b/src/compile/facet.ts index e7f073d72e..9c43e1657a 100644 --- a/src/compile/facet.ts +++ b/src/compile/facet.ts @@ -10,7 +10,7 @@ import {hasDiscreteDomain} from '../scale'; import {DEFAULT_SORT_OP, EncodingSortField, isSortField, SortOrder} from '../sort'; import {NormalizedFacetSpec} from '../spec'; import {EncodingFacetMapping, FacetFieldDef, FacetMapping, isFacetMapping} from '../spec/facet'; -import {keys} from '../util'; +import {hasProperty, keys} from '../util'; import {isVgRangeStep, VgData, VgLayout, VgMarkGroup} from '../vega.schema'; import {buildModel} from './buildmodel'; import {assembleFacetData} from './data/assemble'; @@ -58,7 +58,7 @@ export class FacetModel extends ModelWithField { } const channels = keys(facet); - const normalizedFacet = {}; + const normalizedFacet: EncodingFacetMapping = {}; for (const channel of channels) { if (![ROW, COLUMN].includes(channel)) { // Drop unsupported channel @@ -91,11 +91,11 @@ export class FacetModel extends ModelWithField { } public channelHasField(channel: ExtendedChannel): boolean { - return !!this.facet[channel]; + return hasProperty(this.facet, channel); } public fieldDef(channel: ExtendedChannel): TypedFieldDef { - return this.facet[channel]; + return (this.facet as any)[channel]; } public parseData() { @@ -153,7 +153,7 @@ export class FacetModel extends ModelWithField { if (['right', 'bottom'].includes(titleOrient)) { const headerChannel = getHeaderChannel(channel, titleOrient); layoutMixins.titleAnchor ??= {}; - layoutMixins.titleAnchor[headerChannel] = 'end'; + (layoutMixins.titleAnchor as any)[headerChannel] = 'end'; } } @@ -164,12 +164,12 @@ export class FacetModel extends ModelWithField { if (channel !== 'facet' && !this.child.component.layoutSize.get(sizeType)) { // If facet child does not have size signal, then apply headerBand layoutMixins[bandType] ??= {}; - layoutMixins[bandType][channel] = 0.5; + (layoutMixins[bandType] as any)[channel] = 0.5; } if (layoutHeaderComponent.title) { layoutMixins.offset ??= {}; - layoutMixins.offset[channel === 'row' ? 'rowTitle' : 'columnTitle'] = 10; + (layoutMixins.offset as any)[channel === 'row' ? 'rowTitle' : 'columnTitle'] = 10; } } } diff --git a/src/compile/header/assemble.ts b/src/compile/header/assemble.ts index 1bc29596fd..8ab085f3ae 100644 --- a/src/compile/header/assemble.ts +++ b/src/compile/header/assemble.ts @@ -233,8 +233,8 @@ const LAYOUT_TITLE_BAND = { } }; -export function getLayoutTitleBand(titleAnchor: TitleAnchor, headerChannel: HeaderChannel) { - return LAYOUT_TITLE_BAND[headerChannel][titleAnchor]; +export function getLayoutTitleBand(titleAnchor: TitleAnchor, headerChannel: HeaderChannel): 0 | 1 { + return (LAYOUT_TITLE_BAND[headerChannel] as any)[titleAnchor]; } export function assembleLayoutTitleBand( @@ -256,7 +256,7 @@ export function assembleLayoutTitleBand( const headerChannel = getHeaderChannel(channel, titleOrient); const band = getLayoutTitleBand(titleAnchor, headerChannel); if (band !== undefined) { - titleBand[headerChannel] = band; + (titleBand as any)[headerChannel] = band; } } } @@ -279,7 +279,7 @@ export function assembleHeaderProperties( const value = getHeaderProperty(prop, facetFieldDef?.header, config, channel); if (value !== undefined) { - props[propertiesMap[prop]] = value; + (props as any)[propertiesMap[prop]] = value; } } return props; diff --git a/src/compile/header/common.ts b/src/compile/header/common.ts index dc252a9901..f78354464f 100644 --- a/src/compile/header/common.ts +++ b/src/compile/header/common.ts @@ -39,7 +39,7 @@ export function getHeaderProperties( for (const prop of properties) { const value = getHeaderProperty(prop, header || {}, config, channel); if (value !== undefined) { - props[prop] = value; + (props as any)[prop] = value; } } return props; diff --git a/src/compile/legend/assemble.ts b/src/compile/legend/assemble.ts index 3732dac599..3d289abe32 100644 --- a/src/compile/legend/assemble.ts +++ b/src/compile/legend/assemble.ts @@ -61,7 +61,7 @@ export function assembleLegend(legendCmpt: LegendComponent, config: Config) { if (legend.encode?.symbols) { const out = legend.encode.symbols.update; - if (out.fill && out.fill['value'] !== 'transparent' && !out.stroke && !legend.stroke) { + if (out.fill && (out.fill as any)['value'] !== 'transparent' && !out.stroke && !legend.stroke) { // For non color channel's legend, we need to override symbol stroke config from Vega config if stroke channel is not used. out.stroke = {value: 'transparent'}; } diff --git a/src/compile/legend/encode.ts b/src/compile/legend/encode.ts index 334e0b0381..2ab32268ff 100644 --- a/src/compile/legend/encode.ts +++ b/src/compile/legend/encode.ts @@ -13,7 +13,7 @@ import { } from '../../channeldef'; import {Encoding} from '../../encoding'; import {FILL_STROKE_CONFIG} from '../../mark'; -import {getFirstDefined, isEmpty, varName} from '../../util'; +import {getFirstDefined, hasProperty, isEmpty, varName} from '../../util'; import {applyMarkConfig, signalOrValueRef} from '../common'; import {formatCustomType, isCustomFormatType} from '../format'; import * as mixins from '../mark/encode'; @@ -58,27 +58,24 @@ export function symbols( const symbolFillColor = legendCmpt.get('symbolFillColor') ?? config.legend.symbolFillColor; const symbolStrokeColor = legendCmpt.get('symbolStrokeColor') ?? config.legend.symbolStrokeColor; - const opacity = symbolOpacity === undefined ? getMaxValue(encoding.opacity) ?? markDef.opacity : undefined; + const opacity = symbolOpacity === undefined ? (getMaxValue(encoding.opacity) ?? markDef.opacity) : undefined; if (out.fill) { // for fill legend, we don't want any fill in symbol if (channel === 'fill' || (filled && channel === COLOR)) { delete out.fill; - } else { - if (out.fill['field']) { - // For others, set fill to some opaque value (or nothing if a color is already set) - if (symbolFillColor) { - delete out.fill; - } else { - out.fill = signalOrValueRef(config.legend.symbolBaseFillColor ?? 'black'); - out.fillOpacity = signalOrValueRef(opacity ?? 1); - } - } else if (isArray(out.fill)) { - const fill = - getFirstConditionValue(encoding.fill ?? encoding.color) ?? markDef.fill ?? (filled && markDef.color); - if (fill) { - out.fill = signalOrValueRef(fill) as ColorValueRef; - } + } else if (hasProperty(out.fill, 'field')) { + // For others, set fill to some opaque value (or nothing if a color is already set) + if (symbolFillColor) { + delete out.fill; + } else { + out.fill = signalOrValueRef(config.legend.symbolBaseFillColor ?? 'black'); + out.fillOpacity = signalOrValueRef(opacity ?? 1); + } + } else if (isArray(out.fill)) { + const fill = getFirstConditionValue(encoding.fill ?? encoding.color) ?? markDef.fill ?? (filled && markDef.color); + if (fill) { + out.fill = signalOrValueRef(fill) as ColorValueRef; } } } @@ -86,19 +83,17 @@ export function symbols( if (out.stroke) { if (channel === 'stroke' || (!filled && channel === COLOR)) { delete out.stroke; - } else { - if (out.stroke['field'] || symbolStrokeColor) { - // For others, remove stroke field - delete out.stroke; - } else if (isArray(out.stroke)) { - const stroke = getFirstDefined( - getFirstConditionValue(encoding.stroke || encoding.color), - markDef.stroke, - filled ? markDef.color : undefined - ); - if (stroke) { - out.stroke = {value: stroke} as ColorValueRef; - } + } else if (hasProperty(out.stroke, 'field') || symbolStrokeColor) { + // For others, remove stroke field + delete out.stroke; + } else if (isArray(out.stroke)) { + const stroke = getFirstDefined( + getFirstConditionValue(encoding.stroke || encoding.color), + markDef.stroke, + filled ? markDef.color : undefined + ); + if (stroke) { + out.stroke = {value: stroke} as ColorValueRef; } } } diff --git a/src/compile/legend/parse.ts b/src/compile/legend/parse.ts index 4e778ba303..805ecc6d53 100644 --- a/src/compile/legend/parse.ts +++ b/src/compile/legend/parse.ts @@ -81,7 +81,7 @@ function isExplicit( } } // Otherwise, things are explicit if the returned value matches the specified property - return value === (legend || {})[property]; + return value === (legend || ({} as any))[property]; } export function parseLegendForChannel(model: UnitModel, channel: NonPositionScaleChannel): LegendComponent { @@ -132,10 +132,10 @@ export function parseLegendForChannel(model: UnitModel, channel: NonPositionScal continue; } - const value = property in legendRules ? legendRules[property](ruleParams) : legend[property]; + const value = property in legendRules ? legendRules[property](ruleParams) : (legend as any)[property]; if (value !== undefined) { const explicit = isExplicit(value, property, legend, model.fieldDef(channel)); - if (explicit || config.legend[property] === undefined) { + if (explicit || (config.legend as any)[property] === undefined) { legendCmpt.set(property, value, explicit); } } @@ -147,8 +147,9 @@ export function parseLegendForChannel(model: UnitModel, channel: NonPositionScal const legendEncodeParams: LegendEncodeParams = {fieldOrDatumDef, model, channel, legendCmpt, legendType}; - for (const part of ['labels', 'legend', 'title', 'symbols', 'gradient', 'entries']) { - const legendEncodingPart = guideEncodeEntry(legendEncoding[part] ?? {}, model); + for (const part of ['labels', 'legend', 'title', 'symbols', 'gradient', 'entries'] as const) { + // FIXME: remove as any (figure out what legendEncoding.entries is) + const legendEncodingPart = guideEncodeEntry((legendEncoding as any)[part] ?? {}, model); const value = part in legendEncodeRules diff --git a/src/compile/mark/encode/aria.ts b/src/compile/mark/encode/aria.ts index 8fb2c8db1e..561d3bf9ca 100644 --- a/src/compile/mark/encode/aria.ts +++ b/src/compile/mark/encode/aria.ts @@ -1,3 +1,4 @@ +import {hasOwnProperty} from 'vega-util'; import {entries, isEmpty} from '../../../util'; import {getMarkPropOrConfig, signalOrValueRef} from '../../common'; import {VG_MARK_INDEX} from './../../../vega.schema'; @@ -37,7 +38,7 @@ function ariaRoleDescription(model: UnitModel) { return {ariaRoleDescription: {value: ariaRoleDesc}}; } - return mark in VG_MARK_INDEX ? {} : {ariaRoleDescription: {value: mark}}; + return hasOwnProperty(VG_MARK_INDEX, mark) ? {} : {ariaRoleDescription: {value: mark}}; } export function description(model: UnitModel) { diff --git a/src/compile/mark/encode/base.ts b/src/compile/mark/encode/base.ts index 55cff371e4..28f0af867e 100644 --- a/src/compile/mark/encode/base.ts +++ b/src/compile/mark/encode/base.ts @@ -1,4 +1,6 @@ +import type {MarkConfig} from 'vega'; import {MarkDef} from '../../../mark'; +import {hasProperty} from '../../../util'; import {VG_MARK_CONFIGS, VgEncodeEntry, VgValueRef} from '../../../vega.schema'; import {signalOrValueRef} from '../../common'; import {UnitModel} from '../../unit'; @@ -44,10 +46,13 @@ function colorRef(channel: 'fill' | 'stroke', valueRef: VgValueRef | VgValueRef[ } function markDefProperties(mark: MarkDef, ignore: Ignore) { - return VG_MARK_CONFIGS.reduce((m, prop) => { - if (!ALWAYS_IGNORE.has(prop) && mark[prop] !== undefined && ignore[prop] !== 'ignore') { - m[prop] = signalOrValueRef(mark[prop]); - } - return m; - }, {}); + return VG_MARK_CONFIGS.reduce( + (m, prop) => { + if (!ALWAYS_IGNORE.has(prop) && hasProperty(mark, prop) && (ignore as any)[prop] !== 'ignore') { + m[prop] = signalOrValueRef(mark[prop]); + } + return m; + }, + {} as Record + ); } diff --git a/src/compile/mark/encode/color.ts b/src/compile/mark/encode/color.ts index c01b388883..1fa6419ba4 100644 --- a/src/compile/mark/encode/color.ts +++ b/src/compile/mark/encode/color.ts @@ -19,7 +19,7 @@ export function color(model: UnitModel, opt: {filled: boolean | undefined} = {fi const defaultFill = getMarkPropOrConfig(filled === true ? 'color' : undefined, markDef, config, {vgChannel: 'fill'}) ?? // need to add this manually as getMarkConfig normally drops config.mark[channel] if vgChannel is specified - config.mark[filled === true && 'color'] ?? + (config.mark as any)[filled === true && 'color'] ?? // If there is no fill, always fill symbols, bar, geoshape // with transparent fills https://github.com/vega/vega-lite/issues/1316 transparentIfNeeded; @@ -27,7 +27,7 @@ export function color(model: UnitModel, opt: {filled: boolean | undefined} = {fi const defaultStroke = getMarkPropOrConfig(filled === false ? 'color' : undefined, markDef, config, {vgChannel: 'stroke'}) ?? // need to add this manually as getMarkConfig normally drops config.mark[channel] if vgChannel is specified - config.mark[filled === false && 'color']; + (config.mark as any)[filled === false && 'color']; const colorVgChannel = filled ? 'fill' : 'stroke'; diff --git a/src/compile/mark/encode/offset.ts b/src/compile/mark/encode/offset.ts index 0ee51be1d2..5ea67729f6 100644 --- a/src/compile/mark/encode/offset.ts +++ b/src/compile/mark/encode/offset.ts @@ -39,7 +39,8 @@ export function positionOffset({ | 'radius2Offset'; // Need to cast as the type can't be inferred automatically const defaultValue = markDef[channel]; - const channelDef = encoding[channel]; + // FIXME: remove as any + const channelDef = (encoding as any)[channel]; if ((channel === 'xOffset' || channel === 'yOffset') && channelDef) { const ref = midPoint({ diff --git a/src/compile/mark/encode/position-align.ts b/src/compile/mark/encode/position-align.ts index 8fbc3c2d54..8a65d7eabf 100644 --- a/src/compile/mark/encode/position-align.ts +++ b/src/compile/mark/encode/position-align.ts @@ -39,9 +39,10 @@ export function vgAlignedPositionChannel( alignExcludingSignal = align; } + // FIXME: remove as any if (channel === 'x') { - return ALIGNED_X_CHANNEL[alignExcludingSignal || (defaultAlign === 'top' ? 'left' : 'center')]; + return (ALIGNED_X_CHANNEL as any)[alignExcludingSignal || (defaultAlign === 'top' ? 'left' : 'center')]; } else { - return BASELINED_Y_CHANNEL[alignExcludingSignal || defaultAlign]; + return (BASELINED_Y_CHANNEL as any)[alignExcludingSignal || defaultAlign]; } } diff --git a/src/compile/mark/encode/position-rect.ts b/src/compile/mark/encode/position-rect.ts index 505bb12e08..05bd00bdc2 100644 --- a/src/compile/mark/encode/position-rect.ts +++ b/src/compile/mark/encode/position-rect.ts @@ -46,7 +46,9 @@ export function rectPosition(model: UnitModel, channel: 'x' | 'y' | 'theta' | 'r const orient = markDef.orient; const hasSizeDef = - encoding[sizeChannel] ?? encoding.size ?? getMarkPropOrConfig('size', markDef, config, {vgChannel: sizeChannel}); + (encoding as any)[sizeChannel] ?? + encoding.size ?? + getMarkPropOrConfig('size', markDef, config, {vgChannel: sizeChannel}); const offsetScaleChannel = getOffsetChannel(channel); @@ -57,7 +59,7 @@ export function rectPosition(model: UnitModel, channel: 'x' | 'y' | 'theta' | 'r isFieldDef(channelDef) && (isBinning(channelDef.bin) || isBinned(channelDef.bin) || (channelDef.timeUnit && !channelDef2)) && !(hasSizeDef && !isRelativeBandSize(hasSizeDef)) && - !encoding[offsetScaleChannel] && + !(encoding as any)[offsetScaleChannel] && !hasDiscreteDomain(scaleType) ) { return rectBinPosition({ @@ -310,10 +312,10 @@ function rectBinPosition({ const bandSize = getBandSize({channel, fieldDef, markDef, config, scaleType}); - const axis = model.component.axes[channel]?.[0]; + const axis = (model.component.axes as any)[channel]?.[0]; const axisTranslate = axis?.get('translate') ?? 0.5; // vega default is 0.5 - const spacing = isXorY(channel) ? getMarkPropOrConfig('binSpacing', markDef, config) ?? 0 : 0; + const spacing = isXorY(channel) ? (getMarkPropOrConfig('binSpacing', markDef, config) ?? 0) : 0; const channel2 = getSecondaryRangeChannel(channel); const vgChannel = getVgPositionChannel(channel); diff --git a/src/compile/mark/encode/tooltip.ts b/src/compile/mark/encode/tooltip.ts index 48f70ce3af..8eab740b1f 100644 --- a/src/compile/mark/encode/tooltip.ts +++ b/src/compile/mark/encode/tooltip.ts @@ -15,7 +15,7 @@ import { import {Config} from '../../../config'; import {Encoding, forEach} from '../../../encoding'; import {StackProperties} from '../../../stack'; -import {entries} from '../../../util'; +import {Dict, entries} from '../../../util'; import {isSignalRef} from '../../../vega.schema'; import {getMarkPropOrConfig} from '../../common'; import {binFormatExpression, formatSignalRef} from '../../format'; @@ -81,7 +81,7 @@ export function tooltipData( {reactiveGeom}: {reactiveGeom?: boolean} = {} ) { const formatConfig = {...config, ...config.tooltipFormat}; - const toSkip = {}; + const toSkip = new Set(); const expr = reactiveGeom ? 'datum.datum' : 'datum'; const tuples: {channel: Channel; key: string; value: string}[] = []; @@ -109,7 +109,7 @@ export function tooltipData( const endField = vgField(fieldDef2, {expr}); const {format, formatType} = getFormatMixins(fieldDef); value = binFormatExpression(startField, endField, format, formatType, formatConfig); - toSkip[channel2] = true; + toSkip.add(channel2); } } @@ -143,9 +143,9 @@ export function tooltipData( } }); - const out = {}; + const out: Dict = {}; for (const {channel, key, value} of tuples) { - if (!toSkip[channel] && !out[key]) { + if (!toSkip.has(channel) && !out[key]) { out[key] = value; } } diff --git a/src/compile/mark/encode/valueref.ts b/src/compile/mark/encode/valueref.ts index 52854dac48..39f9995401 100644 --- a/src/compile/mark/encode/valueref.ts +++ b/src/compile/mark/encode/valueref.ts @@ -249,7 +249,7 @@ export function midPoint({ { offset, // For band, to get mid point, need to offset by half of the band - band: scaleType === 'band' ? bandPosition ?? channelDef.bandPosition ?? 0.5 : undefined + band: scaleType === 'band' ? (bandPosition ?? channelDef.bandPosition ?? 0.5) : undefined } ); } else if (isValueDef(channelDef)) { diff --git a/src/compile/mark/init.ts b/src/compile/mark/init.ts index 3c730e5d39..bf0b426648 100644 --- a/src/compile/mark/init.ts +++ b/src/compile/mark/init.ts @@ -41,7 +41,7 @@ export function initMarkdef(originalMarkDef: MarkDef, encoding: Encoding if (cornerRadiusEnd !== undefined) { const newProps = (markDef.orient === 'horizontal' && encoding.x2) || (markDef.orient === 'vertical' && encoding.y2) - ? ['cornerRadius'] + ? (['cornerRadius'] as const) : BAR_CORNER_RADIUS_END_INDEX[markDef.orient]; for (const newProp of newProps) { diff --git a/src/compile/model.ts b/src/compile/model.ts index 6dc99627d7..378573a24c 100644 --- a/src/compile/model.ts +++ b/src/compile/model.ts @@ -328,7 +328,7 @@ export abstract class Model { if (!isTopLevel) { // Descriptions are already added to the top-level description so we only need to add them to the inner views. if (this.description) { - encodeEntry['description'] = signalOrValueRef(this.description); + (encodeEntry as any)['description'] = signalOrValueRef(this.description); } // For top-level spec, we can set the global width and height signal to adjust the group size. diff --git a/src/compile/resolve.ts b/src/compile/resolve.ts index a45e8460f6..82a1e898b2 100644 --- a/src/compile/resolve.ts +++ b/src/compile/resolve.ts @@ -20,11 +20,11 @@ export function parseGuideResolve(resolve: Resolve, channel: ScaleChannel): Reso const guide = isXorY(channel) ? 'axis' : 'legend'; if (channelScaleResolve === 'independent') { - if (resolve[guide][channel] === 'shared') { + if ((resolve[guide] as any)[channel] === 'shared') { log.warn(log.message.independentScaleMeansIndependentGuide(channel)); } return 'independent'; } - return resolve[guide][channel] || 'shared'; + return (resolve[guide] as any)[channel] || 'shared'; } diff --git a/src/compile/scale/domain.ts b/src/compile/scale/domain.ts index 4a23487bf1..6743344611 100644 --- a/src/compile/scale/domain.ts +++ b/src/compile/scale/domain.ts @@ -1,13 +1,13 @@ import type {SignalRef} from 'vega'; -import {isObject, isString} from 'vega-util'; +import {hasOwnProperty, isObject, isString} from 'vega-util'; import { Aggregate, isAggregateOp, isArgmaxDef, isArgminDef, - MULTIDOMAIN_SORT_OP_INDEX as UNIONDOMAIN_SORT_OP_INDEX, NonArgAggregateOp, - SHARED_DOMAIN_OPS + SHARED_DOMAIN_OPS, + MULTIDOMAIN_SORT_OP_INDEX as UNIONDOMAIN_SORT_OP_INDEX } from '../../aggregate'; import {isBinning, isBinParams, isParameterExtent} from '../../bin'; import {getSecondaryRangeChannel, isScaleChannel, isXorY, ScaleChannel} from '../../channel'; @@ -29,6 +29,7 @@ import {DataSourceType} from '../../data'; import {DateTime} from '../../datetime'; import {ExprRef} from '../../expr'; import * as log from '../../log'; +import {isPathMark, isRectBasedMark} from '../../mark'; import {Domain, hasDiscreteDomain, isDomainUnionWith, isParameterDomain, ScaleConfig, ScaleType} from '../../scale'; import {ParameterExtent} from '../../selection'; import {DEFAULT_SORT_OP, EncodingSortField, isSortArray, isSortByEncoding, isSortField} from '../../sort'; @@ -47,18 +48,17 @@ import { VgSortField, VgUnionSortField } from '../../vega.schema'; +import {getMarkConfig} from '../common'; import {getBinSignalName} from '../data/bin'; import {sortArrayIndexField} from '../data/calculate'; import {FACET_SCALE_PREFIX} from '../data/optimize'; +import {OFFSETTED_RECT_END_SUFFIX, OFFSETTED_RECT_START_SUFFIX} from '../data/timeunit'; +import {getScaleDataSourceForHandlingInvalidValues} from '../invalid/datasources'; import {isFacetModel, isUnitModel, Model} from '../model'; import {SignalRefWrapper} from '../signal'; import {Explicit, makeExplicit, makeImplicit, mergeValuesWithExplicit} from '../split'; import {UnitModel} from '../unit'; import {ScaleComponent, ScaleComponentIndex} from './component'; -import {isPathMark, isRectBasedMark} from '../../mark'; -import {OFFSETTED_RECT_END_SUFFIX, OFFSETTED_RECT_START_SUFFIX} from '../data/timeunit'; -import {getScaleDataSourceForHandlingInvalidValues} from '../invalid/datasources'; -import {getMarkConfig} from '../common'; export function parseScaleDomain(model: Model) { if (isUnitModel(model)) { @@ -249,7 +249,7 @@ function parseSingleChannelDomain( const fieldOrDatumDef = getFieldOrDatumDef(encoding[channel]) as ScaleDatumDef | ScaleFieldDef; const {type} = fieldOrDatumDef; - const timeUnit = fieldOrDatumDef['timeUnit']; + const timeUnit = (fieldOrDatumDef as any)['timeUnit']; const dataSourceTypeForScaleDomain = getScaleDataSourceForHandlingInvalidValues({ invalid: getMarkConfig('invalid', markDef, config), @@ -413,8 +413,8 @@ function parseSelectionDomain(model: UnitModel, channel: ScaleChannel) { const scale = model.component.scales[channel]; const spec = model.specifiedScales[channel].domain; const bin = model.fieldDef(channel)?.bin; - const domain = isParameterDomain(spec) && spec; - const extent = isBinParams(bin) && isParameterExtent(bin.extent) && bin.extent; + const domain = isParameterDomain(spec) ? spec : undefined; + const extent = isBinParams(bin) && isParameterExtent(bin.extent) ? bin.extent : undefined; if (domain || extent) { // As scale parsing occurs before selection parsing, we cannot set @@ -623,7 +623,7 @@ export function mergeDomains(domains: VgNonUnionDomain[]): VgDomain { // only keep sort properties that work with unioned domains const unionDomainSorts = util.unique( sorts.map(s => { - if (util.isBoolean(s) || !('op' in s) || (isString(s.op) && s.op in UNIONDOMAIN_SORT_OP_INDEX)) { + if (util.isBoolean(s) || !('op' in s) || (isString(s.op) && hasOwnProperty(UNIONDOMAIN_SORT_OP_INDEX, s.op))) { return s as VgUnionSortField; } log.warn(log.message.domainSortDropped(s)); diff --git a/src/compile/scale/parse.ts b/src/compile/scale/parse.ts index e6baf799af..13cb318f2d 100644 --- a/src/compile/scale/parse.ts +++ b/src/compile/scale/parse.ts @@ -54,7 +54,7 @@ function parseUnitScaleCore(model: UnitModel): ScaleComponentIndex { continue; } - let specifiedScale = fieldOrDatumDef && fieldOrDatumDef['scale']; + let specifiedScale = fieldOrDatumDef && (fieldOrDatumDef as any).scale; if (fieldOrDatumDef && specifiedScale !== null && specifiedScale !== false) { specifiedScale ??= {}; const hasNestedOffsetScale = channelHasNestedOffsetScale(encoding, channel); diff --git a/src/compile/scale/properties.ts b/src/compile/scale/properties.ts index 4cc223a4e1..37522300e1 100644 --- a/src/compile/scale/properties.ts +++ b/src/compile/scale/properties.ts @@ -87,7 +87,7 @@ function parseUnitScaleProperty(model: UnitModel, property: Exclude = { } ] : [], - bind: bind[p.field] ?? bind[p.channel] ?? bind + bind: (bind as any)[p.field] ?? (bind as any)[p.channel] ?? bind }); } }); diff --git a/src/compile/selection/interval.ts b/src/compile/selection/interval.ts index 1c8a7aed05..5ca5f400e0 100644 --- a/src/compile/selection/interval.ts +++ b/src/compile/selection/interval.ts @@ -235,18 +235,24 @@ const interval: SelectionCompiler<'interval'> = { // not interefere with the core marks, but that the brushed region can still // be interacted with (e.g., dragging it around). const {fill, fillOpacity, cursor, ...stroke} = selCmpt.mark; - const vgStroke = keys(stroke).reduce((def, k) => { - def[k] = [ - { - test: [x !== undefined && `${xvname}[0] !== ${xvname}[1]`, y !== undefined && `${yvname}[0] !== ${yvname}[1]`] - .filter(t => t) - .join(' && '), - value: stroke[k] - }, - {value: null} - ]; - return def; - }, {}); + const vgStroke = keys(stroke).reduce( + (def, k) => { + def[k] = [ + { + test: [ + x !== undefined && `${xvname}[0] !== ${xvname}[1]`, + y !== undefined && `${yvname}[0] !== ${yvname}[1]` + ] + .filter(t => t) + .join(' && '), + value: stroke[k] + }, + {value: null} + ]; + return def; + }, + {} as Record + ); // Set cursor to move unless the brush cannot be translated const vgCursor = cursor ?? (selCmpt.translate ? 'move' : null); diff --git a/src/compile/selection/parse.ts b/src/compile/selection/parse.ts index d816af1505..2512fa5dd9 100644 --- a/src/compile/selection/parse.ts +++ b/src/compile/selection/parse.ts @@ -35,11 +35,11 @@ export function parseUnitSelection(model: UnitModel, selDefs: SelectionParameter } if (key === 'mark') { - defaults[key] = {...cfg[key], ...defaults[key]}; + (defaults as any).mark = {...(cfg as any).mark, ...(defaults as any).mark}; } - if (defaults[key] === undefined || defaults[key] === true) { - defaults[key] = duplicate(cfg[key] ?? defaults[key]); + if ((defaults as any)[key] === undefined || (defaults as any)[key] === true) { + (defaults as any)[key] = duplicate((cfg as any)[key] ?? (defaults as any)[key]); } } @@ -101,8 +101,8 @@ export function parseSelectionPredicate( export function parseSelectionExtent(model: Model, name: string, extent: ParameterExtent) { const vname = varName(name); - const encoding = extent['encoding']; - let field = extent['field']; + const encoding = (extent as any).encoding; + let field = (extent as any).field; let selCmpt; try { diff --git a/src/compile/unit.ts b/src/compile/unit.ts index c56a8d4501..dbaf32e24d 100644 --- a/src/compile/unit.ts +++ b/src/compile/unit.ts @@ -141,7 +141,7 @@ export class UnitModel extends ModelWithField { } public axis(channel: PositionChannel): AxisInternal { - return this.specifiedAxes[channel]; + return (this.specifiedAxes as any)[channel]; } public legend(channel: NonPositionScaleChannel): LegendInternal { @@ -191,15 +191,15 @@ export class UnitModel extends ModelWithField { : axisSpec; } return _axis; - }, {}); + }, {} as any); } private initAxis(axis: Axis): Axis { const props = keys(axis); - const axisInternal = {}; + const axisInternal: any = {}; for (const prop of props) { const val = axis[prop]; - axisInternal[prop as any] = isConditionalAxisValue(val) + axisInternal[prop] = isConditionalAxisValue(val) ? signalOrValueRefWithCondition(val) : signalRefOrValue(val); } @@ -218,7 +218,7 @@ export class UnitModel extends ModelWithField { } return _legend; - }, {}); + }, {} as any); } public parseData() { @@ -298,7 +298,7 @@ export class UnitModel extends ModelWithField { } public fieldDef(channel: SingleDefChannel) { - const channelDef = this.encoding[channel]; + const channelDef = (this.encoding as any)[channel]; return getFieldDef(channelDef); } diff --git a/src/compositemark/common.ts b/src/compositemark/common.ts index b806c259bb..225dd25e93 100644 --- a/src/compositemark/common.ts +++ b/src/compositemark/common.ts @@ -95,7 +95,7 @@ export function filterTooltipWithAggregatedField( (filteredEncoding as Encoding).tooltip = customTooltipWithAggregatedField; } } else { - if (tooltip['aggregate']) { + if ((tooltip as any).aggregate) { (filteredEncoding as Encoding).tooltip = tooltip; } else { customTooltipWithoutAggregatedField = tooltip; @@ -238,8 +238,8 @@ export function compositeMarkContinuousAxis( const continuousAxisChannelDef = encoding[continuousAxis] as PositionFieldDef; // Safe to cast because if x is not continuous fielddef, the orient would not be horizontal. const continuousAxisChannelDef2 = encoding[`${continuousAxis}2`] as SecondaryFieldDef; - const continuousAxisChannelDefError = encoding[`${continuousAxis}Error`] as SecondaryFieldDef; - const continuousAxisChannelDefError2 = encoding[`${continuousAxis}Error2`] as SecondaryFieldDef; + const continuousAxisChannelDefError = (encoding as any)[`${continuousAxis}Error`] as SecondaryFieldDef; + const continuousAxisChannelDefError2 = (encoding as any)[`${continuousAxis}Error2`] as SecondaryFieldDef; return { continuousAxisChannelDef: filterAggregateFromChannelDef(continuousAxisChannelDef, compositeMark), diff --git a/src/compositemark/errorbar.ts b/src/compositemark/errorbar.ts index 527efd4d35..537fa09173 100644 --- a/src/compositemark/errorbar.ts +++ b/src/compositemark/errorbar.ts @@ -143,7 +143,7 @@ export function normalizeErrorBar( outerSpec, tooltipEncoding } = errorBarParams(spec, ERRORBAR, config); - delete encodingWithoutContinuousAxis['size']; + delete (encodingWithoutContinuousAxis as any).size; const makeErrorBarPart = makeCompositeAggregatePartFactory( markDef, diff --git a/src/config.ts b/src/config.ts index 4956261e2c..5c3873e9bd 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,5 +1,5 @@ -import {Color, InitSignal, Locale, NewSignal, RangeConfig, RangeScheme, SignalRef, writeConfig} from 'vega'; -import {isObject, mergeConfig} from 'vega-util'; +import type {Color, InitSignal, Locale, NewSignal, RangeConfig, RangeScheme, SignalRef} from 'vega'; +import {isObject, mergeConfig, writeConfig} from 'vega-util'; import {Axis, AxisConfig, AxisConfigMixins, AXIS_CONFIGS, isConditionalAxisValue} from './axis'; import {signalOrValueRefWithCondition, signalRefOrValue} from './compile/common'; import {CompositeMarkConfigMixins, getAllCompositeMarks} from './compositemark'; @@ -25,7 +25,7 @@ import {defaultConfig as defaultSelectionConfig, SelectionConfig} from './select import {BaseViewBackground, CompositionConfigMixins, DEFAULT_SPACING, isStep} from './spec/base'; import {TopLevelProperties} from './spec/toplevel'; import {extractTitleConfig, TitleConfig} from './title'; -import {duplicate, getFirstDefined, isEmpty, keys, omit} from './util'; +import {duplicate, getFirstDefined, hasProperty, isEmpty, keys, omit} from './util'; export interface ViewConfig extends BaseViewBackground { /** @@ -72,7 +72,7 @@ export function getViewConfigContinuousSize( viewConfig: ViewConfig, channel: 'width' | 'height' ) { - return viewConfig[channel] ?? viewConfig[channel === 'width' ? 'continuousWidth' : 'continuousHeight']; // get width/height for backwards compatibility + return (viewConfig as any)[channel] ?? viewConfig[channel === 'width' ? 'continuousWidth' : 'continuousHeight']; // get width/height for backwards compatibility } export function getViewConfigDiscreteStep( @@ -87,7 +87,7 @@ export function getViewConfigDiscreteSize( viewConfig: ViewConfig, channel: 'width' | 'height' ) { - const size = viewConfig[channel] ?? viewConfig[channel === 'width' ? 'discreteWidth' : 'discreteHeight']; // get width/height for backwards compatibility + const size = (viewConfig as any)[channel] ?? viewConfig[channel === 'width' ? 'discreteWidth' : 'discreteHeight']; // get width/height for backwards compatibility return getFirstDefined(size, {step: viewConfig.step}); } @@ -100,7 +100,7 @@ export const defaultViewConfig: ViewConfig = { }; export function isVgScheme(rangeScheme: string[] | RangeScheme): rangeScheme is RangeScheme { - return rangeScheme && !!rangeScheme['scheme']; + return hasProperty(rangeScheme, 'scheme'); } export type ColorConfig = Record; @@ -517,7 +517,7 @@ function getAxisConfigInternal(axisConfig: AxisConfig) { const axisConfigInternal: AxisConfig = {}; for (const prop of props) { const val = axisConfig[prop]; - axisConfigInternal[prop as any] = isConditionalAxisValue(val) + (axisConfigInternal as any)[prop] = isConditionalAxisValue(val) ? signalOrValueRefWithCondition(val) : signalRefOrValue(val); } @@ -571,9 +571,9 @@ export function initConfig(specifiedConfig: Config = {}): Config { const outputConfig: Config = omit(mergedConfig, configPropsWithExpr); - for (const prop of ['background', 'lineBreak', 'padding']) { + for (const prop of ['background', 'lineBreak', 'padding'] as const) { if (mergedConfig[prop]) { - outputConfig[prop] = signalRefOrValue(mergedConfig[prop]); + (outputConfig as any)[prop] = signalRefOrValue(mergedConfig[prop]); } } @@ -678,8 +678,8 @@ export function stripAndRedirectConfig(config: Config) { if (config.axis) { // delete condition axis config for (const prop in config.axis) { - if (isConditionalAxisValue(config.axis[prop])) { - delete config.axis[prop]; + if (isConditionalAxisValue(config.axis[prop as keyof AxisConfig])) { + delete config.axis[prop as keyof AxisConfig]; } } } @@ -709,14 +709,14 @@ export function stripAndRedirectConfig(config: Config) { for (const markType of MARK_STYLES) { // Remove Vega-Lite-only mark config for (const prop of VL_ONLY_MARK_CONFIG_PROPERTIES) { - delete config[markType][prop]; + delete (config as any)[markType][prop]; } // Remove Vega-Lite only mark-specific config const vlOnlyMarkSpecificConfigs = VL_ONLY_ALL_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX[markType]; if (vlOnlyMarkSpecificConfigs) { for (const prop of vlOnlyMarkSpecificConfigs) { - delete config[markType][prop]; + delete (config as any)[markType][prop]; } } @@ -728,14 +728,16 @@ export function stripAndRedirectConfig(config: Config) { for (const m of getAllCompositeMarks()) { // Clean up the composite mark config as we don't need them in the output specs anymore - delete config[m]; + delete (config as any)[m]; } redirectTitleConfig(config); // Remove empty config objects. for (const prop in config) { + // @ts-ignore if (isObject(config[prop]) && isEmpty(config[prop])) { + // @ts-ignore delete config[prop]; } } @@ -781,7 +783,9 @@ function redirectConfigToStyleConfig( toProp?: string, compositeMarkPart?: string ) { - const propConfig: MarkConfig = compositeMarkPart ? config[prop][compositeMarkPart] : config[prop]; + const propConfig: MarkConfig = compositeMarkPart + ? (config as any)[prop][compositeMarkPart] + : config[prop as keyof Config]; if (prop === 'view') { toProp = 'cell'; // View's default style is "cell" @@ -799,6 +803,6 @@ function redirectConfigToStyleConfig( if (!compositeMarkPart) { // For composite mark, so don't delete the whole config yet as we have to do multiple redirections. - delete config[prop]; + delete config[prop as keyof Config]; } } diff --git a/src/data.ts b/src/data.ts index 0c18396a07..ca5e535151 100644 --- a/src/data.ts +++ b/src/data.ts @@ -4,6 +4,7 @@ import {Vector2} from 'vega'; import {FieldName} from './channeldef'; import {VgData} from './vega.schema'; +import {hasProperty} from './util'; export type ParseValue = null | string | 'string' | 'boolean' | 'date' | 'number'; @@ -123,15 +124,15 @@ export interface NamedData extends DataBase { } export function isUrlData(data: Partial | Partial): data is UrlData { - return 'url' in data; + return hasProperty(data, 'url'); } export function isInlineData(data: Partial | Partial): data is InlineData { - return 'values' in data; + return hasProperty(data, 'values'); } export function isNamedData(data: Partial | Partial): data is NamedData { - return 'name' in data && !isUrlData(data) && !isInlineData(data) && !isGenerator(data); + return hasProperty(data, 'name') && !isUrlData(data) && !isInlineData(data) && !isGenerator(data); } export function isGenerator(data: Partial | Partial): data is Generator { @@ -139,15 +140,15 @@ export function isGenerator(data: Partial | Partial): data is Gene } export function isSequenceGenerator(data: Partial | Partial): data is SequenceGenerator { - return 'sequence' in data; + return hasProperty(data, 'sequence'); } export function isSphereGenerator(data: Partial | Partial): data is SphereGenerator { - return 'sphere' in data; + return hasProperty(data, 'sphere'); } export function isGraticuleGenerator(data: Partial | Partial): data is GraticuleGenerator { - return 'graticule' in data; + return hasProperty(data, 'graticule'); } export enum DataSourceType { diff --git a/src/datetime.ts b/src/datetime.ts index 32f97381b3..0f566f0769 100644 --- a/src/datetime.ts +++ b/src/datetime.ts @@ -3,7 +3,7 @@ import {isNumber, isObject} from 'vega-util'; import * as log from './log'; import {TIMEUNIT_PARTS} from './timeunit'; -import {duplicate, isNumeric, keys} from './util'; +import {duplicate, hasProperty, isNumeric, keys} from './util'; /** * @minimum 1 @@ -125,7 +125,7 @@ export interface DateTimeExpr { export function isDateTime(o: any): o is DateTime { if (o && isObject(o)) { for (const part of TIMEUNIT_PARTS) { - if (part in o) { + if (hasProperty(o, part)) { return true; } } diff --git a/src/encoding.ts b/src/encoding.ts index 0dafbc975e..662309b561 100644 --- a/src/encoding.ts +++ b/src/encoding.ts @@ -1,4 +1,4 @@ -import {AggregateOp} from 'vega'; +import type {AggregateOp} from 'vega'; import {array, isArray} from 'vega-util'; import {isArgmaxDef, isArgminDef} from './aggregate'; import {isBinned, isBinning} from './bin'; @@ -457,7 +457,7 @@ export function extractTransformsFromEncoding(oldEncoding: Encoding, config } newFieldDef.bin = 'binned'; if (!isSecondaryRangeChannel(channel)) { - newFieldDef['type'] = QUANTITATIVE; + (newFieldDef as any)['type'] = QUANTITATIVE; } } else if (timeUnit && !isBinnedTimeUnit(timeUnit)) { timeUnits.push({ @@ -470,16 +470,16 @@ export function extractTransformsFromEncoding(oldEncoding: Encoding, config const formatType = isTypedFieldDef(channelDef) && channelDef.type !== TEMPORAL && 'time'; if (formatType) { if (channel === TEXT || channel === TOOLTIP) { - newFieldDef['formatType'] = formatType; + (newFieldDef as any)['formatType'] = formatType; } else if (isNonPositionScaleChannel(channel)) { - newFieldDef['legend'] = { + (newFieldDef as any)['legend'] = { formatType, - ...newFieldDef['legend'] + ...(newFieldDef as any)['legend'] }; } else if (isXorY(channel)) { - newFieldDef['axis'] = { + (newFieldDef as any)['axis'] = { formatType, - ...newFieldDef['axis'] + ...(newFieldDef as any)['axis'] }; } } @@ -487,14 +487,14 @@ export function extractTransformsFromEncoding(oldEncoding: Encoding, config } // now the field should refer to post-transformed field instead - encoding[channel as any] = newFieldDef; + (encoding as any)[channel as any] = newFieldDef; } else { groupby.push(field); - encoding[channel as any] = oldEncoding[channel]; + (encoding as any)[channel as any] = oldEncoding[channel]; } } else { // For value def / signal ref / datum def, just copy - encoding[channel as any] = oldEncoding[channel]; + (encoding as any)[channel as any] = oldEncoding[channel]; } }); @@ -628,7 +628,7 @@ export function initEncoding( continue; } - normalizedEncoding[channel as any] = initChannelDef(channelDef as ChannelDef, channel, config); + (normalizedEncoding as any)[channel as any] = initChannelDef(channelDef as ChannelDef, channel, config); } } return normalizedEncoding; @@ -642,7 +642,7 @@ export function normalizeEncoding(encoding: Encoding, config: Config): E for (const channel of keys(encoding)) { const newChannelDef = initChannelDef(encoding[channel], channel, config, {compositeMark: true}); - normalizedEncoding[channel as any] = newChannelDef; + (normalizedEncoding as any)[channel as any] = newChannelDef; } return normalizedEncoding; diff --git a/src/expr.ts b/src/expr.ts index c7f217a9a5..cfb0f05ef9 100644 --- a/src/expr.ts +++ b/src/expr.ts @@ -1,5 +1,5 @@ import {signalRefOrValue} from './compile/common'; -import {Dict, keys} from './util'; +import {Dict, hasProperty, keys} from './util'; import {MappedExclude} from './vega.schema'; export interface ExprRef { @@ -10,7 +10,7 @@ export interface ExprRef { } export function isExprRef(o: any): o is ExprRef { - return !!o?.expr; + return hasProperty(o, 'expr'); } export function replaceExprRef>(index: T, {level}: {level: number} = {level: 0}) { diff --git a/src/guide.ts b/src/guide.ts index 38ebc85582..a1732579a0 100644 --- a/src/guide.ts +++ b/src/guide.ts @@ -1,4 +1,4 @@ -import {SignalRef, Text} from 'vega'; +import type {SignalRef, Text} from 'vega'; import {ConditionValueDefMixins, FormatMixins, ValueDef} from './channeldef'; import {LegendConfig} from './legend'; import {VgEncodeChannel} from './vega.schema'; diff --git a/src/header.ts b/src/header.ts index 80629287ee..5c12409548 100644 --- a/src/header.ts +++ b/src/header.ts @@ -1,4 +1,14 @@ -import {Align, Color, FontStyle, FontWeight, Orient, SignalRef, TextBaseline, TitleAnchor, TitleConfig} from 'vega'; +import type { + Align, + Color, + FontStyle, + FontWeight, + Orient, + SignalRef, + TextBaseline, + TitleAnchor, + TitleConfig +} from 'vega'; import {FormatMixins} from './channeldef'; import {ExprRef} from './expr'; import {Guide, VlOnlyGuideConfig} from './guide'; diff --git a/src/impute.ts b/src/impute.ts index 0417f31061..8e93ef740b 100644 --- a/src/impute.ts +++ b/src/impute.ts @@ -1,5 +1,5 @@ import {ImputeSequence} from './transform'; -import {ImputeMethod} from 'vega'; +import type {ImputeMethod} from 'vega'; export interface ImputeParams { /** diff --git a/src/invalid.ts b/src/invalid.ts index 006d400d11..89a5f2ae1d 100644 --- a/src/invalid.ts +++ b/src/invalid.ts @@ -1,4 +1,4 @@ -import {SignalRef} from 'vega'; +import type {SignalRef} from 'vega'; import {ScaleChannel} from './channel'; import {Mark, MarkDef} from './mark'; import {isObject} from 'vega-util'; diff --git a/src/legend.ts b/src/legend.ts index 421ef5ad38..a3c18a6efa 100644 --- a/src/legend.ts +++ b/src/legend.ts @@ -1,4 +1,4 @@ -import { +import type { BaseLegend, LabelOverlap, Legend as VgLegend, diff --git a/src/logical.ts b/src/logical.ts index 80f57c4e89..ce889761a9 100644 --- a/src/logical.ts +++ b/src/logical.ts @@ -1,3 +1,5 @@ +import {hasProperty} from './util'; + export type LogicalComposition = LogicalNot | LogicalAnd | LogicalOr | T; export interface LogicalOr { @@ -13,15 +15,15 @@ export interface LogicalNot { } export function isLogicalOr(op: LogicalComposition): op is LogicalOr { - return !!op.or; + return hasProperty(op, 'or'); } export function isLogicalAnd(op: LogicalComposition): op is LogicalAnd { - return !!op.and; + return hasProperty(op, 'and'); } export function isLogicalNot(op: LogicalComposition): op is LogicalNot { - return !!op.not; + return hasProperty(op, 'not'); } export function forEachLeaf(op: LogicalComposition, fn: (op: T) => void) { diff --git a/src/mark.ts b/src/mark.ts index 16d3d385c1..46a4cc23e5 100644 --- a/src/mark.ts +++ b/src/mark.ts @@ -1,9 +1,10 @@ -import {Align, Color, Gradient, MarkConfig as VgMarkConfig, Orientation, SignalRef, TextBaseline} from 'vega'; +import type {Align, Color, Gradient, Orientation, SignalRef, TextBaseline, MarkConfig as VgMarkConfig} from 'vega'; +import {hasOwnProperty} from 'vega-util'; import {CompositeMark, CompositeMarkDef} from './compositemark'; import {ExprRef} from './expr'; -import {Flag, keys} from './util'; -import {MapExcludeValueRefAndReplaceSignalWith} from './vega.schema'; import {MarkInvalidMixins} from './invalid'; +import {Flag, hasProperty, keys} from './util'; +import {MapExcludeValueRefAndReplaceSignalWith} from './vega.schema'; /** * All types of primitive marks. @@ -43,7 +44,7 @@ export const GEOSHAPE = Mark.geoshape; export type Mark = keyof typeof Mark; export function isMark(m: string): m is Mark { - return m in Mark; + return hasOwnProperty(Mark, m); } export const PATH_MARKS = ['line', 'area', 'trail'] as const; @@ -291,7 +292,7 @@ export interface RectBinSpacingMixins { export type AnyMark = CompositeMark | CompositeMarkDef | Mark | MarkDef; export function isMarkDef(mark: string | GenericMarkDef): mark is GenericMarkDef { - return mark['type']; + return hasProperty(mark, 'type'); } export function isPrimitiveMark(mark: AnyMark): mark is Mark { @@ -453,7 +454,7 @@ export interface RelativeBandSize { } export function isRelativeBandSize(o: number | RelativeBandSize | ExprRef | SignalRef): o is RelativeBandSize { - return o && o['band'] != undefined; + return hasProperty(o, 'band'); } export const BAR_CORNER_RADIUS_INDEX: Partial< diff --git a/src/normalize/core.ts b/src/normalize/core.ts index 545e24ff8a..6299dde210 100644 --- a/src/normalize/core.ts +++ b/src/normalize/core.ts @@ -283,8 +283,8 @@ export class CoreNormalizer extends SpecMapper { const out: EncodingOrFacet = {}; for (const channel in mapping) { - if (hasOwnProperty(mapping, channel)) { + if (hasProperty(mapping, channel)) { const channelDef: ChannelDef | ChannelDef[] = mapping[channel]; if (isArray(channelDef)) { // array cannot have condition - out[channel] = (channelDef as ChannelDef[]) // somehow we need to cast it here + (out as any)[channel] = (channelDef as ChannelDef[]) // somehow we need to cast it here .map(cd => replaceRepeaterInChannelDef(cd, repeater)) .filter(cd => cd); } else { const cd = replaceRepeaterInChannelDef(channelDef, repeater); if (cd !== undefined) { - out[channel] = cd; + (out as any)[channel] = cd; } } } diff --git a/src/normalize/selectioncompat.ts b/src/normalize/selectioncompat.ts index f5e64df739..7f72b8fd4b 100644 --- a/src/normalize/selectioncompat.ts +++ b/src/normalize/selectioncompat.ts @@ -1,6 +1,7 @@ -import {isArray} from 'vega'; +import {isArray} from 'vega-util'; import {BinParams, isBinParams} from '../bin'; import {ChannelDef, Field, isConditionalDef, isFieldDef, isScaleFieldDef} from '../channeldef'; +import {Encoding} from '../encoding'; import {LogicalComposition, normalizeLogicalComposition} from '../logical'; import {FacetedUnitSpec, GenericSpec, LayerSpec, RepeatSpec, UnitSpec} from '../spec'; import {SpecMapper} from '../spec/map'; @@ -28,9 +29,9 @@ export class SelectionCompatibilityNormalizer extends SpecMapper< spec = normalizeTransforms(spec, normParams); if (spec.encoding) { - const encoding = {}; + const encoding: Encoding = {}; for (const [channel, enc] of entries(spec.encoding)) { - encoding[channel] = normalizeChannelDef(enc, normParams); + (encoding as any)[channel] = normalizeChannelDef(enc, normParams); } spec = {...spec, encoding}; @@ -54,8 +55,8 @@ export class SelectionCompatibilityNormalizer extends SpecMapper< } // Propagate emptiness forwards and backwards - normParams.emptySelections[name] = empty !== 'none'; - for (const pred of vals(normParams.selectionPredicates[name] ?? {})) { + (normParams.emptySelections as any)[name] = empty !== 'none'; + for (const pred of vals((normParams.selectionPredicates as any)[name] ?? {})) { pred.empty = empty !== 'none'; } diff --git a/src/normalize/toplevelselection.ts b/src/normalize/toplevelselection.ts index 226d700426..ac30a4ef2a 100644 --- a/src/normalize/toplevelselection.ts +++ b/src/normalize/toplevelselection.ts @@ -1,4 +1,4 @@ -import {isArray, isString} from 'vega'; +import {isArray, isString} from 'vega-util'; import {Field} from '../channeldef'; import {VariableParameter} from '../parameter'; import {isSelectionParameter, SelectionParameter} from '../selection'; @@ -66,7 +66,7 @@ export class TopLevelSelectionsNormalizer extends SpecMapper): predicate is ParameterPredicate { - return predicate?.['param']; + return hasProperty(predicate, 'param'); } export interface FieldPredicateBase { @@ -227,7 +227,7 @@ export function fieldFilterExpression(predicate: FieldPredicate, useInRange = tr } else if (isFieldValidPredicate(predicate)) { return fieldValidPredicate(fieldExpr, predicate.valid); } else if (isFieldRangePredicate(predicate)) { - const {range} = predicate; + const {range} = replaceExprRef(predicate); const lower = isSignalRef(range) ? {signal: `${range.signal}[0]`} : range[0]; const upper = isSignalRef(range) ? {signal: `${range.signal}[1]`} : range[1]; diff --git a/src/projection.ts b/src/projection.ts index 1eca2fed43..1b5c770d4d 100644 --- a/src/projection.ts +++ b/src/projection.ts @@ -1,4 +1,4 @@ -import {BaseProjection, SignalRef, Vector2} from 'vega'; +import type {BaseProjection, SignalRef, Vector2} from 'vega'; import {ExprRef} from './expr'; import {MapExcludeValueRefAndReplaceSignalWith, ProjectionType} from './vega.schema'; diff --git a/src/scale.ts b/src/scale.ts index e9dad084f6..1d77095e77 100644 --- a/src/scale.ts +++ b/src/scale.ts @@ -1,5 +1,5 @@ -import { - isObject, +import type { + ColorScheme, RangeEnum, ScaleBins, ScaleInterpolateEnum, @@ -8,8 +8,7 @@ import { TimeInterval, TimeIntervalStep } from 'vega'; -import type {ColorScheme} from 'vega-typings'; -import {isString} from 'vega-util'; +import {isString, isObject} from 'vega-util'; import * as CHANNEL from './channel'; import {Channel, isColorChannel} from './channel'; import {DateTime} from './datetime'; @@ -18,7 +17,7 @@ import {ScaleInvalidDataConfigMixins} from './invalid'; import * as log from './log'; import {ParameterExtent} from './selection'; import {NOMINAL, ORDINAL, QUANTITATIVE, TEMPORAL, Type} from './type'; -import {contains, Flag, keys} from './util'; +import {contains, Flag, hasProperty, keys} from './util'; export const ScaleType = { // Continuous - Quantitative @@ -495,11 +494,11 @@ export type Domain = export type Scheme = string | SchemeParams; export function isExtendedScheme(scheme: Scheme | SignalRef): scheme is SchemeParams { - return !isString(scheme) && !!scheme['name']; + return !isString(scheme) && hasProperty(scheme, 'name'); } export function isParameterDomain(domain: Domain): domain is ParameterExtent { - return domain?.['param']; + return hasProperty(domain, 'param'); } export interface DomainUnionWith { @@ -511,7 +510,7 @@ export interface DomainUnionWith { } export function isDomainUnionWith(domain: Domain): domain is DomainUnionWith { - return domain?.['unionWith']; + return hasProperty(domain, 'unionWith'); } export interface FieldRange { diff --git a/src/selection.ts b/src/selection.ts index 3c8c7a0789..bf931b0055 100644 --- a/src/selection.ts +++ b/src/selection.ts @@ -1,4 +1,4 @@ -import {Binding, Color, Cursor, Stream, Vector2} from 'vega'; +import type {Binding, Color, Cursor, Stream, Vector2} from 'vega'; import {isObject} from 'vega-util'; import {SingleDefUnitChannel} from './channel'; import {FieldName, PrimitiveValue} from './channeldef'; diff --git a/src/sort.ts b/src/sort.ts index 469f397e72..e0fed275b5 100644 --- a/src/sort.ts +++ b/src/sort.ts @@ -1,7 +1,8 @@ -import {isArray} from 'vega-util'; +import {hasOwnProperty, isArray} from 'vega-util'; import {NonArgAggregateOp} from './aggregate'; import {FieldName} from './channeldef'; import {DateTime} from './datetime'; +import {hasProperty} from './util'; export type SortOrder = 'ascending' | 'descending'; @@ -87,7 +88,7 @@ const SORT_BY_CHANNEL_INDEX = { export type SortByChannel = keyof typeof SORT_BY_CHANNEL_INDEX; export function isSortByChannel(c: string): c is SortByChannel { - return c in SORT_BY_CHANNEL_INDEX; + return hasOwnProperty(SORT_BY_CHANNEL_INDEX, c); } export type SortByChannelDesc = @@ -109,11 +110,11 @@ export type AllSortString = SortOrder | SortByChannel | SortByChannelDesc; export type Sort = SortArray | AllSortString | EncodingSortField | SortByEncoding | null; export function isSortByEncoding(sort: Sort): sort is SortByEncoding { - return !!sort?.['encoding']; + return hasProperty(sort, 'encoding'); } export function isSortField(sort: Sort): sort is EncodingSortField { - return sort && (sort['op'] === 'count' || !!sort['field']); + return sort && ((sort as any).op === 'count' || hasProperty(sort, 'field')); } export function isSortArray(sort: Sort): sort is SortArray { diff --git a/src/spec/base.ts b/src/spec/base.ts index 578542719a..862fb64a35 100644 --- a/src/spec/base.ts +++ b/src/spec/base.ts @@ -1,5 +1,5 @@ import {Color, Cursor, SignalRef, Text} from 'vega'; -import {isNumber, isObject} from 'vega-util'; +import {isNumber} from 'vega-util'; import {NormalizedSpec} from '.'; import {Data} from '../data'; import {ExprRef} from '../expr'; @@ -7,7 +7,7 @@ import {MarkConfig} from '../mark'; import {Resolve} from '../resolve'; import {TitleParams} from '../title'; import {Transform} from '../transform'; -import {Flag, keys} from '../util'; +import {Flag, hasProperty, keys} from '../util'; import {LayoutAlign, RowCol} from '../vega.schema'; import {isConcatSpec, isVConcatSpec} from './concat'; import {isFacetMapping, isFacetSpec} from './facet'; @@ -74,7 +74,7 @@ export function getStepFor({step, offsetIsDiscrete}: {step: Step; offsetIsDiscre } export function isStep(size: number | Step | 'container' | 'merged'): size is Step { - return isObject(size) && size['step'] !== undefined; + return hasProperty(size, 'step'); } // TODO(https://github.com/vega/vega-lite/issues/2503): Make this generic so we can support some form of top-down sizing. @@ -115,7 +115,7 @@ export interface LayoutSizeMixins { } export function isFrameMixins(o: any): o is FrameMixins { - return o['view'] || o['width'] || o['height']; + return hasProperty(o, 'view') || hasProperty(o, 'width') || hasProperty(o, 'height'); } export interface FrameMixins extends LayoutSizeMixins { @@ -310,9 +310,9 @@ export function extractCompositionLayout( // Then copy properties from the spec for (const prop of COMPOSITION_LAYOUT_PROPERTIES) { - if (spec[prop] !== undefined) { + if ((spec as any)[prop] !== undefined) { if (prop === 'spacing') { - const spacing: number | RowCol = spec[prop]; + const spacing: number | RowCol = (spec as any)[prop]; layout[prop] = isNumber(spacing) ? spacing @@ -321,7 +321,7 @@ export function extractCompositionLayout( column: spacing.column ?? spacingConfig }; } else { - (layout[prop] as any) = spec[prop]; + (layout[prop] as any) = (spec as any)[prop]; } } } diff --git a/src/spec/concat.ts b/src/spec/concat.ts index 63d113271a..a56309cea4 100644 --- a/src/spec/concat.ts +++ b/src/spec/concat.ts @@ -1,4 +1,5 @@ import {GenericSpec, NormalizedSpec} from '.'; +import {hasProperty} from '../util'; import {BaseSpec, BoundsMixins, GenericCompositionLayoutWithColumns, ResolveMixins} from './base'; /** @@ -68,13 +69,13 @@ export function isAnyConcatSpec(spec: BaseSpec): spec is GenericVConcatSpec } export function isConcatSpec(spec: BaseSpec): spec is GenericConcatSpec { - return 'concat' in spec; + return hasProperty(spec, 'concat'); } export function isVConcatSpec(spec: BaseSpec): spec is GenericVConcatSpec { - return 'vconcat' in spec; + return hasProperty(spec, 'vconcat'); } export function isHConcatSpec(spec: BaseSpec): spec is GenericHConcatSpec { - return 'hconcat' in spec; + return hasProperty(spec, 'hconcat'); } diff --git a/src/spec/facet.ts b/src/spec/facet.ts index 807bf0b541..07bd300f26 100644 --- a/src/spec/facet.ts +++ b/src/spec/facet.ts @@ -1,4 +1,4 @@ -import {LayoutAlign, SignalRef} from 'vega'; +import type {LayoutAlign, SignalRef} from 'vega'; import {BinParams} from '../bin'; import {ChannelDef, Field, FieldName, TypedFieldDef} from '../channeldef'; import {ExprRef} from '../expr'; @@ -8,6 +8,7 @@ import {StandardType} from '../type'; import {BaseSpec, GenericCompositionLayoutWithColumns, ResolveMixins} from './base'; import {GenericLayerSpec, NormalizedLayerSpec} from './layer'; import {GenericUnitSpec, NormalizedUnitSpec} from './unit'; +import {hasProperty} from '../util'; export interface FacetFieldDef extends TypedFieldDef { @@ -90,7 +91,7 @@ export interface FacetMapping< export function isFacetMapping( f: FacetFieldDef | FacetMapping ): f is FacetMapping { - return 'row' in f || 'column' in f; + return hasProperty(f, 'row') || hasProperty(f, 'column'); } /** @@ -107,7 +108,7 @@ export interface EncodingFacetMapping(channelDef: ChannelDef): channelDef is FacetFieldDef { - return !!channelDef && 'header' in channelDef; + return hasProperty(channelDef, 'header'); } /** @@ -137,5 +138,5 @@ export interface GenericFacetSpec, L extends export type NormalizedFacetSpec = GenericFacetSpec; export function isFacetSpec(spec: BaseSpec): spec is GenericFacetSpec { - return 'facet' in spec; + return hasProperty(spec, 'facet'); } diff --git a/src/spec/layer.ts b/src/spec/layer.ts index aafab34e68..5f9da419c5 100644 --- a/src/spec/layer.ts +++ b/src/spec/layer.ts @@ -2,6 +2,7 @@ import {Field} from '../channeldef'; import {SharedCompositeEncoding} from '../compositemark'; import {ExprRef} from '../expr'; import {Projection} from '../projection'; +import {hasProperty} from '../util'; import {BaseSpec, FrameMixins, ResolveMixins} from './base'; import {GenericUnitSpec, NormalizedUnitSpec, UnitSpec} from './unit'; @@ -45,5 +46,5 @@ export interface LayerSpec extends BaseSpec, FrameMixins, Resol export type NormalizedLayerSpec = GenericLayerSpec; export function isLayerSpec(spec: BaseSpec): spec is GenericLayerSpec { - return 'layer' in spec; + return hasProperty(spec, 'layer'); } diff --git a/src/spec/repeat.ts b/src/spec/repeat.ts index be4808e41e..9752c047d4 100644 --- a/src/spec/repeat.ts +++ b/src/spec/repeat.ts @@ -3,6 +3,7 @@ import {LayerSpec, NonNormalizedSpec} from '.'; import {Field} from '../channeldef'; import {BaseSpec, GenericCompositionLayoutWithColumns, ResolveMixins} from './base'; import {UnitSpecWithFrame} from './unit'; +import {hasProperty} from '../util'; export interface RepeatMapping { /** @@ -57,9 +58,9 @@ export interface LayerRepeatSpec extends BaseSpec, GenericCompositionLayoutWithC } export function isRepeatSpec(spec: BaseSpec): spec is RepeatSpec { - return 'repeat' in spec; + return hasProperty(spec, 'repeat'); } export function isLayerRepeatSpec(spec: RepeatSpec): spec is LayerRepeatSpec { - return !isArray(spec.repeat) && spec.repeat['layer']; + return !isArray(spec.repeat) && hasProperty(spec.repeat, 'layer'); } diff --git a/src/spec/toplevel.ts b/src/spec/toplevel.ts index 6a488e2b9b..743347aa20 100644 --- a/src/spec/toplevel.ts +++ b/src/spec/toplevel.ts @@ -1,4 +1,4 @@ -import {Color, SignalRef} from 'vega'; +import type {Color, SignalRef} from 'vega'; import {BaseSpec} from '.'; import {getPositionScaleChannel} from '../channel'; import {signalRefOrValue} from '../compile/common'; @@ -80,7 +80,7 @@ export interface TopLevelProperties = {}; for (const p of TOP_LEVEL_PROPERTIES) { if (t && t[p] !== undefined) { - o[p as any] = signalRefOrValue(t[p]); + (o as any)[p] = signalRefOrValue(t[p]); } } if (includeParams) { diff --git a/src/spec/unit.ts b/src/spec/unit.ts index da69818436..5d910e214b 100644 --- a/src/spec/unit.ts +++ b/src/spec/unit.ts @@ -5,6 +5,7 @@ import {ExprRef} from '../expr'; import {AnyMark, Mark, MarkDef} from '../mark'; import {Projection} from '../projection'; import {SelectionParameter} from '../selection'; +import {hasProperty} from '../util'; import {Field} from './../channeldef'; import {BaseSpec, DataMixins, FrameMixins, GenericCompositionLayout, ResolveMixins} from './base'; import {TopLevel, TopLevelParameter} from './toplevel'; @@ -62,5 +63,5 @@ export type FacetedUnitSpec = GenericUn export type TopLevelUnitSpec = TopLevel> & DataMixins; export function isUnitSpec(spec: BaseSpec): spec is FacetedUnitSpec | NormalizedUnitSpec { - return 'mark' in spec; + return hasProperty(spec, 'mark'); } diff --git a/src/stack.ts b/src/stack.ts index 8d68bfb1ae..7c595c00dd 100644 --- a/src/stack.ts +++ b/src/stack.ts @@ -1,4 +1,4 @@ -import {array, isBoolean} from 'vega-util'; +import {array, hasOwnProperty, isBoolean} from 'vega-util'; import {Aggregate, SUM_OPS} from './aggregate'; import {getSecondaryRangeChannel, NonPositionChannel, NONPOSITION_CHANNELS} from './channel'; import { @@ -43,7 +43,7 @@ const STACK_OFFSET_INDEX = { export type StackOffset = keyof typeof STACK_OFFSET_INDEX; export function isStackOffset(s: string): s is StackOffset { - return s in STACK_OFFSET_INDEX; + return hasOwnProperty(STACK_OFFSET_INDEX, s); } export interface StackProperties { diff --git a/src/timeunit.ts b/src/timeunit.ts index 456f151ce6..0ef009371f 100644 --- a/src/timeunit.ts +++ b/src/timeunit.ts @@ -1,6 +1,7 @@ import {isObject, isString} from 'vega-util'; import {DateTime, DateTimeExpr, dateTimeExprToExpr, dateTimeToExpr} from './datetime'; import {accessPathWithDatum, keys, stringify, varName} from './util'; +import {hasOwnProperty} from 'vega'; /** Time Unit that only corresponds to only one part of Date objects. */ export const LOCAL_SINGLE_TIMEUNIT_INDEX = { @@ -22,7 +23,7 @@ export type LocalSingleTimeUnit = keyof typeof LOCAL_SINGLE_TIMEUNIT_INDEX; export const TIMEUNIT_PARTS = keys(LOCAL_SINGLE_TIMEUNIT_INDEX); export function isLocalSingleTimeUnit(timeUnit: string): timeUnit is LocalSingleTimeUnit { - return !!LOCAL_SINGLE_TIMEUNIT_INDEX[timeUnit]; + return hasOwnProperty(LOCAL_SINGLE_TIMEUNIT_INDEX, timeUnit); } export const UTC_SINGLE_TIMEUNIT_INDEX = { @@ -325,13 +326,13 @@ export function fieldExpr(fullTimeUnit: TimeUnit, field: string, {end}: {end: bo for (const part of TIMEUNIT_PARTS) { if (containsTimeUnit(fullTimeUnit, part)) { - dateExpr[part] = func(part); + (dateExpr as any)[part] = func(part); lastTimeUnit = part; } } if (end) { - dateExpr[lastTimeUnit] += '+1'; + (dateExpr as any)[lastTimeUnit] += '+1'; } return dateTimeExprToExpr(dateExpr); @@ -459,7 +460,7 @@ const DATE_PARTS = { type DatePart = keyof typeof DATE_PARTS; export function isDatePart(timeUnit: LocalSingleTimeUnit): timeUnit is DatePart { - return !!DATE_PARTS[timeUnit]; + return hasOwnProperty(DATE_PARTS, timeUnit); } export function getDateTimePartAndStep( diff --git a/src/transform.ts b/src/transform.ts index 4db847b71c..3af3dd6ae9 100644 --- a/src/transform.ts +++ b/src/transform.ts @@ -1,4 +1,4 @@ -import {AggregateOp} from 'vega'; +import type {AggregateOp} from 'vega'; import {BinParams} from './bin'; import {FieldName} from './channeldef'; import {Data} from './data'; @@ -8,6 +8,7 @@ import {ParameterName} from './parameter'; import {normalizePredicate, Predicate} from './predicate'; import {SortField} from './sort'; import {TimeUnit, TimeUnitTransformParams} from './timeunit'; +import {hasProperty} from './util'; export interface FilterTransform { /** @@ -35,7 +36,7 @@ export interface FilterTransform { } export function isFilter(t: Transform): t is FilterTransform { - return 'filter' in t; + return hasProperty(t, 'filter'); } export interface CalculateTransform { @@ -259,7 +260,7 @@ export interface ImputeSequence { } export function isImputeSequence(t: ImputeSequence | any[] | undefined): t is ImputeSequence { - return t?.['stop'] !== undefined; + return hasProperty(t, 'stop'); } export interface ImputeTransform extends ImputeParams { @@ -366,15 +367,15 @@ export interface LookupTransform { } export function isLookup(t: Transform): t is LookupTransform { - return 'lookup' in t; + return hasProperty(t, 'lookup'); } export function isLookupData(from: LookupData | LookupSelection): from is LookupData { - return 'data' in from; + return hasProperty(from, 'data'); } export function isLookupSelection(from: LookupData | LookupSelection): from is LookupSelection { - return 'param' in from; + return hasProperty(from, 'param'); } export interface FoldTransform { @@ -433,7 +434,7 @@ export interface PivotTransform { } export function isPivot(t: Transform): t is PivotTransform { - return 'pivot' in t; + return hasProperty(t, 'pivot'); } export interface DensityTransform { @@ -507,7 +508,7 @@ export interface DensityTransform { } export function isDensity(t: Transform): t is DensityTransform { - return 'density' in t; + return hasProperty(t, 'density'); } export interface QuantileTransform { @@ -540,7 +541,7 @@ export interface QuantileTransform { } export function isQuantile(t: Transform): t is QuantileTransform { - return 'quantile' in t; + return hasProperty(t, 'quantile'); } export interface RegressionTransform { @@ -596,7 +597,7 @@ export interface RegressionTransform { } export function isRegression(t: Transform): t is RegressionTransform { - return 'regression' in t; + return hasProperty(t, 'regression'); } export interface LoessTransform { @@ -631,54 +632,54 @@ export interface LoessTransform { } export function isLoess(t: Transform): t is LoessTransform { - return 'loess' in t; + return hasProperty(t, 'loess'); } export function isSample(t: Transform): t is SampleTransform { - return 'sample' in t; + return hasProperty(t, 'sample'); } export function isWindow(t: Transform): t is WindowTransform { - return 'window' in t; + return hasProperty(t, 'window'); } export function isJoinAggregate(t: Transform): t is JoinAggregateTransform { - return 'joinaggregate' in t; + return hasProperty(t, 'joinaggregate'); } export function isFlatten(t: Transform): t is FlattenTransform { - return 'flatten' in t; + return hasProperty(t, 'flatten'); } export function isCalculate(t: Transform): t is CalculateTransform { - return 'calculate' in t; + return hasProperty(t, 'calculate'); } export function isBin(t: Transform): t is BinTransform { - return 'bin' in t; + return hasProperty(t, 'bin'); } export function isImpute(t: Transform): t is ImputeTransform { - return 'impute' in t; + return hasProperty(t, 'impute'); } export function isTimeUnit(t: Transform): t is TimeUnitTransform { - return 'timeUnit' in t; + return hasProperty(t, 'timeUnit'); } export function isAggregate(t: Transform): t is AggregateTransform { - return 'aggregate' in t; + return hasProperty(t, 'aggregate'); } export function isStack(t: Transform): t is StackTransform { - return 'stack' in t; + return hasProperty(t, 'stack'); } export function isFold(t: Transform): t is FoldTransform { - return 'fold' in t; + return hasProperty(t, 'fold'); } export function isExtent(t: Transform): t is ExtentTransform { - return 'extent' in t && !('density' in t) && !('regression' in t); + return hasProperty(t, 'extent') && !hasProperty(t, 'density') && !hasProperty(t, 'regression'); } export type Transform = | AggregateTransform diff --git a/src/type.ts b/src/type.ts index 6773ba69d1..08f164d934 100644 --- a/src/type.ts +++ b/src/type.ts @@ -1,3 +1,4 @@ +import {hasOwnProperty} from 'vega-util'; import {keys} from './util'; /** @@ -14,7 +15,7 @@ export const Type = { export type Type = keyof typeof Type; export function isType(t: any): t is Type { - return t in Type; + return hasOwnProperty(Type, t); } export function isContinuous(type: Type): type is 'quantitative' | 'temporal' { diff --git a/src/util.ts b/src/util.ts index 832043a667..5159e1fed0 100644 --- a/src/util.ts +++ b/src/util.ts @@ -1,4 +1,4 @@ -import {hasOwnProperty, isNumber, isString, splitAccessPath, stringValue, writeConfig} from 'vega-util'; +import {hasOwnProperty, isNumber, isString, splitAccessPath, stringValue, writeConfig, isObject} from 'vega-util'; import {isLogicalAnd, isLogicalNot, isLogicalOr, LogicalComposition} from './logical'; export const duplicate = structuredClone; @@ -41,7 +41,7 @@ export function omit(obj: T, props: readonl /** * Monkey patch Set so that `stringify` produces a string representation of sets. */ -Set.prototype['toJSON'] = function () { +(Set.prototype as any)['toJSON'] = function () { return `Set(${[...this].map(x => stringify(x)).join(',')})`; }; @@ -134,7 +134,7 @@ export function unique(values: readonly T[], f: (item: T) => string | number) if (v in u) { continue; } - u[v] = 1; + (u as any)[v] = 1; results.push(val); } return results; @@ -213,9 +213,11 @@ export function isEmpty(obj: object) { // This is a stricter version of Object.keys but with better types. See https://github.com/Microsoft/TypeScript/pull/12253#issuecomment-263132208 export const keys = Object.keys as (o: T) => Extract[]; -export const vals = Object.values; +// Stricter version from https://github.com/microsoft/TypeScript/issues/51572#issuecomment-1319153323 +export const vals = Object.values as (obj: T) => Array; -export const entries = Object.entries; +// Stricter version from https://github.com/microsoft/TypeScript/issues/51572#issuecomment-1319153323 +export const entries = Object.entries as (obj: T) => Array<[keyof T, T[keyof T]]>; // Using mapped type to declare a collect of flags for a string literal type S // https://www.typescriptlang.org/docs/handbook/advanced-types.html#mapped-types @@ -336,12 +338,7 @@ export function accessPathDepth(path: string) { * This is a replacement for chained || for numeric properties or properties that respect null so that 0 will be included. */ export function getFirstDefined(...args: readonly T[]): T | undefined { - for (const arg of args) { - if (arg !== undefined) { - return arg; - } - } - return undefined; + return args.find(a => a !== undefined); } // variable used to generate id @@ -407,7 +404,7 @@ export function deepEqual(a: any, b: any) { if (a.constructor.name !== b.constructor.name) return false; let length; - let i; + let i: number; if (Array.isArray(a)) { length = a.length; @@ -418,21 +415,21 @@ export function deepEqual(a: any, b: any) { if (a instanceof Map && b instanceof Map) { if (a.size !== b.size) return false; - for (i of a.entries()) if (!b.has(i[0])) return false; - for (i of a.entries()) if (!deepEqual(i[1], b.get(i[0]))) return false; + for (const e of a.entries()) if (!b.has(e[0])) return false; + for (const e of a.entries()) if (!deepEqual(e[1], b.get(e[0]))) return false; return true; } if (a instanceof Set && b instanceof Set) { if (a.size !== b.size) return false; - for (i of a.entries()) if (!b.has(i[0])) return false; + for (const e of a.entries()) if (!b.has(e[0])) return false; return true; } if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) { length = (a as any).length; if (length != (b as any).length) return false; - for (i = length; i-- !== 0; ) if (a[i] !== b[i]) return false; + for (i = length; i-- !== 0; ) if ((a as any)[i] !== (b as any)[i]) return false; return true; } @@ -509,3 +506,14 @@ export function stringify(data: any) { return `{${out}}`; })(data); } + +/** + * Check if the input object has the property and it's not undefined. + * + * @param object the object + * @param property the property to search + * @returns if the object has the property and it's not undefined. + */ +export function hasProperty(obj: T, key: string | number | symbol): key is keyof T { + return isObject(obj) && hasOwnProperty(obj, key) && (obj as any)[key] !== undefined; +} diff --git a/src/vega.schema.ts b/src/vega.schema.ts index 01dd369167..176630f267 100644 --- a/src/vega.schema.ts +++ b/src/vega.schema.ts @@ -45,7 +45,7 @@ import {isArray} from 'vega-util'; import {Value} from './channeldef'; import {ExprRef} from './expr'; import {SortOrder} from './sort'; -import {Dict, Flag, keys} from './util'; +import {Dict, Flag, hasProperty, keys} from './util'; export type {VgSortField, VgUnionSortField, VgCompare, VgTitle, LayoutAlign, ProjectionType, VgExprRef}; @@ -87,7 +87,7 @@ export type VgScaleDataRefWithSort = ScaleDataRef & { }; export function isSignalRef(o: any): o is SignalRef { - return !!o?.signal; + return hasProperty(o, 'signal'); } // TODO: add type of value (Make it VgValueRef {value?:V ...}) @@ -121,7 +121,7 @@ export type VgMultiFieldsRefWithSort = ScaleMultiFieldsRef & { export type VgRange = RangeScheme | ScaleData | RangeBand | RangeRaw; export function isVgRangeStep(range: VgRange): range is VgRangeStep { - return !!range['step']; + return hasProperty(range, 'step'); } export interface VgRangeStep { @@ -193,21 +193,21 @@ export interface VgLayout { export function isDataRefUnionedDomain(domain: VgDomain): domain is VgScaleMultiDataRefWithSort { if (!isArray(domain)) { - return 'fields' in domain && !('data' in domain); + return hasProperty(domain, 'fields') && !hasProperty(domain, 'data'); } return false; } export function isFieldRefUnionDomain(domain: VgDomain): domain is VgMultiFieldsRefWithSort { if (!isArray(domain)) { - return 'fields' in domain && 'data' in domain; + return hasProperty(domain, 'fields') && hasProperty(domain, 'data'); } return false; } export function isDataRefDomain(domain: VgDomain | any): domain is VgScaleDataRefWithSort { if (!isArray(domain)) { - return 'field' in domain && 'data' in domain; + return hasProperty(domain, 'field') && hasProperty(domain, 'data'); } return false; } diff --git a/test-runtime/discrete.test.ts b/test-runtime/discrete.test.ts index bf4a83eb64..f30dc81978 100644 --- a/test-runtime/discrete.test.ts +++ b/test-runtime/discrete.test.ts @@ -25,7 +25,7 @@ describe(`point selections at runtime in unit views`, () => { it('should add values to the store', async () => { for (let i = 0; i < hits.qq.length; i++) { await embed(spec('unit', i, {type})); - const store = await page.evaluate(pt('qq', i)); + const store = (await page.evaluate(pt('qq', i))) as [any]; expect(store).toHaveLength(1); expect(store[0]).toHaveProperty(SELECTION_ID); await testRender(`click_${i}`); @@ -39,7 +39,7 @@ describe(`point selections at runtime in unit views`, () => { const t = async (emb: (i: number) => void) => { for (let i = 0; i < hits.qq.length; i++) { emb(i); - const store = await page.evaluate(pt('qq', i)); + const store = (await page.evaluate(pt('qq', i))) as [any]; expect(store).toHaveLength(1); expect(store[0].fields).toHaveLength(fields.length); expect(store[0].values).toHaveLength(fields.length); @@ -70,10 +70,10 @@ describe(`point selections at runtime in unit views`, () => { it('should clear out the store', async () => { for (let i = 0; i < hits.qq_clear.length; i++) { await embed(spec('unit', i, {type})); - let store = await page.evaluate(pt('qq', i)); + let store = (await page.evaluate(pt('qq', i))) as [any]; expect(store).toHaveLength(1); - store = await page.evaluate(pt('qq_clear', i)); + store = (await page.evaluate(pt('qq_clear', i))) as [any]; expect(store).toHaveLength(0); await testRender(`clear_${i}`); } @@ -90,7 +90,7 @@ describe(`point selections at runtime in unit views`, () => { for (let i = 0; i < hits.bins.length; i++) { await embed(spec('unit', i, {type, encodings}, {x: {bin: true}, y: {bin: true}})); - const store = await page.evaluate(pt('bins', i)); + const store = (await page.evaluate(pt('bins', i))) as [any]; expect(store).toHaveLength(1); expect(store[0].fields).toHaveLength(fields.length); expect(store[0].values).toHaveLength(fields.length); diff --git a/test-runtime/interval.test.ts b/test-runtime/interval.test.ts index 9cf49edb06..f0b4690ff0 100644 --- a/test-runtime/interval.test.ts +++ b/test-runtime/interval.test.ts @@ -25,7 +25,7 @@ describe('interval selections at runtime in unit views', () => { it('should add extents to the store', async () => { for (let i = 0; i < hits.drag.length; i++) { await embed(spec('unit', i, {type})); - const store = await page.evaluate(brush('drag', i)); + const store = (await page.evaluate(brush('drag', i))) as [any]; expect(store).toHaveLength(1); expect(store[0].fields).toHaveLength(2); expect(store[0].values).toHaveLength(2); @@ -44,7 +44,7 @@ describe('interval selections at runtime in unit views', () => { it('should respect projections', async () => { await embed(spec('unit', 0, {type, encodings: ['x']})); for (let i = 0; i < hits.drag.length; i++) { - const store = await page.evaluate(brush('drag', i)); + const store = (await page.evaluate(brush('drag', i))) as [any]; expect(store).toHaveLength(1); expect(store[0].fields).toHaveLength(1); expect(store[0].values).toHaveLength(1); @@ -57,7 +57,7 @@ describe('interval selections at runtime in unit views', () => { await embed(spec('unit', 1, {type, encodings: ['y']})); for (let i = 0; i < hits.drag.length; i++) { - const store = await page.evaluate(brush('drag', i)); + const store = (await page.evaluate(brush('drag', i))) as [any]; expect(store).toHaveLength(1); expect(store[0].fields).toHaveLength(1); expect(store[0].values).toHaveLength(1); @@ -72,10 +72,10 @@ describe('interval selections at runtime in unit views', () => { it('should clear out stored extents', async () => { for (let i = 0; i < hits.drag_clear.length; i++) { await embed(spec('unit', i, {type})); - let store = await page.evaluate(brush('drag', i)); + let store = (await page.evaluate(brush('drag', i))) as [any]; expect(store).toHaveLength(1); - store = await page.evaluate(brush('drag_clear', i)); + store = (await page.evaluate(brush('drag_clear', i))) as [any]; expect(store).toHaveLength(0); await testRender(`clear_${i}`); } @@ -90,12 +90,12 @@ describe('interval selections at runtime in unit views', () => { { x: {aggregate: 'count', type: 'quantitative'}, y: {bin: true}, - color: {value: 'steelblue', field: null, type: null} + color: {value: 'steelblue', field: undefined, type: undefined} } ) ); for (let i = 0; i < hits.bins.length; i++) { - const store = await page.evaluate(brush('bins', i)); + const store = (await page.evaluate(brush('bins', i))) as [any]; expect(store).toHaveLength(1); expect(store[0].fields).toHaveLength(1); expect(store[0].values).toHaveLength(1); @@ -122,7 +122,7 @@ describe('interval selections at runtime in unit views', () => { for (let i = 0; i < hits.drag.length; i++) { await embed(spec('unit', i, {type}, {x: {type: 'ordinal'}, y: {type: 'nominal'}})); - const store = await page.evaluate(brush('drag', i)); + const store = (await page.evaluate(brush('drag', i))) as [any]; expect(store).toHaveLength(1); expect(store[0].fields).toHaveLength(2); expect(store[0].values).toHaveLength(2); @@ -151,7 +151,7 @@ describe('interval selections at runtime in unit views', () => { [1496346498000, 1504364922000] ]; for (let i = 0; i < hits.drag.length; i++) { - const store = toNumber(await page.evaluate(brush('drag', i))); + const store = toNumber((await page.evaluate(brush('drag', i))) as [any]); expect(store).toEqual(expect.arrayContaining(extents[i])); await testRender(`temporal_${i}`); } @@ -166,7 +166,7 @@ describe('interval selections at runtime in unit views', () => { [1325752128000, 1325837664000] ]; for (let i = 0; i < hits.drag.length; i++) { - const store = toNumber(await page.evaluate(brush('drag', i))); + const store = toNumber((await page.evaluate(brush('drag', i))) as [any]); expect(store).toEqual(expect.arrayContaining(extents[i])); await testRender(`dayTimeUnit_${i}`); } @@ -188,7 +188,7 @@ describe('interval selections at runtime in unit views', () => { } ) ); - const store = await page.evaluate(brush('drag', i)); + const store = (await page.evaluate(brush('drag', i))) as [any]; expect(store).toHaveLength(1); expect(store[0].fields).toHaveLength(2); expect(store[0].values).toHaveLength(2); diff --git a/test-runtime/resolve.test.ts b/test-runtime/resolve.test.ts index c6c195f46d..d3045c4488 100644 --- a/test-runtime/resolve.test.ts +++ b/test-runtime/resolve.test.ts @@ -16,7 +16,7 @@ import {TopLevelSpec} from '../src'; for (const type of selectionTypes) { const isInterval = type === 'interval'; - const hits = isInterval ? hitsMaster.interval : hitsMaster.discrete; + const hits: any = isInterval ? hitsMaster.interval : hitsMaster.discrete; const fn = isInterval ? brush : pt; describe(`${type} selections at runtime`, () => { @@ -55,7 +55,7 @@ for (const type of selectionTypes) { for (let i = 0; i < hits[specType].length; i++) { await embed(spec(specType, i, selection)); const parent = parentSelector(specType, i); - const store = await page.evaluate(fn(specType, i, parent)); + const store = (await page.evaluate(fn(specType, i, parent))) as [any]; expect(store).toHaveLength(1); expect(store[0].unit).toMatch(unitNameRegex(specType, i)); await testRender(`global_${i}`); @@ -84,7 +84,7 @@ for (const type of selectionTypes) { await embed(spec(specType, 0, selection)); for (let i = 0; i < hits[specType].length; i++) { const parent = parentSelector(specType, i); - const store = await page.evaluate(fn(specType, i, parent)); + const store = (await page.evaluate(fn(specType, i, parent))) as [any]; expect(store).toHaveLength(i + 1); expect(store[i].unit).toMatch(unitNameRegex(specType, i)); await testRender(`${resolve}_${i}`); @@ -98,7 +98,7 @@ for (const type of selectionTypes) { for (let i = hits[`${specType}_clear`].length - 1; i >= 0; i--) { const parent = parentSelector(specType, i); - const store = await page.evaluate(fn(`${specType}_clear`, i, parent)); + const store = (await page.evaluate(fn(`${specType}_clear`, i, parent))) as [any]; expect(store).toHaveLength(i); if (i > 0) { expect(store[i - 1].unit).toMatch(unitNameRegex(specType, i - 1)); diff --git a/test-runtime/toggle.test.ts b/test-runtime/toggle.test.ts index 0621e8787e..938e686844 100644 --- a/test-runtime/toggle.test.ts +++ b/test-runtime/toggle.test.ts @@ -12,7 +12,7 @@ const hits = { composite: [1, 3, 5, 7, 8, 9] }; -function toggle(key: string, idx: number, shiftKey: boolean, parent?: string) { +function toggle(key: keyof typeof hits, idx: number, shiftKey: boolean, parent?: string) { const fn = key.match('_clear') ? 'clear' : 'pt'; return `${fn}(${hits[key][idx]}, ${stringValue(parent)}, ${!!shiftKey})`; } diff --git a/test-runtime/translate.test.ts b/test-runtime/translate.test.ts index 3f3850092e..67a7cb6ce3 100644 --- a/test-runtime/translate.test.ts +++ b/test-runtime/translate.test.ts @@ -56,9 +56,9 @@ describe('Translate interval selections at runtime', () => { it('should move back-and-forth', async () => { for (let i = 0; i < hits.translate.length; i++) { await embed(spec('unit', i, {type, ...binding})); - const drag = (await page.evaluate(brush('drag', i)))[0]; + const drag = ((await page.evaluate(brush('drag', i))) as [any])[0]; await testRender(`${i}-0`); - const translate = (await page.evaluate(brush('translate', i, null, bind === unbound)))[0]; + const translate = ((await page.evaluate(brush('translate', i, null, bind === unbound))) as [any])[0]; expect(translate.values[0][0])[assertExtent[bind].x[i]](drag.values[0][0]); expect(translate.values[0][1])[assertExtent[bind].x[i]](drag.values[0][1]); expect(translate.values[1][0])[assertExtent[bind].y[i]](drag.values[1][0]); @@ -77,13 +77,13 @@ describe('Translate interval selections at runtime', () => { { x: {aggregate: 'count', type: 'quantitative'}, y: {bin: true}, - color: {value: 'steelblue', field: null, type: null} + color: {value: 'steelblue', field: undefined, type: undefined} } ) ); - const drag = (await page.evaluate(brush('bins', i)))[0]; + const drag = ((await page.evaluate(brush('bins', i))) as [any])[0]; await testRender(`bins_${i}-0`); - const translate = (await page.evaluate(brush('bins_translate', i, null, bind === unbound)))[0]; + const translate = ((await page.evaluate(brush('bins_translate', i, null, bind === unbound))) as [any])[0]; expect(translate.values[0][0])[assertExtent[bind].y[i]](drag.values[0][0]); expect(translate.values[0][1])[assertExtent[bind].y[i]](drag.values[0][1]); await testRender(`bins_${i}-1`); @@ -119,9 +119,9 @@ describe('Translate interval selections at runtime', () => { } ) ); - const drag = (await page.evaluate(brush('drag', i)))[0]; + const drag = ((await page.evaluate(brush('drag', i))) as [any])[0]; await testRender(`logpow_${i}-0`); - const translate = (await page.evaluate(brush('translate', i, null, bind === unbound)))[0]; + const translate = ((await page.evaluate(brush('translate', i, null, bind === unbound))) as [any])[0]; expect(translate.values[0][0])[assertExtent[bind].x[i]](drag.values[0][0]); expect(translate.values[0][1])[assertExtent[bind].x[i]](drag.values[0][1]); expect(translate.values[1][0])[assertExtent[bind].y[i]](drag.values[1][0]); @@ -144,9 +144,9 @@ describe('Translate interval selections at runtime', () => { } ) ); - const drag = (await page.evaluate(brush('drag', i)))[0]; + const drag = ((await page.evaluate(brush('drag', i))) as [any])[0]; await testRender(`ord_${i}-0`); - const translate = (await page.evaluate(brush('translate', i, null, true)))[0]; + const translate = ((await page.evaluate(brush('translate', i, null, true))) as [any])[0]; expect(translate.values[0][0])[assertExtent[bind].x[i]](drag.values[0][0]); expect(translate.values[0][1])[assertExtent[bind].x[i]](drag.values[0][1]); expect(translate.values[1][0])[assertExtent[bind].y[i]](drag.values[1][0]); @@ -167,16 +167,16 @@ describe('Translate interval selections at runtime', () => { } }; it(`should work with shared scales in ${specType} views`, async () => { - for (let i = 0; i < hits[specType].length; i++) { + for (let i = 0; i < (hits as any)[specType].length; i++) { await embed(spec(specType, 0, {type, ...binding}, {resolve: {scale: {x: 'shared', y: 'shared'}}})); const parent = parentSelector(specType, i); - const xscale = await page.evaluate('view._runtime.scales.x.value.domain()'); - const yscale = await page.evaluate('view._runtime.scales.y.value.domain()'); - const drag = (await page.evaluate(brush(specType, i, parent)))[0]; - expect(drag.values[0][0])[assertExtents[specType].x[i]](xscale[0]); - expect(drag.values[0][1])[assertExtents[specType].x[i]](xscale[1]); - expect(drag.values[1][0])[assertExtents[specType].y[i]](yscale[0]); - expect(drag.values[1][1])[assertExtents[specType].y[i]](yscale[1]); + const xscale = (await page.evaluate('view._runtime.scales.x.value.domain()')) as any[]; + const yscale = (await page.evaluate('view._runtime.scales.y.value.domain()')) as any[]; + const drag = ((await page.evaluate(brush(specType, i, parent))) as [any])[0]; + ((expect(drag.values[0][0]) as any)[(assertExtents as any)[specType].x[i]] as any)(xscale[0]); + ((expect(drag.values[0][1]) as any)[(assertExtents as any)[specType].x[i]] as any)(xscale[1]); + ((expect(drag.values[1][0]) as any)[(assertExtents as any)[specType].y[i]] as any)(yscale[0]); + ((expect(drag.values[1][1]) as any)[(assertExtents as any)[specType].y[i]] as any)(yscale[1]); await testRender(`${specType}_${i}`); } }); diff --git a/test-runtime/util.ts b/test-runtime/util.ts index 62c30db31a..f7a482fd6c 100644 --- a/test-runtime/util.ts +++ b/test-runtime/util.ts @@ -11,7 +11,7 @@ const output = 'test-runtime/resources'; export type ComposeType = 'unit' | 'repeat' | 'facet'; export const selectionTypes: SelectionType[] = ['point', 'interval']; -export const compositeTypes: ComposeType[] = ['repeat', 'facet']; +export const compositeTypes = ['repeat', 'facet'] as const; export const resolutions: SelectionResolution[] = ['union', 'intersect']; export const bound = 'bound'; @@ -249,7 +249,7 @@ export function geoSpec(selDef?: IntervalSelectionConfigWithoutType): TopLevelSp }; } -export function unitNameRegex(specType: ComposeType, idx: number) { +export function unitNameRegex(specType: 'repeat' | 'facet', idx: number) { const name = UNIT_NAMES[specType][idx].replace('child_', ''); return new RegExp(`child(.*?)_${name}`); } @@ -258,12 +258,13 @@ export function parentSelector(compositeType: ComposeType, index: number) { return compositeType === 'facet' ? `cell > g:nth-child(${index + 1})` : `${UNIT_NAMES.repeat[index]}_group`; } -export function brush(key: string, idx: number, parent?: string, targetBrush?: boolean) { +export type BrushKeys = keyof typeof hits.interval; +export function brush(key: BrushKeys, idx: number, parent?: string, targetBrush?: boolean) { const fn = key.match('_clear') ? 'clear' : 'brush'; return `${fn}(${hits.interval[key][idx].join(', ')}, ${stringValue(parent)}, ${!!targetBrush})`; } -export function pt(key: string, idx: number, parent?: string) { +export function pt(key: keyof typeof hits.discrete, idx: number, parent?: string) { const fn = key.match('_clear') ? 'clear' : 'pt'; return `${fn}(${hits.discrete[key][idx]}, ${stringValue(parent)})`; } @@ -271,7 +272,7 @@ export function pt(key: string, idx: number, parent?: string) { export function embedFn(page: Page) { return async (specification: TopLevelSpec) => { await page.evaluate( - (_: any) => window['embed'](_), + (_: any) => (window as any).embed(_), // specification is serializable even if the types don't agree specification as any ); diff --git a/test-runtime/zoom.test.ts b/test-runtime/zoom.test.ts index db05298f2a..3695765977 100644 --- a/test-runtime/zoom.test.ts +++ b/test-runtime/zoom.test.ts @@ -3,6 +3,7 @@ import { bound, brush, + BrushKeys, compositeTypes, embedFn, geoSpec, @@ -21,7 +22,7 @@ import {TopLevelSpec} from '../src'; type InOut = 'in' | 'out'; -function zoom(key: string, idx: number, direction: InOut, parent?: string, targetBrush?: boolean) { +function zoom(key: keyof typeof hits, idx: number, direction: InOut, parent?: string, targetBrush?: boolean) { const delta = direction === 'out' ? 200 : -200; return `zoom(${hits[key][idx]}, ${delta}, ${parent}, ${targetBrush})`; } @@ -56,13 +57,13 @@ describe('Zoom interval selections at runtime', () => { out: ['toBeLessThanOrEqual', 'toBeGreaterThanOrEqual'] } as const; - async function setup(brushKey: string, idx: number, encodings: string[], parent?: string) { + async function setup(brushKey: BrushKeys, idx: number, encodings: string[], parent?: string) { const inOut: InOut = idx % 2 ? 'out' : 'in'; let xold: number[]; let yold: number[]; if (bind === unbound) { - const drag = (await page.evaluate(brush(brushKey, idx, parent)))[0]; + const drag = ((await page.evaluate(brush(brushKey, idx, parent))) as [any])[0]; xold = drag.values[0].sort(cmp); yold = encodings.includes('y') ? drag.values[encodings.indexOf('x') + 1].sort(cmp) : null; } else { @@ -79,7 +80,7 @@ describe('Zoom interval selections at runtime', () => { const {inOut, xold, yold} = await setup('drag', i, ['x', 'y']); await testRender(`${inOut}-0`); - const zoomed = (await page.evaluate(zoom('zoom', i, inOut, null, bind === unbound)))[0]; + const zoomed = ((await page.evaluate(zoom('zoom', i, inOut, null, bind === unbound))) as [any])[0]; const xnew = zoomed.values[0].sort(cmp); const ynew = zoomed.values[1].sort(cmp); await testRender(`${inOut}-1`); @@ -101,7 +102,7 @@ describe('Zoom interval selections at runtime', () => { { x: {aggregate: 'count', type: 'quantitative'}, y: {bin: true}, - color: {value: 'steelblue', field: null, type: null} + color: {value: 'steelblue', field: undefined, type: undefined} } ) ); @@ -109,7 +110,7 @@ describe('Zoom interval selections at runtime', () => { const {inOut, yold} = await setup('bins', i, encodings); await testRender(`bins_${inOut}-0`); - const zoomed = (await page.evaluate(zoom('bins', i, inOut, null, bind === unbound)))[0]; + const zoomed = ((await page.evaluate(zoom('bins', i, inOut, null, bind === unbound))) as [any])[0]; const ynew = zoomed.values[0].sort(cmp); expect(ynew[0])[assertExtent[inOut][0]](yold[0]); expect(ynew[1])[assertExtent[inOut][1]](yold[1]); @@ -126,7 +127,7 @@ describe('Zoom interval selections at runtime', () => { const {inOut, xold} = await setup('drag', i, encodings); await testRender(`temporal_${inOut}-0`); - const zoomed = (await page.evaluate(zoom('zoom', i, inOut, null, bind === unbound)))[0]; + const zoomed = ((await page.evaluate(zoom('zoom', i, inOut, null, bind === unbound))) as [any])[0]; const xnew = zoomed.values[0].sort(cmp); expect(+xnew[0])[assertExtent[inOut][0]](+new Date(xold[0])); expect(+xnew[1])[assertExtent[inOut][1]](+new Date(xold[1])); @@ -150,7 +151,7 @@ describe('Zoom interval selections at runtime', () => { const {inOut, xold, yold} = await setup('drag', i, ['x', 'y']); await testRender(`logpow_${inOut}-0`); - const zoomed = (await page.evaluate(zoom('zoom', i, inOut, null, bind === unbound)))[0]; + const zoomed = ((await page.evaluate(zoom('zoom', i, inOut, null, bind === unbound))) as [any])[0]; const xnew = zoomed.values[0].sort(cmp); const ynew = zoomed.values[1].sort(cmp); expect(xnew[0])[assertExtent[inOut][0]](xold[0]); @@ -178,7 +179,7 @@ describe('Zoom interval selections at runtime', () => { const {inOut, xold, yold} = await setup('drag', i, ['x', 'y']); await testRender(`ord_${inOut}-0`); - const zoomed = (await page.evaluate(zoom('zoom', i, inOut, null, bind === unbound)))[0]; + const zoomed = ((await page.evaluate(zoom('zoom', i, inOut, null, bind === unbound))) as [any])[0]; const xnew = zoomed.values[0].sort(cmp); const ynew = zoomed.values[1].sort(cmp); @@ -199,8 +200,10 @@ describe('Zoom interval selections at runtime', () => { for (let i = 0; i < hits.bins.length; i++) { await embed(spec(specType, 0, {type, ...binding}, {resolve: {scale: {x: 'shared', y: 'shared'}}})); const parent = parentSelector(specType, i); - const {inOut, xold, yold} = await setup(specType, i, ['x', 'y'], parent); - const zoomed = (await page.evaluate(zoom('bins', i, inOut, null, false /* bind === unbound */)))[0]; + const {inOut, xold, yold} = await setup(specType as any, i, ['x', 'y'], parent); + const zoomed = ( + (await page.evaluate(zoom('bins', i, inOut, null, false /* bind === unbound */))) as [any] + )[0]; const xnew = zoomed.values[0].sort(cmp); const ynew = zoomed.values[1].sort(cmp); expect(xnew[0])[assertExtent[inOut][0]](xold[0]); diff --git a/test/compile/axis/properties.test.ts b/test/compile/axis/properties.test.ts index 7db2e31d02..cac5fb97dc 100644 --- a/test/compile/axis/properties.test.ts +++ b/test/compile/axis/properties.test.ts @@ -278,7 +278,7 @@ describe('compile/axis/properties', () => { }); it('correctly align y-axis labels for labelAngle and orient signals', () => { - const ast = parseExpression(defaultLabelAlign({signal: 'a'}, {signal: 'o'}, 'y')['signal']); + const ast = parseExpression((defaultLabelAlign({signal: 'a'}, {signal: 'o'}, 'y') as any).signal); let a: number; let o: AxisOrient; // test all angles @@ -297,7 +297,7 @@ describe('compile/axis/properties', () => { it('correctly align x-axis labels for labelAngle and orient signals', () => { return new Promise(done => { - const ast = parseExpression(defaultLabelAlign({signal: 'a'}, {signal: 'o'}, 'x')['signal']); + const ast = parseExpression((defaultLabelAlign({signal: 'a'}, {signal: 'o'}, 'x') as any).signal); let a: number; let o: AxisOrient; // test all angles @@ -390,7 +390,7 @@ describe('compile/axis/properties', () => { it('correctly align y-axis labels for labelAngle and orient signals', () => { return new Promise(done => { - const ast = parseExpression(defaultLabelBaseline({signal: 'a'}, {signal: 'o'}, 'y')['signal']); + const ast = parseExpression((defaultLabelBaseline({signal: 'a'}, {signal: 'o'}, 'y') as any).signal); let a: number; let o: AxisOrient; // test all angles @@ -411,7 +411,7 @@ describe('compile/axis/properties', () => { it('correctly align x-axis labels for labelAngle and orient signals', () => { return new Promise(done => { - const ast = parseExpression(defaultLabelBaseline({signal: 'a'}, {signal: 'o'}, 'x')['signal']); + const ast = parseExpression((defaultLabelBaseline({signal: 'a'}, {signal: 'o'}, 'x') as any).signal); let a: number; let o: AxisOrient; // test all angles diff --git a/test/compile/compile.test.ts b/test/compile/compile.test.ts index 3991e35bc9..0f551306fa 100644 --- a/test/compile/compile.test.ts +++ b/test/compile/compile.test.ts @@ -571,7 +571,7 @@ describe('compile/compile', () => { } }); - expect(spec.autosize['resize']).toBeTruthy(); + expect((spec.autosize as any).resize).toBeTruthy(); }); }); diff --git a/test/compile/legend/encode.test.ts b/test/compile/legend/encode.test.ts index d36bbaae7f..31157d5e93 100644 --- a/test/compile/legend/encode.test.ts +++ b/test/compile/legend/encode.test.ts @@ -76,7 +76,7 @@ describe('compile/legend', () => { legendType } ); - expect(symbol.opacity['value']).toBe(0.7); // default opacity is 0.7. + expect((symbol.opacity as any).value).toBe(0.7); // default opacity is 0.7. }); it('should use symbolOpacity when set', () => { @@ -121,7 +121,7 @@ describe('compile/legend', () => { legendType } ); - expect(symbol.opacity['value']).toBe(1); + expect((symbol.opacity as any).value).toBe(1); }); }); @@ -143,7 +143,7 @@ describe('compile/legend', () => { } ); - expect(gradient.opacity['value']).toBe(0.7); // default opacity is 0.7. + expect((gradient.opacity as any).value).toBe(0.7); // default opacity is 0.7. }); }); diff --git a/test/compile/legend/parse.test.ts b/test/compile/legend/parse.test.ts index 86bdeed751..8ccc9cb7d3 100644 --- a/test/compile/legend/parse.test.ts +++ b/test/compile/legend/parse.test.ts @@ -17,7 +17,7 @@ describe('compile/legend', () => { }); const legendComponent = parseLegend(unitModel); - expect(legendComponent['color'].get('format')).toEqual({ + expect(legendComponent.color.get('format')).toEqual({ signal: 'timeUnitSpecifier(["month"], {"year-month":"%b %Y ","year-month-date":"%b %d, %Y "})' }); }); @@ -32,7 +32,7 @@ describe('compile/legend', () => { }); const legendComponent = parseLegend(unitModel); - expect(legendComponent['color'].get('format')).toEqual({ + expect(legendComponent.color.get('format')).toEqual({ signal: 'timeUnitSpecifier(["quarter"], {"year-month":"%b %Y ","year-month-date":"%b %d, %Y "})' }); }); diff --git a/test/compile/mark/area.test.ts b/test/compile/mark/area.test.ts index d499536732..0154f7c154 100644 --- a/test/compile/mark/area.test.ts +++ b/test/compile/mark/area.test.ts @@ -1,3 +1,4 @@ +import {SignalRef} from 'vega'; import {COLOR, X, Y} from '../../../src/channel'; import {area} from '../../../src/compile/mark/area'; import {Encoding} from '../../../src/encoding'; @@ -55,7 +56,7 @@ describe('Mark: Area', () => { }); it('should use bin_mid for the defined check', () => { - expect(props.defined['signal']).toContain('bin_maxbins_10_IMDB_Rating_mid'); + expect((props.defined as SignalRef).signal).toContain('bin_maxbins_10_IMDB_Rating_mid'); }); }); diff --git a/test/compile/mark/encode/color.test.ts b/test/compile/mark/encode/color.test.ts index 3baa9086f8..8993451737 100644 --- a/test/compile/mark/encode/color.test.ts +++ b/test/compile/mark/encode/color.test.ts @@ -45,7 +45,7 @@ describe('compile/mark/encode/color', () => { const colorMixins = color(model); expect(colorMixins.stroke).toEqual({field: 'gender', scale: 'color'}); - expect(colorMixins.fill['value']).toBe('transparent'); + expect((colorMixins.fill as any).value).toBe('transparent'); }); it('add transparent fill when stroke is encoded', () => { @@ -68,7 +68,7 @@ describe('compile/mark/encode/color', () => { const colorMixins = color(model); expect(colorMixins.stroke).toEqual({field: 'gender', scale: 'stroke'}); - expect(colorMixins.fill['value']).toBe('transparent'); + expect((colorMixins.fill as any).value).toBe('transparent'); }); it('combines color with fill when filled=false', () => { diff --git a/test/compile/mark/encode/position-point.test.ts b/test/compile/mark/encode/position-point.test.ts index 02209fdb8e..ab56de6eb4 100644 --- a/test/compile/mark/encode/position-point.test.ts +++ b/test/compile/mark/encode/position-point.test.ts @@ -26,7 +26,7 @@ describe('compile/mark/encode/position-point', () => { [X, Y].forEach(channel => { const mixins = pointPosition(channel, model, {defaultPos: 'zeroOrMin'}); - expect(mixins[channel]['field']).toEqual(model.getName(channel)); + expect((mixins[channel] as any).field).toEqual(model.getName(channel)); }); }); }); diff --git a/test/compile/mark/encode/position-range.test.ts b/test/compile/mark/encode/position-range.test.ts index d088b81874..c562d57fbc 100644 --- a/test/compile/mark/encode/position-range.test.ts +++ b/test/compile/mark/encode/position-range.test.ts @@ -27,7 +27,7 @@ describe('compile/mark/encode/position-range', () => { [X, Y].forEach(channel => { const mixins = rangePosition(channel, model, {defaultPos: 'zeroOrMin', defaultPos2: 'zeroOrMin'}); - expect(mixins[`${channel}c`]['field']).toEqual(model.getName(channel)); + expect((mixins[`${channel}c`] as any).field).toEqual(model.getName(channel)); const sizeChannel = getSizeChannel(channel); expect(mixins[sizeChannel]).toEqual({value: 42}); @@ -63,8 +63,8 @@ describe('compile/mark/encode/position-range', () => { [X, Y].forEach(channel => { const mixins = rangePosition(channel, model, {defaultPos: 'zeroOrMin', defaultPos2: 'zeroOrMin'}); - expect(mixins[channel]['field']).toEqual(model.getName(channel)); - expect(mixins[`${channel}2`]['field']).toEqual(model.getName(`${channel}2`)); + expect((mixins[channel] as any).field).toEqual(model.getName(channel)); + expect((mixins[`${channel}2`] as any).field).toEqual(model.getName(`${channel}2`)); }); }); }); diff --git a/test/compile/mark/encode/position-rect.test.ts b/test/compile/mark/encode/position-rect.test.ts index f042b1f725..bfa882710e 100644 --- a/test/compile/mark/encode/position-rect.test.ts +++ b/test/compile/mark/encode/position-rect.test.ts @@ -21,10 +21,10 @@ describe('compile/mark/encode/position-rect', () => { }); const props = rectPosition(model, 'x'); - expect(props.x['offset']).toEqual({ + expect((props.x as any).offset).toEqual({ signal: '0.5 + (r ? -1 : 1) * -0.5' }); - expect(props.x2['offset']).toEqual({ + expect((props.x2 as any).offset).toEqual({ signal: '0.5 + (r ? -1 : 1) * 0.5' }); }); @@ -71,8 +71,8 @@ describe('compile/mark/encode/position-rect', () => { }); const props = rectPosition(model, 'x'); - expect(props.x['field']).toBe(`yearmonth_date_${OFFSETTED_RECT_END_SUFFIX}`); - expect(props.x2['field']).toBe(`yearmonth_date_${OFFSETTED_RECT_START_SUFFIX}`); + expect((props.x as any).field).toBe(`yearmonth_date_${OFFSETTED_RECT_END_SUFFIX}`); + expect((props.x2 as any).field).toBe(`yearmonth_date_${OFFSETTED_RECT_START_SUFFIX}`); }); it('produces correct x-mixins for binned data with step and start field, without end field', () => { @@ -113,10 +113,10 @@ describe('compile/mark/encode/position-rect', () => { }); const props = rectPosition(model, 'y'); - expect(props.y2['offset']).toEqual({ + expect((props.y2 as any).offset).toEqual({ signal: '0.5 + (r ? -1 : 1) * -0.5' }); - expect(props.y['offset']).toEqual({ + expect((props.y as any).offset).toEqual({ signal: '0.5 + (r ? -1 : 1) * 0.5' }); }); @@ -138,10 +138,10 @@ describe('compile/mark/encode/position-rect', () => { const props = rectPosition(model, 'x'); - expect(props.x['offset']).toEqual({ + expect((props.x as any).offset).toEqual({ signal: '0.5 + (r ? -1 : 1) * -1' }); - expect(props.x2['offset']).toEqual({ + expect((props.x2 as any).offset).toEqual({ signal: '0.5 + (r ? -1 : 1) * 1' }); }); @@ -162,10 +162,10 @@ describe('compile/mark/encode/position-rect', () => { }); const props = rectPosition(model, 'y'); - expect(props.y2['offset']).toEqual({ + expect((props.y2 as any).offset).toEqual({ signal: '0.5 + (r ? -1 : 1) * -1' }); - expect(props.y['offset']).toEqual({ + expect((props.y as any).offset).toEqual({ signal: '0.5 + (r ? -1 : 1) * 1' }); }); @@ -231,10 +231,10 @@ describe('compile/mark/encode/position-rect', () => { model.parseAxesAndHeaders(); const props = rectPosition(model, 'x'); - expect(props.x['offset']).toEqual({ + expect((props.x as any).offset).toEqual({ signal: 't + -0.5' }); - expect(props.x2['offset']).toEqual({ + expect((props.x2 as any).offset).toEqual({ signal: 't + 0.5' }); }); @@ -257,10 +257,10 @@ describe('compile/mark/encode/position-rect', () => { model.parseAxesAndHeaders(); const props = rectPosition(model, 'x'); - expect(props.x['offset']).toEqual({ + expect((props.x as any).offset).toEqual({ signal: 't + (r ? -1 : 1) * (o + -0.5)' }); - expect(props.x2['offset']).toEqual({ + expect((props.x2 as any).offset).toEqual({ signal: 't + (r ? -1 : 1) * (o + 0.5)' }); }); diff --git a/test/compile/mark/line.test.ts b/test/compile/mark/line.test.ts index d758d2c179..bdb9be7996 100644 --- a/test/compile/mark/line.test.ts +++ b/test/compile/mark/line.test.ts @@ -72,7 +72,7 @@ describe('Mark: Line', () => { const props = line.encodeEntry(model); // If size field is dropped, then strokeWidth only have value - expect(props.strokeWidth && props.strokeWidth['scale']).toBeFalsy(); + expect(props.strokeWidth && (props.strokeWidth as any).scale).toBeFalsy(); expect(localLogger.warns[0]).toEqual(log.message.LINE_WITH_VARYING_SIZE); }) ); diff --git a/test/compile/mark/point.test.ts b/test/compile/mark/point.test.ts index f6065fa271..8750878604 100644 --- a/test/compile/mark/point.test.ts +++ b/test/compile/mark/point.test.ts @@ -323,8 +323,8 @@ describe('Mark: Point', () => { it('should have one condition for color with scale for "yield"', () => { expect(Array.isArray(props.stroke)).toBe(true); expect(props.stroke).toHaveLength(2); - expect(props.stroke[0].scale).toEqual(COLOR); - expect(props.stroke[0].field).toBe('yield'); + expect((props.stroke as any)[0].scale).toEqual(COLOR); + expect((props.stroke as any)[0].field).toBe('yield'); }); }); @@ -340,8 +340,8 @@ describe('Mark: Point', () => { it('should have one condition for color with scale for "yield"', () => { expect(Array.isArray(props.stroke)).toBe(true); expect(props.stroke).toHaveLength(2); - expect(props.stroke[0].test).toBe('true'); - expect(props.stroke[1].value).toBe('#4c78a8'); + expect((props.stroke as any)[0].test).toBe('true'); + expect((props.stroke as any)[1].value).toBe('#4c78a8'); }); }); @@ -415,7 +415,7 @@ describe('Mark: Square', () => { }); const props = square.encodeEntry(model); - expect(props.shape['value']).toBe('square'); + expect((props.shape as any).value).toBe('square'); }); it('should be filled by default', () => { @@ -427,7 +427,7 @@ describe('Mark: Square', () => { }); const props = square.encodeEntry(model); - expect(props.fill['value']).toBe('blue'); + expect((props.fill as any).value).toBe('blue'); }); it('with config.mark.filled:false should have transparent fill', () => { @@ -445,8 +445,8 @@ describe('Mark: Square', () => { const props = square.encodeEntry(model); - expect(props.stroke['value']).toBe('blue'); - expect(props.fill['value']).toBe('transparent'); + expect((props.stroke as any).value).toBe('blue'); + expect((props.fill as any).value).toBe('transparent'); }); }); @@ -460,11 +460,11 @@ describe('Mark: Circle', () => { const props = circle.encodeEntry(model); it('should have correct shape', () => { - expect(props.shape['value']).toBe('circle'); + expect((props.shape as any).value).toBe('circle'); }); it('should be filled by default', () => { - expect(props.fill['value']).toBe('blue'); + expect((props.fill as any).value).toBe('blue'); }); it('with config.mark.filled:false should have transparent fill', () => { @@ -482,8 +482,8 @@ describe('Mark: Circle', () => { const filledCircleProps = circle.encodeEntry(filledCircleModel); - expect(filledCircleProps.stroke['value']).toBe('blue'); - expect(filledCircleProps.fill['value']).toBe('transparent'); + expect((filledCircleProps.stroke as any).value).toBe('blue'); + expect((filledCircleProps.fill as any).value).toBe('transparent'); }); it('converts expression in mark properties to signal', () => { diff --git a/test/compile/model.test.ts b/test/compile/model.test.ts index 7389cb1915..27c414ff9d 100644 --- a/test/compile/model.test.ts +++ b/test/compile/model.test.ts @@ -186,7 +186,7 @@ describe('Model', () => { expect(model.assembleGroupEncodeEntry(true)).toBeUndefined(); - expect(model.assembleGroupEncodeEntry(false)['description']).toEqual({value: 'My awesome view'}); + expect((model.assembleGroupEncodeEntry(false) as any).description).toEqual({value: 'My awesome view'}); }); }); }); diff --git a/test/compile/scale/parse.test.ts b/test/compile/scale/parse.test.ts index 6137b1c2df..14cd522879 100644 --- a/test/compile/scale/parse.test.ts +++ b/test/compile/scale/parse.test.ts @@ -469,11 +469,11 @@ describe('src/compile', () => { it('should add a selection extent', () => { expect('selectionExtent' in xScale.explicit).toBeTruthy(); expect(xScale.explicit.selectionExtent.param).toBe('brush'); - expect(xScale.explicit.selectionExtent['encoding']).toBe('x'); + expect((xScale.explicit.selectionExtent as any).encoding).toBe('x'); expect('selectionExtent' in yScale.explicit).toBeTruthy(); expect(yScale.explicit.selectionExtent.param).toBe('foobar'); - expect(yScale.explicit.selectionExtent['field']).toBe('Miles_per_Gallon'); + expect((yScale.explicit.selectionExtent as any).field).toBe('Miles_per_Gallon'); }); }); }); diff --git a/test/compile/scale/range.test.ts b/test/compile/scale/range.test.ts index 26e014a5e9..a136096362 100644 --- a/test/compile/scale/range.test.ts +++ b/test/compile/scale/range.test.ts @@ -1,3 +1,4 @@ +import {RangeRaw} from 'vega'; import { defaultContinuousToDiscreteCount, interpolateRange, @@ -574,8 +575,8 @@ describe('compile/scale', () => { } }); const r = parseRangeForChannel('radius', model); - expect(r.value[0]).toBe(0); - expect(r.value[1]).toEqual({signal: 'min(width,height)/2'}); + expect((r.value as RangeRaw)[0]).toBe(0); + expect((r.value as RangeRaw)[1]).toEqual({signal: 'min(width,height)/2'}); }); }); diff --git a/test/compositemark/boxplot.test.ts b/test/compositemark/boxplot.test.ts index 931f9aa444..e4a1ecd39e 100644 --- a/test/compositemark/boxplot.test.ts +++ b/test/compositemark/boxplot.test.ts @@ -922,7 +922,7 @@ describe('normalizeBoxIQR', () => { defaultConfig ); - expect(normalizedSpec['layer'][1].layer[0]).toEqual({ + expect((normalizedSpec as any).layer[1].layer[0]).toEqual({ mark: { type: 'bar', style: 'boxplot-box', @@ -1012,7 +1012,7 @@ describe('normalizeBoxIQR', () => { expect(normalizedSpecWithTooltip).not.toEqual(normalizedSpecWithoutTooltip); - const innerLayer = normalizedSpecWithTooltip['layer'][0]['layer'][0]; + const innerLayer = (normalizedSpecWithTooltip as any).layer[0].layer[0]; const {tooltip, ...encodingWithoutTooltip} = innerLayer['encoding']; innerLayer['encoding'] = encodingWithoutTooltip; @@ -1034,8 +1034,8 @@ describe('normalizeBoxIQR', () => { ); // There is correct tooltips in whisker layer - const whiskerLayer = normalizedSpecWithTooltip['layer'][0]['layer'][1]; - for (const whisker of whiskerLayer['layer']) { + const whiskerLayer = (normalizedSpecWithTooltip as any).layer[0].layer[1]; + for (const whisker of whiskerLayer.layer) { const {tooltip} = whisker['encoding']; expect(array(tooltip)).toEqual([ { @@ -1046,16 +1046,16 @@ describe('normalizeBoxIQR', () => { ]); } - const whiskerAggregate = whiskerLayer['transform'][1]['aggregate']; - expect(whiskerLayer['transform'][1]['aggregate'][whiskerAggregate.length - 1]).toEqual({ + const whiskerAggregate = whiskerLayer['transform'][1].aggregate; + expect(whiskerLayer['transform'][1].aggregate[whiskerAggregate.length - 1]).toEqual({ op: 'mean', as: 'mean_people', field: 'people' }); // There is correct tooltips in whisker layer - const boxLayer = normalizedSpecWithTooltip['layer'][1]; - for (const box of boxLayer['layer']) { + const boxLayer = (normalizedSpecWithTooltip as any).layer[1]; + for (const box of boxLayer.layer) { const {tooltip} = box['encoding']; expect(array(tooltip)).toEqual([ { @@ -1066,12 +1066,12 @@ describe('normalizeBoxIQR', () => { ]); } - const boxAggregate = boxLayer['transform'][0]['aggregate']; + const boxAggregate = boxLayer['transform'][0].aggregate; const customBoxAggregate = boxAggregate[0]; expect(customBoxAggregate).toEqual({op: 'mean', as: 'mean_people', field: 'people'}); // There is no tooltip in outlier layer - expect(normalizedSpecWithTooltip['layer'][0]['layer'][0]['encoding']['tooltip']).toBeFalsy(); + expect((normalizedSpecWithTooltip as any).layer[0].layer[0]['encoding'].tooltip).toBeFalsy(); }); it('should include custom tooltip with aggregate into box and whiskers layer and custom tooltip without aggregate into outlier layer', () => { @@ -1099,8 +1099,8 @@ describe('normalizeBoxIQR', () => { ); // There are correct tooltips in whisker layer - const whiskerLayer = normalizedSpecWithTooltip['layer'][0]['layer'][1]; - for (const whisker of whiskerLayer['layer']) { + const whiskerLayer = (normalizedSpecWithTooltip as any).layer[0].layer[1]; + for (const whisker of whiskerLayer.layer) { const {tooltip} = whisker['encoding']; expect(array(tooltip)).toEqual([ { @@ -1111,16 +1111,16 @@ describe('normalizeBoxIQR', () => { ]); } - const whiskerAggregate = whiskerLayer['transform'][1]['aggregate']; - expect(whiskerLayer['transform'][1]['aggregate'][whiskerAggregate.length - 1]).toEqual({ + const whiskerAggregate = whiskerLayer['transform'][1].aggregate; + expect(whiskerLayer['transform'][1].aggregate[whiskerAggregate.length - 1]).toEqual({ op: 'mean', as: 'mean_people', field: 'people' }); // There are correct tooltips in whisker layer - const boxLayer = normalizedSpecWithTooltip['layer'][1]; - for (const box of boxLayer['layer']) { + const boxLayer = (normalizedSpecWithTooltip as any).layer[1]; + for (const box of boxLayer.layer) { const {tooltip} = box['encoding']; expect(array(tooltip)).toEqual([ { @@ -1131,12 +1131,12 @@ describe('normalizeBoxIQR', () => { ]); } - const boxAggregate = boxLayer['transform'][0]['aggregate']; + const boxAggregate = boxLayer['transform'][0].aggregate; const customBoxAggregate = boxAggregate[0]; expect(customBoxAggregate).toEqual({op: 'mean', as: 'mean_people', field: 'people'}); // There is correct tooltips in outlier layer - const {tooltip} = normalizedSpecWithTooltip['layer'][0]['layer'][0]['encoding']; + const {tooltip} = (normalizedSpecWithTooltip as any).layer[0].layer[0]['encoding']; expect(tooltip).toEqual({field: 'year', type: 'quantitative'}); }); @@ -1159,7 +1159,7 @@ describe('normalizeBoxIQR', () => { defaultConfig ); - const filteredLayerMixins = normalizedSpec['layer'][1]; + const filteredLayerMixins = (normalizedSpec as any).layer[1]; expect(filteredLayerMixins.transform[0]).toEqual({ timeUnit: {unit: 'year'}, field, diff --git a/test/compositemark/errorbar.test.ts b/test/compositemark/errorbar.test.ts index f9d14a294a..866875aee8 100644 --- a/test/compositemark/errorbar.test.ts +++ b/test/compositemark/errorbar.test.ts @@ -268,7 +268,7 @@ describe('normalizeErrorBar with raw data input', () => { assertIsUnitSpec(outputSpec); - expect(outputSpec.encoding.y['title']).toBe('population'); + expect((outputSpec.encoding.y as any).title).toBe('population'); }); it("should not overwrite transform with errorbar's transfroms", () => { @@ -395,11 +395,11 @@ describe('normalizeErrorBar with raw data input', () => { assertIsLayerSpec(outputSpec); for (const layer of outputSpec.layer) { - if (layer['mark']) { - if (layer['mark']['type'] === 'tick') { - expect(layer['mark']['size']).toBe(size); + if ((layer as any).mark) { + if ((layer as any).mark.type === 'tick') { + expect((layer as any).mark.size).toBe(size); } else { - expect(layer['mark']['size']).toBeFalsy(); + expect((layer as any).mark.size).toBeFalsy(); } } } @@ -419,11 +419,11 @@ describe('normalizeErrorBar with raw data input', () => { assertIsLayerSpec(outputSpec); for (const layer of outputSpec.layer) { - if (layer['mark']) { - if (layer['mark']['type'] === 'tick') { - expect(layer['mark']['size']).toBe(tickSize); + if ((layer as any).mark) { + if ((layer as any).mark.type === 'tick') { + expect((layer as any).mark.size).toBe(tickSize); } else { - expect(layer['mark']['size']).toBeFalsy(); + expect((layer as any).mark.size).toBeFalsy(); } } } @@ -442,11 +442,11 @@ describe('normalizeErrorBar with raw data input', () => { assertIsLayerSpec(outputSpec); for (const layer of outputSpec.layer) { - if (layer['mark']) { - if (layer['mark']['type'] === 'tick') { - expect(layer['mark']['thickness']).toBe(thickness); + if ((layer as any).mark) { + if ((layer as any).mark.type === 'tick') { + expect((layer as any).mark.thickness).toBe(thickness); } else { - expect(layer['mark']['size']).toBe(thickness); + expect((layer as any).mark.size).toBe(thickness); } } } @@ -473,11 +473,11 @@ describe('normalizeErrorBar with raw data input', () => { assertIsLayerSpec(outputSpec); for (const layer of outputSpec.layer) { - if (layer['mark']) { - if (layer['mark']['type'] === 'tick') { - expect(layer['mark']['thickness']).toBe(tickThickness); + if ((layer as any).mark) { + if ((layer as any).mark.type === 'tick') { + expect((layer as any).mark.thickness).toBe(tickThickness); } else { - expect(layer['mark']['size']).toBe(ruleSize); + expect((layer as any).mark.size).toBe(ruleSize); } } } @@ -690,8 +690,8 @@ describe('normalizeErrorBar with aggregated upper and lower bound input', () => const encoding = outputSpec.encoding; - expect(encoding.x['field']).toBe('lower_people'); - expect(encoding.x2['field']).toBe('upper_people'); + expect((encoding.x as any).field).toBe('lower_people'); + expect((encoding.x2 as any).field).toBe('upper_people'); }); it( @@ -860,8 +860,8 @@ describe('normalizeErrorBar with aggregated error input', () => { const encoding = outputSpec.encoding; - expect(encoding.x['field']).toBe('lower_people'); - expect(encoding.x2['field']).toBe('upper_people'); + expect((encoding.x as any).field).toBe('lower_people'); + expect((encoding.x2 as any).field).toBe('upper_people'); }); it('should produce correct layered specs for horizontal errorbar with 2 aggregated error input', () => { diff --git a/test/config.test.ts b/test/config.test.ts index 22ee16fe09..8b3eea48c7 100644 --- a/test/config.test.ts +++ b/test/config.test.ts @@ -203,9 +203,9 @@ describe('config', () => { expect(output[mark]).toBeUndefined(); } expect(output.style.bar['binSpacing']).toBeUndefined(); - expect(output.style.cell['width']).toBeUndefined(); - expect(output.style.cell['height']).toBeUndefined(); - expect(output.style.cell['fill']).toBe('#eee'); + expect((output.style.cell as any).width).toBeUndefined(); + expect((output.style.cell as any).height).toBeUndefined(); + expect((output.style.cell as any).fill).toBe('#eee'); expect(output.style.bar.opacity).toBe(0.5); }); diff --git a/test/example.test.ts b/test/example.test.ts new file mode 100644 index 0000000000..9fce538bac --- /dev/null +++ b/test/example.test.ts @@ -0,0 +1,22 @@ +import {compile} from '../src'; +import {spec} from '../test-runtime/util'; + +test('example test', () => { + const s = spec( + 'unit', + 1, + {type: 'interval', encodings: ['y']}, + { + x: {aggregate: 'count', type: 'quantitative'}, + y: {bin: true}, + color: {value: 'steelblue'} + } + ); + expect(s).toBeDefined(); + + console.log(JSON.stringify(s)); + + const vg = compile(s).spec; + + expect(vg).toBeDefined(); +}); diff --git a/test/normalize/core.test.ts b/test/normalize/core.test.ts index 419ef6da3f..75318298b7 100644 --- a/test/normalize/core.test.ts +++ b/test/normalize/core.test.ts @@ -33,7 +33,7 @@ describe('normalize()', () => { } }; const normalized = normalize(spec); - expect(normalized['columns']).toBe(4); + expect((normalized as any).columns).toBe(4); expect(localLogger.warns[0]).toEqual(log.message.columnsNotSupportByRowCol('repeat')); }) ); @@ -63,7 +63,7 @@ describe('normalize()', () => { } }; const normalized = normalize(spec); - expect(normalized['layer']).toHaveLength(2); + expect((normalized as any).layer).toHaveLength(2); }); }); @@ -170,7 +170,7 @@ describe('normalize()', () => { } }; const normalized = normalize(spec); - expect(normalized['columns']).toBeUndefined(); + expect((normalized as any).columns).toBeUndefined(); expect(localLogger.warns[0]).toEqual(log.message.columnsNotSupportByRowCol('facet')); }) ); diff --git a/tsconfig.json b/tsconfig.json index d6d2f78743..6dd949a405 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,7 +13,6 @@ "strictNullChecks": false, "preserveConstEnums": true, "resolveJsonModule": true, - "suppressImplicitAnyIndexErrors": true, "isolatedModules": true, "lib": ["ESNext.Array", "DOM", "DOM.Iterable", "ES2021.String"], "ignoreDeprecations": "5.0", diff --git a/yarn.lock b/yarn.lock index 13123e43ca..051e5e42f9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,11 +2,6 @@ # yarn lockfile v1 -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - "@ampproject/remapping@^2.2.0": version "2.3.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" @@ -15,15 +10,7 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.21.4", "@babel/code-frame@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.6.tgz#ab88da19344445c3d8889af2216606d3329f3ef2" - integrity sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA== - dependencies: - "@babel/highlight" "^7.24.6" - picocolors "^1.0.0" - -"@babel/code-frame@^7.24.7": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.21.4", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== @@ -31,85 +18,42 @@ "@babel/highlight" "^7.24.7" picocolors "^1.0.0" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.6.tgz#b3600217688cabb26e25f8e467019e66d71b7ae2" - integrity sha512-aC2DGhBq5eEdyXWqrDInSqQjO0k8xtPRf5YylULqx8MCd6jBtzqfta/3ETMRpuKIc5hyswfO80ObyA1MvkCcUQ== - -"@babel/compat-data@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.7.tgz#d23bbea508c3883ba8251fb4164982c36ea577ed" - integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.6.tgz#8650e0e4b03589ebe886c4e4a60398db0a7ec787" - integrity sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.6" - "@babel/generator" "^7.24.6" - "@babel/helper-compilation-targets" "^7.24.6" - "@babel/helper-module-transforms" "^7.24.6" - "@babel/helpers" "^7.24.6" - "@babel/parser" "^7.24.6" - "@babel/template" "^7.24.6" - "@babel/traverse" "^7.24.6" - "@babel/types" "^7.24.6" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.2.tgz#e41928bd33475305c586f6acbbb7e3ade7a6f7f5" + integrity sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ== -"@babel/core@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.7.tgz#b676450141e0b52a3d43bc91da86aa608f950ac4" - integrity sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g== +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9", "@babel/core@^7.24.9": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" + integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helpers" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/template" "^7.24.7" - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/generator" "^7.25.0" + "@babel/helper-compilation-targets" "^7.25.2" + "@babel/helper-module-transforms" "^7.25.2" + "@babel/helpers" "^7.25.0" + "@babel/parser" "^7.25.0" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.2" + "@babel/types" "^7.25.2" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.24.6", "@babel/generator@^7.7.2": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.6.tgz#dfac82a228582a9d30c959fe50ad28951d4737a7" - integrity sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg== +"@babel/generator@^7.25.0", "@babel/generator@^7.7.2": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.0.tgz#f858ddfa984350bc3d3b7f125073c9af6988f18e" + integrity sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw== dependencies: - "@babel/types" "^7.24.6" + "@babel/types" "^7.25.0" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" -"@babel/generator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.7.tgz#1654d01de20ad66b4b4d99c135471bc654c55e6d" - integrity sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA== - dependencies: - "@babel/types" "^7.24.7" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - "@babel/helper-annotate-as-pure@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz#5373c7bc8366b12a033b4be1ac13a206c6656aab" @@ -125,65 +69,43 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.6.tgz#4a51d681f7680043d38e212715e2a7b1ad29cb51" - integrity sha512-VZQ57UsDGlX/5fFA7GkVPplZhHsVc+vuErWgdOiysI9Ksnw0Pbbd6pnPiR/mmJyKHgyIW0c7KT32gmhiF+cirg== +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8", "@babel/helper-compilation-targets@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" + integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== dependencies: - "@babel/compat-data" "^7.24.6" - "@babel/helper-validator-option" "^7.24.6" - browserslist "^4.22.2" + "@babel/compat-data" "^7.25.2" + "@babel/helper-validator-option" "^7.24.8" + browserslist "^4.23.1" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-compilation-targets@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz#4eb6c4a80d6ffeac25ab8cd9a21b5dfa48d503a9" - integrity sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg== - dependencies: - "@babel/compat-data" "^7.24.7" - "@babel/helper-validator-option" "^7.24.7" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz#2eaed36b3a1c11c53bdf80d53838b293c52f5b3b" - integrity sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg== +"@babel/helper-create-class-features-plugin@^7.24.7", "@babel/helper-create-class-features-plugin@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz#a109bf9c3d58dfed83aaf42e85633c89f43a6253" + integrity sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-member-expression-to-functions" "^7.24.7" + "@babel/helper-member-expression-to-functions" "^7.24.8" "@babel/helper-optimise-call-expression" "^7.24.7" - "@babel/helper-replace-supers" "^7.24.7" + "@babel/helper-replace-supers" "^7.25.0" "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" + "@babel/traverse" "^7.25.0" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz#be4f435a80dc2b053c76eeb4b7d16dd22cfc89da" - integrity sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.7", "@babel/helper-create-regexp-features-plugin@^7.25.0": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz#24c75974ed74183797ffd5f134169316cd1808d9" + integrity sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" regexpu-core "^5.3.1" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.1": - version "0.6.1" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz#fadc63f0c2ff3c8d02ed905dcea747c5b0fb74fd" - integrity sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA== +"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": + version "0.6.2" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" + integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -191,71 +113,15 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.6.tgz#ac7ad5517821641550f6698dd5468f8cef78620d" - integrity sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g== - -"@babel/helper-environment-visitor@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz#4b31ba9551d1f90781ba83491dd59cf9b269f7d9" - integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-function-name@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.24.6.tgz#cebdd063386fdb95d511d84b117e51fc68fec0c8" - integrity sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w== - dependencies: - "@babel/template" "^7.24.6" - "@babel/types" "^7.24.6" - -"@babel/helper-function-name@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz#75f1e1725742f39ac6584ee0b16d94513da38dd2" - integrity sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA== - dependencies: - "@babel/template" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-hoist-variables@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz#8a7ece8c26756826b6ffcdd0e3cf65de275af7f9" - integrity sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA== - dependencies: - "@babel/types" "^7.24.6" - -"@babel/helper-hoist-variables@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz#b4ede1cde2fd89436397f30dc9376ee06b0f25ee" - integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-member-expression-to-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz#67613d068615a70e4ed5101099affc7a41c5225f" - integrity sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-module-imports@^7.18.6": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" - integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== +"@babel/helper-member-expression-to-functions@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz#6155e079c913357d24a4c20480db7c712a5c3fb6" + integrity sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA== dependencies: - "@babel/types" "^7.24.0" + "@babel/traverse" "^7.24.8" + "@babel/types" "^7.24.8" -"@babel/helper-module-imports@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz#65e54ffceed6a268dc4ce11f0433b82cfff57852" - integrity sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g== - dependencies: - "@babel/types" "^7.24.6" - -"@babel/helper-module-imports@^7.24.7": +"@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== @@ -263,27 +129,15 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-module-transforms@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.6.tgz#22346ed9df44ce84dee850d7433c5b73fab1fe4e" - integrity sha512-Y/YMPm83mV2HJTbX1Qh2sjgjqcacvOlhbzdCCsSlblOKjSYmQqEbO6rUniWQyRo9ncyfjT8hnUjlG06RXDEmcA== +"@babel/helper-module-transforms@^7.24.7", "@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.25.0", "@babel/helper-module-transforms@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" + integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== dependencies: - "@babel/helper-environment-visitor" "^7.24.6" - "@babel/helper-module-imports" "^7.24.6" - "@babel/helper-simple-access" "^7.24.6" - "@babel/helper-split-export-declaration" "^7.24.6" - "@babel/helper-validator-identifier" "^7.24.6" - -"@babel/helper-module-transforms@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz#31b6c9a2930679498db65b685b1698bfd6c7daf8" - integrity sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ== - dependencies: - "@babel/helper-environment-visitor" "^7.24.7" "@babel/helper-module-imports" "^7.24.7" "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" "@babel/helper-validator-identifier" "^7.24.7" + "@babel/traverse" "^7.25.2" "@babel/helper-optimise-call-expression@^7.24.7": version "7.24.7" @@ -292,40 +146,28 @@ dependencies: "@babel/types" "^7.24.7" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.6.tgz#fa02a32410a15a6e8f8185bcbf608f10528d2a24" - integrity sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg== - -"@babel/helper-plugin-utils@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz#98c84fe6fe3d0d3ae7bfc3a5e166a46844feb2a0" - integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" + integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== -"@babel/helper-remap-async-to-generator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz#b3f0f203628522713849d49403f1a414468be4c7" - integrity sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA== +"@babel/helper-remap-async-to-generator@^7.24.7", "@babel/helper-remap-async-to-generator@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz#d2f0fbba059a42d68e5e378feaf181ef6055365e" + integrity sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-wrap-function" "^7.24.7" + "@babel/helper-wrap-function" "^7.25.0" + "@babel/traverse" "^7.25.0" -"@babel/helper-replace-supers@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz#f933b7eed81a1c0265740edc91491ce51250f765" - integrity sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg== +"@babel/helper-replace-supers@^7.24.7", "@babel/helper-replace-supers@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz#ff44deac1c9f619523fe2ca1fd650773792000a9" + integrity sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-member-expression-to-functions" "^7.24.7" + "@babel/helper-member-expression-to-functions" "^7.24.8" "@babel/helper-optimise-call-expression" "^7.24.7" - -"@babel/helper-simple-access@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.6.tgz#1d6e04d468bba4fc963b4906f6dac6286cfedff1" - integrity sha512-nZzcMMD4ZhmB35MOOzQuiGO5RzL6tJbsT37Zx8M5L/i9KSrukGXWTjLe1knIbb/RmxoJE9GON9soq0c0VEMM5g== - dependencies: - "@babel/types" "^7.24.6" + "@babel/traverse" "^7.25.0" "@babel/helper-simple-access@^7.24.7": version "7.24.7" @@ -343,85 +185,37 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-split-export-declaration@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz#e830068f7ba8861c53b7421c284da30ae656d7a3" - integrity sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw== - dependencies: - "@babel/types" "^7.24.6" - -"@babel/helper-split-export-declaration@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz#83949436890e07fa3d6873c61a96e3bbf692d856" - integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-string-parser@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz#28583c28b15f2a3339cfafafeaad42f9a0e828df" - integrity sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q== - -"@babel/helper-string-parser@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz#4d2d0f14820ede3b9807ea5fc36dfc8cd7da07f2" - integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg== - -"@babel/helper-validator-identifier@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz#08bb6612b11bdec78f3feed3db196da682454a5e" - integrity sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw== +"@babel/helper-string-parser@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" + integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== "@babel/helper-validator-identifier@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== -"@babel/helper-validator-option@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.6.tgz#59d8e81c40b7d9109ab7e74457393442177f460a" - integrity sha512-Jktc8KkF3zIkePb48QO+IapbXlSapOW9S+ogZZkcO6bABgYAxtZcjZ/O005111YLf+j4M84uEgwYoidDkXbCkQ== +"@babel/helper-validator-option@^7.24.7", "@babel/helper-validator-option@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" + integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== -"@babel/helper-validator-option@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz#24c3bb77c7a425d1742eec8fb433b5a1b38e62f6" - integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== - -"@babel/helper-wrap-function@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz#52d893af7e42edca7c6d2c6764549826336aae1f" - integrity sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw== +"@babel/helper-wrap-function@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz#dab12f0f593d6ca48c0062c28bcfb14ebe812f81" + integrity sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ== dependencies: - "@babel/helper-function-name" "^7.24.7" - "@babel/template" "^7.24.7" - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helpers@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.6.tgz#cd124245299e494bd4e00edda0e4ea3545c2c176" - integrity sha512-V2PI+NqnyFu1i0GyTd/O/cTpxzQCYioSkUIRmgo7gFEHKKCg5w46+r/A6WeUR1+P3TeQ49dspGPNd/E3n9AnnA== - dependencies: - "@babel/template" "^7.24.6" - "@babel/types" "^7.24.6" - -"@babel/helpers@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.7.tgz#aa2ccda29f62185acb5d42fb4a3a1b1082107416" - integrity sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg== - dependencies: - "@babel/template" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.0" + "@babel/types" "^7.25.0" -"@babel/highlight@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.6.tgz#6d610c1ebd2c6e061cade0153bf69b0590b7b3df" - integrity sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ== +"@babel/helpers@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.0.tgz#e69beb7841cb93a6505531ede34f34e6a073650a" + integrity sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw== dependencies: - "@babel/helper-validator-identifier" "^7.24.6" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.0" "@babel/highlight@^7.24.7": version "7.24.7" @@ -433,30 +227,34 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.6.tgz#5e030f440c3c6c78d195528c3b688b101a365328" - integrity sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.3": + version "7.25.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.3.tgz#91fb126768d944966263f0657ab222a642b82065" + integrity sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw== + dependencies: + "@babel/types" "^7.25.2" -"@babel/parser@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" - integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.3": + version "7.25.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz#dca427b45a6c0f5c095a1c639dfe2476a3daba7f" + integrity sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/traverse" "^7.25.3" -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz#fd059fd27b184ea2b4c7e646868a9a381bbc3055" - integrity sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ== +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz#cd0c583e01369ef51676bdb3d7b603e17d2b3f73" + integrity sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz#468096ca44bbcbe8fcc570574e12eb1950e18107" - integrity sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz#749bde80356b295390954643de7635e0dffabe73" + integrity sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.7": version "7.24.7" @@ -467,13 +265,13 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" "@babel/plugin-transform-optional-chaining" "^7.24.7" -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz#71b21bb0286d5810e63a1538aa901c58e87375ec" - integrity sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg== +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz#3a82a70e7cb7294ad2559465ebcb871dfbf078fb" + integrity sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/traverse" "^7.25.0" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" @@ -550,20 +348,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.24.7": +"@babel/plugin-syntax-jsx@^7.24.7", "@babel/plugin-syntax-jsx@^7.7.2": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz#39a1fa4a7e3d3d7f34e2acc6be585b718d30e02d" integrity sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz#3f6ca04b8c841811dbc3c5c5f837934e0d626c10" - integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -620,20 +411,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.24.7": +"@babel/plugin-syntax-typescript@^7.24.7", "@babel/plugin-syntax-typescript@^7.7.2": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz#58d458271b4d3b6bb27ee6ac9525acbb259bad1c" integrity sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA== dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz#b3bcc51f396d15f3591683f90239de143c076844" - integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" @@ -649,15 +433,15 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-async-generator-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz#7330a5c50e05181ca52351b8fd01642000c96cfd" - integrity sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g== +"@babel/plugin-transform-async-generator-functions@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz#b785cf35d73437f6276b1e30439a57a50747bddf" + integrity sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-remap-async-to-generator" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-remap-async-to-generator" "^7.25.0" "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/traverse" "^7.25.0" "@babel/plugin-transform-async-to-generator@^7.24.7": version "7.24.7" @@ -675,12 +459,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-block-scoping@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz#42063e4deb850c7bd7c55e626bf4e7ab48e6ce02" - integrity sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ== +"@babel/plugin-transform-block-scoping@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz#23a6ed92e6b006d26b1869b1c91d1b917c2ea2ac" + integrity sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-class-properties@^7.24.7": version "7.24.7" @@ -699,18 +483,16 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-transform-classes@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz#4ae6ef43a12492134138c1e45913f7c46c41b4bf" - integrity sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw== +"@babel/plugin-transform-classes@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz#63122366527d88e0ef61b612554fe3f8c793991e" + integrity sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-replace-supers" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" + "@babel/helper-compilation-targets" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-replace-supers" "^7.25.0" + "@babel/traverse" "^7.25.0" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.24.7": @@ -721,12 +503,12 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/template" "^7.24.7" -"@babel/plugin-transform-destructuring@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz#a097f25292defb6e6cc16d6333a4cfc1e3c72d9e" - integrity sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw== +"@babel/plugin-transform-destructuring@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz#c828e814dbe42a2718a838c2a2e16a408e055550" + integrity sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-dotall-regex@^7.24.7": version "7.24.7" @@ -743,6 +525,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz#809af7e3339466b49c034c683964ee8afb3e2604" + integrity sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.0" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/plugin-transform-dynamic-import@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz#4d8b95e3bae2b037673091aa09cd33fecd6419f4" @@ -775,14 +565,14 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" -"@babel/plugin-transform-function-name@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz#6d8601fbffe665c894440ab4470bc721dd9131d6" - integrity sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w== +"@babel/plugin-transform-function-name@^7.25.1": + version "7.25.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz#b85e773097526c1a4fc4ba27322748643f26fc37" + integrity sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA== dependencies: - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-compilation-targets" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/traverse" "^7.25.1" "@babel/plugin-transform-json-strings@^7.24.7": version "7.24.7" @@ -792,12 +582,12 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz#36b505c1e655151a9d7607799a9988fc5467d06c" - integrity sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ== +"@babel/plugin-transform-literals@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz#deb1ad14fc5490b9a65ed830e025bca849d8b5f3" + integrity sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-logical-assignment-operators@^7.24.7": version "7.24.7" @@ -822,24 +612,24 @@ "@babel/helper-module-transforms" "^7.24.7" "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-modules-commonjs@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz#9fd5f7fdadee9085886b183f1ad13d1ab260f4ab" - integrity sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ== +"@babel/plugin-transform-modules-commonjs@^7.24.7", "@babel/plugin-transform-modules-commonjs@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz#ab6421e564b717cb475d6fff70ae7f103536ea3c" + integrity sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA== dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-module-transforms" "^7.24.8" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/helper-simple-access" "^7.24.7" -"@babel/plugin-transform-modules-systemjs@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz#f8012316c5098f6e8dee6ecd58e2bc6f003d0ce7" - integrity sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw== +"@babel/plugin-transform-modules-systemjs@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz#8f46cdc5f9e5af74f3bd019485a6cbe59685ea33" + integrity sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw== dependencies: - "@babel/helper-hoist-variables" "^7.24.7" - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-module-transforms" "^7.25.0" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/helper-validator-identifier" "^7.24.7" + "@babel/traverse" "^7.25.0" "@babel/plugin-transform-modules-umd@^7.24.7": version "7.24.7" @@ -906,12 +696,12 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz#b8f6848a80cf2da98a8a204429bec04756c6d454" - integrity sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ== +"@babel/plugin-transform-optional-chaining@^7.24.7", "@babel/plugin-transform-optional-chaining@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz#bb02a67b60ff0406085c13d104c99a835cdf365d" + integrity sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" "@babel/plugin-syntax-optional-chaining" "^7.8.3" @@ -991,21 +781,22 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-transform-typeof-symbol@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz#f074be466580d47d6e6b27473a840c9f9ca08fb0" - integrity sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg== +"@babel/plugin-transform-typeof-symbol@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz#383dab37fb073f5bfe6e60c654caac309f92ba1c" + integrity sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.8" "@babel/plugin-transform-typescript@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz#b006b3e0094bf0813d505e0c5485679eeaf4a881" - integrity sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw== + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz#237c5d10de6d493be31637c6b9fa30b6c5461add" + integrity sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A== dependencies: "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-class-features-plugin" "^7.25.0" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" "@babel/plugin-syntax-typescript" "^7.24.7" "@babel/plugin-transform-unicode-escapes@^7.24.7": @@ -1039,19 +830,20 @@ "@babel/helper-create-regexp-features-plugin" "^7.24.7" "@babel/helper-plugin-utils" "^7.24.7" -"@babel/preset-env@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.7.tgz#ff067b4e30ba4a72f225f12f123173e77b987f37" - integrity sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ== - dependencies: - "@babel/compat-data" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-validator-option" "^7.24.7" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.7" +"@babel/preset-env@^7.25.0": + version "7.25.3" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.25.3.tgz#0bf4769d84ac51d1073ab4a86f00f30a3a83c67c" + integrity sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g== + dependencies: + "@babel/compat-data" "^7.25.2" + "@babel/helper-compilation-targets" "^7.25.2" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-validator-option" "^7.24.8" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.3" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.0" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.0" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.7" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.0" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" @@ -1072,29 +864,30 @@ "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" "@babel/plugin-transform-arrow-functions" "^7.24.7" - "@babel/plugin-transform-async-generator-functions" "^7.24.7" + "@babel/plugin-transform-async-generator-functions" "^7.25.0" "@babel/plugin-transform-async-to-generator" "^7.24.7" "@babel/plugin-transform-block-scoped-functions" "^7.24.7" - "@babel/plugin-transform-block-scoping" "^7.24.7" + "@babel/plugin-transform-block-scoping" "^7.25.0" "@babel/plugin-transform-class-properties" "^7.24.7" "@babel/plugin-transform-class-static-block" "^7.24.7" - "@babel/plugin-transform-classes" "^7.24.7" + "@babel/plugin-transform-classes" "^7.25.0" "@babel/plugin-transform-computed-properties" "^7.24.7" - "@babel/plugin-transform-destructuring" "^7.24.7" + "@babel/plugin-transform-destructuring" "^7.24.8" "@babel/plugin-transform-dotall-regex" "^7.24.7" "@babel/plugin-transform-duplicate-keys" "^7.24.7" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.0" "@babel/plugin-transform-dynamic-import" "^7.24.7" "@babel/plugin-transform-exponentiation-operator" "^7.24.7" "@babel/plugin-transform-export-namespace-from" "^7.24.7" "@babel/plugin-transform-for-of" "^7.24.7" - "@babel/plugin-transform-function-name" "^7.24.7" + "@babel/plugin-transform-function-name" "^7.25.1" "@babel/plugin-transform-json-strings" "^7.24.7" - "@babel/plugin-transform-literals" "^7.24.7" + "@babel/plugin-transform-literals" "^7.25.2" "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" "@babel/plugin-transform-member-expression-literals" "^7.24.7" "@babel/plugin-transform-modules-amd" "^7.24.7" - "@babel/plugin-transform-modules-commonjs" "^7.24.7" - "@babel/plugin-transform-modules-systemjs" "^7.24.7" + "@babel/plugin-transform-modules-commonjs" "^7.24.8" + "@babel/plugin-transform-modules-systemjs" "^7.25.0" "@babel/plugin-transform-modules-umd" "^7.24.7" "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" "@babel/plugin-transform-new-target" "^7.24.7" @@ -1103,7 +896,7 @@ "@babel/plugin-transform-object-rest-spread" "^7.24.7" "@babel/plugin-transform-object-super" "^7.24.7" "@babel/plugin-transform-optional-catch-binding" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.7" + "@babel/plugin-transform-optional-chaining" "^7.24.8" "@babel/plugin-transform-parameters" "^7.24.7" "@babel/plugin-transform-private-methods" "^7.24.7" "@babel/plugin-transform-private-property-in-object" "^7.24.7" @@ -1114,7 +907,7 @@ "@babel/plugin-transform-spread" "^7.24.7" "@babel/plugin-transform-sticky-regex" "^7.24.7" "@babel/plugin-transform-template-literals" "^7.24.7" - "@babel/plugin-transform-typeof-symbol" "^7.24.7" + "@babel/plugin-transform-typeof-symbol" "^7.24.8" "@babel/plugin-transform-unicode-escapes" "^7.24.7" "@babel/plugin-transform-unicode-property-regex" "^7.24.7" "@babel/plugin-transform-unicode-regex" "^7.24.7" @@ -1123,7 +916,7 @@ babel-plugin-polyfill-corejs2 "^0.4.10" babel-plugin-polyfill-corejs3 "^0.10.4" babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.31.0" + core-js-compat "^3.37.1" semver "^6.3.1" "@babel/preset-modules@0.1.6-no-external-plugins": @@ -1152,77 +945,40 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.8.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.4.tgz#de795accd698007a66ba44add6cc86542aff1edd" - integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb" + integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.24.6", "@babel/template@^7.3.3": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.6.tgz#048c347b2787a6072b24c723664c8d02b67a44f9" - integrity sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw== - dependencies: - "@babel/code-frame" "^7.24.6" - "@babel/parser" "^7.24.6" - "@babel/types" "^7.24.6" - -"@babel/template@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.7.tgz#02efcee317d0609d2c07117cb70ef8fb17ab7315" - integrity sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig== +"@babel/template@^7.24.7", "@babel/template@^7.25.0", "@babel/template@^7.3.3": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" + integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== dependencies: "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/parser" "^7.25.0" + "@babel/types" "^7.25.0" -"@babel/traverse@^7.24.6": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.6.tgz#0941ec50cdeaeacad0911eb67ae227a4f8424edc" - integrity sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw== - dependencies: - "@babel/code-frame" "^7.24.6" - "@babel/generator" "^7.24.6" - "@babel/helper-environment-visitor" "^7.24.6" - "@babel/helper-function-name" "^7.24.6" - "@babel/helper-hoist-variables" "^7.24.6" - "@babel/helper-split-export-declaration" "^7.24.6" - "@babel/parser" "^7.24.6" - "@babel/types" "^7.24.6" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/traverse@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.7.tgz#de2b900163fa741721ba382163fe46a936c40cf5" - integrity sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA== +"@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0", "@babel/traverse@^7.25.1", "@babel/traverse@^7.25.2", "@babel/traverse@^7.25.3": + version "7.25.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.3.tgz#f1b901951c83eda2f3e29450ce92743783373490" + integrity sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ== dependencies: "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-hoist-variables" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/generator" "^7.25.0" + "@babel/parser" "^7.25.3" + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.2" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.24.0", "@babel/types@^7.24.6", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.24.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.6.tgz#ba4e1f59870c10dc2fa95a274ac4feec23b21912" - integrity sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ== - dependencies: - "@babel/helper-string-parser" "^7.24.6" - "@babel/helper-validator-identifier" "^7.24.6" - to-fast-properties "^2.0.0" - -"@babel/types@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.7.tgz#6027fe12bc1aa724cd32ab113fb7f1988f1f66f2" - integrity sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.2.tgz#55fb231f7dc958cd69ea141a4c2997e819646125" + integrity sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q== dependencies: - "@babel/helper-string-parser" "^7.24.7" + "@babel/helper-string-parser" "^7.24.8" "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" @@ -1231,6 +987,14 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@conventional-changelog/git-client@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@conventional-changelog/git-client/-/git-client-1.0.1.tgz#143be2777ba389c3c14f83fa19b7cab6a49a503b" + integrity sha512-PJEqBwAleffCMETaVm/fUgHldzBE35JFk3/9LL6NUA5EXa3qednu+UT6M7E5iBu3zIQZCULYIiZ90fBYHt6xUw== + dependencies: + "@types/semver" "^7.5.5" + semver "^7.5.2" + "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" @@ -1239,9 +1003,9 @@ eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + version "4.11.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" + integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== "@eslint/eslintrc@^2.1.4": version "2.1.4" @@ -1304,10 +1068,10 @@ resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== -"@inquirer/figures@^1.0.1": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@inquirer/figures/-/figures-1.0.3.tgz#1227cc980f88e6d6ab85abadbf164f5038041edd" - integrity sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw== +"@inquirer/figures@^1.0.3": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@inquirer/figures/-/figures-1.0.5.tgz#57f9a996d64d3e3345d2a3ca04d36912e94f8790" + integrity sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA== "@isaacs/cliui@^8.0.2": version "8.0.2" @@ -1556,10 +1320,10 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" @@ -1569,13 +1333,6 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@ljharb/through@^2.3.13": - version "2.3.13" - resolved "https://registry.yarnpkg.com/@ljharb/through/-/through-2.3.13.tgz#b7e4766e0b65aa82e529be945ab078de79874edc" - integrity sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ== - dependencies: - call-bind "^1.0.7" - "@mapbox/node-pre-gyp@^1.0.0": version "1.0.11" resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa" @@ -1647,34 +1404,29 @@ "@octokit/types" "^13.0.0" universal-user-agent "^6.0.0" -"@octokit/openapi-types@^20.0.0": - version "20.0.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-20.0.0.tgz#9ec2daa0090eeb865ee147636e0c00f73790c6e5" - integrity sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA== - -"@octokit/openapi-types@^22.0.1": - version "22.0.1" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-22.0.1.tgz#41f5b1c4dad3e547906ea9258837fcbea7cc72b4" - integrity sha512-1yN5m1IMNXthoBDUXFF97N1gHop04B3H8ws7wtOr8GgRyDO1gKALjwMHARNBoMBiB/2vEe/vxstrApcJZzQbnQ== +"@octokit/openapi-types@^22.2.0": + version "22.2.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-22.2.0.tgz#75aa7dcd440821d99def6a60b5f014207ae4968e" + integrity sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg== -"@octokit/plugin-paginate-rest@^9.1.5": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz#2e2a2f0f52c9a4b1da1a3aa17dabe3c459b9e401" - integrity sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw== +"@octokit/plugin-paginate-rest@11.3.1": + version "11.3.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz#fe92d04b49f134165d6fbb716e765c2f313ad364" + integrity sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g== dependencies: - "@octokit/types" "^12.6.0" + "@octokit/types" "^13.5.0" "@octokit/plugin-request-log@^4.0.0": version "4.0.1" resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz#98a3ca96e0b107380664708111864cb96551f958" integrity sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA== -"@octokit/plugin-rest-endpoint-methods@^10.2.0": - version "10.4.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz#41ba478a558b9f554793075b2e20cd2ef973be17" - integrity sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg== +"@octokit/plugin-rest-endpoint-methods@13.2.2": + version "13.2.2" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz#af8e5dd2cddfea576f92ffaf9cb84659f302a638" + integrity sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA== dependencies: - "@octokit/types" "^12.6.0" + "@octokit/types" "^13.5.0" "@octokit/request-error@^5.1.0": version "5.1.0" @@ -1695,29 +1447,22 @@ "@octokit/types" "^13.1.0" universal-user-agent "^6.0.0" -"@octokit/rest@20.1.0": - version "20.1.0" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-20.1.0.tgz#78310528f4849a69b44b15ccd27f99c7e737bb7d" - integrity sha512-STVO3itHQLrp80lvcYB2UIKoeil5Ctsgd2s1AM+du3HqZIR35ZH7WE9HLwUOLXH0myA0y3AGNPo8gZtcgIbw0g== +"@octokit/rest@20.1.1": + version "20.1.1" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-20.1.1.tgz#ec775864f53fb42037a954b9a40d4f5275b3dc95" + integrity sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw== dependencies: "@octokit/core" "^5.0.2" - "@octokit/plugin-paginate-rest" "^9.1.5" + "@octokit/plugin-paginate-rest" "11.3.1" "@octokit/plugin-request-log" "^4.0.0" - "@octokit/plugin-rest-endpoint-methods" "^10.2.0" + "@octokit/plugin-rest-endpoint-methods" "13.2.2" -"@octokit/types@^12.6.0": - version "12.6.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-12.6.0.tgz#8100fb9eeedfe083aae66473bd97b15b62aedcb2" - integrity sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw== +"@octokit/types@^13.0.0", "@octokit/types@^13.1.0", "@octokit/types@^13.5.0": + version "13.5.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-13.5.0.tgz#4796e56b7b267ebc7c921dcec262b3d5bfb18883" + integrity sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ== dependencies: - "@octokit/openapi-types" "^20.0.0" - -"@octokit/types@^13.0.0", "@octokit/types@^13.1.0": - version "13.4.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-13.4.0.tgz#b9f6865a6fc491387352d7f327e1f030fa7be1cd" - integrity sha512-WlMegy3lPXYWASe3k9Jslc5a0anrYAYMWtsFrxBTdQjS70hvLH6C+PGvHbOsgy3RA3LouGJoU/vAt4KarecQLQ== - dependencies: - "@octokit/openapi-types" "^22.0.1" + "@octokit/openapi-types" "^22.2.0" "@pkgjs/parseargs@^0.11.0": version "0.11.0" @@ -1824,85 +1569,85 @@ estree-walker "^2.0.2" picomatch "^2.3.1" -"@rollup/rollup-android-arm-eabi@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz#bbd0e616b2078cd2d68afc9824d1fadb2f2ffd27" - integrity sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ== - -"@rollup/rollup-android-arm64@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz#97255ef6384c5f73f4800c0de91f5f6518e21203" - integrity sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA== - -"@rollup/rollup-darwin-arm64@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz#b6dd74e117510dfe94541646067b0545b42ff096" - integrity sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w== - -"@rollup/rollup-darwin-x64@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz#e07d76de1cec987673e7f3d48ccb8e106d42c05c" - integrity sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA== - -"@rollup/rollup-linux-arm-gnueabihf@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz#9f1a6d218b560c9d75185af4b8bb42f9f24736b8" - integrity sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA== - -"@rollup/rollup-linux-arm-musleabihf@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz#53618b92e6ffb642c7b620e6e528446511330549" - integrity sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A== - -"@rollup/rollup-linux-arm64-gnu@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz#99a7ba5e719d4f053761a698f7b52291cefba577" - integrity sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw== - -"@rollup/rollup-linux-arm64-musl@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz#f53db99a45d9bc00ce94db8a35efa7c3c144a58c" - integrity sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ== - -"@rollup/rollup-linux-powerpc64le-gnu@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz#cbb0837408fe081ce3435cf3730e090febafc9bf" - integrity sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA== - -"@rollup/rollup-linux-riscv64-gnu@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz#8ed09c1d1262ada4c38d791a28ae0fea28b80cc9" - integrity sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg== - -"@rollup/rollup-linux-s390x-gnu@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz#938138d3c8e0c96f022252a28441dcfb17afd7ec" - integrity sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg== - -"@rollup/rollup-linux-x64-gnu@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz#1a7481137a54740bee1ded4ae5752450f155d942" - integrity sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w== - -"@rollup/rollup-linux-x64-musl@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz#f1186afc601ac4f4fc25fac4ca15ecbee3a1874d" - integrity sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg== - -"@rollup/rollup-win32-arm64-msvc@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz#ed6603e93636a96203c6915be4117245c1bd2daf" - integrity sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA== - -"@rollup/rollup-win32-ia32-msvc@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz#14e0b404b1c25ebe6157a15edb9c46959ba74c54" - integrity sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg== - -"@rollup/rollup-win32-x64-msvc@4.18.0": - version "4.18.0" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz#5d694d345ce36b6ecf657349e03eb87297e68da4" - integrity sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g== +"@rollup/rollup-android-arm-eabi@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.2.tgz#6b991cb44bf69e50163528ea85bed545330ba821" + integrity sha512-OHflWINKtoCFSpm/WmuQaWW4jeX+3Qt3XQDepkkiFTsoxFc5BpF3Z5aDxFZgBqRjO6ATP5+b1iilp4kGIZVWlA== + +"@rollup/rollup-android-arm64@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.2.tgz#5d3c8c2f9742d62ba258cc378bd2d4720f0c431c" + integrity sha512-k0OC/b14rNzMLDOE6QMBCjDRm3fQOHAL8Ldc9bxEWvMo4Ty9RY6rWmGetNTWhPo+/+FNd1lsQYRd0/1OSix36A== + +"@rollup/rollup-darwin-arm64@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.2.tgz#8eac8682a34a705bb6a57eb3e739fd6bbedfabed" + integrity sha512-IIARRgWCNWMTeQH+kr/gFTHJccKzwEaI0YSvtqkEBPj7AshElFq89TyreKNFAGh5frLfDCbodnq+Ye3dqGKPBw== + +"@rollup/rollup-darwin-x64@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.2.tgz#70a9953fc624bd7f645901f4250f6b5807ac7e92" + integrity sha512-52udDMFDv54BTAdnw+KXNF45QCvcJOcYGl3vQkp4vARyrcdI/cXH8VXTEv/8QWfd6Fru8QQuw1b2uNersXOL0g== + +"@rollup/rollup-linux-arm-gnueabihf@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.2.tgz#8f6c4ff4c4972413ff94345080380d4e3caa3c69" + integrity sha512-r+SI2t8srMPYZeoa1w0o/AfoVt9akI1ihgazGYPQGRilVAkuzMGiTtexNZkrPkQsyFrvqq/ni8f3zOnHw4hUbA== + +"@rollup/rollup-linux-arm-musleabihf@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.2.tgz#5d3c0fe5ea5ddf2feb511b3cb031df17eaa7e33d" + integrity sha512-+tYiL4QVjtI3KliKBGtUU7yhw0GMcJJuB9mLTCEauHEsqfk49gtUBXGtGP3h1LW8MbaTY6rSFIQV1XOBps1gBA== + +"@rollup/rollup-linux-arm64-gnu@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.2.tgz#b7f104388b2f5624d9f8adfff10ba59af8ab8ed1" + integrity sha512-OR5DcvZiYN75mXDNQQxlQPTv4D+uNCUsmSCSY2FolLf9W5I4DSoJyg7z9Ea3TjKfhPSGgMJiey1aWvlWuBzMtg== + +"@rollup/rollup-linux-arm64-musl@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.2.tgz#6d5ca6d3904309bec285ea5202d589cebb93dee4" + integrity sha512-Hw3jSfWdUSauEYFBSFIte6I8m6jOj+3vifLg8EU3lreWulAUpch4JBjDMtlKosrBzkr0kwKgL9iCfjA8L3geoA== + +"@rollup/rollup-linux-powerpc64le-gnu@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.2.tgz#4df9be1396ea9eb0ca99fd0f2e858008d7f063e3" + integrity sha512-rhjvoPBhBwVnJRq/+hi2Q3EMiVF538/o9dBuj9TVLclo9DuONqt5xfWSaE6MYiFKpo/lFPJ/iSI72rYWw5Hc7w== + +"@rollup/rollup-linux-riscv64-gnu@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.2.tgz#80d63c5562915a2f8616a04251fcaee0218112b0" + integrity sha512-EAz6vjPwHHs2qOCnpQkw4xs14XJq84I81sDRGPEjKPFVPBw7fwvtwhVjcZR6SLydCv8zNK8YGFblKWd/vRmP8g== + +"@rollup/rollup-linux-s390x-gnu@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.2.tgz#ef62e9bc5cc3b84fcfe96ec0a42d1989691217b3" + integrity sha512-IJSUX1xb8k/zN9j2I7B5Re6B0NNJDJ1+soezjNojhT8DEVeDNptq2jgycCOpRhyGj0+xBn7Cq+PK7Q+nd2hxLA== + +"@rollup/rollup-linux-x64-gnu@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.2.tgz#6a275282a0080fee98ddd9fda0de23c4c6bafd48" + integrity sha512-OgaToJ8jSxTpgGkZSkwKE+JQGihdcaqnyHEFOSAU45utQ+yLruE1dkonB2SDI8t375wOKgNn8pQvaWY9kPzxDQ== + +"@rollup/rollup-linux-x64-musl@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.2.tgz#64f0c704107e6b45b26dd8c2e1ff64246e4a1251" + integrity sha512-5V3mPpWkB066XZZBgSd1lwozBk7tmOkKtquyCJ6T4LN3mzKENXyBwWNQn8d0Ci81hvlBw5RoFgleVpL6aScLYg== + +"@rollup/rollup-win32-arm64-msvc@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.2.tgz#bada17b0c5017ff58d0feba401c43ff5a646c693" + integrity sha512-ayVstadfLeeXI9zUPiKRVT8qF55hm7hKa+0N1V6Vj+OTNFfKSoUxyZvzVvgtBxqSb5URQ8sK6fhwxr9/MLmxdA== + +"@rollup/rollup-win32-ia32-msvc@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.2.tgz#a716d862f6ac39d88bdb825e27f63aeb0387cd66" + integrity sha512-Mda7iG4fOLHNsPqjWSjANvNZYoW034yxgrndof0DwCy0D3FvTjeNo+HGE6oGWgvcLZNLlcp0hLEFcRs+UGsMLg== + +"@rollup/rollup-win32-x64-msvc@4.19.2": + version "4.19.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.2.tgz#d67206c5f2e4b2832ce360bbbde194e96d16dc51" + integrity sha512-DPi0ubYhSow/00YqmG1jWm3qt1F8aXziHc/UNy8bo9cpCacqhuWu+iSq/fp2SyEQK7iYTZ60fBU9cat3MXTjIQ== "@sideway/address@^4.1.5": version "4.1.5" @@ -1989,9 +1734,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" - integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== + version "7.20.6" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7" + integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== dependencies: "@babel/types" "^7.20.7" @@ -2067,9 +1812,9 @@ "@types/d3-dsv" "*" "@types/d3-force@*": - version "3.0.9" - resolved "https://registry.yarnpkg.com/@types/d3-force/-/d3-force-3.0.9.tgz#dd96ccefba4386fe4ff36b8e4ee4e120c21fcf29" - integrity sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA== + version "3.0.10" + resolved "https://registry.yarnpkg.com/@types/d3-force/-/d3-force-3.0.10.tgz#6dc8fc6e1f35704f3b057090beeeb7ac674bff1a" + integrity sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw== "@types/d3-format@*": version "3.0.4" @@ -2270,13 +2015,13 @@ integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== "@types/node@*": - version "20.12.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.7.tgz#04080362fa3dd6c5822061aa3124f5c152cff384" - integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== + version "22.0.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.0.2.tgz#9fb1a2b31970871e8bf696f0e8a40d2e6d2bd04e" + integrity sha512-yPL6DyFwY5PiMVEwymNeqUTKsDczQBJ/5T7W/46RwLU/VH+AA8aT5TZkvBviLKLbbm0hlfftEkGrNzfRk/fofQ== dependencies: - undici-types "~5.26.4" + undici-types "~6.11.1" -"@types/normalize-package-data@^2.4.0", "@types/normalize-package-data@^2.4.1": +"@types/normalize-package-data@^2.4.0", "@types/normalize-package-data@^2.4.1", "@types/normalize-package-data@^2.4.3": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== @@ -2291,7 +2036,7 @@ resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== -"@types/semver@^7.3.12": +"@types/semver@^7.3.12", "@types/semver@^7.5.5": version "7.5.8" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== @@ -2320,30 +2065,30 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^7.13.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.15.0.tgz#8eaf396ac2992d2b8f874b68eb3fcd6b179cb7f3" - integrity sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA== +"@typescript-eslint/eslint-plugin@^7.17.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz#b16d3cf3ee76bf572fdf511e79c248bdec619ea3" + integrity sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "7.15.0" - "@typescript-eslint/type-utils" "7.15.0" - "@typescript-eslint/utils" "7.15.0" - "@typescript-eslint/visitor-keys" "7.15.0" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/type-utils" "7.18.0" + "@typescript-eslint/utils" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@^7.13.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.15.0.tgz#f4a536e5fc6a1c05c82c4d263a2bfad2da235c80" - integrity sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A== +"@typescript-eslint/parser@^7.17.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.18.0.tgz#83928d0f1b7f4afa974098c64b5ce6f9051f96a0" + integrity sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg== dependencies: - "@typescript-eslint/scope-manager" "7.15.0" - "@typescript-eslint/types" "7.15.0" - "@typescript-eslint/typescript-estree" "7.15.0" - "@typescript-eslint/visitor-keys" "7.15.0" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/typescript-estree" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" debug "^4.3.4" "@typescript-eslint/scope-manager@5.62.0": @@ -2354,21 +2099,21 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/scope-manager@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.15.0.tgz#201b34b0720be8b1447df17b963941bf044999b2" - integrity sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw== +"@typescript-eslint/scope-manager@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz#c928e7a9fc2c0b3ed92ab3112c614d6bd9951c83" + integrity sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA== dependencies: - "@typescript-eslint/types" "7.15.0" - "@typescript-eslint/visitor-keys" "7.15.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" -"@typescript-eslint/type-utils@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.15.0.tgz#5b83c904c6de91802fb399305a50a56d10472c39" - integrity sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg== +"@typescript-eslint/type-utils@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz#2165ffaee00b1fbbdd2d40aa85232dab6998f53b" + integrity sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA== dependencies: - "@typescript-eslint/typescript-estree" "7.15.0" - "@typescript-eslint/utils" "7.15.0" + "@typescript-eslint/typescript-estree" "7.18.0" + "@typescript-eslint/utils" "7.18.0" debug "^4.3.4" ts-api-utils "^1.3.0" @@ -2377,10 +2122,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== -"@typescript-eslint/types@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.15.0.tgz#fb894373a6e3882cbb37671ffddce44f934f62fc" - integrity sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw== +"@typescript-eslint/types@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9" + integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -2395,13 +2140,13 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.15.0.tgz#e323bfa3966e1485b638ce751f219fc1f31eba37" - integrity sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ== +"@typescript-eslint/typescript-estree@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz#b5868d486c51ce8f312309ba79bdb9f331b37931" + integrity sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA== dependencies: - "@typescript-eslint/types" "7.15.0" - "@typescript-eslint/visitor-keys" "7.15.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -2409,15 +2154,15 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.15.0.tgz#9e6253c4599b6e7da2fb64ba3f549c73eb8c1960" - integrity sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA== +"@typescript-eslint/utils@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f" + integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "7.15.0" - "@typescript-eslint/types" "7.15.0" - "@typescript-eslint/typescript-estree" "7.15.0" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/typescript-estree" "7.18.0" "@typescript-eslint/utils@^5.10.0": version "5.62.0" @@ -2441,12 +2186,12 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.15.0.tgz#1da0726201a859343fe6a05742a7c1792fff5b66" - integrity sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw== +"@typescript-eslint/visitor-keys@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz#0564629b6124d67607378d0f0332a0495b25e7d7" + integrity sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg== dependencies: - "@typescript-eslint/types" "7.15.0" + "@typescript-eslint/types" "7.18.0" eslint-visitor-keys "^3.4.3" "@ungap/structured-clone@^1.2.0": @@ -2486,9 +2231,9 @@ acorn-jsx@^5.3.2: integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn@^8.8.2, acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== add-stream@^1.0.0: version "1.0.0" @@ -2544,25 +2289,15 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.13.0.tgz#a3939eaec9fb80d217ddf0c3376948c023f28c91" - integrity sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA== +ajv@^8.0.0, ajv@^8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== dependencies: fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" - uri-js "^4.4.1" - -ajv@^8.16.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.16.0.tgz#22e2a92b94f005f7e0f9c9d39652ef0b8f6f0cb4" - integrity sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw== - dependencies: - fast-deep-equal "^3.1.3" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.4.1" ansi-align@^3.0.1: version "3.0.1" @@ -2665,14 +2400,6 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-buffer-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" - integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== - dependencies: - call-bind "^1.0.5" - is-array-buffer "^3.0.4" - array-ify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" @@ -2683,32 +2410,6 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.map@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.7.tgz#82fa4d6027272d1fca28a63bbda424d0185d78a7" - integrity sha512-XpcFfLoBEAhezrrNw1V+yLXkE7M6uR7xJEsxbG6c/V9v043qurwVJB9r9UTnoSioFDoz1i1VOydpWGmJpfVZbg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-array-method-boxes-properly "^1.0.0" - es-object-atoms "^1.0.0" - is-string "^1.0.7" - -arraybuffer.prototype.slice@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" - integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== - dependencies: - array-buffer-byte-length "^1.0.1" - call-bind "^1.0.5" - define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.2.1" - get-intrinsic "^1.2.3" - is-array-buffer "^3.0.4" - is-shared-array-buffer "^1.0.2" - arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -2728,22 +2429,20 @@ async-retry@1.3.3: dependencies: retry "0.13.1" +async@^3.2.3: + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -available-typed-arrays@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - axios@^1.6.1: - version "1.6.8" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" - integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== + version "1.7.3" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.3.tgz#a1125f2faf702bc8e8f2104ec3a76fab40257d85" + integrity sha512-Ar7ND9pU99eJ9GpoGQKhKf58GpUOgnzuaB7ueNQ5BMi0p+LZ5oaEnfF999fAArcTIBwXTCHAmGcHOZJaWPq9Nw== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" @@ -2784,12 +2483,12 @@ babel-plugin-jest-hoist@^29.6.3: "@types/babel__traverse" "^7.0.6" babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.10" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz#276f41710b03a64f6467433cab72cbc2653c38b1" - integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ== + version "0.4.11" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33" + integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.1" + "@babel/helper-define-polyfill-provider" "^0.6.2" semver "^6.3.1" babel-plugin-polyfill-corejs3@^0.10.4: @@ -2801,11 +2500,11 @@ babel-plugin-polyfill-corejs3@^0.10.4: core-js-compat "^3.36.1" babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz#4f08ef4c62c7a7f66a35ed4c0d75e30506acc6be" - integrity sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g== + version "0.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz#addc47e240edd1da1058ebda03021f382bba785e" + integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.1" + "@babel/helper-define-polyfill-provider" "^0.6.2" babel-preset-current-node-syntax@^1.0.0: version "1.0.1" @@ -2910,22 +2609,22 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^3.0.2: +braces@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: fill-range "^7.1.1" -browserslist@^4.22.2, browserslist@^4.23.0: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== +browserslist@^4.23.0, browserslist@^4.23.1: + version "4.23.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" + integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" + caniuse-lite "^1.0.30001646" + electron-to-chromium "^1.5.4" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" bs-logger@0.x: version "0.2.6" @@ -2994,17 +2693,6 @@ cacheable-request@^10.2.8: normalize-url "^8.0.0" responselike "^3.0.0" -call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -3035,10 +2723,10 @@ camelcase@^7.0.0, camelcase@^7.0.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== -caniuse-lite@^1.0.30001587: - version "1.0.30001608" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001608.tgz#7ae6e92ffb300e4b4ec2f795e0abab456ec06cc0" - integrity sha512-cjUJTQkk9fQlJR2s4HMuPMvTiRggl0rAVMtthQuyOlDWuqHXqN8azLq+pi8B2TjwKJ32diHjUqRIKeFX4z1FoA== +caniuse-lite@^1.0.30001646: + version "1.0.30001646" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001646.tgz#d472f2882259ba032dd73ee069ff01bfd059b25d" + integrity sha512-dRg00gudiBDDTmUhClSdv3hqRfpbOnU28IpI1T6PBTLWa+kOj0681C8uML3PifYfREuBrVjDGhL3adYpBT6spw== canvas@^2.11.2: version "2.11.2" @@ -3086,7 +2774,7 @@ chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -3145,9 +2833,9 @@ ci-info@^3.2.0: integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + version "1.3.1" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz#c485341ae8fd999ca4ee5af2d7a1c9ae01e0099c" + integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q== clean-stack@^4.0.0: version "4.2.0" @@ -3265,9 +2953,9 @@ commander@7: integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== commander@^12.0.0: - version "12.0.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-12.0.0.tgz#b929db6df8546080adfd004ab215ed48cf6f2592" - integrity sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA== + version "12.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" + integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== commander@^5.1.0: version "5.1.0" @@ -3363,19 +3051,31 @@ conventional-changelog-angular@^7.0.0: dependencies: compare-func "^2.0.0" +conventional-changelog-angular@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz#5701386850f0e0c2e630b43ee7821d322d87e7a6" + integrity sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA== + dependencies: + compare-func "^2.0.0" + conventional-changelog-atom@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-4.0.0.tgz#291fd1583517d4e7131dba779ad9fa238359daa1" integrity sha512-q2YtiN7rnT1TGwPTwjjBSIPIzDJCRE+XAUahWxnh+buKK99Kks4WLMHoexw38GXx9OUxAsrp44f9qXe5VEMYhw== -conventional-changelog-cli@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-4.1.0.tgz#e3abc622f82d8923a8603eec19411fae0048e72b" - integrity sha512-MscvILWZ6nWOoC+p/3Nn3D2cVLkjeQjyZPUr0bQ+vUORE/SPrkClJh8BOoMNpS4yk+zFJ5LlgXACxH6XGQoRXA== +conventional-changelog-atom@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-5.0.0.tgz#f3e06e06244bd0aef2e5f09ed590933d948e809c" + integrity sha512-WfzCaAvSCFPkznnLgLnfacRAzjgqjLUjvf3MftfsJzQdDICqkOOpcMtdJF3wTerxSpv2IAAjX8doM3Vozqle3g== + +conventional-changelog-cli@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-5.0.0.tgz#feda8f20873347f73042a810db1c03377c39068d" + integrity sha512-9Y8fucJe18/6ef6ZlyIlT2YQUbczvoQZZuYmDLaGvcSBP+M6h+LAvf7ON7waRxKJemcCII8Yqu5/8HEfskTxJQ== dependencies: add-stream "^1.0.0" - conventional-changelog "^5.1.0" - meow "^12.0.1" + conventional-changelog "^6.0.0" + meow "^13.0.0" tempfile "^5.0.0" conventional-changelog-codemirror@^4.0.0: @@ -3383,6 +3083,11 @@ conventional-changelog-codemirror@^4.0.0: resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-4.0.0.tgz#3421aced2377552229cef454447aa06e2a319516" integrity sha512-hQSojc/5imn1GJK3A75m9hEZZhc3urojA5gMpnar4JHmgLnuM3CUIARPpEk86glEKr3c54Po3WV/vCaO/U8g3Q== +conventional-changelog-codemirror@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-5.0.0.tgz#994ced326cf358c5e549f5ac59bf3f8cdc09f783" + integrity sha512-8gsBDI5Y3vrKUCxN6Ue8xr6occZ5nsDEc4C7jO/EovFGozx8uttCAyfhRrvoUAWi2WMm3OmYs+0mPJU7kQdYWQ== + conventional-changelog-conventionalcommits@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz#aa5da0f1b2543094889e8cf7616ebe1a8f5c70d5" @@ -3390,6 +3095,13 @@ conventional-changelog-conventionalcommits@^7.0.2: dependencies: compare-func "^2.0.0" +conventional-changelog-conventionalcommits@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-8.0.0.tgz#3fa2857c878701e7f0329db5a1257cb218f166fe" + integrity sha512-eOvlTO6OcySPyyyk8pKz2dP4jjElYunj9hn9/s0OB+gapTO8zwS9UQWrZ1pmF2hFs3vw1xhonOLGcGjy/zgsuA== + dependencies: + compare-func "^2.0.0" + conventional-changelog-core@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-7.0.0.tgz#d8879ebb8692cd1fa8126c209e1b3af34d94e113" @@ -3406,26 +3118,62 @@ conventional-changelog-core@^7.0.0: read-pkg "^8.0.0" read-pkg-up "^10.0.0" +conventional-changelog-core@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-8.0.0.tgz#5166eea9ef58a659fc97b065525f4499a0d3f311" + integrity sha512-EATUx5y9xewpEe10UEGNpbSHRC6cVZgO+hXQjofMqpy+gFIrcGvH3Fl6yk2VFKh7m+ffenup2N7SZJYpyD9evw== + dependencies: + "@hutson/parse-repository-url" "^5.0.0" + add-stream "^1.0.0" + conventional-changelog-writer "^8.0.0" + conventional-commits-parser "^6.0.0" + git-raw-commits "^5.0.0" + git-semver-tags "^8.0.0" + hosted-git-info "^7.0.0" + normalize-package-data "^6.0.0" + read-package-up "^11.0.0" + read-pkg "^9.0.0" + conventional-changelog-ember@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-4.0.0.tgz#d90409083a840cd8955bf8257b17498fc539db6a" integrity sha512-D0IMhwcJUg1Y8FSry6XAplEJcljkHVlvAZddhhsdbL1rbsqRsMfGx/PIkPYq0ru5aDgn+OxhQ5N5yR7P9mfsvA== +conventional-changelog-ember@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-5.0.0.tgz#cca926a68aa9bc2a6370b211906b1dea82564567" + integrity sha512-RPflVfm5s4cSO33GH/Ey26oxhiC67akcxSKL8CLRT3kQX2W3dbE19sSOM56iFqUJYEwv9mD9r6k79weWe1urfg== + conventional-changelog-eslint@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-5.0.0.tgz#d7f428f787f079b3ce08ccc76ed46d4b1852f41b" integrity sha512-6JtLWqAQIeJLn/OzUlYmzd9fKeNSWmQVim9kql+v4GrZwLx807kAJl3IJVc3jTYfVKWLxhC3BGUxYiuVEcVjgA== +conventional-changelog-eslint@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-6.0.0.tgz#9d37abcf6ade84031ce01093be7447f2cd73098b" + integrity sha512-eiUyULWjzq+ybPjXwU6NNRflApDWlPEQEHvI8UAItYW/h22RKkMnOAtfCZxMmrcMO1OKUWtcf2MxKYMWe9zJuw== + conventional-changelog-express@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-4.0.0.tgz#5f50086bae1cd9887959af1fa3d5244fd1f55974" integrity sha512-yWyy5c7raP9v7aTvPAWzqrztACNO9+FEI1FSYh7UP7YT1AkWgv5UspUeB5v3Ibv4/o60zj2o9GF2tqKQ99lIsw== +conventional-changelog-express@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-5.0.0.tgz#e08fb0f2c27bc5319ce7d8e78c9e9fb99ae1feb5" + integrity sha512-D8Q6WctPkQpvr2HNCCmwU5GkX22BVHM0r4EW8vN0230TSyS/d6VQJDAxGb84lbg0dFjpO22MwmsikKL++Oo/oQ== + conventional-changelog-jquery@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-5.0.0.tgz#d56e5cc9158b5035669ac6e0f773c3e593621887" integrity sha512-slLjlXLRNa/icMI3+uGLQbtrgEny3RgITeCxevJB+p05ExiTgHACP5p3XiMKzjBn80n+Rzr83XMYfRInEtCPPw== +conventional-changelog-jquery@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-6.0.0.tgz#5b6bd8b4a720363dc6c2162a3f751961c55256b0" + integrity sha512-2kxmVakyehgyrho2ZHBi90v4AHswkGzHuTaoH40bmeNqUt20yEkDOSpw8HlPBfvEQBwGtbE+5HpRwzj6ac2UfA== + conventional-changelog-jshint@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-4.0.0.tgz#95aec357f9122b214671381ef94124287208ece9" @@ -3433,11 +3181,23 @@ conventional-changelog-jshint@^4.0.0: dependencies: compare-func "^2.0.0" +conventional-changelog-jshint@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-5.0.0.tgz#42bcc629b9c75bb118364754d120ae49fd742b85" + integrity sha512-gGNphSb/opc76n2eWaO6ma4/Wqu3tpa2w7i9WYqI6Cs2fncDSI2/ihOfMvXveeTTeld0oFvwMVNV+IYQIk3F3g== + dependencies: + compare-func "^2.0.0" + conventional-changelog-preset-loader@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-4.1.0.tgz#996bc40d516471c5bf8248fdc30222563b9bcfe6" integrity sha512-HozQjJicZTuRhCRTq4rZbefaiCzRM2pr6u2NL3XhrmQm4RMnDXfESU6JKu/pnKwx5xtdkYfNCsbhN5exhiKGJA== +conventional-changelog-preset-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-5.0.0.tgz#922ad617c13ad3243bef967cfc0f8373893c216d" + integrity sha512-SetDSntXLk8Jh1NOAl1Gu5uLiCNSYenB5tm0YVeZKePRIgDW9lQImromTwLa3c/Gae298tsgOM+/CYT9XAl0NA== + conventional-changelog-writer@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz#e64ef74fa8e773cab4124af217f3f02b29eb0a9c" @@ -3450,6 +3210,17 @@ conventional-changelog-writer@^7.0.0: semver "^7.5.2" split2 "^4.0.0" +conventional-changelog-writer@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-8.0.0.tgz#81522ed40400a4ca8ab78a42794aae9667c745ae" + integrity sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA== + dependencies: + "@types/semver" "^7.5.5" + conventional-commits-filter "^5.0.0" + handlebars "^4.7.7" + meow "^13.0.0" + semver "^7.5.2" + conventional-changelog@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-5.1.0.tgz#04b36a5ad0518e0323e9d629e3b86e34f7abb7eb" @@ -3467,11 +3238,33 @@ conventional-changelog@^5.1.0: conventional-changelog-jshint "^4.0.0" conventional-changelog-preset-loader "^4.1.0" +conventional-changelog@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-6.0.0.tgz#ef941d2fde727be20e0f3a342e4e3b235d6e8663" + integrity sha512-tuUH8H/19VjtD9Ig7l6TQRh+Z0Yt0NZ6w/cCkkyzUbGQTnUEmKfGtkC9gGfVgCfOL1Rzno5NgNF4KY8vR+Jo3w== + dependencies: + conventional-changelog-angular "^8.0.0" + conventional-changelog-atom "^5.0.0" + conventional-changelog-codemirror "^5.0.0" + conventional-changelog-conventionalcommits "^8.0.0" + conventional-changelog-core "^8.0.0" + conventional-changelog-ember "^5.0.0" + conventional-changelog-eslint "^6.0.0" + conventional-changelog-express "^5.0.0" + conventional-changelog-jquery "^6.0.0" + conventional-changelog-jshint "^5.0.0" + conventional-changelog-preset-loader "^5.0.0" + conventional-commits-filter@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz#845d713e48dc7d1520b84ec182e2773c10c7bf7f" integrity sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A== +conventional-commits-filter@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz#72811f95d379e79d2d39d5c0c53c9351ef284e86" + integrity sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q== + conventional-commits-parser@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz#57f3594b81ad54d40c1b4280f04554df28627d9a" @@ -3482,6 +3275,13 @@ conventional-commits-parser@^5.0.0: meow "^12.0.1" split2 "^4.0.0" +conventional-commits-parser@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-6.0.0.tgz#74e3be5344d8cd99f7c3353da2efa1d1dd618061" + integrity sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA== + dependencies: + meow "^13.0.0" + conventional-recommended-bump@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-9.0.0.tgz#2910b08b10e6c705301335ab916e7438eba5907f" @@ -3499,10 +3299,10 @@ convert-source-map@^2.0.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -core-js-compat@^3.31.0, core-js-compat@^3.36.1: - version "3.36.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.1.tgz#1818695d72c99c25d621dca94e6883e190cea3c8" - integrity sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA== +core-js-compat@^3.36.1, core-js-compat@^3.37.1: + version "3.37.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.1.tgz#c844310c7852f4bdf49b8d339730b97e17ff09ee" + integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== dependencies: browserslist "^4.23.0" @@ -3844,33 +3644,6 @@ data-uri-to-buffer@^6.0.2: resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz#8a58bb67384b261a38ef18bea1810cb01badd28b" integrity sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw== -data-view-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" - integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" - integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" - integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - debug@2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -3878,7 +3651,14 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" + integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== + dependencies: + ms "2.1.2" + +debug@4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -3918,9 +3698,9 @@ decompress-response@^6.0.0: mimic-response "^3.1.0" dedent@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" - integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== + version "1.5.3" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" + integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== deep-extend@^0.6.0: version "0.6.0" @@ -3962,29 +3742,11 @@ defer-to-connect@^2.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== -define-data-property@^1.0.1, define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - define-lazy-prop@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - degenerator@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-5.0.1.tgz#9403bf297c6dad9a1ece409b37db27954f91f2f5" @@ -4126,10 +3888,17 @@ eastasianwidth@^0.2.0: resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== -electron-to-chromium@^1.4.668: - version "1.4.731" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.731.tgz#d3dc19f359045b750a1fb0bc42315a502d950187" - integrity sha512-+TqVfZjpRz2V/5SPpmJxq9qK620SC5SqCnxQIOi7i/U08ZDcTpKbT7Xjj9FU5CbXTMUb4fywbIr8C7cGv4hcjw== +ejs@^3.1.10: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" + +electron-to-chromium@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz#cd477c830dd6fca41fbd5465c1ff6ce08ac22343" + integrity sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA== emittery@^0.13.1: version "0.13.1" @@ -4175,116 +3944,7 @@ error-ex@^1.3.1, error-ex@^1.3.2: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: - version "1.23.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" - integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== - dependencies: - array-buffer-byte-length "^1.0.1" - arraybuffer.prototype.slice "^1.0.3" - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - data-view-buffer "^1.0.1" - data-view-byte-length "^1.0.1" - data-view-byte-offset "^1.0.0" - es-define-property "^1.0.0" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-set-tostringtag "^2.0.3" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.4" - get-symbol-description "^1.0.2" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - hasown "^2.0.2" - internal-slot "^1.0.7" - is-array-buffer "^3.0.4" - is-callable "^1.2.7" - is-data-view "^1.0.1" - is-negative-zero "^2.0.3" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.3" - is-string "^1.0.7" - is-typed-array "^1.1.13" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.5" - regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.2" - safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.9" - string.prototype.trimend "^1.0.8" - string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.2" - typed-array-byte-length "^1.0.1" - typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.6" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.15" - -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.2.1, es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-get-iterator@^1.0.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" - integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - is-arguments "^1.1.1" - is-map "^2.0.2" - is-set "^2.0.2" - is-string "^1.0.7" - isarray "^2.0.5" - stop-iteration-iterator "^1.0.0" - -es-object-atoms@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" - integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" - integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== - dependencies: - get-intrinsic "^1.2.4" - has-tostringtag "^1.0.2" - hasown "^2.0.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: +escalade@^3.1.1, escalade@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== @@ -4337,13 +3997,13 @@ eslint-plugin-jest@^27.9.0: dependencies: "@typescript-eslint/utils" "^5.10.0" -eslint-plugin-prettier@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz#17cfade9e732cef32b5f5be53bd4e07afd8e67e1" - integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== +eslint-plugin-prettier@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz#d1c8f972d8f60e414c25465c163d16f209411f95" + integrity sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw== dependencies: prettier-linter-helpers "^1.0.0" - synckit "^0.8.6" + synckit "^0.9.1" eslint-scope@^5.1.1: version "5.1.1" @@ -4425,9 +4085,9 @@ esprima@^4.0.0, esprima@^4.0.1: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== dependencies: estraverse "^5.1.0" @@ -4567,6 +4227,11 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== +fast-uri@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" + integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== + fast-url-parser@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" @@ -4618,6 +4283,13 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + fill-range@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" @@ -4649,6 +4321,11 @@ find-process@^1.4.7: commander "^5.1.0" debug "^4.1.1" +find-up-simple@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-up-simple/-/find-up-simple-1.0.0.tgz#21d035fde9fdbd56c8f4d2f63f32fd93a1cfc368" + integrity sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw== + find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -4692,13 +4369,6 @@ follow-redirects@^1.15.6: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - foreground-child@^3.1.0: version "3.2.1" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.2.1.tgz#767004ccf3a5b30df39bed90718bab43fe0a59f7" @@ -4769,21 +4439,6 @@ function-bind@^1.1.2: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - gauge@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" @@ -4814,17 +4469,6 @@ get-east-asian-width@^1.0.0: resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e" integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" @@ -4847,15 +4491,6 @@ get-stream@^8.0.1: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== -get-symbol-description@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" - integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== - dependencies: - call-bind "^1.0.5" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - get-uri@^6.0.1: version "6.0.3" resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-6.0.3.tgz#0d26697bc13cf91092e519aa63aa60ee5b6f385a" @@ -4875,6 +4510,14 @@ git-raw-commits@^4.0.0: meow "^12.0.1" split2 "^4.0.0" +git-raw-commits@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-5.0.0.tgz#38af4301e70c17be03fec01a37a6cd90ce0db04e" + integrity sha512-I2ZXrXeOc0KrCvC7swqtIFXFN+rbjnC7b2T943tvemIOVNl+XP8YnA9UVwqFhzzLClnSA60KR/qEjLpXzs73Qg== + dependencies: + "@conventional-changelog/git-client" "^1.0.0" + meow "^13.0.0" + git-semver-tags@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-7.0.1.tgz#74426e7d7710e5a263655e78b4c651eed804d63e" @@ -4883,6 +4526,14 @@ git-semver-tags@^7.0.0: meow "^12.0.1" semver "^7.5.2" +git-semver-tags@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-8.0.0.tgz#745ee2d934f74c70014d0ed617e18f4712950e32" + integrity sha512-N7YRIklvPH3wYWAR2vysaqGLPRcpwQ0GKdlqTiVN5w1UmCdaeY3K8s6DMKRCh54DDdzyt/OAB6C8jgVtb7Y2Fg== + dependencies: + "@conventional-changelog/git-client" "^1.0.0" + meow "^13.0.0" + git-up@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/git-up/-/git-up-7.0.0.tgz#bace30786e36f56ea341b6f69adfd83286337467" @@ -4912,10 +4563,10 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob@^10.4.1: - version "10.4.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.2.tgz#bed6b95dade5c1f80b4434daced233aee76160e5" - integrity sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w== +glob@^10.3.12, glob@^10.4.1: + version "10.4.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== dependencies: foreground-child "^3.1.0" jackspeak "^3.1.2" @@ -4936,23 +4587,12 @@ glob@^7.0.0, glob@^7.1.3, glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.3: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -global-dirs@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" - integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== +global-directory@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/global-directory/-/global-directory-4.0.1.tgz#4d7ac7cfd2cb73f304c53b8810891748df5e361e" + integrity sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q== dependencies: - ini "2.0.0" + ini "4.1.1" global-modules@^0.2.3: version "0.2.3" @@ -4984,17 +4624,10 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -globby@14.0.1: - version "14.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-14.0.1.tgz#a1b44841aa7f4c6d8af2bc39951109d77301959b" - integrity sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ== +globby@14.0.2: + version "14.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-14.0.2.tgz#06554a54ccfe9264e5a9ff8eded46aa1e306482f" + integrity sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw== dependencies: "@sindresorhus/merge-streams" "^2.1.0" fast-glob "^3.3.2" @@ -5026,13 +4659,6 @@ globby@^13.1.2: merge2 "^1.4.1" slash "^4.0.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - got@13.0.0: version "13.0.0" resolved "https://registry.yarnpkg.com/got/-/got-13.0.0.tgz#a2402862cef27a5d0d1b07c0fb25d12b58175422" @@ -5050,23 +4676,6 @@ got@13.0.0: p-cancelable "^3.0.0" responselike "^3.0.0" -got@^12.1.0: - version "12.6.1" - resolved "https://registry.yarnpkg.com/got/-/got-12.6.1.tgz#8869560d1383353204b5a9435f782df9c091f549" - integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== - dependencies: - "@sindresorhus/is" "^5.2.0" - "@szmarczak/http-timer" "^5.0.1" - cacheable-lookup "^7.0.0" - cacheable-request "^10.2.8" - decompress-response "^6.0.0" - form-data-encoder "^2.1.2" - get-stream "^6.0.1" - http2-wrapper "^2.1.10" - lowercase-keys "^3.0.0" - p-cancelable "^3.0.0" - responselike "^3.0.0" - graceful-fs@4.2.10: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" @@ -5113,11 +4722,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -5128,46 +4732,22 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1, has-proto@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== -hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: +hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" -highlight.js@^11.9.0: - version "11.9.0" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-11.9.0.tgz#04ab9ee43b52a41a047432c8103e2158a1b8b5b0" - integrity sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw== +highlight.js@^11.10.0: + version "11.10.0" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-11.10.0.tgz#6e3600dc4b33d6dc23d5bd94fbf72405f5892b92" + integrity sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ== homedir-polyfill@^1.0.0: version "1.0.3" @@ -5184,9 +4764,9 @@ hosted-git-info@^4.0.1: lru-cache "^6.0.0" hosted-git-info@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.1.tgz#9985fcb2700467fecf7f33a4d4874e30680b5322" - integrity sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== + version "7.0.2" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.2.tgz#9b751acac097757667f30114607ef7b661ff4f17" + integrity sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w== dependencies: lru-cache "^10.0.1" @@ -5234,10 +4814,10 @@ https-proxy-agent@5.0.1, https-proxy-agent@^5.0.0: agent-base "6" debug "4" -https-proxy-agent@^7.0.2, https-proxy-agent@^7.0.3: - version "7.0.4" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168" - integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== +https-proxy-agent@^7.0.3, https-proxy-agent@^7.0.5: + version "7.0.5" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" + integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== dependencies: agent-base "^7.0.2" debug "4" @@ -5290,9 +4870,9 @@ import-lazy@^4.0.0: integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -5307,6 +4887,11 @@ indent-string@^5.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-5.0.0.tgz#4fd2980fccaf8622d14c64d694f4cf33c81951a5" integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== +index-to-position@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/index-to-position/-/index-to-position-0.1.2.tgz#e11bfe995ca4d8eddb1ec43274488f3c201a7f09" + integrity sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g== + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -5320,29 +4905,25 @@ inherits@2, inherits@^2.0.3, inherits@^2.0.4: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== +ini@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1" + integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== ini@^1.3.4, ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -inquirer@9.2.19: - version "9.2.19" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-9.2.19.tgz#e142ebc111b6328a21eb84d8e7dd226ff824239e" - integrity sha512-WpxOT71HGsFya6/mj5PUue0sWwbpbiPfAR+332zLj/siB0QA1PZM8v3GepegFV1Op189UxHUCF6y8AySdtOMVA== +inquirer@9.3.2: + version "9.3.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-9.3.2.tgz#9bc5ced19f572e848044baa05094a498f1e448c6" + integrity sha512-+ynEbhWKhyomnaX0n2aLIMSkgSlGB5RrWbNXnEqj6mdaIydu6y40MdBjL38SAB0JcdmOaIaMua1azdjLEr3sdw== dependencies: - "@inquirer/figures" "^1.0.1" - "@ljharb/through" "^2.3.13" + "@inquirer/figures" "^1.0.3" ansi-escapes "^4.3.2" - chalk "^5.3.0" - cli-cursor "^3.1.0" cli-width "^4.1.0" external-editor "^3.1.0" - lodash "^4.17.21" mute-stream "1.0.0" ora "^5.4.1" run-async "^3.0.0" @@ -5350,15 +4931,7 @@ inquirer@9.2.19: string-width "^4.2.3" strip-ansi "^6.0.1" wrap-ansi "^6.2.0" - -internal-slot@^1.0.4, internal-slot@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" - integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== - dependencies: - es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" + yoctocolors-cjs "^2.1.1" "internmap@1 - 2": version "2.0.3" @@ -5378,42 +4951,11 @@ ip-address@^9.0.5: jsbn "1.1.0" sprintf-js "^1.1.3" -is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" - integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - is-builtin-module@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" @@ -5421,38 +4963,19 @@ is-builtin-module@^3.2.1: dependencies: builtin-modules "^3.3.0" -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - is-ci@3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - -is-core-module@^2.13.0, is-core-module@^2.5.0, is-core-module@^2.8.1: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-data-view@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" - integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== dependencies: - is-typed-array "^1.1.13" + ci-info "^3.2.0" -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== +is-core-module@^2.13.0, is-core-module@^2.5.0: + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.0.tgz#71c72ec5442ace7e76b306e9d48db361f22699ea" + integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA== dependencies: - has-tostringtag "^1.0.0" + hasown "^2.0.2" is-docker@^2.0.0: version "2.2.1" @@ -5498,13 +5021,13 @@ is-inside-container@^1.0.0: dependencies: is-docker "^3.0.0" -is-installed-globally@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== +is-installed-globally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-1.0.0.tgz#08952c43758c33d815692392f7f8437b9e436d5a" + integrity sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ== dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" + global-directory "^4.0.1" + is-path-inside "^4.0.0" is-interactive@^1.0.0: version "1.0.0" @@ -5516,33 +5039,16 @@ is-interactive@^2.0.0: resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== -is-map@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" - integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== - is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== -is-negative-zero@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" - integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== - is-npm@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-6.0.0.tgz#b59e75e8915543ca5d881ecff864077cba095261" integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -5558,7 +5064,7 @@ is-path-cwd@^3.0.0: resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-3.0.0.tgz#889b41e55c8588b1eb2a96a61d05740a674521c7" integrity sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA== -is-path-inside@^3.0.2, is-path-inside@^3.0.3: +is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== @@ -5585,26 +5091,6 @@ is-reference@1.2.1: dependencies: "@types/estree" "*" -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-set@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" - integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== - -is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" - integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== - dependencies: - call-bind "^1.0.7" - is-ssh@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2" @@ -5622,20 +5108,6 @@ is-stream@^3.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - is-text-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-2.0.0.tgz#b2484e2b720a633feb2e85b67dc193ff72c75636" @@ -5643,13 +5115,6 @@ is-text-path@^2.0.0: dependencies: text-extensions "^2.0.0" -is-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== - dependencies: - which-typed-array "^1.1.14" - is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -5670,13 +5135,6 @@ is-unicode-supported@^2.0.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz#fdf32df9ae98ff6ab2cedc155a5a6e895701c451" integrity sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q== -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - is-windows@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" @@ -5696,20 +5154,15 @@ is-wsl@^3.1.0: dependencies: is-inside-container "^1.0.0" -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -issue-parser@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/issue-parser/-/issue-parser-7.0.0.tgz#27b832c5f5967da897e08ca1949d188e98873b1a" - integrity sha512-jgAw78HO3gs9UrKqJNQvfDj9Ouy8Mhu40fbEJ8yXff4MW8+/Fcn9iFjyWUQ6SKbX8ipPk3X5A3AyfYHRu6uVLw== +issue-parser@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/issue-parser/-/issue-parser-7.0.1.tgz#8a053e5a4952c75bb216204e454b4fc7d4cc9637" + integrity sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg== dependencies: lodash.capitalize "^4.2.1" lodash.escaperegexp "^4.1.2" @@ -5734,9 +5187,9 @@ istanbul-lib-instrument@^5.0.4: semver "^6.3.0" istanbul-lib-instrument@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz#91655936cf7380e4e473383081e38478b69993b1" - integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== + version "6.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" + integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== dependencies: "@babel/core" "^7.23.9" "@babel/parser" "^7.23.9" @@ -5770,28 +5223,25 @@ istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -iterate-iterator@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.2.tgz#551b804c9eaa15b847ea6a7cdc2f5bf1ec150f91" - integrity sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw== - -iterate-value@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" - integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ== - dependencies: - es-get-iterator "^1.0.2" - iterate-iterator "^1.0.1" - jackspeak@^3.1.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.0.tgz#a75763ff36ad778ede6a156d8ee8b124de445b4a" - integrity sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw== + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== dependencies: "@isaacs/cliui" "^8.0.2" optionalDependencies: "@pkgjs/parseargs" "^0.11.0" +jake@^10.8.5: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + jest-changed-files@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" @@ -6164,9 +5614,9 @@ jest@^29.7.0: jest-cli "^29.7.0" joi@^17.11.0: - version "17.12.3" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.12.3.tgz#944646979cd3b460178547b12ba37aca8482f63d" - integrity sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g== + version "17.13.3" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.13.3.tgz#0f5cc1169c999b30d344366d384b12d92558bcec" + integrity sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA== dependencies: "@hapi/hoek" "^9.3.0" "@hapi/topo" "^5.1.0" @@ -6220,9 +5670,9 @@ json-parse-even-better-errors@^2.3.0: integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-parse-even-better-errors@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz#02bb29fb5da90b5444581749c22cedd3597c6cb0" - integrity sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg== + version "3.0.2" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz#b43d35e89c0f3be6b5fbbe9dc6c82467b30c28da" + integrity sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ== json-schema-traverse@^0.4.1: version "0.4.1" @@ -6285,12 +5735,17 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -latest-version@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-7.0.0.tgz#843201591ea81a4d404932eeb61240fe04e9e5da" - integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg== +ky@^1.2.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/ky/-/ky-1.5.0.tgz#fa2c9c11c175a6d0072e572216207a4edc895d10" + integrity sha512-bkQo+UqryW6Zmo/DsixYZE4Z9t2mzvNMhceyIhuMuInb3knm5Q+GNGMKveydJAj+Z6piN1SwI6eR/V0G+Z0BtA== + +latest-version@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-9.0.0.tgz#e91ed216e7a4badc6f73b66c65adb46c58ec6ba1" + integrity sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA== dependencies: - package-json "^8.1.0" + package-json "^10.0.0" leven@^3.1.0: version "3.1.0" @@ -6402,15 +5857,10 @@ lowercase-keys@^3.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== -lru-cache@^10.0.1: - version "10.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== - -lru-cache@^10.2.0: - version "10.3.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.3.0.tgz#4a4aaf10c84658ab70f79a85a9a3f1e1fb11196b" - integrity sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ== +lru-cache@^10.0.1, lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== lru-cache@^5.1.1: version "5.1.1" @@ -6432,16 +5882,16 @@ lru-cache@^7.14.1: integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== macos-release@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-3.2.0.tgz#dcee82b6a4932971b1538dbf6f3aabc4a903b613" - integrity sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA== + version "3.3.0" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-3.3.0.tgz#92cb67bc66d67c3fde4a9e14f5f909afa418b072" + integrity sha512-tPJQ1HeyiU2vRruNGhZ+VleWuMQRro8iFtJxYgnS4NQe+EukKF6aGiIT+7flZhISAt2iaXBCfFGvAyif7/f8nQ== magic-string@^0.30.3: - version "0.30.9" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.9.tgz#8927ae21bfdd856310e07a1bc8dd5e73cb6c251d" - integrity sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw== + version "0.30.11" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.11.tgz#301a6f93b3e8c2cb13ac1a7a673492c0dfd12954" + integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" + "@jridgewell/sourcemap-codec" "^1.5.0" make-dir@^3.1.0: version "3.1.0" @@ -6512,6 +5962,11 @@ meow@^12.0.1: resolved "https://registry.yarnpkg.com/meow/-/meow-12.1.1.tgz#e558dddbab12477b69b2e9a2728c327f191bace6" integrity sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw== +meow@^13.0.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-13.2.0.tgz#6b7d63f913f984063b3cc261b6e8800c4cd3474f" + integrity sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA== + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -6523,18 +5978,23 @@ merge2@^1.3.0, merge2@^1.4.1: integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + version "4.0.7" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" + integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== dependencies: - braces "^3.0.2" + braces "^3.0.3" picomatch "^2.3.1" -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": +mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== +"mime-db@>= 1.43.0 < 2": + version "1.53.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.53.0.tgz#3cb63cd820fc29896d9d4e8c32ab4fcd74ccb447" + integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== + mime-db@~1.33.0: version "1.33.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" @@ -6599,9 +6059,9 @@ minimatch@^5.0.1: brace-expansion "^2.0.1" minimatch@^9.0.4: - version "9.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" - integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== dependencies: brace-expansion "^2.0.1" @@ -6675,9 +6135,9 @@ mute-stream@1.0.0: integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== nan@^2.17.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.19.0.tgz#bb58122ad55a6c5bc973303908d5b16cfdd5a8c0" - integrity sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw== + version "2.20.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.20.0.tgz#08c5ea813dd54ed16e5bd6505bf42af4f7838ca3" + integrity sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw== natural-compare@^1.4.0: version "1.4.0" @@ -6739,10 +6199,10 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== nopt@^5.0.0: version "5.0.0" @@ -6762,12 +6222,11 @@ normalize-package-data@^3.0.2: validate-npm-package-license "^3.0.1" normalize-package-data@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-6.0.0.tgz#68a96b3c11edd462af7189c837b6b1064a484196" - integrity sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg== + version "6.0.2" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-6.0.2.tgz#a7bc22167fe24025412bcff0a9651eb768b03506" + integrity sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g== dependencies: hosted-git-info "^7.0.0" - is-core-module "^2.8.1" semver "^7.3.5" validate-npm-package-license "^3.0.4" @@ -6822,26 +6281,6 @@ object-assign@^4.1.0, object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - on-headers@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" @@ -6879,16 +6318,16 @@ open@10.1.0: is-wsl "^3.1.0" optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" + word-wrap "^1.2.5" ora@8.0.1: version "8.0.1" @@ -6998,20 +6437,20 @@ p-try@^2.0.0: integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== pac-proxy-agent@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz#6b9ddc002ec3ff0ba5fdf4a8a21d363bcc612d75" - integrity sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A== + version "7.0.2" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-7.0.2.tgz#0fb02496bd9fb8ae7eb11cfd98386daaac442f58" + integrity sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg== dependencies: "@tootallnate/quickjs-emscripten" "^0.23.0" agent-base "^7.0.2" debug "^4.3.4" get-uri "^6.0.1" http-proxy-agent "^7.0.0" - https-proxy-agent "^7.0.2" - pac-resolver "^7.0.0" - socks-proxy-agent "^8.0.2" + https-proxy-agent "^7.0.5" + pac-resolver "^7.0.1" + socks-proxy-agent "^8.0.4" -pac-resolver@^7.0.0: +pac-resolver@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-7.0.1.tgz#54675558ea368b64d210fd9c92a640b5f3b8abb6" integrity sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg== @@ -7024,15 +6463,15 @@ package-json-from-dist@^1.0.0: resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== -package-json@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-8.1.1.tgz#3e9948e43df40d1e8e78a85485f1070bf8f03dc8" - integrity sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA== +package-json@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-10.0.1.tgz#e49ee07b8de63b638e7f1b5bb353733e428fe7d7" + integrity sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg== dependencies: - got "^12.1.0" - registry-auth-token "^5.0.1" - registry-url "^6.0.0" - semver "^7.3.7" + ky "^1.2.0" + registry-auth-token "^5.0.2" + registry-url "^6.0.1" + semver "^7.6.0" pako@^2.1.0: version "2.1.0" @@ -7067,6 +6506,15 @@ parse-json@^7.0.0: lines-and-columns "^2.0.3" type-fest "^3.8.0" +parse-json@^8.0.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-8.1.0.tgz#91cdc7728004e955af9cb734de5684733b24a717" + integrity sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA== + dependencies: + "@babel/code-frame" "^7.22.13" + index-to-position "^0.1.2" + type-fest "^4.7.1" + parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" @@ -7164,10 +6612,10 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.0, picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" @@ -7186,11 +6634,6 @@ pkg-dir@4.2.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -7203,7 +6646,7 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^3.3.2: +prettier@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== @@ -7229,18 +6672,6 @@ progress@2.0.3: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -promise.allsettled@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.7.tgz#b9dd51e9cffe496243f5271515652c468865f2d8" - integrity sha512-hezvKvQQmsFkOdrZfYxUxkyxl8mgFQeT259Ajj9PXdbg9VzBCWrItOev72JyWxkCD5VSSqAeHmlN3tWx4DlmsA== - dependencies: - array.prototype.map "^1.0.5" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - iterate-value "^1.0.2" - prompts@^2.0.1, prompts@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" @@ -7359,9 +6790,18 @@ rc@1.2.8, rc@^1.0.1, rc@^1.1.6: strip-json-comments "~2.0.1" react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + +read-package-up@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/read-package-up/-/read-package-up-11.0.0.tgz#71fb879fdaac0e16891e6e666df22de24a48d5ba" + integrity sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ== + dependencies: + find-up-simple "^1.0.0" + read-pkg "^9.0.0" + type-fest "^4.6.0" read-pkg-up@^10.0.0: version "10.1.0" @@ -7401,6 +6841,17 @@ read-pkg@^8.0.0, read-pkg@^8.1.0: parse-json "^7.0.0" type-fest "^4.2.0" +read-pkg@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-9.0.1.tgz#b1b81fb15104f5dbb121b6bbdee9bbc9739f569b" + integrity sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA== + dependencies: + "@types/normalize-package-data" "^2.4.3" + normalize-package-data "^6.0.0" + parse-json "^8.0.0" + type-fest "^4.6.0" + unicorn-magic "^0.1.0" + readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" @@ -7449,16 +6900,6 @@ regenerator-transform@^0.15.2: dependencies: "@babel/runtime" "^7.8.4" -regexp.prototype.flags@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" - integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== - dependencies: - call-bind "^1.0.6" - define-properties "^1.2.1" - es-errors "^1.3.0" - set-function-name "^2.0.1" - regexpu-core@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" @@ -7479,7 +6920,7 @@ registry-auth-token@3.3.2: rc "^1.1.6" safe-buffer "^5.0.1" -registry-auth-token@^5.0.1: +registry-auth-token@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.0.2.tgz#8b026cc507c8552ebbe06724136267e63302f756" integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== @@ -7493,7 +6934,7 @@ registry-url@3.1.0: dependencies: rc "^1.0.1" -registry-url@^6.0.0: +registry-url@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-6.0.1.tgz#056d9343680f2f64400032b1e199faa692286c58" integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q== @@ -7507,23 +6948,23 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" -release-it@17.2.1: - version "17.2.1" - resolved "https://registry.yarnpkg.com/release-it/-/release-it-17.2.1.tgz#1d5bbc32023a79a819cf66807485126f19f127fd" - integrity sha512-zBOpaHyjrXC3g/9rHyQlvuDw9yCn9AGphrlL+t3gWNEhbZKEQ62WNY45JxllcJMNx9orQUxBZ3o7pVCqkeuTbg== +release-it@17.6.0: + version "17.6.0" + resolved "https://registry.yarnpkg.com/release-it/-/release-it-17.6.0.tgz#de91db313d76849f727a7434f7b8bdb52b6a4ac8" + integrity sha512-EE34dtRPL7BHpYQC7E+zAU8kjkyxFHxLk5Iqnmn/5nGcjgOQu34Au29M2V9YvxiP3tZbIlEn4gItEzu7vAPRbw== dependencies: "@iarna/toml" "2.2.5" - "@octokit/rest" "20.1.0" + "@octokit/rest" "20.1.1" async-retry "1.3.3" chalk "5.3.0" cosmiconfig "9.0.0" execa "8.0.1" git-url-parse "14.0.0" - globby "14.0.1" + globby "14.0.2" got "13.0.0" - inquirer "9.2.19" + inquirer "9.3.2" is-ci "3.0.1" - issue-parser "7.0.0" + issue-parser "7.0.1" lodash "4.17.21" mime-types "2.1.35" new-github-release-url "2.0.0" @@ -7531,11 +6972,10 @@ release-it@17.2.1: open "10.1.0" ora "8.0.1" os-name "5.1.0" - promise.allsettled "1.0.7" proxy-agent "6.4.0" - semver "7.6.0" + semver "7.6.2" shelljs "0.8.5" - update-notifier "7.0.0" + update-notifier "7.1.0" url-join "5.0.0" wildcard-match "5.1.3" yargs-parser "21.1.1" @@ -7647,29 +7087,29 @@ rollup-plugin-bundle-size@^1.0.3: chalk "^1.1.3" maxmin "^2.1.0" -rollup@^4.18.0: - version "4.18.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.18.0.tgz#497f60f0c5308e4602cf41136339fbf87d5f5dda" - integrity sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg== +rollup@^4.19.1: + version "4.19.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.19.2.tgz#4985cd2028965157e8d674a70e49f33aca9038eb" + integrity sha512-6/jgnN1svF9PjNYJ4ya3l+cqutg49vOZ4rVgsDKxdl+5gpGPnByFXWGyfH9YGx9i3nfBwSu1Iyu6vGwFFA0BdQ== dependencies: "@types/estree" "1.0.5" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.18.0" - "@rollup/rollup-android-arm64" "4.18.0" - "@rollup/rollup-darwin-arm64" "4.18.0" - "@rollup/rollup-darwin-x64" "4.18.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.18.0" - "@rollup/rollup-linux-arm-musleabihf" "4.18.0" - "@rollup/rollup-linux-arm64-gnu" "4.18.0" - "@rollup/rollup-linux-arm64-musl" "4.18.0" - "@rollup/rollup-linux-powerpc64le-gnu" "4.18.0" - "@rollup/rollup-linux-riscv64-gnu" "4.18.0" - "@rollup/rollup-linux-s390x-gnu" "4.18.0" - "@rollup/rollup-linux-x64-gnu" "4.18.0" - "@rollup/rollup-linux-x64-musl" "4.18.0" - "@rollup/rollup-win32-arm64-msvc" "4.18.0" - "@rollup/rollup-win32-ia32-msvc" "4.18.0" - "@rollup/rollup-win32-x64-msvc" "4.18.0" + "@rollup/rollup-android-arm-eabi" "4.19.2" + "@rollup/rollup-android-arm64" "4.19.2" + "@rollup/rollup-darwin-arm64" "4.19.2" + "@rollup/rollup-darwin-x64" "4.19.2" + "@rollup/rollup-linux-arm-gnueabihf" "4.19.2" + "@rollup/rollup-linux-arm-musleabihf" "4.19.2" + "@rollup/rollup-linux-arm64-gnu" "4.19.2" + "@rollup/rollup-linux-arm64-musl" "4.19.2" + "@rollup/rollup-linux-powerpc64le-gnu" "4.19.2" + "@rollup/rollup-linux-riscv64-gnu" "4.19.2" + "@rollup/rollup-linux-s390x-gnu" "4.19.2" + "@rollup/rollup-linux-x64-gnu" "4.19.2" + "@rollup/rollup-linux-x64-musl" "4.19.2" + "@rollup/rollup-win32-arm64-msvc" "4.19.2" + "@rollup/rollup-win32-ia32-msvc" "4.19.2" + "@rollup/rollup-win32-x64-msvc" "4.19.2" fsevents "~2.3.2" run-applescript@^7.0.0: @@ -7701,16 +7141,6 @@ rxjs@^7.8.1: dependencies: tslib "^2.1.0" -safe-array-concat@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" - integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== - dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - has-symbols "^1.0.3" - isarray "^2.0.5" - safe-buffer@5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -7721,15 +7151,6 @@ safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-regex-test@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" - integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-regex "^1.1.4" - safe-stable-stringify@^2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" @@ -7747,12 +7168,10 @@ semver-diff@^4.0.0: dependencies: semver "^7.3.5" -semver@7.6.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" +semver@7.6.2: + version "7.6.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: version "6.3.1" @@ -7807,28 +7226,6 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -set-function-name@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" - integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.2" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -7850,16 +7247,6 @@ shelljs@0.8.5: interpret "^1.0.0" rechoir "^0.6.2" -side-channel@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" - signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" @@ -7914,16 +7301,16 @@ smob@^1.0.0: resolved "https://registry.yarnpkg.com/smob/-/smob-1.5.0.tgz#85d79a1403abf128d24d3ebc1cdc5e1a9548d3ab" integrity sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig== -socks-proxy-agent@^8.0.2: - version "8.0.3" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz#6b2da3d77364fde6292e810b496cb70440b9b89d" - integrity sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A== +socks-proxy-agent@^8.0.2, socks-proxy-agent@^8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz#9071dca17af95f483300316f4b063578fa0db08c" + integrity sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw== dependencies: agent-base "^7.1.1" debug "^4.3.4" - socks "^2.7.1" + socks "^2.8.3" -socks@^2.7.1: +socks@^2.8.3: version "2.8.3" resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== @@ -7982,9 +7369,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.17" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" - integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== + version "3.0.18" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz#22aa922dcf2f2885a6494a261f2d8b75345d0326" + integrity sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ== split2@^4.0.0: version "4.2.0" @@ -8013,13 +7400,6 @@ stdin-discarder@^0.2.1: resolved "https://registry.yarnpkg.com/stdin-discarder/-/stdin-discarder-0.2.2.tgz#390037f44c4ae1a1ae535c5fe38dc3aba8d997be" integrity sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ== -stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== - dependencies: - internal-slot "^1.0.4" - string-length@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -8056,42 +7436,14 @@ string-width@^5.0.1, string-width@^5.1.2: strip-ansi "^7.0.1" string-width@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.1.0.tgz#d994252935224729ea3719c49f7206dc9c46550a" - integrity sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== + version "7.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" + integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== dependencies: emoji-regex "^10.3.0" get-east-asian-width "^1.0.0" strip-ansi "^7.1.0" -string.prototype.trim@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" - integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.0" - es-object-atoms "^1.0.0" - -string.prototype.trimend@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" - integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string.prototype.trimstart@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" - integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -8190,10 +7542,10 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -synckit@^0.8.6: - version "0.8.8" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7" - integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== +synckit@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.9.1.tgz#febbfbb6649979450131f64735aa3f6c14575c88" + integrity sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A== dependencies: "@pkgr/core" "^0.1.0" tslib "^2.6.2" @@ -8243,20 +7595,10 @@ tempfile@^5.0.0: dependencies: temp-dir "^3.0.0" -terser@^5.17.4: - version "5.31.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.0.tgz#06eef86f17007dbad4593f11a574c7f5eb02c6a1" - integrity sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -terser@^5.31.1: - version "5.31.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.1.tgz#735de3c987dd671e95190e6b98cfe2f07f3cf0d4" - integrity sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg== +terser@^5.17.4, terser@^5.31.3: + version "5.31.3" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.3.tgz#b24b7beb46062f4653f049eea4f0cd165d0f0c38" + integrity sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -8338,12 +7680,13 @@ ts-api-utils@^1.3.0: resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== -ts-jest@^29.1.4: - version "29.1.4" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.4.tgz#26f8a55ce31e4d2ef7a1fd47dc7fa127e92793ef" - integrity sha512-YiHwDhSvCiItoAgsKtoLFCuakDzDsJ1DLDnSouTaTmdOcOwIkSzbLXduaQ6M5DRVhuZC/NYaaZ/mtHbWMv/S6Q== +ts-jest@^29.2.3: + version "29.2.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.4.tgz#38ccf487407d7a63054a72689f6f99b075e296e5" + integrity sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw== dependencies: bs-logger "0.x" + ejs "^3.1.10" fast-json-stable-stringify "2.x" jest-util "^29.0.0" json5 "^2.2.3" @@ -8352,18 +7695,19 @@ ts-jest@^29.1.4: semver "^7.5.3" yargs-parser "^21.0.1" -ts-json-schema-generator@^1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/ts-json-schema-generator/-/ts-json-schema-generator-1.5.1.tgz#7759c421240be86d393a884ad186f926b22332db" - integrity sha512-apX5qG2+NA66j7b4AJm8q/DpdTeOsjfh7A3LpKsUiil0FepkNwtN28zYgjrsiiya2/OPhsr/PSjX5FUYg79rCg== +ts-json-schema-generator@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/ts-json-schema-generator/-/ts-json-schema-generator-2.3.0.tgz#d533027cdb13b625acba0a3e931a4ba88f0e44ad" + integrity sha512-t4lBQAwZc0sOJq9LJt3NgbznIcslVnm0JeEMFq8qIRklpMRY8jlYD0YmnRWbqBKANxkby91P1XanSSlSOFpUmg== dependencies: "@types/json-schema" "^7.0.15" commander "^12.0.0" - glob "^8.0.3" + glob "^10.3.12" json5 "^2.2.3" normalize-path "^3.0.0" safe-stable-stringify "^2.4.3" - typescript "~5.4.2" + tslib "^2.6.2" + typescript "^5.4.5" tslib@^1.8.1: version "1.14.1" @@ -8419,54 +7763,10 @@ type-fest@^3.8.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706" integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== -type-fest@^4.2.0: - version "4.15.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.15.0.tgz#21da206b89c15774cc718c4f2d693e13a1a14a43" - integrity sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA== - -typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" - integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-typed-array "^1.1.13" - -typed-array-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" - integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - -typed-array-byte-offset@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" - integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - -typed-array-length@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" - integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - possible-typed-array-names "^1.0.0" +type-fest@^4.2.0, type-fest@^4.6.0, type-fest@^4.7.1: + version "4.23.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.23.0.tgz#8196561a6b835175473be744f3e41e2dece1496b" + integrity sha512-ZiBujro2ohr5+Z/hZWHESLz3g08BBdrdLMieYFULJO+tWc437sn8kQsWLJoZErY8alNhxre9K4p3GURAG11n+w== typedarray-to-buffer@^3.1.5: version "3.1.5" @@ -8480,25 +7780,15 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript@~5.4.2, typescript@~5.4.5: - version "5.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== +typescript@^5.4.5, typescript@~5.5.4: + version "5.5.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba" + integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== uglify-js@^3.1.4: - version "3.17.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" - integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" + version "3.19.1" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.1.tgz#2d5df6a0872c43da43187968308d7741d44b8056" + integrity sha512-y/2wiW+ceTYR2TSSptAhfnEtpLaQ4Ups5zrjB2d3kuVxHj16j/QJwPl5PvuGy9uARb39J0+iKxcRPvtpsx4A4A== unbzip2-stream@1.4.3: version "1.4.3" @@ -8508,10 +7798,10 @@ unbzip2-stream@1.4.3: buffer "^5.2.1" through "^2.3.8" -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.11.1: + version "6.11.1" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.11.1.tgz#432ea6e8efd54a48569705a699e62d8f4981b197" + integrity sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ== unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" @@ -8558,13 +7848,13 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== +update-browserslist-db@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" + integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" + escalade "^3.1.2" + picocolors "^1.0.1" update-check@1.5.4: version "1.5.4" @@ -8574,25 +7864,25 @@ update-check@1.5.4: registry-auth-token "3.3.2" registry-url "3.1.0" -update-notifier@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-7.0.0.tgz#295aa782dadab784ed4073f7ffaea1fb2123031c" - integrity sha512-Hv25Bh+eAbOLlsjJreVPOs4vd51rrtCrmhyOJtbpAojro34jS4KQaEp4/EvlHJX7jSO42VvEFpkastVyXyIsdQ== +update-notifier@7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-7.1.0.tgz#b8f43cc2dc094c221f179bfab9eba9f4b1469965" + integrity sha512-8SV3rIqVY6EFC1WxH6L0j55s0MO79MFBS1pivmInRJg3pCEDgWHBj1Q6XByTtCLOZIFA0f6zoG9ZWf2Ks9lvTA== dependencies: boxen "^7.1.1" chalk "^5.3.0" configstore "^6.0.0" import-lazy "^4.0.0" is-in-ci "^0.1.0" - is-installed-globally "^0.4.0" + is-installed-globally "^1.0.0" is-npm "^6.0.0" - latest-version "^7.0.0" + latest-version "^9.0.0" pupa "^3.1.0" - semver "^7.5.4" + semver "^7.6.2" semver-diff "^4.0.0" xdg-basedir "^5.1.0" -uri-js@^4.2.2, uri-js@^4.4.1: +uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== @@ -8610,9 +7900,9 @@ util-deprecate@^1.0.1: integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== v8-to-istanbul@^9.0.1: - version "9.2.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" - integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + version "9.3.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" + integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA== dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" @@ -8631,44 +7921,44 @@ vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== -vega-canvas@^1.2.6, vega-canvas@^1.2.7: +vega-canvas@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/vega-canvas/-/vega-canvas-1.2.7.tgz#cf62169518f5dcd91d24ad352998c2248f8974fb" integrity sha512-OkJ9CACVcN9R5Pi9uF6MZBF06pO6qFpDYHWSKBJsdHP5o724KrsgR6UvbnXFH82FdsiTOff/HqjuaG8C7FL+9Q== vega-cli@^5.28.0: - version "5.29.0" - resolved "https://registry.yarnpkg.com/vega-cli/-/vega-cli-5.29.0.tgz#d6b2e6ecf84ce84caad689acba3b60799353187d" - integrity sha512-ndiQEjHrV0DkT7nWEroQerAuZwNZC3c9SZlmVh8a19vY9s/GsPfNdOq2apAN44mtruMtD3tzgajLLxEii7/wEA== + version "5.30.0" + resolved "https://registry.yarnpkg.com/vega-cli/-/vega-cli-5.30.0.tgz#0293791e3451d45798e52b7583146fdb3b297605" + integrity sha512-qHlVNh6SU/sV96Zys30t7jtVlDKAn+2Ex2EuiU8xK+DLDB8h2t0IK5/FwR8CxE9rLWHYYXDOuCxkzRqFRzSMQQ== dependencies: canvas "^2.11.2" - vega "5.29.0" + vega "5.30.0" yargs "17" -vega-crossfilter@~4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/vega-crossfilter/-/vega-crossfilter-4.1.1.tgz#3ff3ca0574883706f7a399dc6d60f4a0f065ece4" - integrity sha512-yesvlMcwRwxrtAd9IYjuxWJJuAMI0sl7JvAFfYtuDkkGDtqfLXUcCzHIATqW6igVIE7tWwGxnbfvQLhLNgK44Q== +vega-crossfilter@~4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/vega-crossfilter/-/vega-crossfilter-4.1.2.tgz#810281c279b3592310f12814bc61206dd42ca61d" + integrity sha512-J7KVEXkpfRJBfRvwLxn5vNCzQCNkrnzmDvkvwhuiwT4gPm5sk7MK5TuUP8GCl/iKYw+kWeVXEtrVHwWtug+bcQ== dependencies: d3-array "^3.2.2" - vega-dataflow "^5.7.5" - vega-util "^1.17.1" + vega-dataflow "^5.7.6" + vega-util "^1.17.2" -vega-dataflow@^5.7.3, vega-dataflow@^5.7.5, vega-dataflow@~5.7.5: - version "5.7.5" - resolved "https://registry.yarnpkg.com/vega-dataflow/-/vega-dataflow-5.7.5.tgz#0d559f3c3a968831f2995e099a2e270993ddfed9" - integrity sha512-EdsIl6gouH67+8B0f22Owr2tKDiMPNNR8lEvJDcxmFw02nXd8juimclpLvjPQriqn6ta+3Dn5txqfD117H04YA== +vega-dataflow@^5.7.6, vega-dataflow@~5.7.6: + version "5.7.6" + resolved "https://registry.yarnpkg.com/vega-dataflow/-/vega-dataflow-5.7.6.tgz#21dfad9120cb18d9aeaed578658670839d1adc95" + integrity sha512-9Md8+5iUC1MVKPKDyZ7pCEHk6I9am+DgaMzZqo/27O/KI4f23/WQXPyuI8jbNmc/mkm340P0TKREmzL5M7+2Dg== dependencies: - vega-format "^1.1.1" - vega-loader "^4.5.1" - vega-util "^1.17.1" + vega-format "^1.1.2" + vega-loader "^4.5.2" + vega-util "^1.17.2" vega-datasets@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/vega-datasets/-/vega-datasets-2.8.1.tgz#a38202efff1bc763c3120954f55a7d1c9758af3f" integrity sha512-RxFyrlIH3xWzHtBDxp2vsFNCxuzNNfAtEvyufFX25UczIORyNi1T336NbM62g67k4KbDkeXzWEZHwr71qQKF8w== -vega-embed@^6.25.0: +vega-embed@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/vega-embed/-/vega-embed-6.26.0.tgz#25ca51783b2819adf6e6330ae6dd5771e8da8653" integrity sha512-AZCTdKHDAuhp6TFZRQOOs332tStCwZr/5e4uZMNEuJL69A57cT66NNZJdNiCP6u66REzIToYtMJhMTL9wl5B3A== @@ -8682,200 +7972,177 @@ vega-embed@^6.25.0: vega-themes "^2.15.0" vega-tooltip "^0.34.0" -vega-encode@~4.10.0: - version "4.10.0" - resolved "https://registry.yarnpkg.com/vega-encode/-/vega-encode-4.10.0.tgz#def64d29a0ed897abebcc9f421dbb8953adeea00" - integrity sha512-TTWIXVWHLGMkPEUC1bLkQKZdKnHUTGcjO2JST3jxHFgnGtN/HOovjaeOm2mkOoxrHJgQERyKorpGprOttuY6Kg== +vega-encode@~4.10.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/vega-encode/-/vega-encode-4.10.1.tgz#1656e20396db99c414f495704ef3d9cff99631df" + integrity sha512-d25nVKZDrg109rC65M8uxE+7iUrTxktaqgK4fU3XZBgpWlh1K4UbU5nDag7kiHVVN4tKqwgd+synEotra9TiVQ== dependencies: d3-array "^3.2.2" d3-interpolate "^3.0.1" - vega-dataflow "^5.7.5" - vega-scale "^7.3.0" - vega-util "^1.17.1" + vega-dataflow "^5.7.6" + vega-scale "^7.4.1" + vega-util "^1.17.2" vega-event-selector@^3.0.1, vega-event-selector@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/vega-event-selector/-/vega-event-selector-3.0.1.tgz#b99e92147b338158f8079d81b28b2e7199c2e259" integrity sha512-K5zd7s5tjr1LiOOkjGpcVls8GsH/f2CWCrWcpKy74gTCp+llCdwz0Enqo013ZlGaRNjfgD/o1caJRt3GSaec4A== -vega-expression@^5.0.1, vega-expression@^5.1.0, vega-expression@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/vega-expression/-/vega-expression-5.1.0.tgz#4ec0e66b56a2faba88361eb717011303bbb1ff61" - integrity sha512-u8Rzja/cn2PEUkhQN3zUj3REwNewTA92ExrcASNKUJPCciMkHJEjESwFYuI6DWMCq4hQElQ92iosOAtwzsSTqA== +vega-expression@^5.0.1, vega-expression@^5.1.1, vega-expression@~5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/vega-expression/-/vega-expression-5.1.1.tgz#9b2d287a1f34d990577c9798ae68ec88453815ef" + integrity sha512-zv9L1Hm0KHE9M7mldHyz8sXbGu3KmC0Cdk7qfHkcTNS75Jpsem6jkbu6ZAwx5cNUeW91AxUQOu77r4mygq2wUQ== dependencies: "@types/estree" "^1.0.0" - vega-util "^1.17.1" + vega-util "^1.17.2" -vega-force@~4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/vega-force/-/vega-force-4.2.0.tgz#5374d0dbac674c92620a9801e12b650b0966336a" - integrity sha512-aE2TlP264HXM1r3fl58AvZdKUWBNOGkIvn4EWyqeJdgO2vz46zSU7x7TzPG4ZLuo44cDRU5Ng3I1eQk23Asz6A== +vega-force@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/vega-force/-/vega-force-4.2.1.tgz#bdce6ec8572867b4ff2fb7e09d2894798c5358ec" + integrity sha512-2BcuuqFr77vcCyKfcpedNFeYMxi+XEFCrlgLWNx7YV0PI8pdP5y/yPkzyuE9Tb894+KkRAvfQHZRAshcnFNcMw== dependencies: d3-force "^3.0.0" - vega-dataflow "^5.7.5" - vega-util "^1.17.1" + vega-dataflow "^5.7.6" + vega-util "^1.17.2" -vega-format@^1.1.1, vega-format@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/vega-format/-/vega-format-1.1.1.tgz#92e4876e18064e7ad54f39045f7b24dede0030b8" - integrity sha512-Rll7YgpYbsgaAa54AmtEWrxaJqgOh5fXlvM2wewO4trb9vwM53KBv4Q/uBWCLK3LLGeBXIF6gjDt2LFuJAUtkQ== +vega-format@^1.1.2, vega-format@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vega-format/-/vega-format-1.1.2.tgz#d344ba8a2680144e92127459c149a4181e9e7f84" + integrity sha512-0kUfAj0dg0U6GcEY0Kp6LiSTCZ8l8jl1qVdQyToMyKmtZg/q56qsiJQZy3WWRr1MtWkTIZL71xSJXgjwjeUaAw== dependencies: d3-array "^3.2.2" d3-format "^3.1.0" d3-time-format "^4.1.0" - vega-time "^2.1.1" - vega-util "^1.17.1" + vega-time "^2.1.2" + vega-util "^1.17.2" -vega-functions@^5.13.1, vega-functions@^5.14.0, vega-functions@~5.14.0: - version "5.14.0" - resolved "https://registry.yarnpkg.com/vega-functions/-/vega-functions-5.14.0.tgz#8235157ae35c0e12f9122e3b783d693967de3c40" - integrity sha512-Q0rocHmJDfQ0tS91kdN8WcEosq1e3HPK1Yf5z36SPYPmTzKw3uxUGE52tLxC832acAYqPmi8R41wAoI/yFQTPg== +vega-functions@^5.15.0, vega-functions@~5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/vega-functions/-/vega-functions-5.15.0.tgz#a7905e1dd6457efe265dbf954cbc0a5721c484b0" + integrity sha512-pCqmm5efd+3M65jrJGxEy3UGuRksmK6DnWijoSNocnxdCBxez+yqUUVX9o2pN8VxMe3648vZnR9/Vk5CXqRvIQ== dependencies: d3-array "^3.2.2" d3-color "^3.1.0" d3-geo "^3.1.0" - vega-dataflow "^5.7.5" - vega-expression "^5.1.0" - vega-scale "^7.3.0" - vega-scenegraph "^4.10.2" + vega-dataflow "^5.7.6" + vega-expression "^5.1.1" + vega-scale "^7.4.1" + vega-scenegraph "^4.13.0" vega-selections "^5.4.2" - vega-statistics "^1.8.1" - vega-time "^2.1.1" - vega-util "^1.17.1" + vega-statistics "^1.9.0" + vega-time "^2.1.2" + vega-util "^1.17.2" -vega-geo@~4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/vega-geo/-/vega-geo-4.4.1.tgz#3850232bf28c98fab5e26c5fb401acb6fb37b5e5" - integrity sha512-s4WeZAL5M3ZUV27/eqSD3v0FyJz3PlP31XNSLFy4AJXHxHUeXT3qLiDHoVQnW5Om+uBCPDtTT1ROx1smGIf2aA== +vega-geo@~4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/vega-geo/-/vega-geo-4.4.2.tgz#da4a08ee39c9488bfc4fe6493779f584dd8bb412" + integrity sha512-unuV/UxUHf6UJu6GYxMZonC3SZlMfFXYLOkgEsRSvmsMPt3+CVv8FmG88dXNRUJUrdROrJepgecqx0jOwMSnGA== dependencies: d3-array "^3.2.2" d3-color "^3.1.0" d3-geo "^3.1.0" vega-canvas "^1.2.7" - vega-dataflow "^5.7.5" - vega-projection "^1.6.0" - vega-statistics "^1.8.1" - vega-util "^1.17.1" + vega-dataflow "^5.7.6" + vega-projection "^1.6.1" + vega-statistics "^1.9.0" + vega-util "^1.17.2" -vega-hierarchy@~4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/vega-hierarchy/-/vega-hierarchy-4.1.1.tgz#897974a477dfa70cc0d4efab9465b6cc79a9071f" - integrity sha512-h5mbrDtPKHBBQ9TYbvEb/bCqmGTlUX97+4CENkyH21tJs7naza319B15KRK0NWOHuhbGhFmF8T0696tg+2c8XQ== +vega-hierarchy@~4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/vega-hierarchy/-/vega-hierarchy-4.1.2.tgz#e42938c42527b392b110b1e3bf89eaa456dba1b8" + integrity sha512-m+xDtT5092YPSnV0rdTLW+AWmoCb+A54JQ66MUJwiDBpKxvfKnTiQeuiWDU2YudjUoXZN9EBOcI6QHF8H2Lu2A== dependencies: d3-hierarchy "^3.1.2" - vega-dataflow "^5.7.5" - vega-util "^1.17.1" + vega-dataflow "^5.7.6" + vega-util "^1.17.2" vega-interpreter@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/vega-interpreter/-/vega-interpreter-1.0.5.tgz#19e1d1b5f84a4ea9cb25c4e90a05ce16cd058484" integrity sha512-po6oTOmeQqr1tzTCdD15tYxAQLeUnOVirAysgVEemzl+vfmvcEP7jQmlc51jz0jMA+WsbmE6oJywisQPu/H0Bg== -vega-label@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/vega-label/-/vega-label-1.2.1.tgz#ea45fa5a407991c44edfea9c4ca40874d544a3db" - integrity sha512-n/ackJ5lc0Xs9PInCaGumYn2awomPjJ87EMVT47xNgk2bHmJoZV1Ve/1PUM6Eh/KauY211wPMrNp/9Im+7Ripg== +vega-label@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/vega-label/-/vega-label-1.3.0.tgz#21b3e5ef40e63f51ac987a449d183068c4961503" + integrity sha512-EfSFSCWAwVPsklM5g0gUEuohALgryuGC/SKMmsOH7dYT/bywmLBZhLVbrE+IHJAUauoGrMhYw1mqnXL/0giJBg== dependencies: - vega-canvas "^1.2.6" - vega-dataflow "^5.7.3" - vega-scenegraph "^4.9.2" - vega-util "^1.15.2" + vega-canvas "^1.2.7" + vega-dataflow "^5.7.6" + vega-scenegraph "^4.13.0" + vega-util "^1.17.2" -vega-loader@^4.5.1, vega-loader@~4.5.1: - version "4.5.1" - resolved "https://registry.yarnpkg.com/vega-loader/-/vega-loader-4.5.1.tgz#b85262b3cb8376487db0c014a8a13c3a5e6d52ad" - integrity sha512-qy5x32SaT0YkEujQM2yKqvLGV9XWQ2aEDSugBFTdYzu/1u4bxdUSRDREOlrJ9Km3RWIOgFiCkobPmFxo47SKuA== +vega-loader@^4.5.2, vega-loader@~4.5.2: + version "4.5.2" + resolved "https://registry.yarnpkg.com/vega-loader/-/vega-loader-4.5.2.tgz#7212f093c397b153f69f7e6cfef47817c17c5c01" + integrity sha512-ktIdGz3DRIS3XfTP9lJ6oMT5cKwC86nQkjUbXZbOtwXQFVNE2xVWBuH13GP6FKUZxg5hJCMtb5v/e/fwTvhKsQ== dependencies: d3-dsv "^3.0.1" node-fetch "^2.6.7" topojson-client "^3.1.0" - vega-format "^1.1.1" - vega-util "^1.17.1" + vega-format "^1.1.2" + vega-util "^1.17.2" -vega-parser@~6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/vega-parser/-/vega-parser-6.3.0.tgz#64233674dba48b68494e7d95dd15b4c27ef15993" - integrity sha512-swS5RuP2imRarMpGWaAZusoKkXc4Z5WxWx349pkqxIAf4F7H8Ya9nThEkSWsFozd75O9nWh0QLifds8Xb7KjUg== +vega-parser@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/vega-parser/-/vega-parser-6.4.0.tgz#6a12f07f0f9178492a17842efe7e1f51a2d36bed" + integrity sha512-/hFIJs0yITxfvLIfhhcpUrcbKvu4UZYoMGmly5PSsbgo60oAsVQW8ZbX2Ji3iNFqZJh1ifoX/P0j+9wep1OISw== dependencies: - vega-dataflow "^5.7.5" + vega-dataflow "^5.7.6" vega-event-selector "^3.0.1" - vega-functions "^5.14.0" - vega-scale "^7.3.1" + vega-functions "^5.15.0" + vega-scale "^7.4.1" vega-util "^1.17.2" -vega-projection@^1.6.0, vega-projection@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/vega-projection/-/vega-projection-1.6.0.tgz#921acd3220e7d9d04ccd5ce0109433afb3236966" - integrity sha512-LGUaO/kpOEYuTlul+x+lBzyuL9qmMwP1yShdUWYLW+zXoeyGbs5OZW+NbPPwLYqJr5lpXDr/vGztFuA/6g2xvQ== +vega-projection@^1.6.1, vega-projection@~1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/vega-projection/-/vega-projection-1.6.1.tgz#da687abc60f4a93bb888385beb23e0a1000f8b57" + integrity sha512-sqfnAAHumU7MWU1tQN3b6HNgKGF3legek0uLHhjLKcDJQxEc7kwcD18txFz2ffQks6d5j+AUhBiq4GARWf0DEQ== dependencies: d3-geo "^3.1.0" d3-geo-projection "^4.0.0" - vega-scale "^7.3.0" + vega-scale "^7.4.1" -vega-regression@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/vega-regression/-/vega-regression-1.2.0.tgz#12e9df88cf49994ac1a1799f64fb9c118a77a5e0" - integrity sha512-6TZoPlhV/280VbxACjRKqlE0Nv48z5g4CSNf1FmGGTWS1rQtElPTranSoVW4d7ET5eVQ6f9QLxNAiALptvEq+g== +vega-regression@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/vega-regression/-/vega-regression-1.3.0.tgz#3e68e234fa9460041fac082c6a3469c896d436a8" + integrity sha512-gxOQfmV7Ft/MYKpXDEo09WZyBuKOBqxqDRWay9KtfGq/E0Y4vbTPsWLv2cB1ToPJdKE6XSN6Re9tCIw5M/yMUg== dependencies: d3-array "^3.2.2" - vega-dataflow "^5.7.3" + vega-dataflow "^5.7.6" vega-statistics "^1.9.0" - vega-util "^1.15.2" - -vega-runtime@^6.1.4, vega-runtime@~6.1.4: - version "6.1.4" - resolved "https://registry.yarnpkg.com/vega-runtime/-/vega-runtime-6.1.4.tgz#98b67160cea9554e690bfd44719f9d17f90c4220" - integrity sha512-0dDYXyFLQcxPQ2OQU0WuBVYLRZnm+/CwVu6i6N4idS7R9VXIX5581EkCh3pZ20pQ/+oaA7oJ0pR9rJgJ6rukRQ== - dependencies: - vega-dataflow "^5.7.5" - vega-util "^1.17.1" + vega-util "^1.17.2" -vega-scale@^7.3.0, vega-scale@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/vega-scale/-/vega-scale-7.3.1.tgz#5cb23d1edcf5d759e25fe40b7608a6132a62da46" - integrity sha512-tyTlaaCpHN2Ik/PPKl/j9ThadBDjPtypqW1D7IsUSkzfoZ7RPlI2jwAaoj2C/YW5jFRbEOx3njmjogp48I5CvA== +vega-runtime@^6.2.0, vega-runtime@~6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/vega-runtime/-/vega-runtime-6.2.0.tgz#10f435089fff11d8e1b49cb0cbab8041731e6f06" + integrity sha512-30UXbujWjKNd5aeP+oeHuwFmzuyVYlBj4aDy9+AjfWLECu8wJt4K01vwegcaGPdCWcPLVIv4Oa9Lob4mcXn5KQ== dependencies: - d3-array "^3.2.2" - d3-interpolate "^3.0.1" - d3-scale "^4.0.2" - vega-time "^2.1.1" - vega-util "^1.17.1" + vega-dataflow "^5.7.6" + vega-util "^1.17.2" -vega-scale@~7.4.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/vega-scale/-/vega-scale-7.4.0.tgz#05f12ac9cfa40d219b17adecb77f1ecdf7e3e1e8" - integrity sha512-+GxjtToQiR2OqnlvRsnVTaX/HGLG9EPiFWkIwSG5ZCLSAxm0CRiqAQvvRmj0HEeIw8F92aGRX4rSoM8qyGAK5A== +vega-scale@^7.4.1, vega-scale@~7.4.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/vega-scale/-/vega-scale-7.4.1.tgz#2dcd3e39ebb00269b03a8be86e44c7b48c67442a" + integrity sha512-dArA28DbV/M92O2QvswnzCmQ4bq9WwLKUoyhqFYWCltmDwkmvX7yhqiFLFMWPItIm7mi4Qyoygby6r4DKd1X2A== dependencies: d3-array "^3.2.2" d3-interpolate "^3.0.1" d3-scale "^4.0.2" d3-scale-chromatic "^3.1.0" - vega-time "^2.1.1" - vega-util "^1.17.1" - -vega-scenegraph@^4.10.2, vega-scenegraph@^4.9.2: - version "4.11.2" - resolved "https://registry.yarnpkg.com/vega-scenegraph/-/vega-scenegraph-4.11.2.tgz#7e9cad503c95fb5af22691bbd394faa8a0b97ce9" - integrity sha512-PXSvv/L7Ek+9mwOTPLpzgkXdfGCR+AcWV5aquPGrqCWoiIF49VJkKFNT1HWxj3RZJX0XKo2r7SuXvRBb9EJ1aA== - dependencies: - d3-path "^3.1.0" - d3-shape "^3.2.0" - vega-canvas "^1.2.7" - vega-loader "^4.5.1" - vega-scale "^7.3.0" - vega-util "^1.17.1" + vega-time "^2.1.2" + vega-util "^1.17.2" -vega-scenegraph@~4.12.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/vega-scenegraph/-/vega-scenegraph-4.12.0.tgz#ac4b08a84f6980b90c4ab2f80a186887ccf444e5" - integrity sha512-l0Us6TLRV7AAd1CxB6mvxXt9/psknqgrr0+6d1zNWtHL8tGszPE4FqllZC5m4ZtUouvE4PWKGybd5uJR0dpchw== +vega-scenegraph@^4.13.0, vega-scenegraph@~4.13.0: + version "4.13.0" + resolved "https://registry.yarnpkg.com/vega-scenegraph/-/vega-scenegraph-4.13.0.tgz#c4fa5c82773f6244a9ca8b01a44e380adf03fabd" + integrity sha512-nfl45XtuqB5CxyIZJ+bbJ+dofzosPCRlmF+eUQo+0J23NkNXsTzur+1krJDSdhcw0SOYs4sbYRoMz1cpuOM4+Q== dependencies: d3-path "^3.1.0" d3-shape "^3.2.0" vega-canvas "^1.2.7" - vega-loader "^4.5.1" - vega-scale "^7.3.0" - vega-util "^1.17.1" + vega-loader "^4.5.2" + vega-scale "^7.4.1" + vega-util "^1.17.2" vega-schema-url-parser@^2.2.0: version "2.2.0" @@ -8891,7 +8158,7 @@ vega-selections@^5.4.2: vega-expression "^5.0.1" vega-util "^1.17.1" -vega-statistics@^1.8.1, vega-statistics@^1.9.0, vega-statistics@~1.9.0: +vega-statistics@^1.9.0, vega-statistics@~1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/vega-statistics/-/vega-statistics-1.9.0.tgz#7d6139cea496b22d60decfa6abd73346f70206f9" integrity sha512-GAqS7mkatpXcMCQKWtFu1eMUKLUymjInU0O8kXshWaQrVWjPIO2lllZ1VNhdgE0qGj4oOIRRS11kzuijLshGXQ== @@ -8903,14 +8170,14 @@ vega-themes@^2.15.0: resolved "https://registry.yarnpkg.com/vega-themes/-/vega-themes-2.15.0.tgz#cf7592efb45406957e9beb67d7033ee5f7b7a511" integrity sha512-DicRAKG9z+23A+rH/3w3QjJvKnlGhSbbUXGjBvYGseZ1lvj9KQ0BXZ2NS/+MKns59LNpFNHGi9us/wMlci4TOA== -vega-time@^2.1.1, vega-time@~2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/vega-time/-/vega-time-2.1.1.tgz#0f1fb4e220dd5ed57401b58fb2293241f049ada0" - integrity sha512-z1qbgyX0Af2kQSGFbApwBbX2meenGvsoX8Nga8uyWN8VIbiySo/xqizz1KrP6NbB6R+x5egKmkjdnyNThPeEWA== +vega-time@^2.1.2, vega-time@~2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/vega-time/-/vega-time-2.1.2.tgz#0c414e74780613d6d3234fb97f19b50c0ebd9f49" + integrity sha512-6rXc6JdDt8MnCRy6UzUCsa6EeFycPDmvioMddLfKw38OYCV8pRQC5nw44gyddOwXgUTJLiCtn/sp53P0iA542A== dependencies: d3-array "^3.2.2" d3-time "^3.1.0" - vega-util "^1.17.1" + vega-util "^1.17.2" vega-tooltip@^0.34.0: version "0.34.0" @@ -8919,107 +8186,107 @@ vega-tooltip@^0.34.0: dependencies: vega-util "^1.17.2" -vega-transforms@~4.11.1: - version "4.11.1" - resolved "https://registry.yarnpkg.com/vega-transforms/-/vega-transforms-4.11.1.tgz#bc1291c49337eb465c3ead1ac0297cd8dd98d74a" - integrity sha512-DDbqEQnvy9/qEvv0bAKPqAuzgaNb7Lh2xKJFom2Yzx4tZHCl8dnKxC1lH9JnJlAMdtZuiNLPARUkf3pCNQ/olw== +vega-transforms@~4.12.0: + version "4.12.0" + resolved "https://registry.yarnpkg.com/vega-transforms/-/vega-transforms-4.12.0.tgz#6a69e0b67934b0c0a40a6f607fdb543bf749955e" + integrity sha512-bh/2Qbj85O70mjfLRgPKAsABArgSUP0k+GjmaY54zukIRxoGxKju+85nigeX/aR/INpEqNWif+5lL+NvmyWA5w== dependencies: d3-array "^3.2.2" - vega-dataflow "^5.7.5" - vega-statistics "^1.8.1" - vega-time "^2.1.1" - vega-util "^1.17.1" + vega-dataflow "^5.7.6" + vega-statistics "^1.9.0" + vega-time "^2.1.2" + vega-util "^1.17.2" -vega-typings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vega-typings/-/vega-typings-1.1.0.tgz#95bee43fff8a3c9cb921dd5aee2ea87c7f4ca58b" - integrity sha512-uI6RWlMiGRhsgmw/LzJtjCc0kwhw2f0JpyNMTAnOy90kE4e4CiaZN5nJp8S9CcfcBoPEZHc166AOn2SSNrKn3A== +vega-typings@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/vega-typings/-/vega-typings-1.3.1.tgz#025a6031505794b44d9b6e2c49d4551b8918d4ae" + integrity sha512-j9Sdgmvowz09jkMgTFGVfiv7ycuRP/TQkdHRPXIYwt3RDgPQn7inyFcJ8C8ABFt4MiMWdjOwbneF6KWW8TRXIw== dependencies: "@types/geojson" "7946.0.4" vega-event-selector "^3.0.1" - vega-expression "^5.1.0" + vega-expression "^5.1.1" vega-util "^1.17.2" -vega-util@^1.15.2, vega-util@^1.17.1, vega-util@^1.17.2, vega-util@~1.17.2: +vega-util@^1.17.1, vega-util@^1.17.2, vega-util@~1.17.2: version "1.17.2" resolved "https://registry.yarnpkg.com/vega-util/-/vega-util-1.17.2.tgz#f69aa09fd5d6110c19c4a0f0af9e35945b99987d" integrity sha512-omNmGiZBdjm/jnHjZlywyYqafscDdHaELHx1q96n5UOz/FlO9JO99P4B3jZg391EFG8dqhWjQilSf2JH6F1mIw== -vega-view-transforms@~4.5.9: - version "4.5.9" - resolved "https://registry.yarnpkg.com/vega-view-transforms/-/vega-view-transforms-4.5.9.tgz#5f109555c08ee9ac23ff9183d578eb9cbac6fe61" - integrity sha512-NxEq4ZD4QwWGRrl2yDLnBRXM9FgCI+vvYb3ZC2+nVDtkUxOlEIKZsMMw31op5GZpfClWLbjCT3mVvzO2xaTF+g== +vega-view-transforms@~4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/vega-view-transforms/-/vega-view-transforms-4.6.0.tgz#829d56ca3c8116b0dded4ec0502f4ac70253de9a" + integrity sha512-z3z66aJTA3ZRo4oBY4iBXnn+A4KqBGZT/UrlKDbm+7Ec+Ip+hK2tF8Kmhp/WNcMsDZoUWFqLJgR2VgOgvJk9RA== dependencies: - vega-dataflow "^5.7.5" - vega-scenegraph "^4.10.2" - vega-util "^1.17.1" + vega-dataflow "^5.7.6" + vega-scenegraph "^4.13.0" + vega-util "^1.17.2" -vega-view@~5.12.1: - version "5.12.1" - resolved "https://registry.yarnpkg.com/vega-view/-/vega-view-5.12.1.tgz#923f81eace6344b6157d64b7eea1b2a4324f1537" - integrity sha512-9TdF35FTZNzfvfj+YM38vHOgfeGxMy2xMY+2B46ZHoustt3J/mxtfueu3RGFsGIitUGhFrmLeEHxlVHP/tY+sQ== +vega-view@~5.13.0: + version "5.13.0" + resolved "https://registry.yarnpkg.com/vega-view/-/vega-view-5.13.0.tgz#8ea96da9fcdf42fe7c0e95fe6258933477524745" + integrity sha512-ZPAAQ3iYz6YrQjJoDT+0bcxJkXt9PKF5v4OO7Omw8PFhkIv++jFXeKlQTW1bBtyQ92dkdGGHv5lYY67Djqjf3A== dependencies: d3-array "^3.2.2" d3-timer "^3.0.1" - vega-dataflow "^5.7.5" - vega-format "^1.1.1" - vega-functions "^5.13.1" - vega-runtime "^6.1.4" - vega-scenegraph "^4.10.2" - vega-util "^1.17.1" + vega-dataflow "^5.7.6" + vega-format "^1.1.2" + vega-functions "^5.15.0" + vega-runtime "^6.2.0" + vega-scenegraph "^4.13.0" + vega-util "^1.17.2" -vega-voronoi@~4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/vega-voronoi/-/vega-voronoi-4.2.2.tgz#f2068ddd01d184047c4f18bceb14dbf5edab2854" - integrity sha512-Bq2YOp2MGphhQnUuLwl3dsyBs6MuEU86muTjDbBJg33+HkZtE1kIoQZr+EUHa46NBsY1NzSKddOTu8wcaFrWiQ== +vega-voronoi@~4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/vega-voronoi/-/vega-voronoi-4.2.3.tgz#54c4bb96b9b94c3fa0160bee24695dcb9d583fe1" + integrity sha512-aYYYM+3UGqwsOx+TkVtF1IZfguy0H7AN79dR8H0nONRIc+vhk/lbnlkgwY2nSzEu0EZ4b5wZxeGoDBEVmdDEcg== dependencies: d3-delaunay "^6.0.2" - vega-dataflow "^5.7.5" - vega-util "^1.17.1" + vega-dataflow "^5.7.6" + vega-util "^1.17.2" -vega-wordcloud@~4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/vega-wordcloud/-/vega-wordcloud-4.1.4.tgz#38584cf47ef52325d6a8dc38908b5d2378cc6e62" - integrity sha512-oeZLlnjiusLAU5vhk0IIdT5QEiJE0x6cYoGNq1th+EbwgQp153t4r026fcib9oq15glHFOzf81a8hHXHSJm1Jw== +vega-wordcloud@~4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/vega-wordcloud/-/vega-wordcloud-4.1.5.tgz#789c9e67225c77f3f35a6fc052beec1c2bdc8b5e" + integrity sha512-p+qXU3cb9VeWzJ/HEdax0TX2mqDJcSbrCIfo2d/EalOXGkvfSLKobsmMQ8DxPbtVp0uhnpvfCGDyMJw+AzcI2A== dependencies: vega-canvas "^1.2.7" - vega-dataflow "^5.7.5" - vega-scale "^7.3.0" - vega-statistics "^1.8.1" - vega-util "^1.17.1" + vega-dataflow "^5.7.6" + vega-scale "^7.4.1" + vega-statistics "^1.9.0" + vega-util "^1.17.2" -vega@5.29.0: - version "5.29.0" - resolved "https://registry.yarnpkg.com/vega/-/vega-5.29.0.tgz#84b989cb258b74ee18e3a13ad82149bd9573b139" - integrity sha512-4+pX8UIxV1rtHpIKvzHXof5CeyMTGKMDFtuN8UmSjvJ+l5FtSen++qmSxbAc/EnkLqo5i9B2iCYTr2og77EBrA== +vega@5.30.0: + version "5.30.0" + resolved "https://registry.yarnpkg.com/vega/-/vega-5.30.0.tgz#d12350c829878b481453ab28ce10855a954df06d" + integrity sha512-ZGoC8LdfEUV0LlXIuz7hup9jxuQYhSaWek2M7r9dEHAPbPrzSQvKXZ0BbsJbrarM100TGRpTVN/l1AFxCwDkWw== dependencies: - vega-crossfilter "~4.1.1" - vega-dataflow "~5.7.5" - vega-encode "~4.10.0" + vega-crossfilter "~4.1.2" + vega-dataflow "~5.7.6" + vega-encode "~4.10.1" vega-event-selector "~3.0.1" - vega-expression "~5.1.0" - vega-force "~4.2.0" - vega-format "~1.1.1" - vega-functions "~5.14.0" - vega-geo "~4.4.1" - vega-hierarchy "~4.1.1" - vega-label "~1.2.1" - vega-loader "~4.5.1" - vega-parser "~6.3.0" - vega-projection "~1.6.0" - vega-regression "~1.2.0" - vega-runtime "~6.1.4" - vega-scale "~7.4.0" - vega-scenegraph "~4.12.0" + vega-expression "~5.1.1" + vega-force "~4.2.1" + vega-format "~1.1.2" + vega-functions "~5.15.0" + vega-geo "~4.4.2" + vega-hierarchy "~4.1.2" + vega-label "~1.3.0" + vega-loader "~4.5.2" + vega-parser "~6.4.0" + vega-projection "~1.6.1" + vega-regression "~1.3.0" + vega-runtime "~6.2.0" + vega-scale "~7.4.1" + vega-scenegraph "~4.13.0" vega-statistics "~1.9.0" - vega-time "~2.1.1" - vega-transforms "~4.11.1" - vega-typings "~1.1.0" + vega-time "~2.1.2" + vega-transforms "~4.12.0" + vega-typings "~1.3.1" vega-util "~1.17.2" - vega-view "~5.12.1" - vega-view-transforms "~4.5.9" - vega-voronoi "~4.2.2" - vega-wordcloud "~4.1.4" + vega-view "~5.13.0" + vega-view-transforms "~4.6.0" + vega-voronoi "~4.2.3" + vega-wordcloud "~4.1.5" wait-on@^7.2.0: version "7.2.0" @@ -9064,28 +8331,6 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-typed-array@^1.1.14, which-typed-array@^1.1.15: - version "1.1.15" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.2" - which@^1.2.12: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -9126,6 +8371,11 @@ windows-release@^5.0.1: dependencies: execa "^5.1.1" +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" @@ -9260,6 +8510,11 @@ yocto-queue@^0.1.0: integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + version "1.1.1" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.1.1.tgz#fef65ce3ac9f8a32ceac5a634f74e17e5b232110" + integrity sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g== + +yoctocolors-cjs@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz#f4b905a840a37506813a7acaa28febe97767a242" + integrity sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==