diff --git a/.github/workflows/check-toc.yml b/.github/workflows/check-toc.yml
new file mode 100644
index 0000000000..ad50112df3
--- /dev/null
+++ b/.github/workflows/check-toc.yml
@@ -0,0 +1,53 @@
+name: Check
+
+on:
+ workflow_dispatch:
+ pull_request:
+ paths:
+ - 'site/**'
+ - 'scripts/**'
+
+jobs:
+ toc:
+ name: TOC
+ if: "!contains(github.event.head_commit.message, '[ci skip]')"
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ token: ${{ secrets.GH_PAT || github.token }}
+ ref: ${{ github.event.pull_request.head.ref }}
+
+ - name: Setup Node
+ uses: actions/setup-node@v3
+ with:
+ cache: 'yarn'
+
+ - name: Install Node dependencies
+ run: yarn --frozen-lockfile
+
+ - name: Setup Ruby
+ uses: actions/setup-ruby@v1
+ with:
+ ruby-version: '2.x'
+
+ - name: Setup data
+ run: yarn data
+
+ - name: Build Jekyll
+ run: |
+ gem install bundler
+ pushd site
+ bundle install
+ bundle exec jekyll build -q
+ popd
+
+ - name: Build TOC
+ run: scripts/generate-toc
+
+ - name: Setup Git remote
+ run: scripts/setup-git-ci.sh
+
+ - name: Check and Commit
+ run: scripts/check-and-commit-toc.sh
diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml
index 90cee05c97..37867e6aad 100644
--- a/.github/workflows/check.yml
+++ b/.github/workflows/check.yml
@@ -1,9 +1,8 @@
name: Check
on:
- push:
- branches:
- - '**'
+ workflow_dispatch:
+ pull_request:
jobs:
check:
@@ -14,6 +13,7 @@ jobs:
- uses: actions/checkout@v3
with:
token: ${{ secrets.GH_PAT || github.token }}
+ ref: ${{ github.event.pull_request.head.ref }}
- name: Setup Node
uses: actions/setup-node@v3
@@ -35,60 +35,16 @@ jobs:
sudo mv parallel sem /usr/local/bin
- name: Format
- if: github.ref != 'refs/heads/next'
run: yarn format
- name: Build Schema
run: yarn schema
- name: Check Schema
- run: ./scripts/check-schema.sh
+ run: scripts/check-schema.sh
- name: Setup Git remote
- run: ./scripts/setup-git-ci.sh
+ run: scripts/setup-git-ci.sh
- name: Check and Commit
- run: ./scripts/check-and-commit.sh
-
- toc:
- name: TOC
- if: "!contains(github.event.head_commit.message, '[ci skip]')"
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v3
- with:
- token: ${{ secrets.GH_PAT || github.token }}
-
- - name: Setup Node
- uses: actions/setup-node@v3
- with:
- cache: 'yarn'
-
- - name: Install Node dependencies
- run: yarn --frozen-lockfile
-
- - name: Setup Ruby
- uses: actions/setup-ruby@v1
- with:
- ruby-version: '2.x'
-
- - name: Setup data
- run: yarn data
-
- - name: Build Jekyll
- run: |
- gem install bundler
- pushd site
- bundle install
- bundle exec jekyll build -q
- popd
-
- - name: Build TOC
- run: scripts/generate-toc
-
- - name: Setup Git remote
- run: ./scripts/setup-git-ci.sh
-
- - name: Check and Commit
- run: ./scripts/check-and-commit-toc.sh
+ run: scripts/check-and-commit.sh
diff --git a/.github/workflows/merge-dependabot.yml b/.github/workflows/merge-dependabot.yml
index 4fb46f6c1c..631b708ab4 100644
--- a/.github/workflows/merge-dependabot.yml
+++ b/.github/workflows/merge-dependabot.yml
@@ -1,7 +1,10 @@
name: Auto-merge Dependabot PRs
+
on:
+ workflow_dispatch:
schedule:
- cron: '0 * * * *'
+
jobs:
auto_merge:
name: Auto-merge Dependabot PRs
diff --git a/.github/workflows/publish-to-npm.yml b/.github/workflows/publish-to-npm.yml
index f45a04513f..dad6b24aa6 100644
--- a/.github/workflows/publish-to-npm.yml
+++ b/.github/workflows/publish-to-npm.yml
@@ -7,6 +7,8 @@ on:
- 'dependabot/**'
# documentation site should not trigger releases
- 'gh-pages'
+ paths-ignore:
+ - 'site/**'
jobs:
publish:
@@ -14,21 +16,30 @@ jobs:
if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'skip ci')"
name: Make a release and publish to NPM
-
steps:
- uses: actions/checkout@v3
-
- - name: Prepare repository
- run: git fetch --unshallow --tags
+ with:
+ fetch-depth: 0
- uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
+ cache: 'yarn'
+ env:
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Install Node dependencies
run: yarn --frozen-lockfile
- - run: npm run release
+ - name: Build
+ run: yarn build
+
+ - name: Check NPM deployment
+ run: ./scripts/check-npm.sh
+
+ - name: Create release
+ run: npm run shipit
env:
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GH_PAT }}
diff --git a/.github/workflows/release-docs-and-schema.yml b/.github/workflows/release-docs-and-schema.yml
index 0380510bf0..8514797e4a 100644
--- a/.github/workflows/release-docs-and-schema.yml
+++ b/.github/workflows/release-docs-and-schema.yml
@@ -15,6 +15,11 @@ jobs:
steps:
- uses: actions/checkout@v3
+ - name: Setup Node
+ uses: actions/setup-node@v3
+ with:
+ cache: 'yarn'
+
- name: Install Node dependencies
run: yarn --frozen-lockfile
@@ -22,7 +27,7 @@ jobs:
run: yarn build
- name: Setup Git remote
- run: ./scripts/setup-git-ci.sh
+ run: scripts/setup-git-ci.sh
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -34,13 +39,6 @@ jobs:
env:
GH_PAT: ${{ secrets.GH_PAT }}
- - name: Check NPM deployment
- run: ./scripts/check-npm.sh
-
- - uses: actions/setup-node@v3
- with:
- registry-url: 'https://registry.npmjs.org'
-
- name: Prebuild website
run: yarn predeploy:site
@@ -51,4 +49,4 @@ jobs:
site-directory: 'site/'
- name: Publish schema
- run: ./scripts/deploy-schema.sh
+ run: scripts/deploy-schema.sh
diff --git a/.github/workflows/test-docs.yml b/.github/workflows/test-docs.yml
new file mode 100644
index 0000000000..a581ad046f
--- /dev/null
+++ b/.github/workflows/test-docs.yml
@@ -0,0 +1,31 @@
+name: Test
+
+on:
+ workflow_dispatch:
+ pull_request:
+ paths:
+ - 'site/**'
+ - 'yarn.lock'
+ - '**prettier**'
+
+jobs:
+ build-site:
+ name: Build Site
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Setup Node
+ uses: actions/setup-node@v3
+ with:
+ cache: 'yarn'
+
+ - name: Install Node dependencies
+ run: yarn --frozen-lockfile
+
+ - name: Lint
+ run: yarn prettierbase --check
+
+ - name: Build
+ run: yarn build:site
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 9975ab88a7..bad02e35dd 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -1,13 +1,13 @@
name: Test
on:
- push:
- branches:
- - next
+ workflow_dispatch:
pull_request:
+ paths-ignore:
+ - 'site/**'
jobs:
- test-matrix:
+ test:
name: Node
runs-on: ubuntu-latest
@@ -31,8 +31,8 @@ jobs:
- name: Build
run: yarn build
- build-site:
- name: Build Site
+ runtime-lint-coverage:
+ name: Runtime, Linting, and Coverage
runs-on: ubuntu-latest
steps:
@@ -46,24 +46,6 @@ jobs:
- name: Install Node dependencies
run: yarn --frozen-lockfile
- - name: Build
- run: yarn build:site
-
- runtime-lint-coverage:
- name: Runtime, Linting, and Coverage
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v3
-
- - name: Install Node dependencies
- run: yarn --frozen-lockfile
-
- - name: Setup Node
- uses: actions/setup-node@v3
- with:
- cache: 'yarn'
-
- name: Install extra dependencies for Puppeteer
run: sudo apt-get install libgbm1
@@ -95,14 +77,14 @@ jobs:
steps:
- uses: actions/checkout@v3
- - name: Install Node dependencies
- run: yarn --frozen-lockfile
-
- name: Setup Node
uses: actions/setup-node@v3
with:
cache: 'yarn'
+ - name: Install Node dependencies
+ run: yarn --frozen-lockfile
+
- name: Build
run: yarn build:only
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0c0fa742ca..6114a2cde7 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -200,6 +200,7 @@ Publishing is handled by a 2-branch [pre-release process](https://intuit.github.
- When merging into `next`, please use the `squash and merge` strategy.
- To release a new stable version, open a PR from `next` into `stable` using this [compare link](https://github.com/vega/vega-lite/compare/stable...next).
- When merging from `next` into `stable`, please use the `create a merge commit` strategy.
+ - After the release note is generated (from commits), please take a look to clean up so the log is readable to the community.
## Suggested Programming Environment.
diff --git a/build/vega-lite-schema.json b/build/vega-lite-schema.json
index 3b4cfcbb47..56bd01bbbc 100644
--- a/build/vega-lite-schema.json
+++ b/build/vega-lite-schema.json
@@ -7725,6 +7725,10 @@
"description": "Default time format for raw time values (without time units) in text marks, legend labels and header labels.\n\n__Default value:__ `\"%b %d, %Y\"` __Note:__ Axes automatically determine the format for each label automatically so this config does not affect axes.",
"type": "string"
},
+ "timeFormatType": {
+ "description": "[Custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type) for `config.timeFormat`.\n\n__Default value:__ `undefined` -- This is equilvalent to call D3-time-format, which is exposed as [`timeFormat` in Vega-Expression](https://vega.github.io/vega/docs/expressions/#timeFormat). __Note:__ You must also set `customFormatTypes` to `true` and there must *not* be a `timeUnit` defined to use this feature.",
+ "type": "string"
+ },
"title": {
"$ref": "#/definitions/TitleConfig",
"description": "Title configuration, which determines default properties for all [titles](https://vega.github.io/vega-lite/docs/title.html). For a full list of title configuration options, please see the [corresponding section of the title documentation](https://vega.github.io/vega-lite/docs/title.html#config)."
diff --git a/examples/compiled/arc_ordinal_theta.vg.json b/examples/compiled/arc_ordinal_theta.vg.json
index b8aed31ada..d89f45594f 100644
--- a/examples/compiled/arc_ordinal_theta.vg.json
+++ b/examples/compiled/arc_ordinal_theta.vg.json
@@ -57,7 +57,7 @@
"endAngle": {
"scale": "theta",
"field": "dir",
- "offset": {"scale": "theta", "band": 1}
+ "offset": {"signal": "max(0.25, bandwidth('theta'))"}
}
}
}
diff --git a/examples/compiled/bar.vg.json b/examples/compiled/bar.vg.json
index cf7d1e2bbc..a7403201ad 100644
--- a/examples/compiled/bar.vg.json
+++ b/examples/compiled/bar.vg.json
@@ -60,7 +60,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_aggregate.vg.json b/examples/compiled/bar_aggregate.vg.json
index 515e795f5a..034f12aaf4 100644
--- a/examples/compiled/bar_aggregate.vg.json
+++ b/examples/compiled/bar_aggregate.vg.json
@@ -49,7 +49,7 @@
"x": {"scale": "x", "field": "sum_people"},
"x2": {"scale": "x", "value": 0},
"y": {"scale": "y", "field": "age"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/bar_aggregate_format.vg.json b/examples/compiled/bar_aggregate_format.vg.json
index 9c2dab9cfc..ef2b5a09f1 100644
--- a/examples/compiled/bar_aggregate_format.vg.json
+++ b/examples/compiled/bar_aggregate_format.vg.json
@@ -49,7 +49,7 @@
"x": {"scale": "x", "field": "sum_people"},
"x2": {"scale": "x", "value": 0},
"y": {"scale": "y", "field": "age"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/bar_aggregate_sort_by_encoding.vg.json b/examples/compiled/bar_aggregate_sort_by_encoding.vg.json
index 281bdfeca8..de6fe777a0 100644
--- a/examples/compiled/bar_aggregate_sort_by_encoding.vg.json
+++ b/examples/compiled/bar_aggregate_sort_by_encoding.vg.json
@@ -53,7 +53,7 @@
"x": {"scale": "x", "field": "sum_people"},
"x2": {"scale": "x", "value": 0},
"y": {"scale": "y", "field": "age"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/bar_aggregate_sort_mean.vg.json b/examples/compiled/bar_aggregate_sort_mean.vg.json
index 2acec08b42..4973b4a9c2 100644
--- a/examples/compiled/bar_aggregate_sort_mean.vg.json
+++ b/examples/compiled/bar_aggregate_sort_mean.vg.json
@@ -53,7 +53,7 @@
"x": {"scale": "x", "field": "sum_people"},
"x2": {"scale": "x", "value": 0},
"y": {"scale": "y", "field": "age"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/bar_aggregate_transform.vg.json b/examples/compiled/bar_aggregate_transform.vg.json
index 47ed9786bf..2d3a70d941 100644
--- a/examples/compiled/bar_aggregate_transform.vg.json
+++ b/examples/compiled/bar_aggregate_transform.vg.json
@@ -53,7 +53,7 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; mean_acc: \" + (format(datum[\"mean_acc\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "mean_acc_end"},
"y2": {"scale": "y", "field": "mean_acc_start"}
}
diff --git a/examples/compiled/bar_aggregate_vertical.vg.json b/examples/compiled/bar_aggregate_vertical.vg.json
index 73ca1cd793..4691e64ce7 100644
--- a/examples/compiled/bar_aggregate_vertical.vg.json
+++ b/examples/compiled/bar_aggregate_vertical.vg.json
@@ -45,7 +45,7 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Mean of Acceleration: \" + (format(datum[\"mean_Acceleration\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "mean_Acceleration"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/bar_argmax.vg.json b/examples/compiled/bar_argmax.vg.json
index d3ad3245d9..13f7d7dd35 100644
--- a/examples/compiled/bar_argmax.vg.json
+++ b/examples/compiled/bar_argmax.vg.json
@@ -51,7 +51,7 @@
},
"x2": {"scale": "x", "value": 0},
"y": {"scale": "y", "field": "Major Genre"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/bar_argmax_transform.vg.json b/examples/compiled/bar_argmax_transform.vg.json
index 87a4afbed9..850047557f 100644
--- a/examples/compiled/bar_argmax_transform.vg.json
+++ b/examples/compiled/bar_argmax_transform.vg.json
@@ -70,7 +70,7 @@
"field": "argmax_US_Gross\\.Production Budget\\._start"
},
"y": {"scale": "y", "field": "Major Genre"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/bar_array_aggregate.vg.json b/examples/compiled/bar_array_aggregate.vg.json
index dfe641c48e..6ff6f5ea89 100644
--- a/examples/compiled/bar_array_aggregate.vg.json
+++ b/examples/compiled/bar_array_aggregate.vg.json
@@ -58,7 +58,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; Average of b: \" + (format(datum[\"average_b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "average_b"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/bar_axis_orient.vg.json b/examples/compiled/bar_axis_orient.vg.json
index 1f5b146912..53f1126461 100644
--- a/examples/compiled/bar_axis_orient.vg.json
+++ b/examples/compiled/bar_axis_orient.vg.json
@@ -71,7 +71,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_axis_space_saving.vg.json b/examples/compiled/bar_axis_space_saving.vg.json
index 5eaf09008b..c204ae6671 100644
--- a/examples/compiled/bar_axis_space_saving.vg.json
+++ b/examples/compiled/bar_axis_space_saving.vg.json
@@ -43,7 +43,7 @@
"x": {"scale": "x", "field": "__count"},
"x2": {"scale": "x", "value": 0},
"y": {"scale": "y", "field": "Origin", "offset": 5, "band": 0.25},
- "height": {"scale": "y", "band": 0.5}
+ "height": {"signal": "max(0.25, 0.5 * bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/bar_color_disabled_scale.vg.json b/examples/compiled/bar_color_disabled_scale.vg.json
index 68c3a29ad3..1f95862e5d 100644
--- a/examples/compiled/bar_color_disabled_scale.vg.json
+++ b/examples/compiled/bar_color_disabled_scale.vg.json
@@ -54,7 +54,7 @@
"signal": "\"color: \" + (isValid(datum[\"color\"]) ? datum[\"color\"] : \"\"+datum[\"color\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "color"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_column_fold.vg.json b/examples/compiled/bar_column_fold.vg.json
index f197b99d3d..77675fa56d 100644
--- a/examples/compiled/bar_column_fold.vg.json
+++ b/examples/compiled/bar_column_fold.vg.json
@@ -138,7 +138,7 @@
"signal": "\"country: \" + (isValid(datum[\"country\"]) ? datum[\"country\"] : \"\"+datum[\"country\"]) + \"; value: \" + (format(datum[\"value\"], \"\"))"
},
"x": {"scale": "x", "field": "country"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "value_end"},
"y2": {"scale": "y", "field": "value_start"}
}
diff --git a/examples/compiled/bar_column_pivot.vg.json b/examples/compiled/bar_column_pivot.vg.json
index 3e69682af4..e66f5a1ea3 100644
--- a/examples/compiled/bar_column_pivot.vg.json
+++ b/examples/compiled/bar_column_pivot.vg.json
@@ -65,7 +65,7 @@
"signal": "\"country: \" + (isValid(datum[\"country\"]) ? datum[\"country\"] : \"\"+datum[\"country\"]) + \"; gold: \" + (format(datum[\"gold\"], \"\"))"
},
"x": {"scale": "x", "field": "country"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "gold_end"},
"y2": {"scale": "y", "field": "gold_start"}
}
diff --git a/examples/compiled/bar_corner_radius_end.vg.json b/examples/compiled/bar_corner_radius_end.vg.json
index 64a6015a4f..6c1a57b614 100644
--- a/examples/compiled/bar_corner_radius_end.vg.json
+++ b/examples/compiled/bar_corner_radius_end.vg.json
@@ -63,7 +63,7 @@
"encode": {
"update": {
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {
"signal": "min(scale('y',datum[\"min_b_start\"]),scale('y',datum[\"max_b_start\"]),scale('y',datum[\"min_b_end\"]),scale('y',datum[\"max_b_end\"]))"
},
diff --git a/examples/compiled/bar_count_minimap.vg.json b/examples/compiled/bar_count_minimap.vg.json
index 117eab5493..55686d7c9f 100644
--- a/examples/compiled/bar_count_minimap.vg.json
+++ b/examples/compiled/bar_count_minimap.vg.json
@@ -92,7 +92,7 @@
"x": {"scale": "concat_0_x", "field": "__count"},
"x2": {"scale": "concat_0_x", "value": 0},
"y": {"scale": "concat_0_y", "field": "Name"},
- "height": {"scale": "concat_0_y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('concat_0_y'))"}
}
}
}
@@ -362,7 +362,7 @@
"x": {"scale": "concat_1_x", "field": "__count"},
"x2": {"scale": "concat_1_x", "value": 0},
"y": {"scale": "concat_1_y", "field": "Name"},
- "height": {"scale": "concat_1_y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('concat_1_y'))"}
}
}
},
diff --git a/examples/compiled/bar_custom_sort_full.vg.json b/examples/compiled/bar_custom_sort_full.vg.json
index 4cfa00cbdc..7a444d9ab3 100644
--- a/examples/compiled/bar_custom_sort_full.vg.json
+++ b/examples/compiled/bar_custom_sort_full.vg.json
@@ -60,7 +60,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_custom_sort_partial.vg.json b/examples/compiled/bar_custom_sort_partial.vg.json
index cc37703181..6828a9c6a4 100644
--- a/examples/compiled/bar_custom_sort_partial.vg.json
+++ b/examples/compiled/bar_custom_sort_partial.vg.json
@@ -67,7 +67,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_default_tooltip_title_null.vg.json b/examples/compiled/bar_default_tooltip_title_null.vg.json
index 414e5a232d..22a9c5dfb0 100644
--- a/examples/compiled/bar_default_tooltip_title_null.vg.json
+++ b/examples/compiled/bar_default_tooltip_title_null.vg.json
@@ -63,7 +63,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_distinct.vg.json b/examples/compiled/bar_distinct.vg.json
index 1eb0ce79b8..17721c5355 100644
--- a/examples/compiled/bar_distinct.vg.json
+++ b/examples/compiled/bar_distinct.vg.json
@@ -45,7 +45,7 @@
"signal": "\"Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Distinct of Name: \" + (format(datum[\"distinct_Name\"], \"\"))"
},
"x": {"scale": "x", "field": "Origin"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "distinct_Name"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/bar_diverging_stack_population_pyramid.vg.json b/examples/compiled/bar_diverging_stack_population_pyramid.vg.json
index 4bf0a341e3..e0afae68d8 100644
--- a/examples/compiled/bar_diverging_stack_population_pyramid.vg.json
+++ b/examples/compiled/bar_diverging_stack_population_pyramid.vg.json
@@ -67,7 +67,7 @@
"x": {"scale": "x", "field": "sum_signed_people_end"},
"x2": {"scale": "x", "field": "sum_signed_people_start"},
"y": {"scale": "y", "field": "age"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/bar_diverging_stack_transform.vg.json b/examples/compiled/bar_diverging_stack_transform.vg.json
index 950cdca34b..499eb20a72 100644
--- a/examples/compiled/bar_diverging_stack_transform.vg.json
+++ b/examples/compiled/bar_diverging_stack_transform.vg.json
@@ -312,7 +312,7 @@
"x": {"scale": "x", "field": "nx"},
"x2": {"scale": "x", "field": "nx2"},
"y": {"scale": "y", "field": "question"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/bar_filter_calc.vg.json b/examples/compiled/bar_filter_calc.vg.json
index f16d151db1..ddaf50dcb1 100644
--- a/examples/compiled/bar_filter_calc.vg.json
+++ b/examples/compiled/bar_filter_calc.vg.json
@@ -62,7 +62,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b2: \" + (format(datum[\"b2\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b2_end"},
"y2": {"scale": "y", "field": "b2_start"}
}
diff --git a/examples/compiled/bar_fit.vg.json b/examples/compiled/bar_fit.vg.json
index 6abf452be9..bd1f49f679 100644
--- a/examples/compiled/bar_fit.vg.json
+++ b/examples/compiled/bar_fit.vg.json
@@ -55,7 +55,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_gantt.vg.json b/examples/compiled/bar_gantt.vg.json
index 0379ed49f3..4fd65adfac 100644
--- a/examples/compiled/bar_gantt.vg.json
+++ b/examples/compiled/bar_gantt.vg.json
@@ -48,7 +48,7 @@
"x": {"scale": "x", "field": "start"},
"x2": {"scale": "x", "field": "end"},
"y": {"scale": "y", "field": "task"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/bar_grouped.vg.json b/examples/compiled/bar_grouped.vg.json
index efeaca1d2d..23798b9f9d 100644
--- a/examples/compiled/bar_grouped.vg.json
+++ b/examples/compiled/bar_grouped.vg.json
@@ -66,7 +66,7 @@
"field": "category",
"offset": {"scale": "xOffset", "field": "group"}
},
- "width": {"scale": "xOffset", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
"y": {"scale": "y", "field": "value_end"},
"y2": {"scale": "y", "field": "value_start"}
}
diff --git a/examples/compiled/bar_grouped_custom_padding.vg.json b/examples/compiled/bar_grouped_custom_padding.vg.json
index 3ed25ccd14..b6916729ed 100644
--- a/examples/compiled/bar_grouped_custom_padding.vg.json
+++ b/examples/compiled/bar_grouped_custom_padding.vg.json
@@ -63,7 +63,7 @@
"field": "category",
"offset": {"scale": "xOffset", "field": "group"}
},
- "width": {"scale": "xOffset", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
"y": {"scale": "y", "field": "value_end"},
"y2": {"scale": "y", "field": "value_start"}
}
diff --git a/examples/compiled/bar_grouped_errorbar.vg.json b/examples/compiled/bar_grouped_errorbar.vg.json
index 7b8e24a031..1e6a3ac463 100644
--- a/examples/compiled/bar_grouped_errorbar.vg.json
+++ b/examples/compiled/bar_grouped_errorbar.vg.json
@@ -83,7 +83,7 @@
"field": "Cylinders",
"offset": {"scale": "xOffset", "field": "Origin"}
},
- "width": {"scale": "xOffset", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
"y": {"scale": "y", "field": "mean_Acceleration"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/bar_grouped_facet.vg.json b/examples/compiled/bar_grouped_facet.vg.json
index 0b06ad5941..caa2f96c81 100644
--- a/examples/compiled/bar_grouped_facet.vg.json
+++ b/examples/compiled/bar_grouped_facet.vg.json
@@ -131,7 +131,7 @@
"signal": "\"group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"]) + \"; value: \" + (format(datum[\"value\"], \"\"))"
},
"x": {"scale": "x", "field": "group"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "value_end"},
"y2": {"scale": "y", "field": "value_start"}
}
diff --git a/examples/compiled/bar_grouped_facet_independent_scale.vg.json b/examples/compiled/bar_grouped_facet_independent_scale.vg.json
index 8c49ce7ab9..61f5f87a69 100644
--- a/examples/compiled/bar_grouped_facet_independent_scale.vg.json
+++ b/examples/compiled/bar_grouped_facet_independent_scale.vg.json
@@ -149,7 +149,7 @@
"signal": "\"group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"]) + \"; value: \" + (format(datum[\"value\"], \"\"))"
},
"x": {"scale": "child_x", "field": "group"},
- "width": {"scale": "child_x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('child_x'))"},
"y": {"scale": "y", "field": "value_end"},
"y2": {"scale": "y", "field": "value_start"}
}
diff --git a/examples/compiled/bar_grouped_facet_independent_scale_fixed_width.vg.json b/examples/compiled/bar_grouped_facet_independent_scale_fixed_width.vg.json
index b6b9bd0656..349601a689 100644
--- a/examples/compiled/bar_grouped_facet_independent_scale_fixed_width.vg.json
+++ b/examples/compiled/bar_grouped_facet_independent_scale_fixed_width.vg.json
@@ -124,7 +124,7 @@
"signal": "\"group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"]) + \"; value: \" + (format(datum[\"value\"], \"\"))"
},
"x": {"scale": "child_x", "field": "group"},
- "width": {"scale": "child_x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('child_x'))"},
"y": {"scale": "y", "field": "value_end"},
"y2": {"scale": "y", "field": "value_start"}
}
diff --git a/examples/compiled/bar_grouped_fixed_width.vg.json b/examples/compiled/bar_grouped_fixed_width.vg.json
index 076a137a61..f0f2fb3239 100644
--- a/examples/compiled/bar_grouped_fixed_width.vg.json
+++ b/examples/compiled/bar_grouped_fixed_width.vg.json
@@ -57,7 +57,7 @@
"field": "category",
"offset": {"scale": "xOffset", "field": "group"}
},
- "width": {"scale": "xOffset", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
"y": {"scale": "y", "field": "value_end"},
"y2": {"scale": "y", "field": "value_start"}
}
diff --git a/examples/compiled/bar_grouped_horizontal.vg.json b/examples/compiled/bar_grouped_horizontal.vg.json
index 04039a18e4..6de464a01b 100644
--- a/examples/compiled/bar_grouped_horizontal.vg.json
+++ b/examples/compiled/bar_grouped_horizontal.vg.json
@@ -68,7 +68,7 @@
"field": "category",
"offset": {"scale": "yOffset", "field": "group"}
},
- "height": {"scale": "yOffset", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('yOffset'))"}
}
}
}
diff --git a/examples/compiled/bar_grouped_label.vg.json b/examples/compiled/bar_grouped_label.vg.json
index 61d956bf58..99fad91d1b 100644
--- a/examples/compiled/bar_grouped_label.vg.json
+++ b/examples/compiled/bar_grouped_label.vg.json
@@ -81,7 +81,7 @@
"field": "category",
"offset": {"scale": "xOffset", "field": "group"}
},
- "width": {"scale": "xOffset", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
"y": {"scale": "y", "field": "value_end"},
"y2": {"scale": "y", "field": "value_start"}
}
diff --git a/examples/compiled/bar_grouped_repeated.vg.json b/examples/compiled/bar_grouped_repeated.vg.json
index 000c4479e5..8174ba5b62 100644
--- a/examples/compiled/bar_grouped_repeated.vg.json
+++ b/examples/compiled/bar_grouped_repeated.vg.json
@@ -48,7 +48,7 @@
"field": "Major Genre",
"offset": {"scale": "xOffset", "value": "Worldwide Gross"}
},
- "width": {"scale": "xOffset", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
"y": [
{
"test": "!isValid(datum[\"sum_Worldwide Gross\"]) || !isFinite(+datum[\"sum_Worldwide Gross\"])",
@@ -77,7 +77,7 @@
"field": "Major Genre",
"offset": {"scale": "xOffset", "value": "US Gross"}
},
- "width": {"scale": "xOffset", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
"y": [
{
"test": "!isValid(datum[\"sum_US Gross\"]) || !isFinite(+datum[\"sum_US Gross\"])",
diff --git a/examples/compiled/bar_grouped_stacked.vg.json b/examples/compiled/bar_grouped_stacked.vg.json
index 19324562fa..727c32e6be 100644
--- a/examples/compiled/bar_grouped_stacked.vg.json
+++ b/examples/compiled/bar_grouped_stacked.vg.json
@@ -66,7 +66,7 @@
"field": "Cylinders",
"offset": {"scale": "xOffset", "field": "Origin"}
},
- "width": {"scale": "xOffset", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
"y": {"scale": "y", "field": "sum_Weight_in_lbs_end"},
"y2": {"scale": "y", "field": "sum_Weight_in_lbs_start"}
}
diff --git a/examples/compiled/bar_grouped_step_for_offset.vg.json b/examples/compiled/bar_grouped_step_for_offset.vg.json
index e7f62bc9bf..6b0296359e 100644
--- a/examples/compiled/bar_grouped_step_for_offset.vg.json
+++ b/examples/compiled/bar_grouped_step_for_offset.vg.json
@@ -66,7 +66,7 @@
"field": "category",
"offset": {"scale": "xOffset", "field": "group"}
},
- "width": {"scale": "xOffset", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
"y": {"scale": "y", "field": "value_end"},
"y2": {"scale": "y", "field": "value_start"}
}
diff --git a/examples/compiled/bar_grouped_step_for_position.vg.json b/examples/compiled/bar_grouped_step_for_position.vg.json
index 694e751e5f..81bd6e3c9c 100644
--- a/examples/compiled/bar_grouped_step_for_position.vg.json
+++ b/examples/compiled/bar_grouped_step_for_position.vg.json
@@ -63,7 +63,7 @@
"field": "category",
"offset": {"scale": "xOffset", "field": "group"}
},
- "width": {"scale": "xOffset", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
"y": {"scale": "y", "field": "value_end"},
"y2": {"scale": "y", "field": "value_start"}
}
diff --git a/examples/compiled/bar_grouped_thin.png b/examples/compiled/bar_grouped_thin.png
new file mode 100644
index 0000000000..3185ae2793
Binary files /dev/null and b/examples/compiled/bar_grouped_thin.png differ
diff --git a/examples/compiled/bar_grouped_thin.svg b/examples/compiled/bar_grouped_thin.svg
new file mode 100644
index 0000000000..dd02e406ab
--- /dev/null
+++ b/examples/compiled/bar_grouped_thin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/examples/compiled/bar_grouped_thin.vg.json b/examples/compiled/bar_grouped_thin.vg.json
new file mode 100644
index 0000000000..69c532b3bc
--- /dev/null
+++ b/examples/compiled/bar_grouped_thin.vg.json
@@ -0,0 +1,120 @@
+{
+ "$schema": "https://vega.github.io/schema/vega/v5.json",
+ "background": "white",
+ "padding": 5,
+ "width": 500,
+ "height": 200,
+ "style": "cell",
+ "data": [
+ {
+ "name": "source_0",
+ "url": "data/movies.json",
+ "format": {"type": "json"},
+ "transform": [
+ {
+ "type": "aggregate",
+ "groupby": ["Director", "Title"],
+ "ops": ["mean"],
+ "fields": ["Rotten Tomatoes Rating"],
+ "as": ["mean_Rotten Tomatoes Rating"]
+ }
+ ]
+ }
+ ],
+ "marks": [
+ {
+ "name": "marks",
+ "type": "rect",
+ "style": ["bar"],
+ "from": {"data": "source_0"},
+ "encode": {
+ "update": {
+ "fill": [
+ {
+ "test": "datum['IMDB Rating'] === null || datum['Rotten Tomatoes Rating'] === null",
+ "value": "#aaa"
+ },
+ {"value": "#4c78a8"}
+ ],
+ "ariaRoleDescription": {"value": "bar"},
+ "description": {
+ "signal": "\"Director: \" + (isValid(datum[\"Director\"]) ? datum[\"Director\"] : \"\"+datum[\"Director\"]) + \"; Mean of Rotten Tomatoes Rating: \" + (format(datum[\"mean_Rotten Tomatoes Rating\"], \"\")) + \"; Title: \" + (isValid(datum[\"Title\"]) ? datum[\"Title\"] : \"\"+datum[\"Title\"])"
+ },
+ "x": {
+ "scale": "x",
+ "field": "Director",
+ "offset": {"scale": "xOffset", "field": "Title"}
+ },
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
+ "y": [
+ {
+ "test": "!isValid(datum[\"mean_Rotten Tomatoes Rating\"]) || !isFinite(+datum[\"mean_Rotten Tomatoes Rating\"])",
+ "field": {"group": "height"}
+ },
+ {"scale": "y", "field": "mean_Rotten Tomatoes Rating"}
+ ],
+ "y2": {"scale": "y", "value": 0}
+ }
+ }
+ }
+ ],
+ "scales": [
+ {
+ "name": "x",
+ "type": "band",
+ "domain": {"data": "source_0", "field": "Director", "sort": true},
+ "range": [0, {"signal": "width"}],
+ "paddingInner": 0.2,
+ "paddingOuter": 0.2
+ },
+ {
+ "name": "y",
+ "type": "linear",
+ "domain": {"data": "source_0", "field": "mean_Rotten Tomatoes Rating"},
+ "range": [{"signal": "height"}, 0],
+ "nice": true,
+ "zero": true
+ },
+ {
+ "name": "xOffset",
+ "type": "band",
+ "domain": {"data": "source_0", "field": "Title", "sort": true},
+ "range": [0, {"signal": "bandwidth('x')"}]
+ }
+ ],
+ "axes": [
+ {
+ "scale": "y",
+ "orient": "left",
+ "gridScale": "x",
+ "grid": true,
+ "tickCount": {"signal": "ceil(height/40)"},
+ "domain": false,
+ "labels": false,
+ "aria": false,
+ "maxExtent": 0,
+ "minExtent": 0,
+ "ticks": false,
+ "zindex": 0
+ },
+ {
+ "scale": "x",
+ "orient": "bottom",
+ "grid": false,
+ "title": "Director",
+ "labelAlign": "right",
+ "labelAngle": 270,
+ "labelBaseline": "middle",
+ "zindex": 0
+ },
+ {
+ "scale": "y",
+ "orient": "left",
+ "grid": false,
+ "title": "Mean of Rotten Tomatoes Rating",
+ "labelOverlap": true,
+ "tickCount": {"signal": "ceil(height/40)"},
+ "zindex": 0
+ }
+ ]
+}
diff --git a/examples/compiled/bar_heatlane.png b/examples/compiled/bar_heatlane.png
new file mode 100644
index 0000000000..779a28f8d2
Binary files /dev/null and b/examples/compiled/bar_heatlane.png differ
diff --git a/examples/compiled/bar_heatlane.svg b/examples/compiled/bar_heatlane.svg
new file mode 100644
index 0000000000..b72c127fcb
--- /dev/null
+++ b/examples/compiled/bar_heatlane.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/examples/compiled/bar_heatlane.vg.json b/examples/compiled/bar_heatlane.vg.json
new file mode 100644
index 0000000000..910871071b
--- /dev/null
+++ b/examples/compiled/bar_heatlane.vg.json
@@ -0,0 +1,150 @@
+{
+ "$schema": "https://vega.github.io/schema/vega/v5.json",
+ "description": "Heat lane chart based on https://www.smashingmagazine.com/2022/07/accessibility-first-approach-chart-visual-design/",
+ "background": "white",
+ "padding": 5,
+ "width": 400,
+ "height": 150,
+ "title": {"text": "Heat Lane of Horsepower", "frame": "group"},
+ "style": "cell",
+ "data": [
+ {
+ "name": "source_0",
+ "url": "data/cars.json",
+ "format": {"type": "json"},
+ "transform": [
+ {
+ "type": "extent",
+ "field": "Horsepower",
+ "signal": "bin_maxbins_10_Horsepower_extent"
+ },
+ {
+ "type": "bin",
+ "field": "Horsepower",
+ "as": ["bin_Horsepower_start", "bin_Horsepower_end"],
+ "signal": "bin_maxbins_10_Horsepower_bins",
+ "extent": {"signal": "bin_maxbins_10_Horsepower_extent"},
+ "maxbins": 10
+ },
+ {
+ "type": "aggregate",
+ "groupby": ["bin_Horsepower_start", "bin_Horsepower_end"],
+ "ops": ["count"],
+ "fields": [null],
+ "as": ["count"]
+ },
+ {
+ "type": "extent",
+ "field": "count",
+ "signal": "bin_maxbins_10_count_extent"
+ },
+ {
+ "type": "bin",
+ "field": "count",
+ "as": ["bin_count_start", "bin_count_end"],
+ "signal": "bin_maxbins_10_count_bins",
+ "extent": {"signal": "bin_maxbins_10_count_extent"},
+ "maxbins": 10
+ },
+ {"type": "formula", "expr": "-datum.bin_count_end/2", "as": "y2"},
+ {"type": "formula", "expr": "datum.bin_count_end/2", "as": "y"},
+ {
+ "type": "joinaggregate",
+ "as": ["max_bin_count_end"],
+ "ops": ["max"],
+ "fields": ["bin_count_end"]
+ },
+ {
+ "type": "filter",
+ "expr": "isValid(datum[\"bin_Horsepower_start\"]) && isFinite(+datum[\"bin_Horsepower_start\"])"
+ }
+ ]
+ }
+ ],
+ "marks": [
+ {
+ "name": "layer_0_marks",
+ "type": "rect",
+ "style": ["bar"],
+ "from": {"data": "source_0"},
+ "encode": {
+ "update": {
+ "cornerRadius": {"value": 3},
+ "fill": {"scale": "color", "field": "max_bin_count_end"},
+ "ariaRoleDescription": {"value": "bar"},
+ "description": {
+ "signal": "\"Horsepower: \" + (format(datum[\"bin_Horsepower_start\"], \"\")) + \"; y: \" + (isValid(datum[\"y\"]) ? datum[\"y\"] : \"\"+datum[\"y\"]) + \"; bin_Horsepower_end: \" + (format(datum[\"bin_Horsepower_end\"], \"\")) + \"; y2: \" + (isValid(datum[\"y2\"]) ? datum[\"y2\"] : \"\"+datum[\"y2\"]) + \"; count: \" + (isValid(datum[\"max_bin_count_end\"]) ? datum[\"max_bin_count_end\"] : \"\"+datum[\"max_bin_count_end\"])"
+ },
+ "x": {"scale": "x", "field": "bin_Horsepower_start", "offset": 2},
+ "x2": {"scale": "x", "field": "bin_Horsepower_end", "offset": -2},
+ "y": {"scale": "y", "field": "y", "band": 0.5},
+ "y2": {"scale": "y", "field": "y2", "band": 0.5}
+ }
+ }
+ },
+ {
+ "name": "layer_1_marks",
+ "type": "rect",
+ "style": ["bar"],
+ "from": {"data": "source_0"},
+ "encode": {
+ "update": {
+ "fill": {"scale": "color", "field": "bin_count_end"},
+ "ariaRoleDescription": {"value": "bar"},
+ "description": {
+ "signal": "\"Horsepower: \" + (format(datum[\"bin_Horsepower_start\"], \"\")) + \"; y: \" + (isValid(datum[\"y\"]) ? datum[\"y\"] : \"\"+datum[\"y\"]) + \"; bin_Horsepower_end: \" + (format(datum[\"bin_Horsepower_end\"], \"\")) + \"; y2: \" + (isValid(datum[\"y2\"]) ? datum[\"y2\"] : \"\"+datum[\"y2\"]) + \"; count: \" + (isValid(datum[\"bin_count_end\"]) ? datum[\"bin_count_end\"] : \"\"+datum[\"bin_count_end\"])"
+ },
+ "x": {"scale": "x", "field": "bin_Horsepower_start", "offset": 2},
+ "x2": {"scale": "x", "field": "bin_Horsepower_end", "offset": -2},
+ "y": {"scale": "y", "field": "y", "offset": -3, "band": 0.5},
+ "y2": {"scale": "y", "field": "y2", "offset": 3, "band": 0.5}
+ }
+ }
+ }
+ ],
+ "scales": [
+ {
+ "name": "x",
+ "type": "linear",
+ "domain": {
+ "data": "source_0",
+ "fields": ["bin_Horsepower_start", "bin_Horsepower_end"]
+ },
+ "range": [0, {"signal": "width"}],
+ "nice": true,
+ "zero": true
+ },
+ {
+ "name": "y",
+ "type": "band",
+ "domain": {"data": "source_0", "fields": ["y", "y2"], "sort": true},
+ "range": [0, {"signal": "height"}],
+ "paddingInner": 0.1,
+ "paddingOuter": 0.05
+ },
+ {
+ "name": "color",
+ "type": "ordinal",
+ "domain": {
+ "data": "source_0",
+ "fields": ["max_bin_count_end", "bin_count_end"],
+ "sort": true
+ },
+ "range": {"scheme": "lighttealblue"},
+ "interpolate": "hcl"
+ }
+ ],
+ "axes": [
+ {
+ "scale": "x",
+ "orient": "bottom",
+ "grid": false,
+ "title": "Horsepower",
+ "labelFlush": true,
+ "labelOverlap": true,
+ "tickCount": {"signal": "ceil(width/40)"},
+ "zindex": 0
+ }
+ ],
+ "legends": [{"title": "count", "fill": "color", "symbolType": "square"}]
+}
diff --git a/examples/compiled/bar_layered_transparent.vg.json b/examples/compiled/bar_layered_transparent.vg.json
index 8b5bc6ef03..fbd9aa0f00 100644
--- a/examples/compiled/bar_layered_transparent.vg.json
+++ b/examples/compiled/bar_layered_transparent.vg.json
@@ -53,7 +53,7 @@
"signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])"
},
"x": {"scale": "x", "field": "age"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "sum_people"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/bar_month.vg.json b/examples/compiled/bar_month.vg.json
index 3fc56b1524..cdd3dacecf 100644
--- a/examples/compiled/bar_month.vg.json
+++ b/examples/compiled/bar_month.vg.json
@@ -51,7 +51,7 @@
"signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))"
},
"x": {"scale": "x", "field": "month_date"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "mean_precipitation"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/bar_multi_values_per_categories.vg.json b/examples/compiled/bar_multi_values_per_categories.vg.json
index 8547fe9606..63d48a5175 100644
--- a/examples/compiled/bar_multi_values_per_categories.vg.json
+++ b/examples/compiled/bar_multi_values_per_categories.vg.json
@@ -63,7 +63,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_negative.vg.json b/examples/compiled/bar_negative.vg.json
index 8f9e76b9f9..8965cdfe1d 100644
--- a/examples/compiled/bar_negative.vg.json
+++ b/examples/compiled/bar_negative.vg.json
@@ -60,7 +60,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_negative_horizontal_label.vg.json b/examples/compiled/bar_negative_horizontal_label.vg.json
index 9d139addad..96aa0dbd66 100644
--- a/examples/compiled/bar_negative_horizontal_label.vg.json
+++ b/examples/compiled/bar_negative_horizontal_label.vg.json
@@ -72,7 +72,7 @@
"x": {"scale": "x", "field": "b_end"},
"x2": {"scale": "x", "field": "b_start"},
"y": {"scale": "y", "field": "a"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/bar_params.vg.json b/examples/compiled/bar_params.vg.json
index 6123354272..3273c30642 100644
--- a/examples/compiled/bar_params.vg.json
+++ b/examples/compiled/bar_params.vg.json
@@ -64,7 +64,7 @@
"encode": {
"update": {
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {
"signal": "min(scale('y',datum[\"min_b_start\"]),scale('y',datum[\"max_b_start\"]),scale('y',datum[\"min_b_end\"]),scale('y',datum[\"max_b_end\"]))"
},
diff --git a/examples/compiled/bar_params_bound.vg.json b/examples/compiled/bar_params_bound.vg.json
index 7e94ef9da6..81146c10f5 100644
--- a/examples/compiled/bar_params_bound.vg.json
+++ b/examples/compiled/bar_params_bound.vg.json
@@ -68,7 +68,7 @@
"encode": {
"update": {
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {
"signal": "min(scale('y',datum[\"min_b_start\"]),scale('y',datum[\"max_b_start\"]),scale('y',datum[\"min_b_end\"]),scale('y',datum[\"max_b_end\"]))"
},
diff --git a/examples/compiled/bar_percent_of_total.vg.json b/examples/compiled/bar_percent_of_total.vg.json
index ed7365cc58..2258fe7f1d 100644
--- a/examples/compiled/bar_percent_of_total.vg.json
+++ b/examples/compiled/bar_percent_of_total.vg.json
@@ -69,7 +69,7 @@
"x": {"scale": "x", "field": "PercentOfTotal_end"},
"x2": {"scale": "x", "field": "PercentOfTotal_start"},
"y": {"scale": "y", "field": "Activity"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/bar_size_default.vg.json b/examples/compiled/bar_size_default.vg.json
index 4e4a3593b7..a657e6fda5 100644
--- a/examples/compiled/bar_size_default.vg.json
+++ b/examples/compiled/bar_size_default.vg.json
@@ -41,7 +41,7 @@
"signal": "\"Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Origin"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "__count"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/bar_size_explicit_bad.vg.json b/examples/compiled/bar_size_explicit_bad.vg.json
index d27a388e21..564c59c463 100644
--- a/examples/compiled/bar_size_explicit_bad.vg.json
+++ b/examples/compiled/bar_size_explicit_bad.vg.json
@@ -35,7 +35,7 @@
"signal": "\"Name: \" + (isValid(datum[\"Name\"]) ? datum[\"Name\"] : \"\"+datum[\"Name\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Name"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "__count"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/bar_size_fit.vg.json b/examples/compiled/bar_size_fit.vg.json
index 8e5ec39e8d..aed17f5075 100644
--- a/examples/compiled/bar_size_fit.vg.json
+++ b/examples/compiled/bar_size_fit.vg.json
@@ -35,7 +35,7 @@
"signal": "\"Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Origin"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "__count"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/bar_size_responsive.vg.json b/examples/compiled/bar_size_responsive.vg.json
index 88cf30114b..2ed5384234 100644
--- a/examples/compiled/bar_size_responsive.vg.json
+++ b/examples/compiled/bar_size_responsive.vg.json
@@ -47,7 +47,7 @@
"signal": "\"Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Number of Cars: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Origin"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "__count"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/bar_size_step_small.vg.json b/examples/compiled/bar_size_step_small.vg.json
index a31082143b..4b49288a92 100644
--- a/examples/compiled/bar_size_step_small.vg.json
+++ b/examples/compiled/bar_size_step_small.vg.json
@@ -41,7 +41,7 @@
"signal": "\"Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Origin"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "__count"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/bar_sort_by_count.vg.json b/examples/compiled/bar_sort_by_count.vg.json
index 9d87c26a6e..cec76baa9b 100644
--- a/examples/compiled/bar_sort_by_count.vg.json
+++ b/examples/compiled/bar_sort_by_count.vg.json
@@ -42,7 +42,7 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "__count"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/bar_swap_axes.vg.json b/examples/compiled/bar_swap_axes.vg.json
index 5f88082761..24c5aedd84 100644
--- a/examples/compiled/bar_swap_axes.vg.json
+++ b/examples/compiled/bar_swap_axes.vg.json
@@ -60,7 +60,7 @@
"x": {"scale": "x", "field": "average_b"},
"x2": {"scale": "x", "value": 0},
"y": {"scale": "y", "field": "a"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/bar_swap_custom.vg.json b/examples/compiled/bar_swap_custom.vg.json
index 201bbdb74a..4d8760930d 100644
--- a/examples/compiled/bar_swap_custom.vg.json
+++ b/examples/compiled/bar_swap_custom.vg.json
@@ -60,7 +60,7 @@
"x": {"scale": "x", "field": "average_b"},
"x2": {"scale": "x", "value": 0},
"y": {"scale": "y", "field": "a"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/bar_title.vg.json b/examples/compiled/bar_title.vg.json
index cac465ad90..cef272a2d1 100644
--- a/examples/compiled/bar_title.vg.json
+++ b/examples/compiled/bar_title.vg.json
@@ -60,7 +60,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_title_start.vg.json b/examples/compiled/bar_title_start.vg.json
index 060cdc9c87..03fedcee38 100644
--- a/examples/compiled/bar_title_start.vg.json
+++ b/examples/compiled/bar_title_start.vg.json
@@ -60,7 +60,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_tooltip.vg.json b/examples/compiled/bar_tooltip.vg.json
index 2ab3ef1e59..5295344d5f 100644
--- a/examples/compiled/bar_tooltip.vg.json
+++ b/examples/compiled/bar_tooltip.vg.json
@@ -61,7 +61,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_tooltip_multi.vg.json b/examples/compiled/bar_tooltip_multi.vg.json
index a1b3f4e40a..6a35ed202d 100644
--- a/examples/compiled/bar_tooltip_multi.vg.json
+++ b/examples/compiled/bar_tooltip_multi.vg.json
@@ -62,7 +62,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_tooltip_title.vg.json b/examples/compiled/bar_tooltip_title.vg.json
index 78c257643f..4575f585db 100644
--- a/examples/compiled/bar_tooltip_title.vg.json
+++ b/examples/compiled/bar_tooltip_title.vg.json
@@ -62,7 +62,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; Field A: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; Field B: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/bar_x_offset_without_x_broken.vg.json b/examples/compiled/bar_x_offset_without_x_broken.vg.json
index 9fb6abcc67..7224919868 100644
--- a/examples/compiled/bar_x_offset_without_x_broken.vg.json
+++ b/examples/compiled/bar_x_offset_without_x_broken.vg.json
@@ -60,7 +60,7 @@
"signal": "\"value: \" + (format(datum[\"value\"], \"\")) + \"; group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"])"
},
"x": {"scale": "x", "field": "group"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "value_end"},
"y2": {"scale": "y", "field": "value_start"}
}
diff --git a/examples/compiled/concat_bar_layer_circle.vg.json b/examples/compiled/concat_bar_layer_circle.vg.json
index cd91195e8d..4bdc186d2f 100644
--- a/examples/compiled/concat_bar_layer_circle.vg.json
+++ b/examples/compiled/concat_bar_layer_circle.vg.json
@@ -315,7 +315,7 @@
"signal": "\"Major Genre: \" + (isValid(datum[\"Major Genre\"]) ? datum[\"Major Genre\"] : \"\"+datum[\"Major Genre\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "concat_1_x", "field": "Major Genre"},
- "width": {"scale": "concat_1_x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('concat_1_x'))"},
"y": {"scale": "concat_1_y", "field": "__count"},
"y2": {"scale": "concat_1_y", "value": 0}
}
diff --git a/examples/compiled/concat_population_pyramid.vg.json b/examples/compiled/concat_population_pyramid.vg.json
index 526faf05fb..8e337a1fb8 100644
--- a/examples/compiled/concat_population_pyramid.vg.json
+++ b/examples/compiled/concat_population_pyramid.vg.json
@@ -129,7 +129,7 @@
"x": {"scale": "concat_0_x", "field": "sum_people_end"},
"x2": {"scale": "concat_0_x", "field": "sum_people_start"},
"y": {"scale": "concat_0_y", "field": "age"},
- "height": {"scale": "concat_0_y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('concat_0_y'))"}
}
}
}
@@ -208,7 +208,7 @@
"x": {"scale": "concat_2_x", "field": "sum_people_end"},
"x2": {"scale": "concat_2_x", "field": "sum_people_start"},
"y": {"scale": "concat_2_y", "field": "age"},
- "height": {"scale": "concat_2_y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('concat_2_y'))"}
}
}
}
diff --git a/examples/compiled/concat_weather.vg.json b/examples/compiled/concat_weather.vg.json
index 416a30ea6c..0df5e44753 100644
--- a/examples/compiled/concat_weather.vg.json
+++ b/examples/compiled/concat_weather.vg.json
@@ -138,7 +138,7 @@
"signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))"
},
"x": {"scale": "concat_0_x", "field": "month_date"},
- "width": {"scale": "concat_0_x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('concat_0_x'))"},
"y": {"scale": "concat_0_y", "field": "mean_precipitation"},
"y2": {"scale": "concat_0_y", "value": 0}
}
@@ -207,7 +207,7 @@
"signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Median of precipitation: \" + (format(datum[\"median_precipitation\"], \"\"))"
},
"x": {"scale": "concat_1_x", "field": "month_date"},
- "width": {"scale": "concat_1_x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('concat_1_x'))"},
"y": {"scale": "concat_1_y", "field": "median_precipitation"},
"y2": {"scale": "concat_1_y", "value": 0}
}
diff --git a/examples/compiled/facet_cross_independent_scale.vg.json b/examples/compiled/facet_cross_independent_scale.vg.json
index ee46c02b89..d6280b91b1 100644
--- a/examples/compiled/facet_cross_independent_scale.vg.json
+++ b/examples/compiled/facet_cross_independent_scale.vg.json
@@ -169,9 +169,9 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (isValid(datum[\"b\"]) ? datum[\"b\"] : \"\"+datum[\"b\"])"
},
"x": {"scale": "child_x", "field": "a"},
- "width": {"scale": "child_x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('child_x'))"},
"y": {"scale": "child_y", "field": "b"},
- "height": {"scale": "child_y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('child_y'))"}
}
}
}
diff --git a/examples/compiled/facet_custom.vg.json b/examples/compiled/facet_custom.vg.json
index 5435c57482..8efd0d24a6 100644
--- a/examples/compiled/facet_custom.vg.json
+++ b/examples/compiled/facet_custom.vg.json
@@ -151,7 +151,7 @@
"signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])"
},
"x": {"scale": "x", "field": "age"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "sum_people_end"},
"y2": {"scale": "y", "field": "sum_people_start"}
}
diff --git a/examples/compiled/facet_custom_header.vg.json b/examples/compiled/facet_custom_header.vg.json
index 5435c57482..8efd0d24a6 100644
--- a/examples/compiled/facet_custom_header.vg.json
+++ b/examples/compiled/facet_custom_header.vg.json
@@ -151,7 +151,7 @@
"signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])"
},
"x": {"scale": "x", "field": "age"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "sum_people_end"},
"y2": {"scale": "y", "field": "sum_people_start"}
}
diff --git a/examples/compiled/facet_grid_bar.vg.json b/examples/compiled/facet_grid_bar.vg.json
index c2264832a3..ffe8d7fbb6 100644
--- a/examples/compiled/facet_grid_bar.vg.json
+++ b/examples/compiled/facet_grid_bar.vg.json
@@ -192,7 +192,7 @@
"x": {"scale": "x", "field": "p_end"},
"x2": {"scale": "x", "field": "p_start"},
"y": {"scale": "y", "field": "c"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/facet_independent_scale.vg.json b/examples/compiled/facet_independent_scale.vg.json
index 16883e8863..ec52febd7e 100644
--- a/examples/compiled/facet_independent_scale.vg.json
+++ b/examples/compiled/facet_independent_scale.vg.json
@@ -146,7 +146,7 @@
"signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])"
},
"x": {"scale": "child_x", "field": "age"},
- "width": {"scale": "child_x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('child_x'))"},
"y": {"scale": "y", "field": "sum_people_end"},
"y2": {"scale": "y", "field": "sum_people_start"}
}
diff --git a/examples/compiled/hconcat_weather.vg.json b/examples/compiled/hconcat_weather.vg.json
index 8bb952d22f..958915aad6 100644
--- a/examples/compiled/hconcat_weather.vg.json
+++ b/examples/compiled/hconcat_weather.vg.json
@@ -117,7 +117,7 @@
"signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))"
},
"x": {"scale": "concat_0_x", "field": "month_date"},
- "width": {"scale": "concat_0_x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('concat_0_x'))"},
"y": {"scale": "concat_0_y", "field": "mean_precipitation"},
"y2": {"scale": "concat_0_y", "value": 0}
}
diff --git a/examples/compiled/histogram_ordinal.vg.json b/examples/compiled/histogram_ordinal.vg.json
index 43b2f6e0fd..1b11b8bd79 100644
--- a/examples/compiled/histogram_ordinal.vg.json
+++ b/examples/compiled/histogram_ordinal.vg.json
@@ -66,7 +66,7 @@
"signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "bin_maxbins_10_IMDB Rating_range"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "__count"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/histogram_ordinal_sort.vg.json b/examples/compiled/histogram_ordinal_sort.vg.json
index b0e3d9f849..a31354fb06 100644
--- a/examples/compiled/histogram_ordinal_sort.vg.json
+++ b/examples/compiled/histogram_ordinal_sort.vg.json
@@ -72,7 +72,7 @@
"signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "bin_maxbins_10_IMDB Rating_range"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "__count"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/interactive_bar_select_highlight.vg.json b/examples/compiled/interactive_bar_select_highlight.vg.json
index 61090f6587..348178735e 100644
--- a/examples/compiled/interactive_bar_select_highlight.vg.json
+++ b/examples/compiled/interactive_bar_select_highlight.vg.json
@@ -167,7 +167,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/interactive_concat_layer.vg.json b/examples/compiled/interactive_concat_layer.vg.json
index e73c94dd63..46b90b6af8 100644
--- a/examples/compiled/interactive_concat_layer.vg.json
+++ b/examples/compiled/interactive_concat_layer.vg.json
@@ -317,7 +317,7 @@
"signal": "\"Major Genre: \" + (isValid(datum[\"Major Genre\"]) ? datum[\"Major Genre\"] : \"\"+datum[\"Major Genre\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "concat_1_x", "field": "Major Genre"},
- "width": {"scale": "concat_1_x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('concat_1_x'))"},
"y": {"scale": "concat_1_y", "field": "__count"},
"y2": {"scale": "concat_1_y", "value": 0}
}
diff --git a/examples/compiled/interactive_dashboard_europe_pop.vg.json b/examples/compiled/interactive_dashboard_europe_pop.vg.json
index 905b49d135..7907c00a1f 100644
--- a/examples/compiled/interactive_dashboard_europe_pop.vg.json
+++ b/examples/compiled/interactive_dashboard_europe_pop.vg.json
@@ -626,7 +626,7 @@
"field": "Population_ages_15_64_of_total_start"
},
"y": {"scale": "concat_0_y", "field": "Country"},
- "height": {"scale": "concat_0_y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('concat_0_y'))"}
}
}
},
@@ -950,7 +950,7 @@
"field": "Population_ages_65_and_above_of_total_start"
},
"y": {"scale": "concat_1_y", "field": "Country"},
- "height": {"scale": "concat_1_y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('concat_1_y'))"}
}
}
},
diff --git a/examples/compiled/interactive_seattle_weather.vg.json b/examples/compiled/interactive_seattle_weather.vg.json
index 13d435d98b..850ac9048e 100644
--- a/examples/compiled/interactive_seattle_weather.vg.json
+++ b/examples/compiled/interactive_seattle_weather.vg.json
@@ -498,7 +498,7 @@
"x": {"scale": "concat_1_x", "field": "__count"},
"x2": {"scale": "concat_1_x", "value": 0},
"y": {"scale": "concat_1_y", "field": "weather"},
- "height": {"scale": "concat_1_y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('concat_1_y'))"}
}
}
}
diff --git a/examples/compiled/joinaggregate_mean_difference.vg.json b/examples/compiled/joinaggregate_mean_difference.vg.json
index ae63ba42e2..d3592f878a 100644
--- a/examples/compiled/joinaggregate_mean_difference.vg.json
+++ b/examples/compiled/joinaggregate_mean_difference.vg.json
@@ -82,7 +82,7 @@
"x": {"scale": "x", "field": "IMDB Rating_end"},
"x2": {"scale": "x", "field": "IMDB Rating_start"},
"y": {"scale": "y", "field": "Title"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/joinaggregate_mean_difference_by_year.vg.json b/examples/compiled/joinaggregate_mean_difference_by_year.vg.json
index 476b0af3f3..611937a644 100644
--- a/examples/compiled/joinaggregate_mean_difference_by_year.vg.json
+++ b/examples/compiled/joinaggregate_mean_difference_by_year.vg.json
@@ -84,7 +84,7 @@
"x": {"scale": "x", "field": "IMDB Rating_end"},
"x2": {"scale": "x", "field": "IMDB Rating_start"},
"y": {"scale": "y", "field": "Title"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/joinaggregate_percent_of_total.vg.json b/examples/compiled/joinaggregate_percent_of_total.vg.json
index ed7365cc58..2258fe7f1d 100644
--- a/examples/compiled/joinaggregate_percent_of_total.vg.json
+++ b/examples/compiled/joinaggregate_percent_of_total.vg.json
@@ -69,7 +69,7 @@
"x": {"scale": "x", "field": "PercentOfTotal_end"},
"x2": {"scale": "x", "field": "PercentOfTotal_start"},
"y": {"scale": "y", "field": "Activity"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/layer_bar_annotations.vg.json b/examples/compiled/layer_bar_annotations.vg.json
index 481e8c5c7b..0c4bd6ee71 100644
--- a/examples/compiled/layer_bar_annotations.vg.json
+++ b/examples/compiled/layer_bar_annotations.vg.json
@@ -79,7 +79,7 @@
"signal": "\"Day: \" + (isValid(datum[\"Day\"]) ? datum[\"Day\"] : \"\"+datum[\"Day\"]) + \"; Value: \" + (format(datum[\"Value\"], \"\"))"
},
"x": {"scale": "x", "field": "Day"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Value_end"},
"y2": {"scale": "y", "field": "Value_start"}
}
@@ -98,7 +98,7 @@
"signal": "\"Day: \" + (isValid(datum[\"Day\"]) ? datum[\"Day\"] : \"\"+datum[\"Day\"]) + \"; PM2.5 Value: \" + (format(datum[\"baseline\"], \"\")) + \"; Value: \" + (format(datum[\"Value\"], \"\"))"
},
"x": {"scale": "x", "field": "Day"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "baseline"},
"y2": {"scale": "y", "field": "Value"}
}
diff --git a/examples/compiled/layer_bar_circle_grouped.vg.json b/examples/compiled/layer_bar_circle_grouped.vg.json
index 2b50d57e02..4de4dea6d2 100644
--- a/examples/compiled/layer_bar_circle_grouped.vg.json
+++ b/examples/compiled/layer_bar_circle_grouped.vg.json
@@ -81,7 +81,7 @@
"field": "category",
"offset": {"scale": "xOffset", "field": "group"}
},
- "width": {"scale": "xOffset", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
"y": {"scale": "y", "field": "value_end"},
"y2": {"scale": "y", "field": "value_start"}
}
diff --git a/examples/compiled/layer_bar_fruit.vg.json b/examples/compiled/layer_bar_fruit.vg.json
index b836111433..e7d01668fb 100644
--- a/examples/compiled/layer_bar_fruit.vg.json
+++ b/examples/compiled/layer_bar_fruit.vg.json
@@ -71,7 +71,7 @@
"x": {"scale": "x", "field": "count_end"},
"x2": {"scale": "x", "field": "count_start"},
"y": {"scale": "y", "field": "name"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/layer_bar_grouped_line_ungrouped.vg.json b/examples/compiled/layer_bar_grouped_line_ungrouped.vg.json
index dc3df7df6b..bd2e4f27df 100644
--- a/examples/compiled/layer_bar_grouped_line_ungrouped.vg.json
+++ b/examples/compiled/layer_bar_grouped_line_ungrouped.vg.json
@@ -79,7 +79,7 @@
"field": "category",
"offset": {"scale": "xOffset", "field": "group"}
},
- "width": {"scale": "xOffset", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
"y": {"scale": "y", "field": "value_end"},
"y2": {"scale": "y", "field": "value_start"}
}
diff --git a/examples/compiled/layer_bar_labels.vg.json b/examples/compiled/layer_bar_labels.vg.json
index 7ede2672cf..31d397cd71 100644
--- a/examples/compiled/layer_bar_labels.vg.json
+++ b/examples/compiled/layer_bar_labels.vg.json
@@ -62,7 +62,7 @@
"x": {"scale": "x", "field": "b_end"},
"x2": {"scale": "x", "field": "b_start"},
"y": {"scale": "y", "field": "a"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/layer_bar_labels_grey.vg.json b/examples/compiled/layer_bar_labels_grey.vg.json
index beb6fa9b63..8b77756483 100644
--- a/examples/compiled/layer_bar_labels_grey.vg.json
+++ b/examples/compiled/layer_bar_labels_grey.vg.json
@@ -53,7 +53,7 @@
"x": {"scale": "x", "field": "mean_IMDB Rating"},
"x2": {"scale": "x", "value": 0},
"y": {"scale": "y", "field": "Major Genre"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/layer_bar_labels_style.vg.json b/examples/compiled/layer_bar_labels_style.vg.json
index 0efd8ebe05..dd0169cc9c 100644
--- a/examples/compiled/layer_bar_labels_style.vg.json
+++ b/examples/compiled/layer_bar_labels_style.vg.json
@@ -61,7 +61,7 @@
"x": {"scale": "x", "field": "b_end"},
"x2": {"scale": "x", "field": "b_start"},
"y": {"scale": "y", "field": "a"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/layer_bar_line.vg.json b/examples/compiled/layer_bar_line.vg.json
index eec6e7a17b..0fa026c72d 100644
--- a/examples/compiled/layer_bar_line.vg.json
+++ b/examples/compiled/layer_bar_line.vg.json
@@ -59,7 +59,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/layer_bar_line_union.vg.json b/examples/compiled/layer_bar_line_union.vg.json
index ea1feef68a..3cf4f28bc2 100644
--- a/examples/compiled/layer_bar_line_union.vg.json
+++ b/examples/compiled/layer_bar_line_union.vg.json
@@ -59,7 +59,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; c: \" + (format(datum[\"c\"], \"\"))"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "c_end"},
"y2": {"scale": "y", "field": "c_start"}
}
diff --git a/examples/compiled/layer_bar_month.vg.json b/examples/compiled/layer_bar_month.vg.json
index a0b5889ea6..498fab4f7b 100644
--- a/examples/compiled/layer_bar_month.vg.json
+++ b/examples/compiled/layer_bar_month.vg.json
@@ -72,7 +72,7 @@
"signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))"
},
"x": {"scale": "x", "field": "month_date"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "mean_precipitation"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/layer_bar_tick_datum_grouped.vg.json b/examples/compiled/layer_bar_tick_datum_grouped.vg.json
index d39abf994b..335a19cc9d 100644
--- a/examples/compiled/layer_bar_tick_datum_grouped.vg.json
+++ b/examples/compiled/layer_bar_tick_datum_grouped.vg.json
@@ -53,7 +53,7 @@
"field": "Cylinders",
"offset": {"scale": "xOffset", "field": "Origin"}
},
- "width": {"scale": "xOffset", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('xOffset'))"},
"y": {"scale": "y", "field": "mean_Acceleration"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/layer_precipitation_mean.vg.json b/examples/compiled/layer_precipitation_mean.vg.json
index e49acfaf0d..d19a7112bd 100644
--- a/examples/compiled/layer_precipitation_mean.vg.json
+++ b/examples/compiled/layer_precipitation_mean.vg.json
@@ -72,7 +72,7 @@
"signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))"
},
"x": {"scale": "x", "field": "month_date"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "mean_precipitation"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/layer_text_heatmap.vg.json b/examples/compiled/layer_text_heatmap.vg.json
index 66ae81e15e..4f005e6d2d 100644
--- a/examples/compiled/layer_text_heatmap.vg.json
+++ b/examples/compiled/layer_text_heatmap.vg.json
@@ -48,9 +48,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"num_cars\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/layer_text_heatmap_joinaggregate.vg.json b/examples/compiled/layer_text_heatmap_joinaggregate.vg.json
index d449076c74..030416d423 100644
--- a/examples/compiled/layer_text_heatmap_joinaggregate.vg.json
+++ b/examples/compiled/layer_text_heatmap_joinaggregate.vg.json
@@ -59,9 +59,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"num_cars\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/lookup.vg.json b/examples/compiled/lookup.vg.json
index 1c7ec313be..461db2d4fd 100644
--- a/examples/compiled/lookup.vg.json
+++ b/examples/compiled/lookup.vg.json
@@ -57,7 +57,7 @@
"signal": "\"group: \" + (isValid(datum[\"group\"]) ? datum[\"group\"] : \"\"+datum[\"group\"]) + \"; Mean of age: \" + (format(datum[\"mean_age\"], \"\"))"
},
"x": {"scale": "x", "field": "group"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "mean_age"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/rect_heatmap.vg.json b/examples/compiled/rect_heatmap.vg.json
index d10f2c4d07..5afa68acb2 100644
--- a/examples/compiled/rect_heatmap.vg.json
+++ b/examples/compiled/rect_heatmap.vg.json
@@ -42,9 +42,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Mean of Horsepower: \" + (format(datum[\"mean_Horsepower\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/rect_heatmap_weather.vg.json b/examples/compiled/rect_heatmap_weather.vg.json
index 3005add738..a185f5a3cd 100644
--- a/examples/compiled/rect_heatmap_weather.vg.json
+++ b/examples/compiled/rect_heatmap_weather.vg.json
@@ -61,9 +61,9 @@
"signal": "\"Day: \" + (timeFormat(datum[\"date_date\"], '%e')) + \"; Month: \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Max of temp_max: \" + (format(datum[\"max_temp_max\"], \"\"))"
},
"x": {"scale": "x", "field": "date_date"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "month_date"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/rect_lasagna.vg.json b/examples/compiled/rect_lasagna.vg.json
index ed0448069f..b6364132b8 100644
--- a/examples/compiled/rect_lasagna.vg.json
+++ b/examples/compiled/rect_lasagna.vg.json
@@ -45,9 +45,9 @@
"signal": "\"Time: \" + (timeFormat(datum[\"yearmonthdate_date\"], '%Y')) + \"; symbol: \" + (isValid(datum[\"symbol\"]) ? datum[\"symbol\"] : \"\"+datum[\"symbol\"]) + \"; Price: \" + (format(datum[\"sum_price\"], \"\"))"
},
"x": {"scale": "x", "field": "yearmonthdate_date"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "symbol"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/selection_composition_and.vg.json b/examples/compiled/selection_composition_and.vg.json
index c67bcf6799..5cf170d729 100644
--- a/examples/compiled/selection_composition_and.vg.json
+++ b/examples/compiled/selection_composition_and.vg.json
@@ -585,9 +585,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/selection_composition_or.vg.json b/examples/compiled/selection_composition_or.vg.json
index 1629968999..5122dc54e3 100644
--- a/examples/compiled/selection_composition_or.vg.json
+++ b/examples/compiled/selection_composition_or.vg.json
@@ -585,9 +585,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/selection_heatmap.vg.json b/examples/compiled/selection_heatmap.vg.json
index 9d107c543d..02149f6e3f 100644
--- a/examples/compiled/selection_heatmap.vg.json
+++ b/examples/compiled/selection_heatmap.vg.json
@@ -121,9 +121,9 @@
"signal": "\"predicted: \" + (isValid(datum[\"predicted\"]) ? datum[\"predicted\"] : \"\"+datum[\"predicted\"]) + \"; actual: \" + (isValid(datum[\"actual\"]) ? datum[\"actual\"] : \"\"+datum[\"actual\"]) + \"; count: \" + (format(datum[\"count\"], \"\"))"
},
"x": {"scale": "x", "field": "predicted"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "actual"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/selection_interval_mark_style.vg.json b/examples/compiled/selection_interval_mark_style.vg.json
index 05bfed9cdf..a736606940 100644
--- a/examples/compiled/selection_interval_mark_style.vg.json
+++ b/examples/compiled/selection_interval_mark_style.vg.json
@@ -578,9 +578,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/selection_layer_bar_month.vg.json b/examples/compiled/selection_layer_bar_month.vg.json
index 5e6abd859c..600cd0b017 100644
--- a/examples/compiled/selection_layer_bar_month.vg.json
+++ b/examples/compiled/selection_layer_bar_month.vg.json
@@ -293,7 +293,7 @@
"signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))"
},
"x": {"scale": "x", "field": "month_date"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "mean_precipitation"},
"y2": {"scale": "y", "value": 0}
}
diff --git a/examples/compiled/selection_project_interval.vg.json b/examples/compiled/selection_project_interval.vg.json
index 2586350b46..920b039888 100644
--- a/examples/compiled/selection_project_interval.vg.json
+++ b/examples/compiled/selection_project_interval.vg.json
@@ -308,9 +308,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/selection_project_interval_x.vg.json b/examples/compiled/selection_project_interval_x.vg.json
index 22020f4c9d..d7f80f4b6f 100644
--- a/examples/compiled/selection_project_interval_x.vg.json
+++ b/examples/compiled/selection_project_interval_x.vg.json
@@ -251,9 +251,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/selection_project_interval_x_y.vg.json b/examples/compiled/selection_project_interval_x_y.vg.json
index 2586350b46..920b039888 100644
--- a/examples/compiled/selection_project_interval_x_y.vg.json
+++ b/examples/compiled/selection_project_interval_x_y.vg.json
@@ -308,9 +308,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/selection_project_interval_y.vg.json b/examples/compiled/selection_project_interval_y.vg.json
index fd238a8b98..82bf700c3f 100644
--- a/examples/compiled/selection_project_interval_y.vg.json
+++ b/examples/compiled/selection_project_interval_y.vg.json
@@ -251,9 +251,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/selection_type_interval.vg.json b/examples/compiled/selection_type_interval.vg.json
index 2586350b46..920b039888 100644
--- a/examples/compiled/selection_type_interval.vg.json
+++ b/examples/compiled/selection_type_interval.vg.json
@@ -308,9 +308,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/selection_type_interval_invert.vg.json b/examples/compiled/selection_type_interval_invert.vg.json
index 2d268913ce..40947e9b51 100644
--- a/examples/compiled/selection_type_interval_invert.vg.json
+++ b/examples/compiled/selection_type_interval_invert.vg.json
@@ -307,9 +307,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/selection_type_point.vg.json b/examples/compiled/selection_type_point.vg.json
index 4ec3e4ea8d..6dba2e61ad 100644
--- a/examples/compiled/selection_type_point.vg.json
+++ b/examples/compiled/selection_type_point.vg.json
@@ -97,9 +97,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/selection_type_single_dblclick.vg.json b/examples/compiled/selection_type_single_dblclick.vg.json
index 394be3d0a8..ea489ca44a 100644
--- a/examples/compiled/selection_type_single_dblclick.vg.json
+++ b/examples/compiled/selection_type_single_dblclick.vg.json
@@ -97,9 +97,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/selection_type_single_mouseover.vg.json b/examples/compiled/selection_type_single_mouseover.vg.json
index b3084883fe..91347e543e 100644
--- a/examples/compiled/selection_type_single_mouseover.vg.json
+++ b/examples/compiled/selection_type_single_mouseover.vg.json
@@ -97,9 +97,9 @@
"signal": "\"Cylinders: \" + (isValid(datum[\"Cylinders\"]) ? datum[\"Cylinders\"] : \"\"+datum[\"Cylinders\"]) + \"; Origin: \" + (isValid(datum[\"Origin\"]) ? datum[\"Origin\"] : \"\"+datum[\"Origin\"]) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\"))"
},
"x": {"scale": "x", "field": "Cylinders"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "Origin"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/stacked_bar_count.vg.json b/examples/compiled/stacked_bar_count.vg.json
index a638526842..7687ac5e77 100644
--- a/examples/compiled/stacked_bar_count.vg.json
+++ b/examples/compiled/stacked_bar_count.vg.json
@@ -55,7 +55,7 @@
"signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; weather: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"])"
},
"x": {"scale": "x", "field": "month_date"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "__count_end"},
"y2": {"scale": "y", "field": "__count_start"}
}
diff --git a/examples/compiled/stacked_bar_count_corner_radius_config.vg.json b/examples/compiled/stacked_bar_count_corner_radius_config.vg.json
index 6ea4d89ea0..bcc361cd0e 100644
--- a/examples/compiled/stacked_bar_count_corner_radius_config.vg.json
+++ b/examples/compiled/stacked_bar_count_corner_radius_config.vg.json
@@ -63,7 +63,7 @@
"encode": {
"update": {
"x": {"scale": "x", "field": "month_date"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {
"signal": "min(scale('y',datum[\"min___count_start\"]),scale('y',datum[\"max___count_start\"]),scale('y',datum[\"min___count_end\"]),scale('y',datum[\"max___count_end\"]))"
},
diff --git a/examples/compiled/stacked_bar_count_corner_radius_mark.vg.json b/examples/compiled/stacked_bar_count_corner_radius_mark.vg.json
index 5bc897aaaf..c5cfffe114 100644
--- a/examples/compiled/stacked_bar_count_corner_radius_mark.vg.json
+++ b/examples/compiled/stacked_bar_count_corner_radius_mark.vg.json
@@ -63,7 +63,7 @@
"encode": {
"update": {
"x": {"scale": "x", "field": "month_date"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {
"signal": "min(scale('y',datum[\"min___count_start\"]),scale('y',datum[\"max___count_start\"]),scale('y',datum[\"min___count_end\"]),scale('y',datum[\"max___count_end\"]))"
},
diff --git a/examples/compiled/stacked_bar_count_corner_radius_mark_x.vg.json b/examples/compiled/stacked_bar_count_corner_radius_mark_x.vg.json
index 375b9e4810..5ce246633a 100644
--- a/examples/compiled/stacked_bar_count_corner_radius_mark_x.vg.json
+++ b/examples/compiled/stacked_bar_count_corner_radius_mark_x.vg.json
@@ -63,7 +63,7 @@
"encode": {
"update": {
"y": {"scale": "y", "field": "month_date"},
- "height": {"scale": "y", "band": 1},
+ "height": {"signal": "max(0.25, bandwidth('y'))"},
"cornerRadiusTopRight": {"value": 8},
"cornerRadiusBottomRight": {"value": 8},
"x": {
diff --git a/examples/compiled/stacked_bar_count_corner_radius_stroke.vg.json b/examples/compiled/stacked_bar_count_corner_radius_stroke.vg.json
index 9c330413c0..5dc5751083 100644
--- a/examples/compiled/stacked_bar_count_corner_radius_stroke.vg.json
+++ b/examples/compiled/stacked_bar_count_corner_radius_stroke.vg.json
@@ -63,7 +63,7 @@
"encode": {
"update": {
"x": {"scale": "x", "field": "month_date"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {
"signal": "min(scale('y',datum[\"min___count_start\"]),scale('y',datum[\"max___count_start\"]),scale('y',datum[\"min___count_end\"]),scale('y',datum[\"max___count_end\"]))"
},
diff --git a/examples/compiled/stacked_bar_h.vg.json b/examples/compiled/stacked_bar_h.vg.json
index 9e3f423017..2d7351dc7a 100644
--- a/examples/compiled/stacked_bar_h.vg.json
+++ b/examples/compiled/stacked_bar_h.vg.json
@@ -55,7 +55,7 @@
"x": {"scale": "x", "field": "sum_yield_end"},
"x2": {"scale": "x", "field": "sum_yield_start"},
"y": {"scale": "y", "field": "variety"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/stacked_bar_h_normalized_labeled.vg.json b/examples/compiled/stacked_bar_h_normalized_labeled.vg.json
index 2997d11aba..87e5d5c356 100644
--- a/examples/compiled/stacked_bar_h_normalized_labeled.vg.json
+++ b/examples/compiled/stacked_bar_h_normalized_labeled.vg.json
@@ -77,7 +77,7 @@
"x": {"scale": "x", "field": "sum_people_end"},
"x2": {"scale": "x", "field": "sum_people_start"},
"y": {"scale": "y", "field": "age"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
},
diff --git a/examples/compiled/stacked_bar_h_order.vg.json b/examples/compiled/stacked_bar_h_order.vg.json
index c480e6afb3..bf3acb95fb 100644
--- a/examples/compiled/stacked_bar_h_order.vg.json
+++ b/examples/compiled/stacked_bar_h_order.vg.json
@@ -55,7 +55,7 @@
"x": {"scale": "x", "field": "sum_yield_end"},
"x2": {"scale": "x", "field": "sum_yield_start"},
"y": {"scale": "y", "field": "variety"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/stacked_bar_h_order_custom.vg.json b/examples/compiled/stacked_bar_h_order_custom.vg.json
index 19d8890cf9..b1bd41de1e 100644
--- a/examples/compiled/stacked_bar_h_order_custom.vg.json
+++ b/examples/compiled/stacked_bar_h_order_custom.vg.json
@@ -60,7 +60,7 @@
"x": {"scale": "x", "field": "sum_yield_end"},
"x2": {"scale": "x", "field": "sum_yield_start"},
"y": {"scale": "y", "field": "variety"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/stacked_bar_normalize.vg.json b/examples/compiled/stacked_bar_normalize.vg.json
index 4c5da74244..08df66d85e 100644
--- a/examples/compiled/stacked_bar_normalize.vg.json
+++ b/examples/compiled/stacked_bar_normalize.vg.json
@@ -59,7 +59,7 @@
"signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people_end\"]-datum[\"sum_people_start\"], \".0%\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])"
},
"x": {"scale": "x", "field": "age"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "sum_people_end"},
"y2": {"scale": "y", "field": "sum_people_start"}
}
diff --git a/examples/compiled/stacked_bar_population.vg.json b/examples/compiled/stacked_bar_population.vg.json
index fb4719486a..89196843e0 100644
--- a/examples/compiled/stacked_bar_population.vg.json
+++ b/examples/compiled/stacked_bar_population.vg.json
@@ -60,7 +60,7 @@
"signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])"
},
"x": {"scale": "x", "field": "age"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "sum_people_end"},
"y2": {"scale": "y", "field": "sum_people_start"}
}
diff --git a/examples/compiled/stacked_bar_population_transform.vg.json b/examples/compiled/stacked_bar_population_transform.vg.json
index f320dd7484..1d5c55b211 100644
--- a/examples/compiled/stacked_bar_population_transform.vg.json
+++ b/examples/compiled/stacked_bar_population_transform.vg.json
@@ -53,7 +53,7 @@
"signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"v1\"], \"\")) + \"; v2: \" + (format(datum[\"v2\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])"
},
"x": {"scale": "x", "field": "age"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "v1"},
"y2": {"scale": "y", "field": "v2"}
}
diff --git a/examples/compiled/stacked_bar_sum_opacity.vg.json b/examples/compiled/stacked_bar_sum_opacity.vg.json
index 572c5b05c7..6492caecc1 100644
--- a/examples/compiled/stacked_bar_sum_opacity.vg.json
+++ b/examples/compiled/stacked_bar_sum_opacity.vg.json
@@ -61,7 +61,7 @@
"signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; people: \" + (format(datum[\"people\"], \"\"))"
},
"x": {"scale": "x", "field": "age"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "sum_people_end"},
"y2": {"scale": "y", "field": "sum_people_start"}
}
diff --git a/examples/compiled/stacked_bar_unaggregate.vg.json b/examples/compiled/stacked_bar_unaggregate.vg.json
index da55f175ff..92509ade9d 100644
--- a/examples/compiled/stacked_bar_unaggregate.vg.json
+++ b/examples/compiled/stacked_bar_unaggregate.vg.json
@@ -54,7 +54,7 @@
"signal": "\"a: \" + (isValid(datum[\"a\"]) ? datum[\"a\"] : \"\"+datum[\"a\"]) + \"; b: \" + (format(datum[\"b\"], \"\")) + \"; c: \" + (isValid(datum[\"c\"]) ? datum[\"c\"] : \"\"+datum[\"c\"])"
},
"x": {"scale": "x", "field": "a"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "b_end"},
"y2": {"scale": "y", "field": "b_start"}
}
diff --git a/examples/compiled/stacked_bar_v.vg.json b/examples/compiled/stacked_bar_v.vg.json
index 27400a5a5c..a0409fbb63 100644
--- a/examples/compiled/stacked_bar_v.vg.json
+++ b/examples/compiled/stacked_bar_v.vg.json
@@ -53,7 +53,7 @@
"signal": "\"variety: \" + (isValid(datum[\"variety\"]) ? datum[\"variety\"] : \"\"+datum[\"variety\"]) + \"; Sum of yield: \" + (format(datum[\"sum_yield\"], \"\")) + \"; site: \" + (isValid(datum[\"site\"]) ? datum[\"site\"] : \"\"+datum[\"site\"])"
},
"x": {"scale": "x", "field": "variety"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "sum_yield_end"},
"y2": {"scale": "y", "field": "sum_yield_start"}
}
diff --git a/examples/compiled/stacked_bar_weather.vg.json b/examples/compiled/stacked_bar_weather.vg.json
index 3bd6a710e4..5eb9d436b0 100644
--- a/examples/compiled/stacked_bar_weather.vg.json
+++ b/examples/compiled/stacked_bar_weather.vg.json
@@ -55,7 +55,7 @@
"signal": "\"Month of the year: \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Count of Records: \" + (format(datum[\"__count\"], \"\")) + \"; Weather type: \" + (isValid(datum[\"weather\"]) ? datum[\"weather\"] : \"\"+datum[\"weather\"])"
},
"x": {"scale": "x", "field": "month_date"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "__count_end"},
"y2": {"scale": "y", "field": "__count_start"}
}
diff --git a/examples/compiled/test_aggregate_nested.vg.json b/examples/compiled/test_aggregate_nested.vg.json
index d83d7c2d26..65bda28edf 100644
--- a/examples/compiled/test_aggregate_nested.vg.json
+++ b/examples/compiled/test_aggregate_nested.vg.json
@@ -92,7 +92,7 @@
"x": {"scale": "x", "field": "sum_properties\\.yield_end"},
"x2": {"scale": "x", "field": "sum_properties\\.yield_start"},
"y": {"scale": "y", "field": "properties\\.variety"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/trellis_bar.vg.json b/examples/compiled/trellis_bar.vg.json
index f6091d3260..a8b3fef14a 100644
--- a/examples/compiled/trellis_bar.vg.json
+++ b/examples/compiled/trellis_bar.vg.json
@@ -143,7 +143,7 @@
"signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])"
},
"x": {"scale": "x", "field": "age"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "sum_people_end"},
"y2": {"scale": "y", "field": "sum_people_start"}
}
diff --git a/examples/compiled/trellis_bar_no_header.vg.json b/examples/compiled/trellis_bar_no_header.vg.json
index 31df7c83d2..0e859595af 100644
--- a/examples/compiled/trellis_bar_no_header.vg.json
+++ b/examples/compiled/trellis_bar_no_header.vg.json
@@ -117,7 +117,7 @@
"signal": "\"age: \" + (isValid(datum[\"age\"]) ? datum[\"age\"] : \"\"+datum[\"age\"]) + \"; population: \" + (format(datum[\"sum_people\"], \"\")) + \"; gender: \" + (isValid(datum[\"gender\"]) ? datum[\"gender\"] : \"\"+datum[\"gender\"])"
},
"x": {"scale": "x", "field": "age"},
- "width": {"scale": "x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('x'))"},
"y": {"scale": "y", "field": "sum_people_end"},
"y2": {"scale": "y", "field": "sum_people_start"}
}
diff --git a/examples/compiled/trellis_stacked_bar.vg.json b/examples/compiled/trellis_stacked_bar.vg.json
index d73024a5ab..0291364369 100644
--- a/examples/compiled/trellis_stacked_bar.vg.json
+++ b/examples/compiled/trellis_stacked_bar.vg.json
@@ -138,7 +138,7 @@
"x": {"scale": "x", "field": "sum_yield_end"},
"x2": {"scale": "x", "field": "sum_yield_start"},
"y": {"scale": "y", "field": "variety"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/vconcat_weather.vg.json b/examples/compiled/vconcat_weather.vg.json
index 1255516cc8..b815a04198 100644
--- a/examples/compiled/vconcat_weather.vg.json
+++ b/examples/compiled/vconcat_weather.vg.json
@@ -117,7 +117,7 @@
"signal": "\"date (month): \" + (timeFormat(datum[\"month_date\"], timeUnitSpecifier([\"month\"], {\"year-month\":\"%b %Y \",\"year-month-date\":\"%b %d, %Y \"}))) + \"; Mean of precipitation: \" + (format(datum[\"mean_precipitation\"], \"\"))"
},
"x": {"scale": "concat_0_x", "field": "month_date"},
- "width": {"scale": "concat_0_x", "band": 1},
+ "width": {"signal": "max(0.25, bandwidth('concat_0_x'))"},
"y": {"scale": "concat_0_y", "field": "mean_precipitation"},
"y2": {"scale": "concat_0_y", "value": 0}
}
diff --git a/examples/compiled/window_top_k.vg.json b/examples/compiled/window_top_k.vg.json
index 37d343a85f..23aec6d38c 100644
--- a/examples/compiled/window_top_k.vg.json
+++ b/examples/compiled/window_top_k.vg.json
@@ -90,7 +90,7 @@
"x": {"scale": "x", "field": "score_end"},
"x2": {"scale": "x", "field": "score_start"},
"y": {"scale": "y", "field": "student"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/compiled/window_top_k_others.vg.json b/examples/compiled/window_top_k_others.vg.json
index 96c858f7c7..106ca55477 100644
--- a/examples/compiled/window_top_k_others.vg.json
+++ b/examples/compiled/window_top_k_others.vg.json
@@ -78,7 +78,7 @@
"x": {"scale": "x", "field": "mean_aggregate_gross"},
"x2": {"scale": "x", "value": 0},
"y": {"scale": "y", "field": "ranked_director"},
- "height": {"scale": "y", "band": 1}
+ "height": {"signal": "max(0.25, bandwidth('y'))"}
}
}
}
diff --git a/examples/specs/bar_grouped_thin.vl.json b/examples/specs/bar_grouped_thin.vl.json
new file mode 100644
index 0000000000..265228c52e
--- /dev/null
+++ b/examples/specs/bar_grouped_thin.vl.json
@@ -0,0 +1,22 @@
+{
+ "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
+ "data": {"url": "data/movies.json"},
+ "width": 500,
+ "mark": "bar",
+ "encoding": {
+ "x": {"field": "Director", "type": "nominal"},
+ "xOffset": {"field": "Title", "type": "nominal"},
+ "y": {
+ "aggregate": "mean",
+ "field": "Rotten Tomatoes Rating",
+ "type": "quantitative"
+ },
+ "color": {
+ "condition": {
+ "test": "datum['IMDB Rating'] === null || datum['Rotten Tomatoes Rating'] === null",
+ "value": "#aaa"
+ }
+ }
+ },
+ "config": {"mark": {"invalid": null}}
+}
diff --git a/examples/specs/bar_heatlane.vl.json b/examples/specs/bar_heatlane.vl.json
new file mode 100644
index 0000000000..6ed9fb5a0f
--- /dev/null
+++ b/examples/specs/bar_heatlane.vl.json
@@ -0,0 +1,68 @@
+{
+ "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
+ "description": "Heat lane chart based on https://www.smashingmagazine.com/2022/07/accessibility-first-approach-chart-visual-design/",
+ "data": {"url": "data/cars.json"},
+ "height": 150,
+ "width": 400,
+ "title": "Heat Lane of Horsepower",
+ "transform": [
+ {
+ "bin": true,
+ "field": "Horsepower",
+ "as": ["bin_Horsepower_start", "bin_Horsepower_end"]
+ },
+ {
+ "aggregate": [{"op": "count", "as": "count"}],
+ "groupby": ["bin_Horsepower_start", "bin_Horsepower_end"]
+ },
+ {"bin": true, "field": "count", "as": ["bin_count_start", "bin_count_end"]},
+ {"calculate": "-datum.bin_count_end/2", "as": "y2"},
+ {"calculate": "datum.bin_count_end/2", "as": "y"},
+ {
+ "joinaggregate": [
+ {"field": "bin_count_end", "op": "max", "as": "max_bin_count_end"}
+ ]
+ }
+ ],
+ "encoding": {
+ "x": {
+ "field": "bin_Horsepower_start",
+ "type": "quantitative",
+ "title": "Horsepower",
+ "axis": {"grid": false}
+ },
+ "x2": {"field": "bin_Horsepower_end"},
+ "y": {"field": "y", "axis": null},
+ "y2": {"field": "y2"}
+ },
+ "layer": [
+ {
+ "mark": {
+ "type": "bar",
+ "xOffset": 2,
+ "x2Offset": -2,
+ "cornerRadius": 3
+ },
+ "encoding": {
+ "color": {
+ "field": "max_bin_count_end",
+ "type": "ordinal",
+ "title": "count",
+ "scale": {"scheme": "lighttealblue"}
+ }
+ }
+ },
+ {
+ "mark": {
+ "type": "bar",
+ "xOffset": 2,
+ "x2Offset": -2,
+ "yOffset": -3,
+ "y2Offset": 3
+ },
+ "encoding": {
+ "color": {"field": "bin_count_end", "type": "ordinal", "title": "count"}
+ }
+ }
+ ]
+}
diff --git a/examples/specs/bar_month_temporal.vl.json b/examples/specs/bar_month_temporal.vl.json
index 622814fa34..7b0aae110f 100644
--- a/examples/specs/bar_month_temporal.vl.json
+++ b/examples/specs/bar_month_temporal.vl.json
@@ -3,7 +3,7 @@
"data": {"url": "data/seattle-weather.csv"},
"mark": "bar",
"encoding": {
- "x": {"timeUnit": "month", "field": "date"},
+ "x": {"timeUnit": "month", "field": "date", "type": "temporal"},
"y": {"aggregate": "mean", "field": "precipitation"}
}
}
diff --git a/examples/specs/normalized/bar_heatlane_normalized.vl.json b/examples/specs/normalized/bar_heatlane_normalized.vl.json
new file mode 100644
index 0000000000..0aa01abbdf
--- /dev/null
+++ b/examples/specs/normalized/bar_heatlane_normalized.vl.json
@@ -0,0 +1,70 @@
+{
+ "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
+ "description": "Heat lane chart based on https://www.smashingmagazine.com/2022/07/accessibility-first-approach-chart-visual-design/",
+ "data": {"url": "data/cars.json"},
+ "height": 150,
+ "width": 400,
+ "title": "Heat Lane of Horsepower",
+ "layer": [
+ {
+ "mark": {"type": "bar", "xOffset": 2, "x2Offset": -2, "cornerRadius": 3},
+ "encoding": {
+ "x": {
+ "field": "bin_Horsepower_start",
+ "type": "quantitative",
+ "title": "Horsepower",
+ "axis": {"grid": false}
+ },
+ "x2": {"field": "bin_Horsepower_end"},
+ "y": {"field": "y", "axis": null},
+ "y2": {"field": "y2"},
+ "color": {
+ "field": "max_bin_count_end",
+ "type": "ordinal",
+ "title": "count",
+ "scale": {"scheme": "lighttealblue"}
+ }
+ }
+ },
+ {
+ "mark": {
+ "type": "bar",
+ "xOffset": 2,
+ "x2Offset": -2,
+ "yOffset": -3,
+ "y2Offset": 3
+ },
+ "encoding": {
+ "x": {
+ "field": "bin_Horsepower_start",
+ "type": "quantitative",
+ "title": "Horsepower",
+ "axis": {"grid": false}
+ },
+ "x2": {"field": "bin_Horsepower_end"},
+ "y": {"field": "y", "axis": null},
+ "y2": {"field": "y2"},
+ "color": {"field": "bin_count_end", "type": "ordinal", "title": "count"}
+ }
+ }
+ ],
+ "transform": [
+ {
+ "bin": true,
+ "field": "Horsepower",
+ "as": ["bin_Horsepower_start", "bin_Horsepower_end"]
+ },
+ {
+ "aggregate": [{"op": "count", "as": "count"}],
+ "groupby": ["bin_Horsepower_start", "bin_Horsepower_end"]
+ },
+ {"bin": true, "field": "count", "as": ["bin_count_start", "bin_count_end"]},
+ {"calculate": "-datum.bin_count_end/2", "as": "y2"},
+ {"calculate": "datum.bin_count_end/2", "as": "y"},
+ {
+ "joinaggregate": [
+ {"field": "bin_count_end", "op": "max", "as": "max_bin_count_end"}
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/package.json b/package.json
index ee5dc1a8dd..4327d485de 100644
--- a/package.json
+++ b/package.json
@@ -71,7 +71,8 @@
"watch:site": "yarn build:site -w",
"watch:test": "yarn jest --watch test/",
"watch:test:runtime": "NODE_OPTIONS=--experimental-vm-modules TZ=America/Los_Angeles npx jest --watch test-runtime/ --config test-runtime/jest-config.json",
- "release": "yarn run prebuild && yarn build && auto shipit"
+ "release": "yarn run prebuild && yarn build && yarn shipit",
+ "shipit": "auto shipit"
},
"repository": {
"type": "git",
@@ -106,7 +107,7 @@
"cheerio": "^1.0.0-rc.10",
"conventional-changelog-cli": "^2.2.2",
"d3": "^7.4.4",
- "del-cli": "^4.0.1",
+ "del-cli": "^5.0.0",
"eslint": "^8.11.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.1.1",
diff --git a/scripts/check-and-commit-toc.sh b/scripts/check-and-commit-toc.sh
index 17a4fe988a..f853cb8a69 100755
--- a/scripts/check-and-commit-toc.sh
+++ b/scripts/check-and-commit-toc.sh
@@ -3,9 +3,6 @@
set -euo pipefail
GIT_BRANCH="${GITHUB_REF/refs\/heads\//}"
-git checkout $GIT_BRANCH
-
-echo "On branch $GIT_BRANCH."
# Only push on human pull request branches. Exclude release, prerelease, and bot branches.
if [ "$GIT_BRANCH" != "stable" ] && [ "$GIT_BRANCH" != "next" ] && [[ "$GIT_BRANCH" != dependabot/* ]]; then
diff --git a/scripts/check-and-commit.sh b/scripts/check-and-commit.sh
index 2212938cd4..8f2e33b213 100755
--- a/scripts/check-and-commit.sh
+++ b/scripts/check-and-commit.sh
@@ -3,9 +3,6 @@
set -euo pipefail
GIT_BRANCH="${GITHUB_REF/refs\/heads\//}"
-git checkout $GIT_BRANCH
-
-echo "On branch $GIT_BRANCH."
# Only push on human pull request branches. Exclude release, prerelease, and bot branches.
if [ "$GIT_BRANCH" != "stable" ] && [ "$GIT_BRANCH" != "next" ] && [[ "$GIT_BRANCH" != dependabot/* ]]; then
diff --git a/site/_data/examples.json b/site/_data/examples.json
index 543c8f69df..b51498fe1e 100644
--- a/site/_data/examples.json
+++ b/site/_data/examples.json
@@ -95,6 +95,10 @@
{
"name": "bar_axis_space_saving",
"title": "Bar Chart with a Spacing-Saving Y-Axis"
+ },
+ {
+ "name": "bar_heatlane",
+ "title": "Heat Lane Chart"
}
],
"Histograms, Density Plots, and Dot Plots": [
diff --git a/site/docs/config.md b/site/docs/config.md
index c1449f22c4..809f275d98 100644
--- a/site/docs/config.md
+++ b/site/docs/config.md
@@ -50,9 +50,9 @@ A Vega-Lite `config` object can have the following top-level properties:
## Format Configuration
-These two config properties define the default number and time formats for text marks as well as axes, headers, and legends:
+These config properties define the default number and time formats for text marks as well as axes, headers, and legends:
-{% include table.html props="numberFormat,numberFormatType,timeFormat,customFormatTypes" source="Config" %}
+{% include table.html props="numberFormat,numberFormatType,normalizedNumberFormat,normalizedNumberFormatType,timeFormat,timeFormatType,customFormatTypes" source="Config" %}
{:#custom-format-type}
diff --git a/site/ecosystem.md b/site/ecosystem.md
index ef9e3b43ca..a9ad55ac29 100644
--- a/site/ecosystem.md
+++ b/site/ecosystem.md
@@ -101,6 +101,7 @@ We mark featured plugins and tools with a ,
- rawTimeFormat: string, // should be provided only for actual text and headers, not axis/legend labels
- isUTCScale: boolean
-): string {
+export function timeFormatExpression({
+ field,
+ timeUnit,
+ format,
+ formatType,
+ rawTimeFormat,
+ isUTCScale
+}: {
+ field: string;
+ timeUnit?: TimeUnit;
+ format?: string | Dict;
+ formatType?: string;
+ rawTimeFormat?: string; // should be provided only for actual text and headers, not axis/legend labels
+ isUTCScale?: boolean;
+}): string {
if (!timeUnit || format) {
// If there is no time unit, or if user explicitly specifies format for axis/legend/text.
+ if (!timeUnit && formatType) {
+ return `${formatType}(${field}, '${format}')`;
+ }
format = isString(format) ? format : rawTimeFormat; // only use provided timeFormat if there is no timeUnit.
return `${isUTCScale ? 'utc' : 'time'}Format(${field}, '${format}')`;
} else {
diff --git a/src/compile/legend/encode.ts b/src/compile/legend/encode.ts
index 91a60ac9db..334e0b0381 100644
--- a/src/compile/legend/encode.ts
+++ b/src/compile/legend/encode.ts
@@ -160,20 +160,29 @@ export function labels(specifiedlabelsSpec: any, {fieldOrDatumDef, model, channe
formatType,
config
});
- } else if (
- fieldOrDatumDef.type === 'quantitative' &&
- format === undefined &&
- formatType === undefined &&
- config.customFormatTypes &&
- config.numberFormatType
- ) {
- text = formatCustomType({
- fieldOrDatumDef,
- field: 'datum.value',
- format: config.numberFormat,
- formatType: config.numberFormatType,
- config
- });
+ } else if (format === undefined && formatType === undefined && config.customFormatTypes) {
+ if (fieldOrDatumDef.type === 'quantitative' && config.numberFormatType) {
+ text = formatCustomType({
+ fieldOrDatumDef,
+ field: 'datum.value',
+ format: config.numberFormat,
+ formatType: config.numberFormatType,
+ config
+ });
+ } else if (
+ fieldOrDatumDef.type === 'temporal' &&
+ config.timeFormatType &&
+ isFieldDef(fieldOrDatumDef) &&
+ fieldOrDatumDef.timeUnit === undefined
+ ) {
+ text = formatCustomType({
+ fieldOrDatumDef,
+ field: 'datum.value',
+ format: config.timeFormat,
+ formatType: config.timeFormatType,
+ config
+ });
+ }
}
const labelsSpec = {
diff --git a/src/compile/mark/encode/position-rect.ts b/src/compile/mark/encode/position-rect.ts
index 891cdbce0c..1091008e45 100644
--- a/src/compile/mark/encode/position-rect.ts
+++ b/src/compile/mark/encode/position-rect.ts
@@ -77,7 +77,12 @@ function defaultSizeRef(
if (scale) {
const scaleType = scale.get('type');
if (scaleType === 'band') {
- return {scale: scaleName, band: bandSize.band};
+ let bandWidth = `bandwidth('${scaleName}')`;
+ if (bandSize.band !== 1) {
+ bandWidth = `${bandSize.band} * ${bandWidth}`;
+ }
+ // TODO(#8351): make 0.25 here configurable
+ return {signal: `max(0.25, ${bandWidth})`};
} else if (bandSize.band !== 1) {
log.warn(log.message.cannotUseRelativeBandSizeWithNonBandScale(scaleType));
bandSize = undefined;
@@ -139,6 +144,7 @@ function positionAndSize(
log.warn(log.message.cannotApplySizeToNonOrientedMark(markDef.type));
}
}
+ const hasSizeFromMarkOrEncoding = !!sizeMixins;
// Otherwise, apply default value
const bandSize = getBandSize({channel, fieldDef, markDef, config, scaleType: scale?.get('type'), useVlSizeChannel});
@@ -156,7 +162,8 @@ function positionAndSize(
If band is 0.6, the the x/y position in such case should be `(1 - band) / 2` = 0.2
*/
- const defaultBandAlign = scale?.get('type') !== 'band' || !('band' in sizeMixins[vgSizeChannel]) ? 'middle' : 'top';
+ const defaultBandAlign =
+ scale?.get('type') === 'band' && isRelativeBandSize(bandSize) && !hasSizeFromMarkOrEncoding ? 'top' : 'middle';
const vgChannel = vgAlignedPositionChannel(channel, markDef, config, defaultBandAlign);
const center = vgChannel === 'xc' || vgChannel === 'yc';
diff --git a/src/config.ts b/src/config.ts
index 4c20c662f1..4c1a905e3c 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -189,6 +189,15 @@ export interface VLOnlyConfig {
*/
timeFormat?: string;
+ /**
+ * [Custom format type](https://vega.github.io/vega-lite/docs/config.html#custom-format-type)
+ * for `config.timeFormat`.
+ *
+ * __Default value:__ `undefined` -- This is equilvalent to call D3-time-format, which is exposed as [`timeFormat` in Vega-Expression](https://vega.github.io/vega/docs/expressions/#timeFormat).
+ * __Note:__ You must also set `customFormatTypes` to `true` and there must *not* be a `timeUnit` defined to use this feature.
+ */
+ timeFormatType?: string;
+
/**
* Allow the `formatType` property for text marks and guides to accept a custom formatter function [registered as a Vega expression](https://vega.github.io/vega-lite/usage/compile.html#format-type).
*/
diff --git a/test/compile/axis/encode.test.ts b/test/compile/axis/encode.test.ts
index 37120dccbc..8b64e8b900 100644
--- a/test/compile/axis/encode.test.ts
+++ b/test/compile/axis/encode.test.ts
@@ -77,5 +77,29 @@ describe('compile/axis/encode', () => {
const labels = encode.labels(model, 'x', {});
expect(labels.text.signal).toBe('customNumberFormat(datum.value, "abc")');
});
+
+ it('applies custom timeFormatType from config', () => {
+ const model = parseUnitModelWithScale({
+ mark: 'point',
+ encoding: {
+ x: {field: 'a', type: 'temporal'}
+ },
+ config: {customFormatTypes: true, timeFormat: 'abc', timeFormatType: 'customTimeFormat'}
+ });
+ const labels = encode.labels(model, 'x', {});
+ expect(labels.text.signal).toBe('customTimeFormat(datum.value, "abc")');
+ });
+
+ it('prefers timeUnit over timeFormatType from config', () => {
+ const model = parseUnitModelWithScale({
+ mark: 'point',
+ encoding: {
+ x: {field: 'a', type: 'temporal', timeUnit: 'date'}
+ },
+ config: {customFormatTypes: true, timeFormat: 'abc', timeFormatType: 'customTimeFormat'}
+ });
+ const labels = encode.labels(model, 'x', {});
+ expect(labels).toEqual({});
+ });
});
});
diff --git a/test/compile/format.test.ts b/test/compile/format.test.ts
index 95deafbd96..ada7be09f4 100644
--- a/test/compile/format.test.ts
+++ b/test/compile/format.test.ts
@@ -4,7 +4,8 @@ import {
guideFormat,
guideFormatType,
numberFormat,
- timeFormatExpression
+ timeFormatExpression,
+ timeFormat
} from '../../src/compile/format';
import {defaultConfig} from '../../src/config';
import {NOMINAL, ORDINAL, QUANTITATIVE, TEMPORAL} from '../../src/type';
@@ -13,13 +14,11 @@ describe('Format', () => {
describe('timeFormatExpression()', () => {
it('should get the right time expression for month', () => {
const fieldDef = {timeUnit: 'month', field: 'a', type: TEMPORAL} as const;
- const expression = timeFormatExpression(
- vgField(fieldDef, {expr: 'datum'}),
- 'month',
- undefined,
- defaultConfig.timeFormat,
- false
- );
+ const expression = timeFormatExpression({
+ field: vgField(fieldDef, {expr: 'datum'}),
+ timeUnit: 'month',
+ rawTimeFormat: defaultConfig.timeFormat
+ });
expect(expression).toBe(
'timeFormat(datum["month_a"], timeUnitSpecifier(["month"], {"year-month":"%b %Y ","year-month-date":"%b %d, %Y "}))'
);
@@ -27,38 +26,33 @@ describe('Format', () => {
it('should get the right time expression for yearmonth with custom format', () => {
const fieldDef = {timeUnit: 'yearmonth', field: 'a', type: TEMPORAL} as const;
- const expression = timeFormatExpression(
- vgField(fieldDef, {expr: 'datum'}),
- 'month',
- '%Y',
- defaultConfig.timeFormat,
- false
- );
+ const expression = timeFormatExpression({
+ field: vgField(fieldDef, {expr: 'datum'}),
+ timeUnit: 'month',
+ format: '%Y',
+ rawTimeFormat: defaultConfig.timeFormat
+ });
expect(expression).toBe(`timeFormat(datum["yearmonth_a"], '%Y')`);
});
it('should get the right time expression for quarter', () => {
const fieldDef = {timeUnit: 'quarter', field: 'a', type: TEMPORAL} as const;
- const expression = timeFormatExpression(
- vgField(fieldDef, {expr: 'datum'}),
- 'quarter',
- undefined,
- defaultConfig.timeFormat,
- false
- );
+ const expression = timeFormatExpression({
+ field: vgField(fieldDef, {expr: 'datum'}),
+ timeUnit: 'quarter',
+ rawTimeFormat: defaultConfig.timeFormat
+ });
expect(expression).toBe(
'timeFormat(datum["quarter_a"], timeUnitSpecifier(["quarter"], {"year-month":"%b %Y ","year-month-date":"%b %d, %Y "}))'
);
});
it('should get the right time expression for yearquarter', () => {
- const expression = timeFormatExpression(
- 'datum["data"]',
- 'yearquarter',
- undefined,
- defaultConfig.timeFormat,
- false
- );
+ const expression = timeFormatExpression({
+ field: 'datum["data"]',
+ timeUnit: 'yearquarter',
+ rawTimeFormat: defaultConfig.timeFormat
+ });
expect(expression).toBe(
'timeFormat(datum["data"], timeUnitSpecifier(["year","quarter"], {"year-month":"%b %Y ","year-month-date":"%b %d, %Y "}))'
);
@@ -66,15 +60,60 @@ describe('Format', () => {
it('should get the right time expression for yearmonth with custom format and utc scale type', () => {
const fieldDef = {timeUnit: 'yearmonth', field: 'a', type: TEMPORAL} as const;
- const expression = timeFormatExpression(
- vgField(fieldDef, {expr: 'datum'}),
- 'month',
- '%Y',
- defaultConfig.timeFormat,
- true
- );
+ const expression = timeFormatExpression({
+ field: vgField(fieldDef, {expr: 'datum'}),
+ timeUnit: 'month',
+ format: '%Y',
+ rawTimeFormat: defaultConfig.timeFormat,
+ isUTCScale: true
+ });
expect(expression).toBe(`utcFormat(datum["yearmonth_a"], '%Y')`);
});
+
+ it('should get the right time expression for with a custom timeFormatType', () => {
+ const fieldDef = {field: 'a', type: TEMPORAL} as const;
+ const expression = timeFormatExpression({
+ field: vgField(fieldDef, {expr: 'datum'}),
+ format: '%Y',
+ formatType: 'customFormat'
+ });
+ expect(expression).toBe(`customFormat(datum["a"], '%Y')`);
+ });
+
+ it('should prefer timeUnit over timeFormatType', () => {
+ const fieldDef = {field: 'a', type: TEMPORAL, timeUnit: 'date'} as const;
+ const expression = timeFormatExpression({
+ field: vgField(fieldDef, {expr: 'datum'}),
+ format: '%Y',
+ timeUnit: 'date',
+ formatType: 'customFormat'
+ });
+ expect(expression).toBe(`timeFormat(datum["date_a"], '%Y')`);
+ });
+ });
+
+ describe('timeFormat()', () => {
+ it('returns the specifiedFormat if it exists', () => {
+ const formatted = timeFormat({specifiedFormat: 'abc', config: {}});
+ expect(formatted).toBe('abc');
+ });
+
+ it('returns the the formatted timeUnitExpression', () => {
+ const formatted = timeFormat({timeUnit: 'date', config: {}});
+ expect(formatted).toEqual({
+ signal: 'timeUnitSpecifier(["date"], {"year-month":"%b %Y ","year-month-date":"%b %d, %Y "})'
+ });
+ });
+
+ it('omits the timeFormat when omitTimeFormatConfig and no specifiedFormat', () => {
+ const formatted = timeFormat({config: {timeFormat: '%y'}, omitTimeFormatConfig: true});
+ expect(formatted).toBeUndefined();
+ });
+
+ it('returns the timeFormat when !omitTimeFormatConfig and no specifiedFormat', () => {
+ const formatted = timeFormat({config: {timeFormat: '%y'}, omitTimeFormatConfig: false});
+ expect(formatted).toBe('%y');
+ });
});
describe('numberFormat()', () => {
@@ -189,6 +228,20 @@ describe('Format', () => {
});
});
+ it('should use a custom formatter datumDef if config.timeFormatType is present', () => {
+ expect(
+ formatSignalRef({
+ fieldOrDatumDef: {field: 'date', type: 'temporal'},
+ format: undefined,
+ formatType: undefined,
+ expr: 'parent',
+ config: {timeFormat: 'abc', timeFormatType: 'customFormatter', customFormatTypes: true}
+ })
+ ).toEqual({
+ signal: 'customFormatter(parent["date"], "abc")'
+ });
+ });
+
it('should use a custom formatter datumDef if config.normalizedNumberFormatType is present and stack is normalized', () => {
expect(
formatSignalRef({
@@ -235,6 +288,7 @@ describe('Format', () => {
const format = guideFormat({datum: 200, type: 'quantitative'}, 'quantitative', 'abc', 'custom', {}, false);
expect(format).toBeUndefined();
});
+
it('returns undefined for custom formatType in the config', () => {
const format = guideFormat(
{datum: 200, type: 'quantitative'},
@@ -259,6 +313,32 @@ describe('Format', () => {
expect(format).toBeUndefined();
});
+ it('returns undefined for a field if custom timeFormatType is in the config', () => {
+ const format = guideFormat(
+ {datum: 200, type: 'temporal'},
+ 'temporal',
+ undefined,
+ undefined,
+ {timeFormat: 'abc', timeFormatType: 'customFormatter', customFormatTypes: true},
+ false
+ );
+ expect(format).toBeUndefined();
+ });
+
+ it('Prefers timeUnit to timeFormatType', () => {
+ const format = guideFormat(
+ {field: 'x', type: 'temporal', timeUnit: 'hours'},
+ 'temporal',
+ undefined,
+ undefined,
+ {timeFormat: 'abc', timeFormatType: 'customFormatter', customFormatTypes: true},
+ false
+ );
+ expect(format).toEqual({
+ signal: 'timeUnitSpecifier(["hours"], {"year-month":"%b %Y ","year-month-date":"%b %d, %Y "})'
+ });
+ });
+
it('returns format as normalizedNumberFormatType it is not in the config', () => {
const format = guideFormat(
{datum: 200, type: 'quantitative', stack: 'normalize'} as PositionDatumDef,
diff --git a/test/compile/legend/encode.test.ts b/test/compile/legend/encode.test.ts
index 074ca6d0bf..d36bbaae7f 100644
--- a/test/compile/legend/encode.test.ts
+++ b/test/compile/legend/encode.test.ts
@@ -185,4 +185,43 @@ describe('compile/legend', () => {
);
expect(label.text).toEqual({signal: 'customDateFormat(datum.value, "abc")'});
});
+
+ it('returns correct expression for custom format Type from config.timeFormatType', () => {
+ const fieldDef: Encoding['color'] = {
+ field: 'a',
+ type: 'temporal'
+ };
+
+ const model = parseUnitModelWithScale({
+ mark: 'point',
+ encoding: {color: fieldDef},
+ config: {customFormatTypes: true, timeFormat: 'abc', timeFormatType: 'customDateFormat'}
+ });
+
+ const label = encode.labels(
+ {},
+ {fieldOrDatumDef: fieldDef, model, channel: COLOR, legendCmpt: symbolLegend, legendType: 'symbol'}
+ );
+ expect(label.text).toEqual({signal: 'customDateFormat(datum.value, "abc")'});
+ });
+
+ it('prefers timeUnit over config.timeFormatType', () => {
+ const fieldDef: Encoding['color'] = {
+ field: 'a',
+ type: 'temporal',
+ timeUnit: 'date'
+ };
+
+ const model = parseUnitModelWithScale({
+ mark: 'point',
+ encoding: {color: fieldDef},
+ config: {customFormatTypes: true, timeFormat: 'abc', timeFormatType: 'customDateFormat'}
+ });
+
+ const label = encode.labels(
+ {},
+ {fieldOrDatumDef: fieldDef, model, channel: COLOR, legendCmpt: symbolLegend, legendType: 'symbol'}
+ );
+ expect(label).toBeUndefined();
+ });
});
diff --git a/test/compile/mark/bar.test.ts b/test/compile/mark/bar.test.ts
index 25856d993c..7c7d354843 100644
--- a/test/compile/mark/bar.test.ts
+++ b/test/compile/mark/bar.test.ts
@@ -18,7 +18,7 @@ describe('Mark: Bar', () => {
it('should draw bar, with y from zero to field value and with band value for x/width', () => {
expect(props.x).toEqual({scale: 'x', field: 'Origin'});
- expect(props.width).toEqual({scale: 'x', band: 1});
+ expect(props.width).toEqual({signal: `max(0.25, bandwidth('x'))`});
expect(props.y).toEqual({scale: 'y', field: 'mean_Acceleration'});
expect(props.y2).toEqual({scale: 'y', value: 0});
expect(props.height).toBeUndefined();
@@ -37,7 +37,7 @@ describe('Mark: Bar', () => {
});
const props = bar.encodeEntry(model);
expect(props.x).toEqual({scale: 'x', field: 'Origin', offset: {scale: 'xOffset', field: 'SubOrigin'}});
- expect(props.width).toEqual({scale: 'xOffset', band: 1});
+ expect(props.width).toEqual({signal: `max(0.25, bandwidth('xOffset'))`});
expect(props.y).toEqual({scale: 'y', field: 'mean_Acceleration'});
expect(props.y2).toEqual({scale: 'y', value: 0});
expect(props.height).toBeUndefined();
@@ -75,7 +75,7 @@ describe('Mark: Bar', () => {
const props = bar.encodeEntry(model);
expect(props.x).toEqual({scale: 'x', field: 'Origin'});
- expect(props.width).toEqual({scale: 'x', band: 1});
+ expect(props.width).toEqual({signal: `max(0.25, bandwidth('x'))`});
expect(props.y).toEqual({scale: 'y', field: 'mean_Acceleration'});
expect(props.y2).toEqual({scale: 'y', value: 0});
expect(props.height).toBeUndefined();
@@ -154,7 +154,7 @@ describe('Mark: Bar', () => {
it('should draw bar from zero to field value and with band value for x/width', () => {
expect(props.y).toEqual({scale: 'y', field: 'Origin'});
- expect(props.height).toEqual({scale: 'y', band: 1});
+ expect(props.height).toEqual({signal: `max(0.25, bandwidth('y'))`});
expect(props.x).toEqual({scale: 'x', field: 'mean_Acceleration'});
expect(props.x2).toEqual({scale: 'x', value: 0});
expect(props.width).toBeUndefined();
@@ -174,7 +174,7 @@ describe('Mark: Bar', () => {
it('should draw bar from zero to field value and with band value for x/width', () => {
expect(props.y).toEqual({scale: 'y', field: 'Origin', band: 0.2});
- expect(props.height).toEqual({scale: 'y', band: 0.6});
+ expect(props.height).toEqual({signal: `max(0.25, 0.6 * bandwidth('y'))`});
expect(props.x).toEqual({scale: 'x', field: 'mean_Acceleration'});
expect(props.x2).toEqual({scale: 'x', value: 0});
expect(props.width).toBeUndefined();
@@ -464,7 +464,7 @@ describe('Mark: Bar', () => {
it('should draw bar with y', () => {
expect(props.y).toEqual({scale: 'y', field: 'bin_maxbins_10_Horsepower_range'});
- expect(props.height).toEqual({scale: 'y', band: 1});
+ expect(props.height).toEqual({signal: `max(0.25, bandwidth('y'))`});
});
});
@@ -481,7 +481,7 @@ describe('Mark: Bar', () => {
it('should draw bar with y', () => {
expect(props.x).toEqual({scale: 'x', field: 'bin_maxbins_10_Horsepower_range'});
- expect(props.width).toEqual({scale: 'x', band: 1});
+ expect(props.width).toEqual({signal: `max(0.25, bandwidth('x'))`});
});
});
@@ -620,10 +620,7 @@ describe('Mark: Bar', () => {
scale: 'x',
field: 'Origin'
});
- expect(props.width).toEqual({
- scale: 'x',
- band: 1
- });
+ expect(props.width).toEqual({signal: `max(0.25, bandwidth('x'))`});
});
});
@@ -645,10 +642,7 @@ describe('Mark: Bar', () => {
scale: 'y',
field: 'Origin'
});
- expect(props.height).toEqual({
- scale: 'y',
- band: 1
- });
+ expect(props.height).toEqual({signal: `max(0.25, bandwidth('y'))`});
});
});
@@ -918,9 +912,9 @@ describe('Mark: Bar', () => {
const props = bar.encodeEntry(model);
expect(props.x).toEqual({scale: 'x', field: 'Origin'});
- expect(props.width).toEqual({scale: 'x', band: 1});
+ expect(props.width).toEqual({signal: `max(0.25, bandwidth('x'))`});
expect(props.y).toEqual({scale: 'y', field: 'Cylinders'});
- expect(props.height).toEqual({scale: 'y', band: 1});
+ expect(props.height).toEqual({signal: `max(0.25, bandwidth('y'))`});
});
});
diff --git a/test/compile/mark/rect.test.ts b/test/compile/mark/rect.test.ts
index 8f9844d317..da374aec61 100644
--- a/test/compile/mark/rect.test.ts
+++ b/test/compile/mark/rect.test.ts
@@ -110,7 +110,7 @@ describe('Mark: Rect', () => {
it('should draw bar, with y from zero to field value and x band', () => {
expect(props.x).toEqual({scale: 'x', field: 'Origin'});
- expect(props.width).toEqual({scale: 'x', band: 1});
+ expect(props.width).toEqual({signal: `max(0.25, bandwidth('x'))`});
expect(props.y).toEqual({scale: 'y', field: 'mean_Acceleration'});
expect(props.y2).toEqual({scale: 'y', value: 0});
expect(props.height).toBeUndefined();
@@ -170,7 +170,7 @@ describe('Mark: Rect', () => {
it('should draw bar from zero to field value and y band', () => {
expect(props.y).toEqual({scale: 'y', field: 'Origin'});
- expect(props.height).toEqual({scale: 'y', band: 1});
+ expect(props.height).toEqual({signal: `max(0.25, bandwidth('y'))`});
expect(props.x).toEqual({scale: 'x', field: 'mean_Acceleration'});
expect(props.x2).toEqual({scale: 'x', value: 0});
expect(props.width).toBeUndefined();
@@ -192,7 +192,7 @@ describe('Mark: Rect', () => {
});
const props = rect.encodeEntry(model);
expect(props.y).toEqual({scale: 'y', field: 'Origin'});
- expect(props.height).toEqual({scale: 'y', band: 1});
+ expect(props.height).toEqual({signal: `max(0.25, bandwidth('y'))`});
expect(props.x).toEqual({scale: 'x', field: 'mean_Acceleration'});
expect(props.x2).toEqual({scale: 'x', value: 0});
expect(props.width).toBeUndefined();
@@ -275,9 +275,9 @@ describe('Mark: Rect', () => {
it('should draw rect with x and y bands', () => {
expect(props.x).toEqual({scale: 'x', field: 'Cylinders'});
- expect(props.width).toEqual({scale: 'x', band: 1});
+ expect(props.width).toEqual({signal: `max(0.25, bandwidth('x'))`});
expect(props.y).toEqual({scale: 'y', field: 'Origin'});
- expect(props.height).toEqual({scale: 'y', band: 1});
+ expect(props.height).toEqual({signal: `max(0.25, bandwidth('y'))`});
});
});
diff --git a/yarn.lock b/yarn.lock
index 8289e41acc..77d74c7ae9 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9,17 +9,17 @@
dependencies:
"@jridgewell/trace-mapping" "^0.3.0"
-"@auto-it/bot-list@10.37.3":
- version "10.37.3"
- resolved "https://registry.yarnpkg.com/@auto-it/bot-list/-/bot-list-10.37.3.tgz#b0adeca53b744142a502d8548a2d7ea6abe81173"
- integrity sha512-mV7CxJzlraJYu6qy+ljCosFLfQZkXvdSX+2f5Na3KAuDPLbaFGLwZRa5i53JBYORsS9+n9pbEg5jC+M5HCC0xQ==
+"@auto-it/bot-list@10.37.4":
+ version "10.37.4"
+ resolved "https://registry.yarnpkg.com/@auto-it/bot-list/-/bot-list-10.37.4.tgz#bb1ba1d42ef6fed0ceb87279d8b7a80b12f4a163"
+ integrity sha512-Lz981mShjY7VqQpG5mAfiR7py5iH8WbEIbd2/XUQu6EQFgljj0jT6XFA180Hz1tFQJ4o2TqtXaj3gBXURhpggQ==
"@auto-it/conventional-commits@^10.34.1":
- version "10.37.3"
- resolved "https://registry.yarnpkg.com/@auto-it/conventional-commits/-/conventional-commits-10.37.3.tgz#1f7b173b4ebd75bd4888bdfbcef04f6d006853b4"
- integrity sha512-2MkGzEEeTYWKhZgCWQ9hC5GF64vAov+LRbeKJCD7ltQ/bq+ZCKkW8SVgf72lK2Kw9R/IEhzX+2VZObREWHGIMQ==
+ version "10.37.4"
+ resolved "https://registry.yarnpkg.com/@auto-it/conventional-commits/-/conventional-commits-10.37.4.tgz#6da70ae8df67f73e64bbf3d91917720f89f478a8"
+ integrity sha512-83mRJIyEr3srCZEeLYjJLwvYpFmHvLrLsneoTyevDNzKPOPVARRHzzLm4nGhsI4ilKgU8CEBSVZNV49cyvsVrQ==
dependencies:
- "@auto-it/core" "10.37.3"
+ "@auto-it/core" "10.37.4"
array.prototype.flatmap "^1.2.2"
conventional-changelog-core "^4.2.0"
conventional-changelog-preset-loader "^2.3.4"
@@ -29,13 +29,14 @@
io-ts "^2.1.2"
tslib "2.1.0"
-"@auto-it/core@10.37.3":
- version "10.37.3"
- resolved "https://registry.yarnpkg.com/@auto-it/core/-/core-10.37.3.tgz#6ebb76654bbebe9b761b5f43a99fded1ace426e2"
- integrity sha512-ybaX1vgdH/vjbiDWXviwhW5yQiQAOrouXmFPF5nH6kGUXCuQsEHAcZsc/0/ifnVVWtYmsVXyP+a1cJ4lvLXmCA==
+"@auto-it/core@10.37.4":
+ version "10.37.4"
+ resolved "https://registry.yarnpkg.com/@auto-it/core/-/core-10.37.4.tgz#8d2979d5cbb3efc8d537caecc12637fc52451219"
+ integrity sha512-QS1z+PAjXUUKuEzx56ujvhpsgLOIgCdfnj/UyNfbpVoIS+5x7ve/fhoIlkF7A2Ogrvile7EOPT0EIVmDTtzYYg==
dependencies:
- "@auto-it/bot-list" "10.37.3"
+ "@auto-it/bot-list" "10.37.4"
"@endemolshinegroup/cosmiconfig-typescript-loader" "^3.0.2"
+ "@octokit/core" "^3.5.1"
"@octokit/plugin-enterprise-compatibility" "1.3.0"
"@octokit/plugin-retry" "^3.0.9"
"@octokit/plugin-throttling" "^3.6.2"
@@ -75,24 +76,24 @@
url-join "^4.0.0"
"@auto-it/first-time-contributor@^10.34.1":
- version "10.37.3"
- resolved "https://registry.yarnpkg.com/@auto-it/first-time-contributor/-/first-time-contributor-10.37.3.tgz#446beaf461811825f1342c98fb94033681f6e75b"
- integrity sha512-8mEQg/hjydBIyf8n3NqVI+PFM0X3p08jwAGn/oUTy2Ety9hig04SjSnaWClMGMBhdHYzC51k7Ps/QA+madJZiA==
+ version "10.37.4"
+ resolved "https://registry.yarnpkg.com/@auto-it/first-time-contributor/-/first-time-contributor-10.37.4.tgz#f05d93576899754b4ba15e8a652b8cf4a2602ac3"
+ integrity sha512-SayKVNI/zGAONGk+BGIZkqFgtnqvQFn4iaF1qXwLjBwOyYdviKiJCCBnnre+sCHHDAgSnCEOUCy/TEUKO1xG4w==
dependencies:
- "@auto-it/bot-list" "10.37.3"
- "@auto-it/core" "10.37.3"
+ "@auto-it/bot-list" "10.37.4"
+ "@auto-it/core" "10.37.4"
array.prototype.flatmap "^1.2.2"
endent "^2.1.0"
tslib "2.1.0"
url-join "^4.0.0"
-"@auto-it/npm@10.37.3":
- version "10.37.3"
- resolved "https://registry.yarnpkg.com/@auto-it/npm/-/npm-10.37.3.tgz#c3bfff53076dc0a9631ec4b5ed52a5d2fb598be0"
- integrity sha512-+LTcaMB+sa5lqBOPDzHzmw6yQofFQ3rxsKlupSlRxTGacCeDg8JpZ3BbOwftiON/FF/gCr0jKsK6BR0Lf3p+WQ==
+"@auto-it/npm@10.37.4":
+ version "10.37.4"
+ resolved "https://registry.yarnpkg.com/@auto-it/npm/-/npm-10.37.4.tgz#c1ff5f81138375bd3c9fc091f618a50af4df9aa8"
+ integrity sha512-nF/fZOZ6agknEiN2q9g+y+TuOsQp2f8EDRJInA0Vs/vfa22FOjIZhjJP/XAxc4ojfj/0OmKoATCQJug5PVwwYg==
dependencies:
- "@auto-it/core" "10.37.3"
- "@auto-it/package-json-utils" "10.37.3"
+ "@auto-it/core" "10.37.4"
+ "@auto-it/package-json-utils" "10.37.4"
await-to-js "^3.0.0"
endent "^2.1.0"
env-ci "^5.0.1"
@@ -106,32 +107,32 @@
url-join "^4.0.0"
user-home "^2.0.0"
-"@auto-it/package-json-utils@10.37.3":
- version "10.37.3"
- resolved "https://registry.yarnpkg.com/@auto-it/package-json-utils/-/package-json-utils-10.37.3.tgz#6a3c1233627fb1458dc079a8d6e8adda387c6174"
- integrity sha512-IYRl14TsUFXRIPU8GJzTW3cfL576yZ0GPHUsgDvHqJfkWIplPVe57+sXPCuQNmLXRbq7SXsMG4d3RcuHrUs+Rg==
+"@auto-it/package-json-utils@10.37.4":
+ version "10.37.4"
+ resolved "https://registry.yarnpkg.com/@auto-it/package-json-utils/-/package-json-utils-10.37.4.tgz#8ca6209e5a2f217c458d2887ca0a9f52450cd7db"
+ integrity sha512-LLVtEeuAOeDQmhkDEOJyGU9PFdF5i46UcS7vG7BxSLQg2UAhvAolLgD/u6wOTOCDmQnLsBP6hdStSbHjDO8tMg==
dependencies:
parse-author "^2.0.0"
parse-github-url "1.0.2"
-"@auto-it/released@10.37.3":
- version "10.37.3"
- resolved "https://registry.yarnpkg.com/@auto-it/released/-/released-10.37.3.tgz#5d9c443eedcf74cfb8814d925ac95ce881944730"
- integrity sha512-eMQT3cTNrfZwqoa3nh8NHyHKhgy6EGgNKxPqnR/4ucvPmjBwQD9sEBiLAbLZ6mOzgINF0+uouw5X1SfWvF4PMA==
+"@auto-it/released@10.37.4":
+ version "10.37.4"
+ resolved "https://registry.yarnpkg.com/@auto-it/released/-/released-10.37.4.tgz#10d82f1faa08f98a7709b76ae23a1e03c6a3b505"
+ integrity sha512-1l4gRs/Cb3G6wsIwlxfoIp8OBl/WyAF2Lj5OmZ5Tbjfr6Mki6wD9xxa95rrXG47vaY+u+jcqNYX2dwP2ROxOhA==
dependencies:
- "@auto-it/bot-list" "10.37.3"
- "@auto-it/core" "10.37.3"
+ "@auto-it/bot-list" "10.37.4"
+ "@auto-it/core" "10.37.4"
deepmerge "^4.0.0"
fp-ts "^2.5.3"
io-ts "^2.1.2"
tslib "2.1.0"
-"@auto-it/version-file@10.37.3":
- version "10.37.3"
- resolved "https://registry.yarnpkg.com/@auto-it/version-file/-/version-file-10.37.3.tgz#81f36c608c49dc2eb8397917d5da13ecb3ff7c7a"
- integrity sha512-IFTDLxjBFjcBMo7CmUhY4dgK2EkGyI/3TNQ4QxlUzTSQ3VsPdMpDzD+cHNdyozd94si8fbFGwwsReiaL+5Rl4w==
+"@auto-it/version-file@10.37.4":
+ version "10.37.4"
+ resolved "https://registry.yarnpkg.com/@auto-it/version-file/-/version-file-10.37.4.tgz#51b46f9a7f03d58566c6b47c2a9e8ddeae65088c"
+ integrity sha512-CnYgo6GNgBcMDrkoeeHMG3PRDpYZ84pUZehoqZmXKczGzXEJSulHdedmPvuAW3rEvVAFJhWPRcJ10ByRkIQoBg==
dependencies:
- "@auto-it/core" "10.37.3"
+ "@auto-it/core" "10.37.4"
fp-ts "^2.5.3"
io-ts "^2.1.2"
semver "^7.0.0"
@@ -144,38 +145,38 @@
dependencies:
"@babel/highlight" "^7.18.6"
-"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.18.8":
+"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8":
version "7.18.8"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d"
integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==
"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.17.5", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59"
- integrity sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==
+ version "7.18.10"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.10.tgz#39ad504991d77f1f3da91be0b8b949a5bc466fb8"
+ integrity sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==
dependencies:
"@ampproject/remapping" "^2.1.0"
"@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.18.9"
+ "@babel/generator" "^7.18.10"
"@babel/helper-compilation-targets" "^7.18.9"
"@babel/helper-module-transforms" "^7.18.9"
"@babel/helpers" "^7.18.9"
- "@babel/parser" "^7.18.9"
- "@babel/template" "^7.18.6"
- "@babel/traverse" "^7.18.9"
- "@babel/types" "^7.18.9"
+ "@babel/parser" "^7.18.10"
+ "@babel/template" "^7.18.10"
+ "@babel/traverse" "^7.18.10"
+ "@babel/types" "^7.18.10"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.2.1"
semver "^6.3.0"
-"@babel/generator@^7.18.9", "@babel/generator@^7.7.2":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.9.tgz#68337e9ea8044d6ddc690fb29acae39359cca0a5"
- integrity sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==
+"@babel/generator@^7.18.10", "@babel/generator@^7.7.2":
+ version "7.18.12"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.12.tgz#fa58daa303757bd6f5e4bbca91b342040463d9f4"
+ integrity sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==
dependencies:
- "@babel/types" "^7.18.9"
+ "@babel/types" "^7.18.10"
"@jridgewell/gen-mapping" "^0.3.2"
jsesc "^2.5.1"
@@ -194,7 +195,7 @@
"@babel/helper-explode-assignable-expression" "^7.18.6"
"@babel/types" "^7.18.6"
-"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.18.9":
+"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9":
version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf"
integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==
@@ -225,15 +226,13 @@
"@babel/helper-annotate-as-pure" "^7.18.6"
regexpu-core "^5.1.0"
-"@babel/helper-define-polyfill-provider@^0.3.1":
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665"
- integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==
+"@babel/helper-define-polyfill-provider@^0.3.2":
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz#bd10d0aca18e8ce012755395b05a79f45eca5073"
+ integrity sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==
dependencies:
- "@babel/helper-compilation-targets" "^7.13.0"
- "@babel/helper-module-imports" "^7.12.13"
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/traverse" "^7.13.0"
+ "@babel/helper-compilation-targets" "^7.17.7"
+ "@babel/helper-plugin-utils" "^7.16.7"
debug "^4.1.1"
lodash.debounce "^4.0.8"
resolve "^1.14.2"
@@ -293,7 +292,7 @@
dependencies:
"@babel/types" "^7.18.9"
-"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13":
+"@babel/helper-module-imports@^7.10.4":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
@@ -328,7 +327,7 @@
dependencies:
"@babel/types" "^7.18.6"
-"@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.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+"@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.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f"
integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==
@@ -343,6 +342,16 @@
"@babel/helper-wrap-function" "^7.18.6"
"@babel/types" "^7.18.6"
+"@babel/helper-remap-async-to-generator@^7.18.9":
+ version "7.18.9"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519"
+ integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.18.6"
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-wrap-function" "^7.18.9"
+ "@babel/types" "^7.18.9"
+
"@babel/helper-replace-supers@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.6.tgz#efedf51cfccea7b7b8c0f00002ab317e7abfe420"
@@ -386,6 +395,11 @@
dependencies:
"@babel/types" "^7.18.6"
+"@babel/helper-string-parser@^7.18.10":
+ version "7.18.10"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56"
+ integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==
+
"@babel/helper-validator-identifier@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076"
@@ -406,6 +420,16 @@
"@babel/traverse" "^7.18.6"
"@babel/types" "^7.18.6"
+"@babel/helper-wrap-function@^7.18.9":
+ version "7.18.11"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz#bff23ace436e3f6aefb61f85ffae2291c80ed1fb"
+ integrity sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==
+ dependencies:
+ "@babel/helper-function-name" "^7.18.9"
+ "@babel/template" "^7.18.10"
+ "@babel/traverse" "^7.18.11"
+ "@babel/types" "^7.18.10"
+
"@babel/helpers@^7.18.9":
version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9"
@@ -424,10 +448,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.6", "@babel/parser@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.9.tgz#f2dde0c682ccc264a9a8595efd030a5cc8fd2539"
- integrity sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.11":
+ version "7.18.11"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9"
+ integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
version "7.18.6"
@@ -445,14 +469,14 @@
"@babel/helper-skip-transparent-expression-wrappers" "^7.18.9"
"@babel/plugin-proposal-optional-chaining" "^7.18.9"
-"@babel/plugin-proposal-async-generator-functions@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz#aedac81e6fc12bb643374656dd5f2605bf743d17"
- integrity sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==
+"@babel/plugin-proposal-async-generator-functions@^7.18.10":
+ version "7.18.10"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz#85ea478c98b0095c3e4102bff3b67d306ed24952"
+ integrity sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==
dependencies:
- "@babel/helper-environment-visitor" "^7.18.6"
- "@babel/helper-plugin-utils" "^7.18.6"
- "@babel/helper-remap-async-to-generator" "^7.18.6"
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-plugin-utils" "^7.18.9"
+ "@babel/helper-remap-async-to-generator" "^7.18.9"
"@babel/plugin-syntax-async-generators" "^7.8.4"
"@babel/plugin-proposal-class-properties@^7.18.6":
@@ -953,12 +977,12 @@
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-syntax-typescript" "^7.18.6"
-"@babel/plugin-transform-unicode-escapes@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz#0d01fb7fb2243ae1c033f65f6e3b4be78db75f27"
- integrity sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==
+"@babel/plugin-transform-unicode-escapes@^7.18.10":
+ version "7.18.10"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246"
+ integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.9"
"@babel/plugin-transform-unicode-regex@^7.18.6":
version "7.18.6"
@@ -969,9 +993,9 @@
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/preset-env@^7.16.11":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.9.tgz#9b3425140d724fbe590322017466580844c7eaff"
- integrity sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==
+ version "7.18.10"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.10.tgz#83b8dfe70d7eea1aae5a10635ab0a5fe60dfc0f4"
+ integrity sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==
dependencies:
"@babel/compat-data" "^7.18.8"
"@babel/helper-compilation-targets" "^7.18.9"
@@ -979,7 +1003,7 @@
"@babel/helper-validator-option" "^7.18.6"
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6"
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9"
- "@babel/plugin-proposal-async-generator-functions" "^7.18.6"
+ "@babel/plugin-proposal-async-generator-functions" "^7.18.10"
"@babel/plugin-proposal-class-properties" "^7.18.6"
"@babel/plugin-proposal-class-static-block" "^7.18.6"
"@babel/plugin-proposal-dynamic-import" "^7.18.6"
@@ -1039,13 +1063,13 @@
"@babel/plugin-transform-sticky-regex" "^7.18.6"
"@babel/plugin-transform-template-literals" "^7.18.9"
"@babel/plugin-transform-typeof-symbol" "^7.18.9"
- "@babel/plugin-transform-unicode-escapes" "^7.18.6"
+ "@babel/plugin-transform-unicode-escapes" "^7.18.10"
"@babel/plugin-transform-unicode-regex" "^7.18.6"
"@babel/preset-modules" "^0.1.5"
- "@babel/types" "^7.18.9"
- babel-plugin-polyfill-corejs2 "^0.3.1"
- babel-plugin-polyfill-corejs3 "^0.5.2"
- babel-plugin-polyfill-regenerator "^0.3.1"
+ "@babel/types" "^7.18.10"
+ babel-plugin-polyfill-corejs2 "^0.3.2"
+ babel-plugin-polyfill-corejs3 "^0.5.3"
+ babel-plugin-polyfill-regenerator "^0.4.0"
core-js-compat "^3.22.1"
semver "^6.3.0"
@@ -1076,36 +1100,37 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/template@^7.18.6", "@babel/template@^7.3.3":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31"
- integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==
+"@babel/template@^7.18.10", "@babel/template@^7.18.6", "@babel/template@^7.3.3":
+ version "7.18.10"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71"
+ integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==
dependencies:
"@babel/code-frame" "^7.18.6"
- "@babel/parser" "^7.18.6"
- "@babel/types" "^7.18.6"
+ "@babel/parser" "^7.18.10"
+ "@babel/types" "^7.18.10"
-"@babel/traverse@^7.13.0", "@babel/traverse@^7.18.6", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.2":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98"
- integrity sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==
+"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.11", "@babel/traverse@^7.18.6", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.2":
+ version "7.18.11"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.11.tgz#3d51f2afbd83ecf9912bcbb5c4d94e3d2ddaa16f"
+ integrity sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==
dependencies:
"@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.18.9"
+ "@babel/generator" "^7.18.10"
"@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-function-name" "^7.18.9"
"@babel/helper-hoist-variables" "^7.18.6"
"@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/parser" "^7.18.9"
- "@babel/types" "^7.18.9"
+ "@babel/parser" "^7.18.11"
+ "@babel/types" "^7.18.10"
debug "^4.1.0"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f"
- integrity sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==
+"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
+ version "7.18.10"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.10.tgz#4908e81b6b339ca7c6b7a555a5fc29446f26dde6"
+ integrity sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==
dependencies:
+ "@babel/helper-string-parser" "^7.18.10"
"@babel/helper-validator-identifier" "^7.18.6"
to-fast-properties "^2.0.0"
@@ -1151,15 +1176,20 @@
dependencies:
"@hapi/hoek" "^9.0.0"
-"@humanwhocodes/config-array@^0.9.2":
- version "0.9.5"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7"
- integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==
+"@humanwhocodes/config-array@^0.10.4":
+ version "0.10.4"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c"
+ integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==
dependencies:
"@humanwhocodes/object-schema" "^1.2.1"
debug "^4.1.1"
minimatch "^3.0.4"
+"@humanwhocodes/gitignore-to-minimatch@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d"
+ integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==
+
"@humanwhocodes/object-schema@^1.2.1":
version "1.2.1"
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
@@ -1594,9 +1624,9 @@
"@rollup/pluginutils" "^3.1.0"
"@rollup/plugin-commonjs@^22.0.0":
- version "22.0.1"
- resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-22.0.1.tgz#f7cb777d20de3eeeaf994f39080115c336bef810"
- integrity sha512-dGfEZvdjDHObBiP5IvwTKMVeq/tBZGMBHZFMdIV1ClMM/YoWS34xrHFGfag9SN2ZtMgNZRFruqvxZQEa70O6nQ==
+ version "22.0.2"
+ resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-22.0.2.tgz#ee8ca8415cda30d383b4096aad5222435b4b69b6"
+ integrity sha512-//NdP6iIwPbMTcazYsiBMbJW7gfmpHom33u1beiIoHDEM0Q9clvtQB1T0efvMqHeKsGohiHo97BCPCkBXdscwg==
dependencies:
"@rollup/pluginutils" "^3.1.0"
commondir "^1.0.1"
@@ -1704,9 +1734,9 @@
"@babel/types" "^7.3.0"
"@types/chai@^4.3.0":
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.1.tgz#e2c6e73e0bdeb2521d00756d099218e9f5d90a04"
- integrity sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.3.tgz#3c90752792660c4b562ad73b3fbd68bf3bc7ae07"
+ integrity sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==
"@types/clone@~2.1.1":
version "2.1.1"
@@ -2061,13 +2091,13 @@
"@types/node" "*"
"@typescript-eslint/eslint-plugin@^5.14.0":
- version "5.30.7"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.7.tgz#1621dabc1ae4084310e19e9efc80dfdbb97e7493"
- integrity sha512-l4L6Do+tfeM2OK0GJsU7TUcM/1oN/N25xHm3Jb4z3OiDU4Lj8dIuxX9LpVMS9riSXQs42D1ieX7b85/r16H9Fw==
+ version "5.33.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.0.tgz#059798888720ec52ffa96c5f868e31a8f70fa3ec"
+ integrity sha512-jHvZNSW2WZ31OPJ3enhLrEKvAZNyAFWZ6rx9tUwaessTc4sx9KmgMNhVcqVAl1ETnT5rU5fpXTLmY9YvC1DCNg==
dependencies:
- "@typescript-eslint/scope-manager" "5.30.7"
- "@typescript-eslint/type-utils" "5.30.7"
- "@typescript-eslint/utils" "5.30.7"
+ "@typescript-eslint/scope-manager" "5.33.0"
+ "@typescript-eslint/type-utils" "5.33.0"
+ "@typescript-eslint/utils" "5.33.0"
debug "^4.3.4"
functional-red-black-tree "^1.0.1"
ignore "^5.2.0"
@@ -2076,68 +2106,68 @@
tsutils "^3.21.0"
"@typescript-eslint/parser@^5.14.0":
- version "5.30.7"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.7.tgz#99d09729392aec9e64b1de45cd63cb81a4ddd980"
- integrity sha512-Rg5xwznHWWSy7v2o0cdho6n+xLhK2gntImp0rJroVVFkcYFYQ8C8UJTSuTw/3CnExBmPjycjmUJkxVmjXsld6A==
+ version "5.33.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.33.0.tgz#26ec3235b74f0667414613727cb98f9b69dc5383"
+ integrity sha512-cgM5cJrWmrDV2KpvlcSkelTBASAs1mgqq+IUGKJvFxWrapHpaRy5EXPQz9YaKF3nZ8KY18ILTiVpUtbIac86/w==
dependencies:
- "@typescript-eslint/scope-manager" "5.30.7"
- "@typescript-eslint/types" "5.30.7"
- "@typescript-eslint/typescript-estree" "5.30.7"
+ "@typescript-eslint/scope-manager" "5.33.0"
+ "@typescript-eslint/types" "5.33.0"
+ "@typescript-eslint/typescript-estree" "5.33.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@5.30.7":
- version "5.30.7"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.7.tgz#8269a931ef1e5ae68b5eb80743cc515c4ffe3dd7"
- integrity sha512-7BM1bwvdF1UUvt+b9smhqdc/eniOnCKxQT/kj3oXtj3LqnTWCAM0qHRHfyzCzhEfWX0zrW7KqXXeE4DlchZBKw==
+"@typescript-eslint/scope-manager@5.33.0":
+ version "5.33.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.33.0.tgz#509d7fa540a2c58f66bdcfcf278a3fa79002e18d"
+ integrity sha512-/Jta8yMNpXYpRDl8EwF/M8It2A9sFJTubDo0ATZefGXmOqlaBffEw0ZbkbQ7TNDK6q55NPHFshGBPAZvZkE8Pw==
dependencies:
- "@typescript-eslint/types" "5.30.7"
- "@typescript-eslint/visitor-keys" "5.30.7"
+ "@typescript-eslint/types" "5.33.0"
+ "@typescript-eslint/visitor-keys" "5.33.0"
-"@typescript-eslint/type-utils@5.30.7":
- version "5.30.7"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.30.7.tgz#5693dc3db6f313f302764282d614cfdbc8a9fcfd"
- integrity sha512-nD5qAE2aJX/YLyKMvOU5jvJyku4QN5XBVsoTynFrjQZaDgDV6i7QHFiYCx10wvn7hFvfuqIRNBtsgaLe0DbWhw==
+"@typescript-eslint/type-utils@5.33.0":
+ version "5.33.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.33.0.tgz#92ad1fba973c078d23767ce2d8d5a601baaa9338"
+ integrity sha512-2zB8uEn7hEH2pBeyk3NpzX1p3lF9dKrEbnXq1F7YkpZ6hlyqb2yZujqgRGqXgRBTHWIUG3NGx/WeZk224UKlIA==
dependencies:
- "@typescript-eslint/utils" "5.30.7"
+ "@typescript-eslint/utils" "5.33.0"
debug "^4.3.4"
tsutils "^3.21.0"
-"@typescript-eslint/types@5.30.7":
- version "5.30.7"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.7.tgz#18331487cc92d0f1fb1a6f580c8ec832528079d0"
- integrity sha512-ocVkETUs82+U+HowkovV6uxf1AnVRKCmDRNUBUUo46/5SQv1owC/EBFkiu4MOHeZqhKz2ktZ3kvJJ1uFqQ8QPg==
+"@typescript-eslint/types@5.33.0":
+ version "5.33.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.33.0.tgz#d41c584831805554b063791338b0220b613a275b"
+ integrity sha512-nIMt96JngB4MYFYXpZ/3ZNU4GWPNdBbcB5w2rDOCpXOVUkhtNlG2mmm8uXhubhidRZdwMaMBap7Uk8SZMU/ppw==
-"@typescript-eslint/typescript-estree@5.30.7":
- version "5.30.7"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.7.tgz#05da9f1b281985bfedcf62349847f8d168eecc07"
- integrity sha512-tNslqXI1ZdmXXrHER83TJ8OTYl4epUzJC0aj2i4DMDT4iU+UqLT3EJeGQvJ17BMbm31x5scSwo3hPM0nqQ1AEA==
+"@typescript-eslint/typescript-estree@5.33.0":
+ version "5.33.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.0.tgz#02d9c9ade6f4897c09e3508c27de53ad6bfa54cf"
+ integrity sha512-tqq3MRLlggkJKJUrzM6wltk8NckKyyorCSGMq4eVkyL5sDYzJJcMgZATqmF8fLdsWrW7OjjIZ1m9v81vKcaqwQ==
dependencies:
- "@typescript-eslint/types" "5.30.7"
- "@typescript-eslint/visitor-keys" "5.30.7"
+ "@typescript-eslint/types" "5.33.0"
+ "@typescript-eslint/visitor-keys" "5.33.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/utils@5.30.7", "@typescript-eslint/utils@^5.10.0":
- version "5.30.7"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.30.7.tgz#7135be070349e9f7caa262b0ca59dc96123351bb"
- integrity sha512-Z3pHdbFw+ftZiGUnm1GZhkJgVqsDL5CYW2yj+TB2mfXDFOMqtbzQi2dNJIyPqPbx9mv2kUxS1gU+r2gKlKi1rQ==
+"@typescript-eslint/utils@5.33.0", "@typescript-eslint/utils@^5.10.0":
+ version "5.33.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.33.0.tgz#46797461ce3146e21c095d79518cc0f8ec574038"
+ integrity sha512-JxOAnXt9oZjXLIiXb5ZIcZXiwVHCkqZgof0O8KPgz7C7y0HS42gi75PdPlqh1Tf109M0fyUw45Ao6JLo7S5AHw==
dependencies:
"@types/json-schema" "^7.0.9"
- "@typescript-eslint/scope-manager" "5.30.7"
- "@typescript-eslint/types" "5.30.7"
- "@typescript-eslint/typescript-estree" "5.30.7"
+ "@typescript-eslint/scope-manager" "5.33.0"
+ "@typescript-eslint/types" "5.33.0"
+ "@typescript-eslint/typescript-estree" "5.33.0"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
-"@typescript-eslint/visitor-keys@5.30.7":
- version "5.30.7"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.7.tgz#c093abae75b4fd822bfbad9fc337f38a7a14909a"
- integrity sha512-KrRXf8nnjvcpxDFOKej4xkD7657+PClJs5cJVSG7NNoCNnjEdc46juNAQt7AyuWctuCgs6mVRc1xGctEqrjxWw==
+"@typescript-eslint/visitor-keys@5.33.0":
+ version "5.33.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.0.tgz#fbcbb074e460c11046e067bc3384b5d66b555484"
+ integrity sha512-/XsqCzD4t+Y9p5wd9HZiptuGKBlaZO5showwqODii5C0nZawxWLF+Q6k5wYHBrQv96h6GYKyqqMHCSTqta8Kiw==
dependencies:
- "@typescript-eslint/types" "5.30.7"
+ "@typescript-eslint/types" "5.33.0"
eslint-visitor-keys "^3.3.0"
"@zeit/schemas@2.21.0":
@@ -2194,11 +2224,16 @@ acorn@^7.1.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-acorn@^8.2.4, acorn@^8.5.0, acorn@^8.7.1:
+acorn@^8.2.4, acorn@^8.5.0:
version "8.7.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
+acorn@^8.8.0:
+ version "8.8.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
+ integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
+
add-stream@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa"
@@ -2211,13 +2246,13 @@ agent-base@6:
dependencies:
debug "4"
-aggregate-error@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
- integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
+aggregate-error@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-4.0.1.tgz#25091fe1573b9e0be892aeda15c7c66a545f758e"
+ integrity sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==
dependencies:
- clean-stack "^2.0.0"
- indent-string "^4.0.0"
+ clean-stack "^4.0.0"
+ indent-string "^5.0.0"
ajv-formats@^2.1.1:
version "2.1.1"
@@ -2436,14 +2471,14 @@ author-regex@^1.0.0:
integrity sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA=
auto@^10.34.1:
- version "10.37.3"
- resolved "https://registry.yarnpkg.com/auto/-/auto-10.37.3.tgz#6a920f0f39ffdbe8afa7103576b895d6f09715d3"
- integrity sha512-0gQhbm/LKXNBxhIAvXxT9JsUc5bewSuQ8CuIJHEJvm5rhFt/tYProhNIGyfqsqkzear/CScBaohP4SknwtxIHg==
- dependencies:
- "@auto-it/core" "10.37.3"
- "@auto-it/npm" "10.37.3"
- "@auto-it/released" "10.37.3"
- "@auto-it/version-file" "10.37.3"
+ version "10.37.4"
+ resolved "https://registry.yarnpkg.com/auto/-/auto-10.37.4.tgz#450a9d51166919a97ea85fa06d117ecd94adb9ff"
+ integrity sha512-chspNHfy17DFOPwLbT74xU+fD0NXhtLpWnKZjoLjHUKp0+ZNJSM9jrBHq2ExB4EAP3UXlFVDG+BzrkgZoYLzCw==
+ dependencies:
+ "@auto-it/core" "10.37.4"
+ "@auto-it/npm" "10.37.4"
+ "@auto-it/released" "10.37.4"
+ "@auto-it/version-file" "10.37.4"
await-to-js "^3.0.0"
chalk "^4.0.0"
command-line-application "^0.10.1"
@@ -2507,29 +2542,29 @@ babel-plugin-jest-hoist@^27.5.1:
"@types/babel__core" "^7.0.0"
"@types/babel__traverse" "^7.0.6"
-babel-plugin-polyfill-corejs2@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5"
- integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==
+babel-plugin-polyfill-corejs2@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz#e4c31d4c89b56f3cf85b92558954c66b54bd972d"
+ integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==
dependencies:
- "@babel/compat-data" "^7.13.11"
- "@babel/helper-define-polyfill-provider" "^0.3.1"
+ "@babel/compat-data" "^7.17.7"
+ "@babel/helper-define-polyfill-provider" "^0.3.2"
semver "^6.1.1"
-babel-plugin-polyfill-corejs3@^0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72"
- integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==
+babel-plugin-polyfill-corejs3@^0.5.3:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7"
+ integrity sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==
dependencies:
- "@babel/helper-define-polyfill-provider" "^0.3.1"
+ "@babel/helper-define-polyfill-provider" "^0.3.2"
core-js-compat "^3.21.0"
-babel-plugin-polyfill-regenerator@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990"
- integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==
+babel-plugin-polyfill-regenerator@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz#8f51809b6d5883e07e71548d75966ff7635527fe"
+ integrity sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw==
dependencies:
- "@babel/helper-define-polyfill-provider" "^0.3.1"
+ "@babel/helper-define-polyfill-provider" "^0.3.2"
babel-preset-current-node-syntax@^1.0.0:
version "1.0.1"
@@ -2847,10 +2882,12 @@ cjs-module-lexer@^1.0.0:
resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==
-clean-stack@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
- integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
+clean-stack@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-4.2.0.tgz#c464e4cde4ac789f4e0735c5d75beb49d7b30b31"
+ integrity sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==
+ dependencies:
+ escape-string-regexp "5.0.0"
cli-boxes@^3.0.0:
version "3.0.0"
@@ -3643,27 +3680,27 @@ define-properties@^1.1.3:
dependencies:
object-keys "^1.0.12"
-del-cli@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/del-cli/-/del-cli-4.0.1.tgz#2303ccaa45708ee8c6211568344cf87336abf30a"
- integrity sha512-KtR/6cBfZkGDAP2NA7z+bP4p1OMob3wjN9mq13+SWvExx6jT9gFWfLgXEeX8J2B47OKeNCq9yTONmtryQ+m+6g==
+del-cli@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/del-cli/-/del-cli-5.0.0.tgz#fa79fd57e888ecaaf8a468d87e8a175142a24aa9"
+ integrity sha512-rENFhUaYcjoMODwFhhlON+ogN7DoG+4+GFN+bsA1XeDt4w2OKQnQadFP1thHSAlK9FAtl88qgP66wOV+eFZZiQ==
dependencies:
- del "^6.0.0"
- meow "^10.1.0"
+ del "^7.0.0"
+ meow "^10.1.3"
-del@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952"
- integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==
+del@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/del/-/del-7.0.0.tgz#79db048bec96f83f344b46c1a66e35d9c09fe8ac"
+ integrity sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==
dependencies:
- globby "^11.0.1"
- graceful-fs "^4.2.4"
- is-glob "^4.0.1"
- is-path-cwd "^2.2.0"
- is-path-inside "^3.0.2"
- p-map "^4.0.0"
+ globby "^13.1.2"
+ graceful-fs "^4.2.10"
+ is-glob "^4.0.3"
+ is-path-cwd "^3.0.0"
+ is-path-inside "^4.0.0"
+ p-map "^5.5.0"
rimraf "^3.0.2"
- slash "^3.0.0"
+ slash "^4.0.0"
delaunator@5:
version "5.0.0"
@@ -3901,6 +3938,11 @@ escalade@^3.1.1:
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+escape-string-regexp@5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8"
+ integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==
+
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
@@ -3934,9 +3976,9 @@ eslint-config-prettier@^8.5.0:
integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==
eslint-plugin-jest@^26.1.1:
- version "26.6.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.6.0.tgz#546804fa42da75d7d58d4d3b278d5186abd3f6c0"
- integrity sha512-f8n46/97ZFdU4KqeQYqO8AEVGIhHWvkpgNBWHH3jrM28/y8llnbf3IjfIKv6p2pZIMinK1PCqbbROxs9Eud02Q==
+ version "26.8.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.8.2.tgz#42a1248a5ade2bc589eb0f9c4e0608dd89b18cf3"
+ integrity sha512-67oh0FKaku9y48OpLzL3uK9ckrgLb83Sp5gxxTbtOGDw9lq6D8jw/Psj/9CipkbK406I2M7mvx1q+pv/MdbvxA==
dependencies:
"@typescript-eslint/utils" "^5.10.0"
@@ -3981,12 +4023,13 @@ eslint-visitor-keys@^3.3.0:
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint@^8.11.0:
- version "8.20.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.20.0.tgz#048ac56aa18529967da8354a478be4ec0a2bc81b"
- integrity sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA==
+ version "8.22.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.22.0.tgz#78fcb044196dfa7eef30a9d65944f6f980402c48"
+ integrity sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==
dependencies:
"@eslint/eslintrc" "^1.3.0"
- "@humanwhocodes/config-array" "^0.9.2"
+ "@humanwhocodes/config-array" "^0.10.4"
+ "@humanwhocodes/gitignore-to-minimatch" "^1.0.2"
ajv "^6.10.0"
chalk "^4.0.0"
cross-spawn "^7.0.2"
@@ -3996,14 +4039,17 @@ eslint@^8.11.0:
eslint-scope "^7.1.1"
eslint-utils "^3.0.0"
eslint-visitor-keys "^3.3.0"
- espree "^9.3.2"
+ espree "^9.3.3"
esquery "^1.4.0"
esutils "^2.0.2"
fast-deep-equal "^3.1.3"
file-entry-cache "^6.0.1"
+ find-up "^5.0.0"
functional-red-black-tree "^1.0.1"
glob-parent "^6.0.1"
globals "^13.15.0"
+ globby "^11.1.0"
+ grapheme-splitter "^1.0.4"
ignore "^5.2.0"
import-fresh "^3.0.0"
imurmurhash "^0.1.4"
@@ -4021,12 +4067,12 @@ eslint@^8.11.0:
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
-espree@^9.3.2:
- version "9.3.2"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596"
- integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==
+espree@^9.3.2, espree@^9.3.3:
+ version "9.3.3"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d"
+ integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==
dependencies:
- acorn "^8.7.1"
+ acorn "^8.8.0"
acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.3.0"
@@ -4132,7 +4178,7 @@ fast-diff@^1.1.2:
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
-fast-glob@^3.1.1, fast-glob@^3.2.9:
+fast-glob@^3.1.1, fast-glob@^3.2.11, fast-glob@^3.2.9:
version "3.2.11"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
@@ -4573,7 +4619,7 @@ globals@^13.15.0:
dependencies:
type-fest "^0.20.2"
-globby@^11.0.1, globby@^11.1.0:
+globby@^11.1.0:
version "11.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
@@ -4585,6 +4631,17 @@ globby@^11.0.1, globby@^11.1.0:
merge2 "^1.4.1"
slash "^3.0.0"
+globby@^13.1.2:
+ version "13.1.2"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.2.tgz#29047105582427ab6eca4f905200667b056da515"
+ integrity sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==
+ dependencies:
+ dir-glob "^3.0.1"
+ fast-glob "^3.2.11"
+ ignore "^5.2.0"
+ merge2 "^1.4.1"
+ slash "^4.0.0"
+
globby@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
@@ -4608,11 +4665,21 @@ globby@^7.1.1:
pify "^3.0.0"
slash "^1.0.0"
-graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9:
version "4.2.9"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
+graceful-fs@^4.2.10:
+ version "4.2.10"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
+ integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
+
+grapheme-splitter@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
+ integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
+
gzip-size@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520"
@@ -4962,15 +5029,15 @@ is-obj@^2.0.0:
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-is-path-cwd@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
- integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
+is-path-cwd@^3.0.0:
+ version "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:
- 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==
+is-path-inside@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-4.0.0.tgz#805aeb62c47c1b12fc3fd13bfb3ed1e7430071db"
+ integrity sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==
is-plain-obj@^1.1.0:
version "1.1.0"
@@ -5858,10 +5925,10 @@ meant@^1.0.1:
resolved "https://registry.yarnpkg.com/meant/-/meant-1.0.3.tgz#67769af9de1d158773e928ae82c456114903554c"
integrity sha512-88ZRGcNxAq4EH38cQ4D85PM57pikCwS8Z99EWHODxN7KBY+UuPiqzRTtZzS8KTXO/ywSWbdjjJST2Hly/EQxLw==
-meow@^10.1.0:
- version "10.1.2"
- resolved "https://registry.yarnpkg.com/meow/-/meow-10.1.2.tgz#62951cb69afa69594142c8250806bc30a3912e4d"
- integrity sha512-zbuAlN+V/sXlbGchNS9WTWjUzeamwMt/BApKCJi7B0QyZstZaMx0n4Unll/fg0njGtMdC9UP5SAscvOCLYdM+Q==
+meow@^10.1.3:
+ version "10.1.3"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-10.1.3.tgz#21689959a7d00e8901aff30d208acb2122eb8088"
+ integrity sha512-0WL7RMCPPdUTE00+GxJjL4d5Dm6eUbmAzxlzywJWiRUKCW093owmZ7/q74tH9VI91vxw9KJJNxAcvdpxb2G4iA==
dependencies:
"@types/minimist" "^1.2.2"
camelcase-keys "^7.0.0"
@@ -6251,12 +6318,12 @@ p-locate@^5.0.0:
dependencies:
p-limit "^3.0.2"
-p-map@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
- integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
+p-map@^5.5.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-5.5.0.tgz#054ca8ca778dfa4cf3f8db6638ccb5b937266715"
+ integrity sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==
dependencies:
- aggregate-error "^3.0.0"
+ aggregate-error "^4.0.0"
p-try@^1.0.0:
version "1.0.0"
@@ -6892,9 +6959,9 @@ rollup-plugin-terser@^7.0.2:
terser "^5.0.0"
rollup@^2.70.1:
- version "2.77.0"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.77.0.tgz#749eaa5ac09b6baa52acc076bc46613eddfd53f4"
- integrity sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==
+ version "2.78.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.0.tgz#00995deae70c0f712ea79ad904d5f6b033209d9e"
+ integrity sha512-4+YfbQC9QEVvKTanHhIAFVUFSRsezvQF8vFOJwtGfb9Bb+r014S+qryr9PSmw8x6sMnPkmFBGAvIFVQxvJxjtg==
optionalDependencies:
fsevents "~2.3.2"
@@ -7073,6 +7140,11 @@ slash@^3.0.0:
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+slash@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7"
+ integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==
+
source-map-resolve@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2"