From ff6793a2727d3faa8c11ce2ad75a43e32cf2845b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 15 Mar 2022 15:33:47 +0100 Subject: [PATCH 01/38] Update actions/setup-node action to v3 (#110) Co-authored-by: Renovate Bot --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e150b65..06435b3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,7 +26,7 @@ jobs: fetch-depth: 0 - name: Setup Node.js - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: '14' @@ -92,7 +92,7 @@ jobs: fetch-depth: 0 # Required due to the weg Git works, without it this action won't be able to find any or the correct tags - name: Setup Node.js - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: '14' From a2ec66fa5af333d83c4c2b965647eb3d6d5385d1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 15 Mar 2022 15:33:57 +0100 Subject: [PATCH 02/38] Update actions/checkout action to v3 (#109) Co-authored-by: Renovate Bot --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 06435b3..8dfdaab 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,7 +20,7 @@ jobs: new-version: ${{ toJSON(steps.package-version.outputs.current-version != steps.latest-tag.outputs.tag) }} steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: # Disabling shallow clone is recommended for improving relevancy of reporting fetch-depth: 0 @@ -87,7 +87,7 @@ jobs: echo "New version: ${{ fromJSON(needs.CI.outputs.new-version) }}" - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 # Required due to the weg Git works, without it this action won't be able to find any or the correct tags From 9f2ac9e6a8f465edf26b77f60bde33a8e432e77c Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Wed, 23 Mar 2022 22:39:27 +0100 Subject: [PATCH 03/38] Fixed indentation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 47d63cb..29020a0 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,7 @@ In case of problems, please create a new issue and submit a bug report. {#if show} - + {/if} ``` From 5c5f51a8fdac597b1cdf0cbf0e5f27155859d0b3 Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Wed, 23 Mar 2022 22:46:19 +0100 Subject: [PATCH 04/38] Started tracking changes for next release --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fed898f..e055b30 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unrelease] +### Changed +- Fixed some minor things in README +- Version numbers in CHANGELOG now allow to compare changes with previous release + ## [0.4.0] - 2021-12-21 ### Changed - Removed unused imports From 96d7c720132ad4116cb872f9aaa1e275056fed7a Mon Sep 17 00:00:00 2001 From: Loris Bettazza Date: Wed, 23 Mar 2022 23:07:17 +0100 Subject: [PATCH 05/38] Add links in changelog (#111) --- CHANGELOG.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fed898f..7dc0b90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,4 +52,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Better naming in GitHub CI workflow ## [0.1.0] - 2021-11-16 -- Initial beta release \ No newline at end of file +- Initial beta release + +[0.1.0]: https://github.com/DaveKeehl/svelte-reveal/releases/tag/0.1.0 +[0.2.0]: https://github.com/DaveKeehl/svelte-reveal/compare/0.1.0...0.2.0 +[0.3.0]: https://github.com/DaveKeehl/svelte-reveal/compare/0.2.0...0.3.0 +[0.3.1]: https://github.com/DaveKeehl/svelte-reveal/compare/0.3.0...0.3.1 +[0.3.2]: https://github.com/DaveKeehl/svelte-reveal/compare/0.3.1...0.3.2 +[0.3.3]: https://github.com/DaveKeehl/svelte-reveal/compare/0.3.2...0.3.3 +[0.4.0]: https://github.com/DaveKeehl/svelte-reveal/compare/0.3.3...0.4.0 +[0.5.0]: https://github.com/DaveKeehl/svelte-reveal/compare/0.4.0...0.5.0 \ No newline at end of file From 6d73a846e41344e415eed91ee53e819fdbf2068f Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Wed, 23 Mar 2022 23:10:17 +0100 Subject: [PATCH 06/38] Fixed typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c850c48..8ad1cc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unrelease] +## [Unreleased] ### Changed - Fixed some minor things in README - Version numbers in CHANGELOG now allow to compare changes with previous release From 46f051bcc02e0777d5c6a6377c9c88c9923db965 Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Wed, 23 Mar 2022 23:17:56 +0100 Subject: [PATCH 07/38] Added empty line --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c43a15..45c2741 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Fixed some minor things in README - Version numbers in CHANGELOG now allow to compare changes with previous release + ## [0.5.0] - 2022-03-15 ### Changed - Documented how to use svelte-reveal with SvelteKit From 6703fad8ba1eb52889581f63964526ffd9fd51db Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 1 Apr 2022 01:42:00 +0000 Subject: [PATCH 08/38] Update dependency @types/babel__core to v7.1.19 --- package-lock.json | 43 +++++++++++++++++-------------------------- package.json | 2 +- 2 files changed, 18 insertions(+), 27 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8f9e94e..7ad473f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "svelte-reveal", - "version": "0.4.0", + "version": "0.5.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1179,9 +1179,9 @@ "dev": true }, "@types/babel__core": { - "version": "7.1.18", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz", - "integrity": "sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==", + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -1328,6 +1328,19 @@ "regexpp": "^3.2.0", "semver": "^7.3.5", "tsutils": "^3.21.0" + }, + "dependencies": { + "@typescript-eslint/type-utils": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.13.0.tgz", + "integrity": "sha512-/nz7qFizaBM1SuqAKb7GLkcNn2buRdDgZraXlkhz+vUGiN1NZ9LzkA595tHHeduAiS2MsHqMNhE2zNzGdw43Yg==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "5.13.0", + "debug": "^4.3.2", + "tsutils": "^3.21.0" + } + } } }, "@typescript-eslint/parser": { @@ -1352,28 +1365,6 @@ "@typescript-eslint/visitor-keys": "5.13.0" } }, - "@typescript-eslint/type-utils": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.13.0.tgz", - "integrity": "sha512-/nz7qFizaBM1SuqAKb7GLkcNn2buRdDgZraXlkhz+vUGiN1NZ9LzkA595tHHeduAiS2MsHqMNhE2zNzGdw43Yg==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "5.13.0", - "debug": "^4.3.2", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.9.0.tgz", - "integrity": "sha512-uVCb9dJXpBrK1071ri5aEW7ZHdDHAiqEjYznF3HSSvAJXyrkxGOw2Ejibz/q6BXdT8lea8CMI0CzKNFTNI6TEQ==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "5.9.0", - "debug": "^4.3.2", - "tsutils": "^3.21.0" - } - }, "@typescript-eslint/types": { "version": "5.13.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.13.0.tgz", diff --git a/package.json b/package.json index 66bdc35..3ed7236 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "animation" ], "devDependencies": { - "@types/babel__core": "7.1.18", + "@types/babel__core": "7.1.19", "@types/jest": "27.4.1", "@types/seedrandom": "3.0.2", "@typescript-eslint/eslint-plugin": "5.13.0", From ae82c112888248d97693c931395b79ab8fdcbd98 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 1 Apr 2022 04:06:27 +0000 Subject: [PATCH 09/38] Update dependency esbuild to v0.14.29 --- package-lock.json | 172 ++++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 91 insertions(+), 83 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7ad473f..8dd8fdd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1990,162 +1990,170 @@ } }, "esbuild": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.23.tgz", - "integrity": "sha512-XjnIcZ9KB6lfonCa+jRguXyRYcldmkyZ99ieDksqW/C8bnyEX299yA4QH2XcgijCgaddEZePPTgvx/2imsq7Ig==", - "dev": true, - "requires": { - "esbuild-android-arm64": "0.14.23", - "esbuild-darwin-64": "0.14.23", - "esbuild-darwin-arm64": "0.14.23", - "esbuild-freebsd-64": "0.14.23", - "esbuild-freebsd-arm64": "0.14.23", - "esbuild-linux-32": "0.14.23", - "esbuild-linux-64": "0.14.23", - "esbuild-linux-arm": "0.14.23", - "esbuild-linux-arm64": "0.14.23", - "esbuild-linux-mips64le": "0.14.23", - "esbuild-linux-ppc64le": "0.14.23", - "esbuild-linux-riscv64": "0.14.23", - "esbuild-linux-s390x": "0.14.23", - "esbuild-netbsd-64": "0.14.23", - "esbuild-openbsd-64": "0.14.23", - "esbuild-sunos-64": "0.14.23", - "esbuild-windows-32": "0.14.23", - "esbuild-windows-64": "0.14.23", - "esbuild-windows-arm64": "0.14.23" - } + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.29.tgz", + "integrity": "sha512-SQS8cO8xFEqevYlrHt6exIhK853Me4nZ4aMW6ieysInLa0FMAL+AKs87HYNRtR2YWRcEIqoXAHh+Ytt5/66qpg==", + "dev": true, + "requires": { + "esbuild-android-64": "0.14.29", + "esbuild-android-arm64": "0.14.29", + "esbuild-darwin-64": "0.14.29", + "esbuild-darwin-arm64": "0.14.29", + "esbuild-freebsd-64": "0.14.29", + "esbuild-freebsd-arm64": "0.14.29", + "esbuild-linux-32": "0.14.29", + "esbuild-linux-64": "0.14.29", + "esbuild-linux-arm": "0.14.29", + "esbuild-linux-arm64": "0.14.29", + "esbuild-linux-mips64le": "0.14.29", + "esbuild-linux-ppc64le": "0.14.29", + "esbuild-linux-riscv64": "0.14.29", + "esbuild-linux-s390x": "0.14.29", + "esbuild-netbsd-64": "0.14.29", + "esbuild-openbsd-64": "0.14.29", + "esbuild-sunos-64": "0.14.29", + "esbuild-windows-32": "0.14.29", + "esbuild-windows-64": "0.14.29", + "esbuild-windows-arm64": "0.14.29" + } + }, + "esbuild-android-64": { + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.29.tgz", + "integrity": "sha512-tJuaN33SVZyiHxRaVTo1pwW+rn3qetJX/SRuc/83rrKYtyZG0XfsQ1ao1nEudIt9w37ZSNXR236xEfm2C43sbw==", + "dev": true, + "optional": true }, "esbuild-android-arm64": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz", - "integrity": "sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.29.tgz", + "integrity": "sha512-D74dCv6yYnMTlofVy1JKiLM5JdVSQd60/rQfJSDP9qvRAI0laPXIG/IXY1RG6jobmFMUfL38PbFnCqyI/6fPXg==", "dev": true, "optional": true }, "esbuild-darwin-64": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz", - "integrity": "sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.29.tgz", + "integrity": "sha512-+CJaRvfTkzs9t+CjGa0Oa28WoXa7EeLutQhxus+fFcu0MHhsBhlmeWHac3Cc/Sf/xPi1b2ccDFfzGYJCfV0RrA==", "dev": true, "optional": true }, "esbuild-darwin-arm64": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz", - "integrity": "sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.29.tgz", + "integrity": "sha512-5Wgz/+zK+8X2ZW7vIbwoZ613Vfr4A8HmIs1XdzRmdC1kG0n5EG5fvKk/jUxhNlrYPx1gSY7XadQ3l4xAManPSw==", "dev": true, "optional": true }, "esbuild-freebsd-64": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz", - "integrity": "sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.29.tgz", + "integrity": "sha512-VTfS7Bm9QA12JK1YXF8+WyYOfvD7WMpbArtDj6bGJ5Sy5xp01c/q70Arkn596aGcGj0TvQRplaaCIrfBG1Wdtg==", "dev": true, "optional": true }, "esbuild-freebsd-arm64": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz", - "integrity": "sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.29.tgz", + "integrity": "sha512-WP5L4ejwLWWvd3Fo2J5mlXvG3zQHaw5N1KxFGnUc4+2ZFZknP0ST63i0IQhpJLgEJwnQpXv2uZlU1iWZjFqEIg==", "dev": true, "optional": true }, "esbuild-linux-32": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz", - "integrity": "sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.29.tgz", + "integrity": "sha512-4myeOvFmQBWdI2U1dEBe2DCSpaZyjdQtmjUY11Zu2eQg4ynqLb8Y5mNjNU9UN063aVsCYYfbs8jbken/PjyidA==", "dev": true, "optional": true }, "esbuild-linux-64": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz", - "integrity": "sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.29.tgz", + "integrity": "sha512-iaEuLhssReAKE7HMwxwFJFn7D/EXEs43fFy5CJeA4DGmU6JHh0qVJD2p/UP46DvUXLRKXsXw0i+kv5TdJ1w5pg==", "dev": true, "optional": true }, "esbuild-linux-arm": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz", - "integrity": "sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.29.tgz", + "integrity": "sha512-OXa9D9QL1hwrAnYYAHt/cXAuSCmoSqYfTW/0CEY0LgJNyTxJKtqc5mlwjAZAvgyjmha0auS/sQ0bXfGf2wAokQ==", "dev": true, "optional": true }, "esbuild-linux-arm64": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz", - "integrity": "sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.29.tgz", + "integrity": "sha512-KYf7s8wDfUy+kjKymW3twyGT14OABjGHRkm9gPJ0z4BuvqljfOOUbq9qT3JYFnZJHOgkr29atT//hcdD0Pi7Mw==", "dev": true, "optional": true }, "esbuild-linux-mips64le": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz", - "integrity": "sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.29.tgz", + "integrity": "sha512-05jPtWQMsZ1aMGfHOvnR5KrTvigPbU35BtuItSSWLI2sJu5VrM8Pr9Owym4wPvA4153DFcOJ1EPN/2ujcDt54g==", "dev": true, "optional": true }, "esbuild-linux-ppc64le": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz", - "integrity": "sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.29.tgz", + "integrity": "sha512-FYhBqn4Ir9xG+f6B5VIQVbRuM4S6qwy29dDNYFPoxLRnwTEKToIYIUESN1qHyUmIbfO0YB4phG2JDV2JDN9Kgw==", "dev": true, "optional": true }, "esbuild-linux-riscv64": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz", - "integrity": "sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.29.tgz", + "integrity": "sha512-eqZMqPehkb4nZcffnuOpXJQdGURGd6GXQ4ZsDHSWyIUaA+V4FpMBe+5zMPtXRD2N4BtyzVvnBko6K8IWWr36ew==", "dev": true, "optional": true }, "esbuild-linux-s390x": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz", - "integrity": "sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.29.tgz", + "integrity": "sha512-o7EYajF1rC/4ho7kpSG3gENVx0o2SsHm7cJ5fvewWB/TEczWU7teDgusGSujxCYcMottE3zqa423VTglNTYhjg==", "dev": true, "optional": true }, "esbuild-netbsd-64": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz", - "integrity": "sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.29.tgz", + "integrity": "sha512-/esN6tb6OBSot6+JxgeOZeBk6P8V/WdR3GKBFeFpSqhgw4wx7xWUqPrdx4XNpBVO7X4Ipw9SAqgBrWHlXfddww==", "dev": true, "optional": true }, "esbuild-openbsd-64": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz", - "integrity": "sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.29.tgz", + "integrity": "sha512-jUTdDzhEKrD0pLpjmk0UxwlfNJNg/D50vdwhrVcW/D26Vg0hVbthMfb19PJMatzclbK7cmgk1Nu0eNS+abzoHw==", "dev": true, "optional": true }, "esbuild-sunos-64": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz", - "integrity": "sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.29.tgz", + "integrity": "sha512-EfhQN/XO+TBHTbkxwsxwA7EfiTHFe+MNDfxcf0nj97moCppD9JHPq48MLtOaDcuvrTYOcrMdJVeqmmeQ7doTcg==", "dev": true, "optional": true }, "esbuild-windows-32": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz", - "integrity": "sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.29.tgz", + "integrity": "sha512-uoyb0YAJ6uWH4PYuYjfGNjvgLlb5t6b3zIaGmpWPOjgpr1Nb3SJtQiK4YCPGhONgfg2v6DcJgSbOteuKXhwqAw==", "dev": true, "optional": true }, "esbuild-windows-64": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz", - "integrity": "sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.29.tgz", + "integrity": "sha512-X9cW/Wl95QjsH8WUyr3NqbmfdU72jCp71cH3pwPvI4CgBM2IeOUDdbt6oIGljPu2bf5eGDIo8K3Y3vvXCCTd8A==", "dev": true, "optional": true }, "esbuild-windows-arm64": { - "version": "0.14.23", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz", - "integrity": "sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw==", + "version": "0.14.29", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.29.tgz", + "integrity": "sha512-+O/PI+68fbUZPpl3eXhqGHTGK7DjLcexNnyJqtLZXOFwoAjaXlS5UBCvVcR3o2va+AqZTj8o6URaz8D2K+yfQQ==", "dev": true, "optional": true }, diff --git a/package.json b/package.json index 3ed7236..93f288c 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@types/seedrandom": "3.0.2", "@typescript-eslint/eslint-plugin": "5.13.0", "@typescript-eslint/parser": "5.13.0", - "esbuild": "0.14.23", + "esbuild": "0.14.29", "eslint": "8.10.0", "eslint-config-prettier": "8.4.0", "eslint-plugin-prettier": "4.0.0", From 1ae8086bfe9df7b44fba9b11f2ca7f1e8636db49 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 3 Apr 2022 14:45:45 +0000 Subject: [PATCH 10/38] Update dependency esbuild to v0.14.30 --- package-lock.json | 170 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 86 insertions(+), 86 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8dd8fdd..0796262 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1990,170 +1990,170 @@ } }, "esbuild": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.29.tgz", - "integrity": "sha512-SQS8cO8xFEqevYlrHt6exIhK853Me4nZ4aMW6ieysInLa0FMAL+AKs87HYNRtR2YWRcEIqoXAHh+Ytt5/66qpg==", - "dev": true, - "requires": { - "esbuild-android-64": "0.14.29", - "esbuild-android-arm64": "0.14.29", - "esbuild-darwin-64": "0.14.29", - "esbuild-darwin-arm64": "0.14.29", - "esbuild-freebsd-64": "0.14.29", - "esbuild-freebsd-arm64": "0.14.29", - "esbuild-linux-32": "0.14.29", - "esbuild-linux-64": "0.14.29", - "esbuild-linux-arm": "0.14.29", - "esbuild-linux-arm64": "0.14.29", - "esbuild-linux-mips64le": "0.14.29", - "esbuild-linux-ppc64le": "0.14.29", - "esbuild-linux-riscv64": "0.14.29", - "esbuild-linux-s390x": "0.14.29", - "esbuild-netbsd-64": "0.14.29", - "esbuild-openbsd-64": "0.14.29", - "esbuild-sunos-64": "0.14.29", - "esbuild-windows-32": "0.14.29", - "esbuild-windows-64": "0.14.29", - "esbuild-windows-arm64": "0.14.29" + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.30.tgz", + "integrity": "sha512-wCecQSBkIjp2xjuXY+wcXS/PpOQo9rFh4NAKPh4Pm9f3fuLcnxkR0rDzA+mYP88FtXIUcXUyYmaIgfrzRl55jA==", + "dev": true, + "requires": { + "esbuild-android-64": "0.14.30", + "esbuild-android-arm64": "0.14.30", + "esbuild-darwin-64": "0.14.30", + "esbuild-darwin-arm64": "0.14.30", + "esbuild-freebsd-64": "0.14.30", + "esbuild-freebsd-arm64": "0.14.30", + "esbuild-linux-32": "0.14.30", + "esbuild-linux-64": "0.14.30", + "esbuild-linux-arm": "0.14.30", + "esbuild-linux-arm64": "0.14.30", + "esbuild-linux-mips64le": "0.14.30", + "esbuild-linux-ppc64le": "0.14.30", + "esbuild-linux-riscv64": "0.14.30", + "esbuild-linux-s390x": "0.14.30", + "esbuild-netbsd-64": "0.14.30", + "esbuild-openbsd-64": "0.14.30", + "esbuild-sunos-64": "0.14.30", + "esbuild-windows-32": "0.14.30", + "esbuild-windows-64": "0.14.30", + "esbuild-windows-arm64": "0.14.30" } }, "esbuild-android-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.29.tgz", - "integrity": "sha512-tJuaN33SVZyiHxRaVTo1pwW+rn3qetJX/SRuc/83rrKYtyZG0XfsQ1ao1nEudIt9w37ZSNXR236xEfm2C43sbw==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.30.tgz", + "integrity": "sha512-vdJ7t8A8msPfKpYUGUV/KaTQRiZ0vDa2XSTlzXVkGGVHLKPeb85PBUtYJcEgw3htW3IdX5i1t1IMdQCwJJgNAg==", "dev": true, "optional": true }, "esbuild-android-arm64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.29.tgz", - "integrity": "sha512-D74dCv6yYnMTlofVy1JKiLM5JdVSQd60/rQfJSDP9qvRAI0laPXIG/IXY1RG6jobmFMUfL38PbFnCqyI/6fPXg==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.30.tgz", + "integrity": "sha512-BdgGfxeA5hBQNErLr7BWJUA8xjflEfyaARICy8e0OJYNSAwDbEzOf8LyiKWSrDcgV129mWhi3VpbNQvOIDEHcg==", "dev": true, "optional": true }, "esbuild-darwin-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.29.tgz", - "integrity": "sha512-+CJaRvfTkzs9t+CjGa0Oa28WoXa7EeLutQhxus+fFcu0MHhsBhlmeWHac3Cc/Sf/xPi1b2ccDFfzGYJCfV0RrA==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.30.tgz", + "integrity": "sha512-VRaOXMMrsG5n53pl4qFZQdXy2+E0NoLP/QH3aDUI0+bQP+ZHDmbINKcDy2IX7GVFI9kqPS18iJNAs5a6/G2LZg==", "dev": true, "optional": true }, "esbuild-darwin-arm64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.29.tgz", - "integrity": "sha512-5Wgz/+zK+8X2ZW7vIbwoZ613Vfr4A8HmIs1XdzRmdC1kG0n5EG5fvKk/jUxhNlrYPx1gSY7XadQ3l4xAManPSw==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.30.tgz", + "integrity": "sha512-qDez+fHMOrO9Oc9qjt/x+sy09RJVh62kik5tVybKRLmezeV4qczM9/sAYY57YN0aWLdHbcCj2YqJUWYJNsgKnw==", "dev": true, "optional": true }, "esbuild-freebsd-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.29.tgz", - "integrity": "sha512-VTfS7Bm9QA12JK1YXF8+WyYOfvD7WMpbArtDj6bGJ5Sy5xp01c/q70Arkn596aGcGj0TvQRplaaCIrfBG1Wdtg==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.30.tgz", + "integrity": "sha512-mec1jENcImVVagddZlGWsdAUwBnzR5cgnhzCxv+9fSMxKbx1uZYLLUAnLPp8m/i934zrumR1xGjJ5VoWdPlI2w==", "dev": true, "optional": true }, "esbuild-freebsd-arm64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.29.tgz", - "integrity": "sha512-WP5L4ejwLWWvd3Fo2J5mlXvG3zQHaw5N1KxFGnUc4+2ZFZknP0ST63i0IQhpJLgEJwnQpXv2uZlU1iWZjFqEIg==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.30.tgz", + "integrity": "sha512-cpjbTs6Iok/AfeB0JgTzyUJTMStC1SQULmany5nHx6S4GTkSgaAHuJzZO0GcVWqghI4e0YL/bjXAhN5Mn6feNw==", "dev": true, "optional": true }, "esbuild-linux-32": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.29.tgz", - "integrity": "sha512-4myeOvFmQBWdI2U1dEBe2DCSpaZyjdQtmjUY11Zu2eQg4ynqLb8Y5mNjNU9UN063aVsCYYfbs8jbken/PjyidA==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.30.tgz", + "integrity": "sha512-liIONVT4F2kZmOMwtwASqZ8WkIjb5HHBR9HUffdHiuotSTF3CyZO+EJf+Og+SYYuuVIvt0qHNSFjBA/iSESteQ==", "dev": true, "optional": true }, "esbuild-linux-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.29.tgz", - "integrity": "sha512-iaEuLhssReAKE7HMwxwFJFn7D/EXEs43fFy5CJeA4DGmU6JHh0qVJD2p/UP46DvUXLRKXsXw0i+kv5TdJ1w5pg==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.30.tgz", + "integrity": "sha512-LUnpzoMpRqFON5En4qEj6NWiyH6a1K+Y2qYNKrCy5qPTjDoG/EWeqMz69n8Uv7pRuvDKl3FNGJ1dufTrA5i0sw==", "dev": true, "optional": true }, "esbuild-linux-arm": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.29.tgz", - "integrity": "sha512-OXa9D9QL1hwrAnYYAHt/cXAuSCmoSqYfTW/0CEY0LgJNyTxJKtqc5mlwjAZAvgyjmha0auS/sQ0bXfGf2wAokQ==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.30.tgz", + "integrity": "sha512-97T+bbXnpqf7mfIG49UR7ZSJFGgvc22byn74qw3Kx2GDCBSQoVFjyWuKOHGXp8nXk3XYrdFF+mQ8yQ7aNsgQvg==", "dev": true, "optional": true }, "esbuild-linux-arm64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.29.tgz", - "integrity": "sha512-KYf7s8wDfUy+kjKymW3twyGT14OABjGHRkm9gPJ0z4BuvqljfOOUbq9qT3JYFnZJHOgkr29atT//hcdD0Pi7Mw==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.30.tgz", + "integrity": "sha512-DHZHn6FK5q/KL0fpNT/0jE38Nnyk2rXxKE9WENi95EXtqfOLPgE8tzjTZQNgpr61R95QX4ymQU26ni3IZk8buQ==", "dev": true, "optional": true }, "esbuild-linux-mips64le": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.29.tgz", - "integrity": "sha512-05jPtWQMsZ1aMGfHOvnR5KrTvigPbU35BtuItSSWLI2sJu5VrM8Pr9Owym4wPvA4153DFcOJ1EPN/2ujcDt54g==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.30.tgz", + "integrity": "sha512-fLUzTFZ7uknC0aPTk7/lM7NmaG/9ZqE3SaHEphcaM009SZK/mDOvZugWi1ss6WGNhk13dUrhkfHcc4FSb9hYhg==", "dev": true, "optional": true }, "esbuild-linux-ppc64le": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.29.tgz", - "integrity": "sha512-FYhBqn4Ir9xG+f6B5VIQVbRuM4S6qwy29dDNYFPoxLRnwTEKToIYIUESN1qHyUmIbfO0YB4phG2JDV2JDN9Kgw==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.30.tgz", + "integrity": "sha512-2Oudm2WEfj0dNU9bzIl5L/LrsMEmHWsOsYgJJqu8fDyUDgER+J1d33qz3cUdjsJk7gAENayIxDSpsuCszx0w3A==", "dev": true, "optional": true }, "esbuild-linux-riscv64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.29.tgz", - "integrity": "sha512-eqZMqPehkb4nZcffnuOpXJQdGURGd6GXQ4ZsDHSWyIUaA+V4FpMBe+5zMPtXRD2N4BtyzVvnBko6K8IWWr36ew==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.30.tgz", + "integrity": "sha512-RPMucPW47rV4t2jlelaE948iCRtbZf5RhifxSwzlpM1Mqdyu99MMNK0w4jFreGTmLN+oGomxIOxD6n+2E/XqHw==", "dev": true, "optional": true }, "esbuild-linux-s390x": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.29.tgz", - "integrity": "sha512-o7EYajF1rC/4ho7kpSG3gENVx0o2SsHm7cJ5fvewWB/TEczWU7teDgusGSujxCYcMottE3zqa423VTglNTYhjg==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.30.tgz", + "integrity": "sha512-OZ68r7ok6qO7hdwrwQn2p5jbIRRcUcVaAykB7e0uCA0ODwfeGunILM6phJtq2Oz4dlEEFvd+tSuma3paQKwt+A==", "dev": true, "optional": true }, "esbuild-netbsd-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.29.tgz", - "integrity": "sha512-/esN6tb6OBSot6+JxgeOZeBk6P8V/WdR3GKBFeFpSqhgw4wx7xWUqPrdx4XNpBVO7X4Ipw9SAqgBrWHlXfddww==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.30.tgz", + "integrity": "sha512-iyejQUKn0TzpPkufq8pSCxOg9NheycQbMbPCmjefTe9wYuUlBt1TcHvdoJnYbQzsAhAh1BNq+s0ycRsIJFZzaQ==", "dev": true, "optional": true }, "esbuild-openbsd-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.29.tgz", - "integrity": "sha512-jUTdDzhEKrD0pLpjmk0UxwlfNJNg/D50vdwhrVcW/D26Vg0hVbthMfb19PJMatzclbK7cmgk1Nu0eNS+abzoHw==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.30.tgz", + "integrity": "sha512-UyK1MTMcy4j5fH260fsE1o6MVgWNhb62eCK2yCKCRazZv8Nqdc2WiP9ygjWidmEdCDS+A6MuVp9ozk9uoQtQpA==", "dev": true, "optional": true }, "esbuild-sunos-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.29.tgz", - "integrity": "sha512-EfhQN/XO+TBHTbkxwsxwA7EfiTHFe+MNDfxcf0nj97moCppD9JHPq48MLtOaDcuvrTYOcrMdJVeqmmeQ7doTcg==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.30.tgz", + "integrity": "sha512-aQRtRTNKHB4YuG+xXATe5AoRTNY48IJg5vjE8ElxfmjO9+KdX7MHFkTLhlKevCD6rNANtB3qOlSIeAiXTwHNqw==", "dev": true, "optional": true }, "esbuild-windows-32": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.29.tgz", - "integrity": "sha512-uoyb0YAJ6uWH4PYuYjfGNjvgLlb5t6b3zIaGmpWPOjgpr1Nb3SJtQiK4YCPGhONgfg2v6DcJgSbOteuKXhwqAw==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.30.tgz", + "integrity": "sha512-9/fb1tPtpacMqxAXp3fGHowUDg/l9dVch5hKmCLEZC6PdGljh6h372zMdJwYfH0Bd5CCPT0Wx95uycBLJiqpXA==", "dev": true, "optional": true }, "esbuild-windows-64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.29.tgz", - "integrity": "sha512-X9cW/Wl95QjsH8WUyr3NqbmfdU72jCp71cH3pwPvI4CgBM2IeOUDdbt6oIGljPu2bf5eGDIo8K3Y3vvXCCTd8A==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.30.tgz", + "integrity": "sha512-DHgITeUhPAnN9I5O6QBa1GVyPOhiYCn4S4TtQr7sO4+X0LNyqnlmA1M0qmGkUdDC1QQfjI8uQ4G/whdWb2pWIQ==", "dev": true, "optional": true }, "esbuild-windows-arm64": { - "version": "0.14.29", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.29.tgz", - "integrity": "sha512-+O/PI+68fbUZPpl3eXhqGHTGK7DjLcexNnyJqtLZXOFwoAjaXlS5UBCvVcR3o2va+AqZTj8o6URaz8D2K+yfQQ==", + "version": "0.14.30", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.30.tgz", + "integrity": "sha512-F1kLyQH7zSgjh5eLxogGZN7C9+KNs9m+s7Q6WZoMmCWT/6j998zlaoECHyM8izJRRfsvw2eZlEa1jO6/IOU1AQ==", "dev": true, "optional": true }, diff --git a/package.json b/package.json index 93f288c..63039aa 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@types/seedrandom": "3.0.2", "@typescript-eslint/eslint-plugin": "5.13.0", "@typescript-eslint/parser": "5.13.0", - "esbuild": "0.14.29", + "esbuild": "0.14.30", "eslint": "8.10.0", "eslint-config-prettier": "8.4.0", "eslint-plugin-prettier": "4.0.0", From fc2ec6c05daa85923a9aa3fd9066ddabbb790425 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 3 Apr 2022 14:59:14 +0000 Subject: [PATCH 11/38] Update dependency svelte to v3.46.6 --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0796262..728608f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4614,9 +4614,9 @@ "dev": true }, "svelte": { - "version": "3.46.4", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.46.4.tgz", - "integrity": "sha512-qKJzw6DpA33CIa+C/rGp4AUdSfii0DOTCzj/2YpSKKayw5WGSS624Et9L1nU1k2OVRS9vaENQXp2CVZNU+xvIg==", + "version": "3.46.6", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.46.6.tgz", + "integrity": "sha512-o9nNft/OzCz/9kJpmWa1S52GAM+huCjPIsNWydYmgei74ZWlOA9/hN9+Z12INdklghu31seEXZMRHhS1+8DETw==", "dev": true }, "symbol-tree": { diff --git a/package.json b/package.json index 63039aa..591bcc2 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "prettier": "2.5.1", "pretty-quick": "3.1.3", "seedrandom": "3.0.5", - "svelte": "3.46.4", + "svelte": "3.46.6", "ts-jest": "27.1.3", "typescript": "4.6.2" }, From 41e2e3ccd47cce65d26803d638c397a29415f40f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 3 Apr 2022 15:09:43 +0000 Subject: [PATCH 12/38] Update dependency ts-jest to v27.1.4 --- package-lock.json | 37 +++++++++++-------------------------- package.json | 2 +- 2 files changed, 12 insertions(+), 27 deletions(-) diff --git a/package-lock.json b/package-lock.json index 728608f..2da3d8b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2703,9 +2703,9 @@ } }, "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "has": { @@ -3654,32 +3654,17 @@ } }, "jest-util": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz", - "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dev": true, "requires": { - "@jest/types": "^27.4.2", + "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", - "graceful-fs": "^4.2.4", + "graceful-fs": "^4.2.9", "picomatch": "^2.2.3" - }, - "dependencies": { - "@jest/types": { - "version": "27.4.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz", - "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - } } }, "jest-validate": { @@ -4700,9 +4685,9 @@ } }, "ts-jest": { - "version": "27.1.3", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.3.tgz", - "integrity": "sha512-6Nlura7s6uM9BVUAoqLH7JHyMXjz8gluryjpPXxr3IxZdAXnU6FhjvVLHFtfd1vsE1p8zD1OJfskkc0jhTSnkA==", + "version": "27.1.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.4.tgz", + "integrity": "sha512-qjkZlVPWVctAezwsOD1OPzbZ+k7zA5z3oxII4dGdZo5ggX/PL7kvwTM0pXTr10fAtbiVpJaL3bWd502zAhpgSQ==", "dev": true, "requires": { "bs-logger": "0.x", diff --git a/package.json b/package.json index 591bcc2..fee7add 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "pretty-quick": "3.1.3", "seedrandom": "3.0.5", "svelte": "3.46.6", - "ts-jest": "27.1.3", + "ts-jest": "27.1.4", "typescript": "4.6.2" }, "type": "module", From 62488b9b908090e432cfb8c13cbc2ad6a230dbe6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 3 Apr 2022 15:18:59 +0000 Subject: [PATCH 13/38] Update dependency typescript to v4.6.3 --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2da3d8b..2c657e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4746,9 +4746,9 @@ } }, "typescript": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz", - "integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", + "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", "dev": true }, "universalify": { diff --git a/package.json b/package.json index fee7add..1d9bba7 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "seedrandom": "3.0.5", "svelte": "3.46.6", "ts-jest": "27.1.4", - "typescript": "4.6.2" + "typescript": "4.6.3" }, "type": "module", "jestSonar": { From 393314e196c953e209ebc2f714176b849134dae3 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 3 Apr 2022 15:26:41 +0000 Subject: [PATCH 14/38] Update dependency eslint to v8.12.0 --- package-lock.json | 28 ++++++++++++++-------------- package.json | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2c657e6..5be7df2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -706,16 +706,16 @@ "dev": true }, "@eslint/eslintrc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.0.tgz", - "integrity": "sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", + "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.3.1", "globals": "^13.9.0", - "ignore": "^4.0.6", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.0.4", @@ -729,9 +729,9 @@ "dev": true }, "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, "js-yaml": { @@ -2230,12 +2230,12 @@ } }, "eslint": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.10.0.tgz", - "integrity": "sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz", + "integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.2.0", + "@eslint/eslintrc": "^1.2.1", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -2672,9 +2672,9 @@ } }, "globals": { - "version": "13.12.1", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", - "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "dev": true, "requires": { "type-fest": "^0.20.2" diff --git a/package.json b/package.json index 1d9bba7..429fb8c 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "@typescript-eslint/eslint-plugin": "5.13.0", "@typescript-eslint/parser": "5.13.0", "esbuild": "0.14.30", - "eslint": "8.10.0", + "eslint": "8.12.0", "eslint-config-prettier": "8.4.0", "eslint-plugin-prettier": "4.0.0", "husky": "7.0.4", From 28cebb53902b88f0139d601ea8ecddbe10b2760c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 3 Apr 2022 15:32:48 +0000 Subject: [PATCH 15/38] Update dependency eslint-config-prettier to v8.5.0 --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5be7df2..717e9d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2338,9 +2338,9 @@ } }, "eslint-config-prettier": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.4.0.tgz", - "integrity": "sha512-CFotdUcMY18nGRo5KGsnNxpznzhkopOcOo0InID+sgQssPrzjvsyKZPvOgymTFeHrFuC3Tzdf2YndhXtULK9Iw==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", "dev": true }, "eslint-plugin-prettier": { diff --git a/package.json b/package.json index 429fb8c..c38e8f6 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@typescript-eslint/parser": "5.13.0", "esbuild": "0.14.30", "eslint": "8.12.0", - "eslint-config-prettier": "8.4.0", + "eslint-config-prettier": "8.5.0", "eslint-plugin-prettier": "4.0.0", "husky": "7.0.4", "jest": "27.5.1", From 7c90d2e5bdb817ae32dc91817a7e0fbd011a6370 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 3 Apr 2022 15:37:25 +0000 Subject: [PATCH 16/38] Update dependency prettier to v2.6.2 --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 717e9d9..330ef39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4206,9 +4206,9 @@ "dev": true }, "prettier": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", - "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", + "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", "dev": true }, "prettier-linter-helpers": { diff --git a/package.json b/package.json index c38e8f6..690445c 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "jest": "27.5.1", "jest-sonar-reporter": "2.0.0", "pinst": "2.1.6", - "prettier": "2.5.1", + "prettier": "2.6.2", "pretty-quick": "3.1.3", "seedrandom": "3.0.5", "svelte": "3.46.6", From 05172283fce452188608f5db6f9ceb8ca6e96b0c Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 3 Apr 2022 18:57:30 +0000 Subject: [PATCH 17/38] Update typescript-eslint monorepo to v5.17.0 --- package-lock.json | 100 +++++++++++++++++++++++----------------------- package.json | 4 +- 2 files changed, 51 insertions(+), 53 deletions(-) diff --git a/package-lock.json b/package-lock.json index 330ef39..defe28c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1263,9 +1263,9 @@ } }, "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "@types/minimatch": { @@ -1314,71 +1314,69 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.13.0.tgz", - "integrity": "sha512-vLktb2Uec81fxm/cfz2Hd6QaWOs8qdmVAZXLdOBX6JFJDhf6oDZpMzZ4/LZ6SFM/5DgDcxIMIvy3F+O9yZBuiQ==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.17.0.tgz", + "integrity": "sha512-qVstvQilEd89HJk3qcbKt/zZrfBZ+9h2ynpAGlWjWiizA7m/MtLT9RoX6gjtpE500vfIg8jogAkDzdCxbsFASQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.13.0", - "@typescript-eslint/type-utils": "5.13.0", - "@typescript-eslint/utils": "5.13.0", + "@typescript-eslint/scope-manager": "5.17.0", + "@typescript-eslint/type-utils": "5.17.0", + "@typescript-eslint/utils": "5.17.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", "regexpp": "^3.2.0", "semver": "^7.3.5", "tsutils": "^3.21.0" - }, - "dependencies": { - "@typescript-eslint/type-utils": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.13.0.tgz", - "integrity": "sha512-/nz7qFizaBM1SuqAKb7GLkcNn2buRdDgZraXlkhz+vUGiN1NZ9LzkA595tHHeduAiS2MsHqMNhE2zNzGdw43Yg==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "5.13.0", - "debug": "^4.3.2", - "tsutils": "^3.21.0" - } - } } }, "@typescript-eslint/parser": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.13.0.tgz", - "integrity": "sha512-GdrU4GvBE29tm2RqWOM0P5QfCtgCyN4hXICj/X9ibKED16136l9ZpoJvCL5pSKtmJzA+NRDzQ312wWMejCVVfg==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.17.0.tgz", + "integrity": "sha512-aRzW9Jg5Rlj2t2/crzhA2f23SIYFlF9mchGudyP0uiD6SenIxzKoLjwzHbafgHn39dNV/TV7xwQkLfFTZlJ4ig==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.13.0", - "@typescript-eslint/types": "5.13.0", - "@typescript-eslint/typescript-estree": "5.13.0", + "@typescript-eslint/scope-manager": "5.17.0", + "@typescript-eslint/types": "5.17.0", + "@typescript-eslint/typescript-estree": "5.17.0", "debug": "^4.3.2" } }, "@typescript-eslint/scope-manager": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.13.0.tgz", - "integrity": "sha512-T4N8UvKYDSfVYdmJq7g2IPJYCRzwtp74KyDZytkR4OL3NRupvswvmJQJ4CX5tDSurW2cvCc1Ia1qM7d0jpa7IA==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.17.0.tgz", + "integrity": "sha512-062iCYQF/doQ9T2WWfJohQKKN1zmmXVfAcS3xaiialiw8ZUGy05Em6QVNYJGO34/sU1a7a+90U3dUNfqUDHr3w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.13.0", - "@typescript-eslint/visitor-keys": "5.13.0" + "@typescript-eslint/types": "5.17.0", + "@typescript-eslint/visitor-keys": "5.17.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.17.0.tgz", + "integrity": "sha512-3hU0RynUIlEuqMJA7dragb0/75gZmwNwFf/QJokWzPehTZousP/MNifVSgjxNcDCkM5HI2K22TjQWUmmHUINSg==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "5.17.0", + "debug": "^4.3.2", + "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.13.0.tgz", - "integrity": "sha512-LmE/KO6DUy0nFY/OoQU0XelnmDt+V8lPQhh8MOVa7Y5k2gGRd6U9Kp3wAjhB4OHg57tUO0nOnwYQhRRyEAyOyg==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.17.0.tgz", + "integrity": "sha512-AgQ4rWzmCxOZLioFEjlzOI3Ch8giDWx8aUDxyNw9iOeCvD3GEYAB7dxWGQy4T/rPVe8iPmu73jPHuaSqcjKvxw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.13.0.tgz", - "integrity": "sha512-Q9cQow0DeLjnp5DuEDjLZ6JIkwGx3oYZe+BfcNuw/POhtpcxMTy18Icl6BJqTSd+3ftsrfuVb7mNHRZf7xiaNA==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.17.0.tgz", + "integrity": "sha512-X1gtjEcmM7Je+qJRhq7ZAAaNXYhTgqMkR10euC4Si6PIjb+kwEQHSxGazXUQXFyqfEXdkGf6JijUu5R0uceQzg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.13.0", - "@typescript-eslint/visitor-keys": "5.13.0", + "@typescript-eslint/types": "5.17.0", + "@typescript-eslint/visitor-keys": "5.17.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -1398,26 +1396,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.13.0.tgz", - "integrity": "sha512-+9oHlPWYNl6AwwoEt5TQryEHwiKRVjz7Vk6kaBeD3/kwHE5YqTGHtm/JZY8Bo9ITOeKutFaXnBlMgSATMJALUQ==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.17.0.tgz", + "integrity": "sha512-DVvndq1QoxQH+hFv+MUQHrrWZ7gQ5KcJzyjhzcqB1Y2Xes1UQQkTRPUfRpqhS8mhTWsSb2+iyvDW1Lef5DD7vA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.13.0", - "@typescript-eslint/types": "5.13.0", - "@typescript-eslint/typescript-estree": "5.13.0", + "@typescript-eslint/scope-manager": "5.17.0", + "@typescript-eslint/types": "5.17.0", + "@typescript-eslint/typescript-estree": "5.17.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.13.0.tgz", - "integrity": "sha512-HLKEAS/qA1V7d9EzcpLFykTePmOQqOFim8oCvhY3pZgQ8Hi38hYpHd9e5GN6nQBFQNecNhws5wkS9Y5XIO0s/g==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.17.0.tgz", + "integrity": "sha512-6K/zlc4OfCagUu7Am/BD5k8PSWQOgh34Nrv9Rxe2tBzlJ7uOeJ/h7ugCGDCeEZHT6k2CJBhbk9IsbkPI0uvUkA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.13.0", + "@typescript-eslint/types": "5.17.0", "eslint-visitor-keys": "^3.0.0" }, "dependencies": { diff --git a/package.json b/package.json index 690445c..fee3d88 100644 --- a/package.json +++ b/package.json @@ -51,8 +51,8 @@ "@types/babel__core": "7.1.19", "@types/jest": "27.4.1", "@types/seedrandom": "3.0.2", - "@typescript-eslint/eslint-plugin": "5.13.0", - "@typescript-eslint/parser": "5.13.0", + "@typescript-eslint/eslint-plugin": "5.17.0", + "@typescript-eslint/parser": "5.17.0", "esbuild": "0.14.30", "eslint": "8.12.0", "eslint-config-prettier": "8.5.0", From 040ccf53f68050db4d510d8abb8aec15a7043cc4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Apr 2022 00:32:50 +0200 Subject: [PATCH 18/38] Update dependency minimist to 1.2.6 [SECURITY] (#112) Co-authored-by: Renovate Bot --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index defe28c..c224166 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3979,9 +3979,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "mri": { From d6590014555d9a32e7ebd0428715e791b59ecb77 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Apr 2022 00:33:06 +0200 Subject: [PATCH 19/38] Update dependency pinst to v3 (#124) Co-authored-by: Renovate Bot --- package-lock.json | 17 ++++------------- package.json | 2 +- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index c224166..37e16a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2591,12 +2591,6 @@ "mime-types": "^2.1.12" } }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "dev": true - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4174,13 +4168,10 @@ "dev": true }, "pinst": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/pinst/-/pinst-2.1.6.tgz", - "integrity": "sha512-B4dYmf6nEXg1NpDSB+orYWvKa5Kfmz5KzWC29U59dpVM4S/+xp0ak/JMEsw04UQTNNKps7klu0BUalr343Gt9g==", - "dev": true, - "requires": { - "fromentries": "^1.3.2" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pinst/-/pinst-3.0.0.tgz", + "integrity": "sha512-cengSmBxtCyaJqtRSvJorIIZXMXg+lJ3sIljGmtBGUVonMnMsVJbnzl6jGN1HkOWwxNuJynCJ2hXxxqCQrFDdw==", + "dev": true }, "pirates": { "version": "4.0.5", diff --git a/package.json b/package.json index fee3d88..5c9d4cb 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "husky": "7.0.4", "jest": "27.5.1", "jest-sonar-reporter": "2.0.0", - "pinst": "2.1.6", + "pinst": "3.0.0", "prettier": "2.6.2", "pretty-quick": "3.1.3", "seedrandom": "3.0.5", From 444359bc33785058b8a268576b40d6f1264aa0b6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Apr 2022 00:33:22 +0200 Subject: [PATCH 20/38] Update actions/cache action to v3 (#123) Co-authored-by: Renovate Bot --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index aaf4611..ea9a47d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,7 +31,7 @@ jobs: node-version: '14' - name: Cache dependencies - uses: actions/cache@v2 + uses: actions/cache@v3 env: cache-name: cache-dependencies with: @@ -97,7 +97,7 @@ jobs: node-version: '14' - name: Cache dependencies - uses: actions/cache@v2 + uses: actions/cache@v3 env: cache-name: cache-dependencies with: @@ -124,7 +124,7 @@ jobs: # DOCKER - name: Cache Docker layers - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: /tmp/.buildx-cache key: ${{ runner.os }}-buildx-${{ github.sha }} From 52303787ab66eb69d824d7c525c60b1f9d9f9903 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 4 Apr 2022 15:40:01 +0000 Subject: [PATCH 21/38] Update dependency esbuild to v0.14.31 --- package-lock.json | 170 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 86 insertions(+), 86 deletions(-) diff --git a/package-lock.json b/package-lock.json index 37e16a7..7940861 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1988,170 +1988,170 @@ } }, "esbuild": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.30.tgz", - "integrity": "sha512-wCecQSBkIjp2xjuXY+wcXS/PpOQo9rFh4NAKPh4Pm9f3fuLcnxkR0rDzA+mYP88FtXIUcXUyYmaIgfrzRl55jA==", - "dev": true, - "requires": { - "esbuild-android-64": "0.14.30", - "esbuild-android-arm64": "0.14.30", - "esbuild-darwin-64": "0.14.30", - "esbuild-darwin-arm64": "0.14.30", - "esbuild-freebsd-64": "0.14.30", - "esbuild-freebsd-arm64": "0.14.30", - "esbuild-linux-32": "0.14.30", - "esbuild-linux-64": "0.14.30", - "esbuild-linux-arm": "0.14.30", - "esbuild-linux-arm64": "0.14.30", - "esbuild-linux-mips64le": "0.14.30", - "esbuild-linux-ppc64le": "0.14.30", - "esbuild-linux-riscv64": "0.14.30", - "esbuild-linux-s390x": "0.14.30", - "esbuild-netbsd-64": "0.14.30", - "esbuild-openbsd-64": "0.14.30", - "esbuild-sunos-64": "0.14.30", - "esbuild-windows-32": "0.14.30", - "esbuild-windows-64": "0.14.30", - "esbuild-windows-arm64": "0.14.30" + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.31.tgz", + "integrity": "sha512-QA0fUM13+JZzcvg1bdrhi7wo8Lr5IRHA9ypNn2znqxGqb66dSK6pAh01TjyBOhzZGazPQJZ1K26VrCAQJ715qA==", + "dev": true, + "requires": { + "esbuild-android-64": "0.14.31", + "esbuild-android-arm64": "0.14.31", + "esbuild-darwin-64": "0.14.31", + "esbuild-darwin-arm64": "0.14.31", + "esbuild-freebsd-64": "0.14.31", + "esbuild-freebsd-arm64": "0.14.31", + "esbuild-linux-32": "0.14.31", + "esbuild-linux-64": "0.14.31", + "esbuild-linux-arm": "0.14.31", + "esbuild-linux-arm64": "0.14.31", + "esbuild-linux-mips64le": "0.14.31", + "esbuild-linux-ppc64le": "0.14.31", + "esbuild-linux-riscv64": "0.14.31", + "esbuild-linux-s390x": "0.14.31", + "esbuild-netbsd-64": "0.14.31", + "esbuild-openbsd-64": "0.14.31", + "esbuild-sunos-64": "0.14.31", + "esbuild-windows-32": "0.14.31", + "esbuild-windows-64": "0.14.31", + "esbuild-windows-arm64": "0.14.31" } }, "esbuild-android-64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.30.tgz", - "integrity": "sha512-vdJ7t8A8msPfKpYUGUV/KaTQRiZ0vDa2XSTlzXVkGGVHLKPeb85PBUtYJcEgw3htW3IdX5i1t1IMdQCwJJgNAg==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.31.tgz", + "integrity": "sha512-MYkuJ91w07nGmr4EouejOZK2j/f5TCnsKxY8vRr2+wpKKfHD1LTJK28VbZa+y1+AL7v1V9G98ezTUwsV3CmXNw==", "dev": true, "optional": true }, "esbuild-android-arm64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.30.tgz", - "integrity": "sha512-BdgGfxeA5hBQNErLr7BWJUA8xjflEfyaARICy8e0OJYNSAwDbEzOf8LyiKWSrDcgV129mWhi3VpbNQvOIDEHcg==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.31.tgz", + "integrity": "sha512-0rkH/35s7ZVcsw6nS0IAkR0dekSbjZGWdlOAf3jV0lGoPqqw0x6/TmaV9w7DQgUERTH1ApmPlpAMU4kVkCq9Jg==", "dev": true, "optional": true }, "esbuild-darwin-64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.30.tgz", - "integrity": "sha512-VRaOXMMrsG5n53pl4qFZQdXy2+E0NoLP/QH3aDUI0+bQP+ZHDmbINKcDy2IX7GVFI9kqPS18iJNAs5a6/G2LZg==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.31.tgz", + "integrity": "sha512-kP6xPZHxtJa36Hb0jC05L3VzQSZBW2f3bpnQS20czXTRGEmM2GDiYpGdI5g2QYaw6vC4PYXjnigq8usd9g9jnQ==", "dev": true, "optional": true }, "esbuild-darwin-arm64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.30.tgz", - "integrity": "sha512-qDez+fHMOrO9Oc9qjt/x+sy09RJVh62kik5tVybKRLmezeV4qczM9/sAYY57YN0aWLdHbcCj2YqJUWYJNsgKnw==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.31.tgz", + "integrity": "sha512-1ZMog4hkNsdBGtDDtsftUqX6S9N52gEx4vX5aVehsSptgoBFIar1XrPiBTQty7YNH+bJasTpSVaZQgElCVvPKQ==", "dev": true, "optional": true }, "esbuild-freebsd-64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.30.tgz", - "integrity": "sha512-mec1jENcImVVagddZlGWsdAUwBnzR5cgnhzCxv+9fSMxKbx1uZYLLUAnLPp8m/i934zrumR1xGjJ5VoWdPlI2w==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.31.tgz", + "integrity": "sha512-Zo0BYj7QpVFWoUpkv6Ng0RO2eJ4zk/WDaHMO88+jr5HuYmxsOre0imgwaZVPquTuJnCvL1G48BFucJ3tFflSeQ==", "dev": true, "optional": true }, "esbuild-freebsd-arm64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.30.tgz", - "integrity": "sha512-cpjbTs6Iok/AfeB0JgTzyUJTMStC1SQULmany5nHx6S4GTkSgaAHuJzZO0GcVWqghI4e0YL/bjXAhN5Mn6feNw==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.31.tgz", + "integrity": "sha512-t85bS6jbRpmdjr4pdr/FY/fpx8lo1vv9S7BAs2EsXKJQhRDMIiC3QW+k2acYJoRuqirlvJcJVFQGCq/PfyC1kA==", "dev": true, "optional": true }, "esbuild-linux-32": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.30.tgz", - "integrity": "sha512-liIONVT4F2kZmOMwtwASqZ8WkIjb5HHBR9HUffdHiuotSTF3CyZO+EJf+Og+SYYuuVIvt0qHNSFjBA/iSESteQ==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.31.tgz", + "integrity": "sha512-XYtOk/GodSkv+UOYVwryGpGPuFnszsMvRMKq6cIUfFfdssHuKDsU9IZveyCG44J106J39ABenQ5EetbYtVJHUw==", "dev": true, "optional": true }, "esbuild-linux-64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.30.tgz", - "integrity": "sha512-LUnpzoMpRqFON5En4qEj6NWiyH6a1K+Y2qYNKrCy5qPTjDoG/EWeqMz69n8Uv7pRuvDKl3FNGJ1dufTrA5i0sw==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.31.tgz", + "integrity": "sha512-Zf9CZxAxaXWHLqCg/QZ/hs0RU0XV3IBxV+ENQzy00S4QOTnZAvSLgPciILHHrVJ0lPIlb4XzAqlLM5y6iI2LIw==", "dev": true, "optional": true }, "esbuild-linux-arm": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.30.tgz", - "integrity": "sha512-97T+bbXnpqf7mfIG49UR7ZSJFGgvc22byn74qw3Kx2GDCBSQoVFjyWuKOHGXp8nXk3XYrdFF+mQ8yQ7aNsgQvg==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.31.tgz", + "integrity": "sha512-RpiaeHPRlgCCDskxoyIsI49BhcDtZ4cl8+SLffizDm0yMNWP538SUg0ezQ2TTOPj3/svaGIbkRDwYtAon0Sjkg==", "dev": true, "optional": true }, "esbuild-linux-arm64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.30.tgz", - "integrity": "sha512-DHZHn6FK5q/KL0fpNT/0jE38Nnyk2rXxKE9WENi95EXtqfOLPgE8tzjTZQNgpr61R95QX4ymQU26ni3IZk8buQ==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.31.tgz", + "integrity": "sha512-V/H0tv+xpQ9IOHM+o85oCKNNidIEc5CcnDWl0V+hPd2F03dqdbFkWPBGphx8rD4JSQn6UefUQ1iH7y1qIzO8Fw==", "dev": true, "optional": true }, "esbuild-linux-mips64le": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.30.tgz", - "integrity": "sha512-fLUzTFZ7uknC0aPTk7/lM7NmaG/9ZqE3SaHEphcaM009SZK/mDOvZugWi1ss6WGNhk13dUrhkfHcc4FSb9hYhg==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.31.tgz", + "integrity": "sha512-9/oBfAckInRuUg6AEgdCLLn6KJ6UOJDOLmUinTsReVSg6AfV6wxYQJq9iQM2idRogP7GUpomJ+bvCdWXpotQRQ==", "dev": true, "optional": true }, "esbuild-linux-ppc64le": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.30.tgz", - "integrity": "sha512-2Oudm2WEfj0dNU9bzIl5L/LrsMEmHWsOsYgJJqu8fDyUDgER+J1d33qz3cUdjsJk7gAENayIxDSpsuCszx0w3A==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.31.tgz", + "integrity": "sha512-NMcb14Pg+8q8raGkzor9/R3vQwKzgxE3694BtO2SDLBwJuL2C1dQ1ZtM1t7ZvArQBgT8RiZVxb0/3fD+qGNk7g==", "dev": true, "optional": true }, "esbuild-linux-riscv64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.30.tgz", - "integrity": "sha512-RPMucPW47rV4t2jlelaE948iCRtbZf5RhifxSwzlpM1Mqdyu99MMNK0w4jFreGTmLN+oGomxIOxD6n+2E/XqHw==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.31.tgz", + "integrity": "sha512-l13yvmsVfawAnoYfcpuvml+nTlrOmtdceXYufSkXl2DOb0JKcuR6ARlAzuQCDcpo49SOJy1cCxpwlOIsUQBfzA==", "dev": true, "optional": true }, "esbuild-linux-s390x": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.30.tgz", - "integrity": "sha512-OZ68r7ok6qO7hdwrwQn2p5jbIRRcUcVaAykB7e0uCA0ODwfeGunILM6phJtq2Oz4dlEEFvd+tSuma3paQKwt+A==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.31.tgz", + "integrity": "sha512-GIwV9mY3koYja9MCSkKLk1P7rj+MkPV0UsGsZ575hEcIBrXeKN9jBi6X/bxDDPEN/SUAH35cJhBNrZU4x9lEfg==", "dev": true, "optional": true }, "esbuild-netbsd-64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.30.tgz", - "integrity": "sha512-iyejQUKn0TzpPkufq8pSCxOg9NheycQbMbPCmjefTe9wYuUlBt1TcHvdoJnYbQzsAhAh1BNq+s0ycRsIJFZzaQ==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.31.tgz", + "integrity": "sha512-bJ+pyLvKQm+Obp5k7/Wk8e9Gdkls56F1aiI3uptoIfOIUqsZImH7pDyTrSufwqsFp62kO9LRuwXnjDwQtPyhFQ==", "dev": true, "optional": true }, "esbuild-openbsd-64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.30.tgz", - "integrity": "sha512-UyK1MTMcy4j5fH260fsE1o6MVgWNhb62eCK2yCKCRazZv8Nqdc2WiP9ygjWidmEdCDS+A6MuVp9ozk9uoQtQpA==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.31.tgz", + "integrity": "sha512-NRAAPPca05H9j9Xab0kVXK0V6/pyZGGy8d2Y8KS0BMwWEydlD4KCJDmH8/7bWCKYLRGOOCE9/GPBJyPWHFW3sg==", "dev": true, "optional": true }, "esbuild-sunos-64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.30.tgz", - "integrity": "sha512-aQRtRTNKHB4YuG+xXATe5AoRTNY48IJg5vjE8ElxfmjO9+KdX7MHFkTLhlKevCD6rNANtB3qOlSIeAiXTwHNqw==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.31.tgz", + "integrity": "sha512-9uA+V8w9Eehu4ldb95lPWdgCMcMO5HH6pXmfkk5usn3JsSZxKdLKsXB4hYgP80wscZvVYXJl2G+KNxsUTfPhZw==", "dev": true, "optional": true }, "esbuild-windows-32": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.30.tgz", - "integrity": "sha512-9/fb1tPtpacMqxAXp3fGHowUDg/l9dVch5hKmCLEZC6PdGljh6h372zMdJwYfH0Bd5CCPT0Wx95uycBLJiqpXA==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.31.tgz", + "integrity": "sha512-VGdncQTqoxD9q3v/dk0Yugbmx2FzOkcs0OemBYc1X9KXOLQYH0uQbLJIckZdZOC3J+JKSExbYFrzYCOwWPuNyA==", "dev": true, "optional": true }, "esbuild-windows-64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.30.tgz", - "integrity": "sha512-DHgITeUhPAnN9I5O6QBa1GVyPOhiYCn4S4TtQr7sO4+X0LNyqnlmA1M0qmGkUdDC1QQfjI8uQ4G/whdWb2pWIQ==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.31.tgz", + "integrity": "sha512-v/2ye5zBqpmCzi3bLCagStbNQlnOsY7WtMrD2Q0xZxeSIXONxji15KYtVee5o7nw4lXWbQSS1BL8G6BBMvtq4A==", "dev": true, "optional": true }, "esbuild-windows-arm64": { - "version": "0.14.30", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.30.tgz", - "integrity": "sha512-F1kLyQH7zSgjh5eLxogGZN7C9+KNs9m+s7Q6WZoMmCWT/6j998zlaoECHyM8izJRRfsvw2eZlEa1jO6/IOU1AQ==", + "version": "0.14.31", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.31.tgz", + "integrity": "sha512-RXeU42FJoG1sriNHg73h4S+5B7L/gw+8T7U9u8IWqSSEbY6fZvBh4uofugiU1szUDqqP00GHwZ09WgYe3lGZiw==", "dev": true, "optional": true }, diff --git a/package.json b/package.json index 5c9d4cb..dafa4fd 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@types/seedrandom": "3.0.2", "@typescript-eslint/eslint-plugin": "5.17.0", "@typescript-eslint/parser": "5.17.0", - "esbuild": "0.14.30", + "esbuild": "0.14.31", "eslint": "8.12.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-prettier": "4.0.0", From 86b39b4e797d266200f38e38ab53e959532fb60f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Apr 2022 20:59:25 +0200 Subject: [PATCH 22/38] Update dependency minimist to 1.2.6 [SECURITY] (#126) Co-authored-by: Renovate Bot From 5d7aff1fae2e80b044fe81465189800b3a96360c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Apr 2022 21:23:10 +0200 Subject: [PATCH 23/38] Bump minimist from 1.2.5 to 1.2.6 (#127) Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6. - [Release notes](https://github.com/substack/minimist/releases) - [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6) --- updated-dependencies: - dependency-name: minimist dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 43 +++++++++++++++++-------------------------- 1 file changed, 17 insertions(+), 26 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8f9e94e..aa9ff24 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "svelte-reveal", - "version": "0.4.0", + "version": "0.5.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1328,6 +1328,19 @@ "regexpp": "^3.2.0", "semver": "^7.3.5", "tsutils": "^3.21.0" + }, + "dependencies": { + "@typescript-eslint/type-utils": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.13.0.tgz", + "integrity": "sha512-/nz7qFizaBM1SuqAKb7GLkcNn2buRdDgZraXlkhz+vUGiN1NZ9LzkA595tHHeduAiS2MsHqMNhE2zNzGdw43Yg==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "5.13.0", + "debug": "^4.3.2", + "tsutils": "^3.21.0" + } + } } }, "@typescript-eslint/parser": { @@ -1352,28 +1365,6 @@ "@typescript-eslint/visitor-keys": "5.13.0" } }, - "@typescript-eslint/type-utils": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.13.0.tgz", - "integrity": "sha512-/nz7qFizaBM1SuqAKb7GLkcNn2buRdDgZraXlkhz+vUGiN1NZ9LzkA595tHHeduAiS2MsHqMNhE2zNzGdw43Yg==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "5.13.0", - "debug": "^4.3.2", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.9.0.tgz", - "integrity": "sha512-uVCb9dJXpBrK1071ri5aEW7ZHdDHAiqEjYznF3HSSvAJXyrkxGOw2Ejibz/q6BXdT8lea8CMI0CzKNFTNI6TEQ==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "5.9.0", - "debug": "^4.3.2", - "tsutils": "^3.21.0" - } - }, "@typescript-eslint/types": { "version": "5.13.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.13.0.tgz", @@ -3997,9 +3988,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "mri": { From 7f62176d7a78b6b25d1c1ef53bec5a1de9c3f2b4 Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Thu, 21 Apr 2022 23:45:19 +0200 Subject: [PATCH 24/38] Fixed typo in JSDoc and updated CHANGELOG accordingly --- CHANGELOG.md | 1 + src/internal/reveal.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 45c2741..7b6d8ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Fixed some minor things in README - Version numbers in CHANGELOG now allow to compare changes with previous release +- Fixed some typos in some JSDoc ## [0.5.0] - 2022-03-15 ### Changed diff --git a/src/internal/reveal.ts b/src/internal/reveal.ts index 47fd23c..c396da3 100644 --- a/src/internal/reveal.ts +++ b/src/internal/reveal.ts @@ -8,7 +8,7 @@ import { checkOptions } from './validations'; /** * Reveals a given node element on scroll * @param node - The DOM node you want to reveal on scroll - * @param options - The custom options that will used to tweak the behavior of the animation of the node element + * @param options - The custom options that will be used to tweak the behavior of the animation of the node element * @returns An object containing update and/or destroy functions */ export const reveal = (node: HTMLElement, options: IOptions = init): IReturnAction => { From 61744379c1baf567cf2488cdae234be39f264e96 Mon Sep 17 00:00:00 2001 From: Nathan Cahill Date: Thu, 21 Apr 2022 18:09:29 -0400 Subject: [PATCH 25/38] switch to only transition style --- src/internal/styling/classesGeneration.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/internal/styling/classesGeneration.ts b/src/internal/styling/classesGeneration.ts index 4bb5e95..d60cac0 100644 --- a/src/internal/styling/classesGeneration.ts +++ b/src/internal/styling/classesGeneration.ts @@ -45,8 +45,6 @@ export const createTransitionCss = (className: string, options: Required Date: Fri, 22 Apr 2022 00:11:33 +0200 Subject: [PATCH 26/38] Improved syntax --- src/internal/validations.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/internal/validations.ts b/src/internal/validations.ts index 34fe77c..4b19414 100644 --- a/src/internal/validations.ts +++ b/src/internal/validations.ts @@ -46,7 +46,7 @@ export const checkOptions = (options: IOptions): Required => { isPositive(scale) ) { return finalOptions; - } else { - throw new Error('Invalid options'); } + + throw new Error('Invalid options'); }; From 03cb84069e5cca46cbca803a6e7403c24117808e Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Fri, 22 Apr 2022 00:12:45 +0200 Subject: [PATCH 27/38] Moved log function to a separate file --- src/internal/DOM.ts | 31 +++++++++++++++++++++++++++++++ src/internal/reveal.ts | 39 +++++---------------------------------- 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/src/internal/DOM.ts b/src/internal/DOM.ts index 9d617f8..1569b51 100644 --- a/src/internal/DOM.ts +++ b/src/internal/DOM.ts @@ -103,3 +103,34 @@ export const createObserver = ( }); }, config.observer); }; + +/** + * Logging initial options and configurations info + * @param finalOptions - The options used to log + * @param revealNode - The DOM element to be revealed + * @returns A tuple consisting of canDebug and highlightText + */ +export const logInfo = (finalOptions: Required, revealNode: HTMLElement): [boolean, string] => { + const { debug, ref, highlightLogs, highlightColor } = finalOptions; + + const canDebug = config.dev && debug && ref !== ''; + const highlightText = `color: ${highlightLogs ? highlightColor : '#B4BEC8'}`; + + if (canDebug) { + console.groupCollapsed(`%cRef: ${ref}`, highlightText); + + console.groupCollapsed('%cNode', highlightText); + console.log(revealNode); + console.groupEnd(); + + console.groupCollapsed('%cConfig', highlightText); + console.log(config); + console.groupEnd(); + + console.groupCollapsed('%cOptions', highlightText); + console.log(finalOptions); + console.groupEnd(); + } + + return [canDebug, highlightText]; +}; diff --git a/src/internal/reveal.ts b/src/internal/reveal.ts index c396da3..ea2479c 100644 --- a/src/internal/reveal.ts +++ b/src/internal/reveal.ts @@ -2,55 +2,26 @@ import { createClassNames, createStylesheet } from './styling'; import { config, init } from './config'; import { styleTagStore, reloadStore } from './stores'; import type { IOptions, IReturnAction } from './types'; -import { getRevealNode, activateRevealNode, createObserver } from './DOM'; +import { getRevealNode, activateRevealNode, createObserver, logInfo } from './DOM'; import { checkOptions } from './validations'; /** * Reveals a given node element on scroll * @param node - The DOM node you want to reveal on scroll * @param options - The custom options that will be used to tweak the behavior of the animation of the node element - * @returns An object containing update and/or destroy functions + * @returns An object containing the update and/or destroy functions */ export const reveal = (node: HTMLElement, options: IOptions = init): IReturnAction => { const finalOptions = checkOptions(options); - const { - transition, - disable, - debug, - ref, - highlightLogs, - highlightColor, - onRevealStart, - onMount, - onUpdate, - onDestroy - } = finalOptions; + const { transition, disable, ref, onRevealStart, onMount, onUpdate, onDestroy } = finalOptions; const revealNode = getRevealNode(node); - const className = createClassNames(ref, false, transition); // The CSS class responsible for the animation: ; + const className = createClassNames(ref, false, transition); // The CSS class responsible for the animation const baseClassName = createClassNames(ref, true, transition); // The CSS class responsible for transitioning the properties onMount(revealNode); - // Logging initial options and configurations info - const canDebug = config.dev && debug && ref !== ''; - const highlightText = `color: ${highlightLogs ? highlightColor : '#B4BEC8'}`; - - if (canDebug) { - console.groupCollapsed(`%cRef: ${ref}`, highlightText); - - console.groupCollapsed('%cNode', highlightText); - console.log(revealNode); - console.groupEnd(); - - console.groupCollapsed('%cConfig', highlightText); - console.log(config); - console.groupEnd(); - - console.groupCollapsed('%cOptions', highlightText); - console.log(finalOptions); - console.groupEnd(); - } + const [canDebug, highlightText] = logInfo(finalOptions, revealNode); // Checking if page was reloaded let reloaded = false; From d442731fdda45a805ec0e076fd876386d448b3b1 Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Fri, 22 Apr 2022 00:22:31 +0200 Subject: [PATCH 28/38] Added missing closing square bracket --- src/internal/styling/classesGeneration.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/internal/styling/classesGeneration.ts b/src/internal/styling/classesGeneration.ts index 4bb5e95..9bfd1b2 100644 --- a/src/internal/styling/classesGeneration.ts +++ b/src/internal/styling/classesGeneration.ts @@ -14,7 +14,7 @@ export const createClassNames = (ref: string, transitionClass: boolean, transiti const tokens = [ref, transitionClass ? 'base' : '', transition]; const validTokens = tokens.filter((x) => x && x !== ''); const prefix = `sr__${validTokens.join('__')}__`; - const seed = document.querySelectorAll('[data-action="reveal"').length; + const seed = document.querySelectorAll('[data-action="reveal"]').length; const uid = seedrandom(seed.toString())(); return `${prefix}${uid.toString().slice(2)}`; }; From 3750158be39cee038215e875b5e99dab40e9bce8 Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Fri, 22 Apr 2022 00:40:50 +0200 Subject: [PATCH 29/38] Added new units test --- tests/DOM.test.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/DOM.test.ts b/tests/DOM.test.ts index b4d100a..29046b8 100644 --- a/tests/DOM.test.ts +++ b/tests/DOM.test.ts @@ -1,4 +1,4 @@ -import { createObserver } from '../src/internal/DOM'; +import { createObserver, logInfo } from '../src/internal/DOM'; import { init } from '../src/internal/config'; export function setupIntersectionObserverMock({ @@ -44,3 +44,10 @@ describe('createObserver', () => { expect(res).toBeInstanceOf(IntersectionObserver); }); }); + +describe('logInfo', () => { + test('The function returns the correct values', () => { + const node = document.createElement('div'); + expect(logInfo(init, node)).toStrictEqual([init.debug, 'color: #B4BEC8']); + }); +}); From 3d742c69b663328ff88fb4d9d8ed59024a80be82 Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Fri, 22 Apr 2022 00:42:49 +0200 Subject: [PATCH 30/38] Updated changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b6d8ce..f0cef17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed some minor things in README - Version numbers in CHANGELOG now allow to compare changes with previous release - Fixed some typos in some JSDoc +- Separated some business logic into separate modules +- Created unit tests for new modules ## [0.5.0] - 2022-03-15 ### Changed From e1db76d54189cbc93e14aedbd79e116e4b039685 Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Fri, 22 Apr 2022 21:23:46 +0200 Subject: [PATCH 31/38] Not using vendor prefixes anymore --- src/internal/styling/classesGeneration.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/internal/styling/classesGeneration.ts b/src/internal/styling/classesGeneration.ts index 9bfd1b2..ea2c967 100644 --- a/src/internal/styling/classesGeneration.ts +++ b/src/internal/styling/classesGeneration.ts @@ -44,16 +44,15 @@ export const createMainCss = (className: string, options: Required): s export const createTransitionCss = (className: string, options: Required) => { const { duration, delay, easing, customEasing } = options; - let styles = ` + const styles = ` display: block; width: fit-content; transition: all ${duration / 1000}s ${delay / 1000}s ${getEasing(easing, customEasing)}; `; - styles = addVendors(styles.trim()); return ` .${className} { - ${styles} + ${styles.trim()} } `; }; From 02410ddc01d4c370f3a3dd15ff49afc4f77a84a8 Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Fri, 22 Apr 2022 21:26:51 +0200 Subject: [PATCH 32/38] Removed emojs for headings and added some details to the scale and spin transitions --- README.md | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 29020a0..f275519 100644 --- a/README.md +++ b/README.md @@ -8,14 +8,14 @@ svelte-reveal is a library created with the purpose of helping [Svelte](https://svelte.dev/) users add reveal on scroll transitions to their web applications. This library leverages the [Intersection Observer API](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API) in order to know when to trigger the animations. -## ✨  Features +## Features - Zero config Svelte action - Highly customizable transitions - Integrates a performant intersection observer - TypeScript ready -## 📖  Table of Content +## Table of Content 1. [Usage](#usage) 2. [Demo](#demo) @@ -31,7 +31,7 @@ svelte-reveal is a library created with the purpose of helping [Svelte](https:// 12. [Changelog](#changelog) 13. [License](#license) -## 🔨  Usage +## Usage 1. Install the library. You can use either [npm](https://www.npmjs.com/): @@ -83,7 +83,7 @@ svelte-reveal is a library created with the purpose of helping [Svelte](https:// 4. Using [SvelteKit](https://kit.svelte.dev/)? Please read [section "SvelteKit"](#sveltekit) -### 🐳  Docker +### Docker A Docker image is also available on [DockerHub](https://hub.docker.com/): @@ -93,11 +93,11 @@ docker pull davekeehl/svelte-reveal:latest You can also use the provided Dockerfile in the repository as a development environment. You can read more [here](https://code.visualstudio.com/docs/remote/containers). -## 🕺🏻  Demo +## Demo In this [Svelte REPL](https://svelte.dev/repl/1cf37b0947ac46b8ae9cc791abda7159?version=3.44.1) I created you can see svelte-reveal in action. -## 🤔  Why svelte-reveal +## Why svelte-reveal If you happened to scout the internet for other similar libraries, you would have noticed that other authors have decided to create their own library using Svelte [slots](https://svelte.dev/docs#slot) (similar to [React children](https://reactjs.org/docs/composition-vs-inheritance.html)). There is nothing wrong with that approach, but in my opinion it goes a bit against one of Svelte's core purposes: writing less code. Having to wrap every to-be-transitioned component adds 2 extra lines of code each time, making your files unnecessarily bloated for such a simple add-on. @@ -105,7 +105,7 @@ You might have also noticed people adding event listeners to the window object, Instead, I decided to use Svelte [actions](https://svelte.dev/docs#use_action), which are functions you can attach to a DOM element and that allow you to get access to that element and its lifecycle. They take up considerably less space and so far I haven't encountered any obstacle or performance drawback. Morever, this library is backed by the Intersection Observer API, which is great for performance. -## ⚠️  SvelteKit +## SvelteKit The way svelte-reveal transitions the elements does not work well with [SSR](https://kit.svelte.dev/docs/appendix#ssr), which is enabled by default on SvelteKit. One way to get around this issue is to wrap your top-most element or component inside an if-block that is evaluated to `true` only when its context has been updated, as in the following example. @@ -127,7 +127,7 @@ In case of problems, please create a new issue and submit a bug report. {/if} ``` -## ⛩  Options +## Options Depending on the use case, you can either use this library as-is (which applies some [default styles](https://github.com/DaveKeehl/svelte-reveal/blob/main/src/internal/config.ts#L6-L37)), or customize it to your liking. If you choose to do so, you can pass an object to this action containing additional options. @@ -159,20 +159,20 @@ Keep in mind that these options are applied to the single DOM element you add sv | blur | `number` | `16` | The starting blur value in pixels (_px_) of the `"blur"` transition. | | scale | `number` | `0` | The starting scale value in percentage (_%_) of the `"scale"` transition. | -### 🪄  Transitions +### Transitions The following are all the transitions available by svelte-reveal. The names listed in the table match the ones you can write in your source code. All transitions have the fade transition backed in. -| Name | Description | -| ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -| fade | The element fades in gracefully.
In practice: `opacity: 0 -> 1` | -| fly | The element fades in and performs a translation on the y-axis (vertical).
In practice: `opacity: 0 -> 1` and `transform: translateY(-20px -> 0px) ` | +| Name | Description | +| ----- | ------------------------------------------------------------ | +| fade | The element fades in gracefully.
In practice: `opacity: 0 -> 1` | +| fly | The element fades in and performs a translation on the y-axis (vertical).
In practice: `opacity: 0 -> 1` and `transform: translateY(-20px -> 0px) ` | | slide | The element fades in and performs a translation on the x-axis (horizontal).
In practice: `opacity: 0 -> 1` and `transform: translateX(-20px -> 0px)` | -| blur | The element fades in and becomes unblurred.
In practice: `opacity: 0 -> 1` and `filter: blur(8px -> 0px)` | -| scale | The element fades in and gets to the original size.
In practice: `opacity: 0 -> 1` and `transform: scale(0 -> 1)` | -| spin | The element fades in and gets to the original rotation degree.
In practice: `opacity: 0 -> 1` and `transform: rotate(-360 -> 0)` | +| blur | The element fades in and becomes unblurred.
In practice: `opacity: 0 -> 1` and `filter: blur(8px -> 0px)` | +| scale | The element fades in and gets to the original size.
In practice: `opacity: 0 -> 1` and `transform: scale(0 -> 1)`

⚠️ In order to use this transition it is required to use the `width` CSS property on the element to reveal. If you are not already using this property for other things, you can set it to `width: fit-content` . | +| spin | The element fades in and gets to the original rotation degree.
In practice: `opacity: 0 -> 1` and `transform: rotate(-360 -> 0)`

⚠️ In order to use this transition it is required to use the `width` CSS property on the element to reveal. If you are not already using this property for other things, you can use set it to `width: fit-content` . | -### 🤙🏻  Callbacks +### Callbacks Among the available options you can set, there are also some callback functions you can leverage to inject some code during specific moments of the lifecycle of the nodes attached to this action. @@ -186,7 +186,7 @@ Among the available options you can set, there are also some callback functions | onUpdate | `(node: HTMLElement)` | `void` | Function that gets fired when the action options are updated. | | onDestroy | `(node: HTMLElement)` | `void` | Function that gets fired when the node is unmounted from the DOM. | -## 📄  Global config +## Global config This library is globally configured as follows right of out the box: @@ -212,7 +212,7 @@ This library is globally configured as follows right of out the box: | | rootMargin | | `string` | `"0px 0px 0px 0px"` | The Intersection Observer API rootMargin property. | | | threshold | | `number` | `0.6` | The Intersection Observer API threshold property. | -## ⚡️  API +## API > 💡  All API functions return the global config object with the updated properties. @@ -353,7 +353,7 @@ interface IOptions { | --------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `(options: IOptions)` | `IOptions` | You can use this function to override the global default options of the reveal effect. It can be useful when you want a specific option for many elements, so that you don't have to change it for every element individually. | -## 👀  Suggestions +## Suggestions In order to take full advantage of this library, I suggest you to create some environment variables to keep track of the environment you are currently in (e.g. development, staging, production) and to leverage NPM scripts to update those variables. [This article](https://www.twilio.com/blog/working-with-environment-variables-in-node-js-html) explains well this concept. @@ -361,22 +361,22 @@ That way you can for example set the config `dev` property to `false` when in pr If you use [SvelteKit](https://kit.svelte.dev/), this feature is available right out of the box with the [$app/env](https://kit.svelte.dev/docs#modules-$app-env) module. -## 🤕  Troubleshooting +## Troubleshooting Feel free to [open a new issue](https://github.com/DaveKeehl/svelte-reveal/issues/new/choose) in case of any problems. -## ☕️  Funding +## Funding [Want to buy me a coffee?](https://ko-fi.com/davekeehl) -## 📚  Versioning +## Versioning This project uses [Semantic Versioning](https://semver.org/) to keep track of its version number. -## ✍🏻  Changelog +## Changelog [CHANGELOG](https://github.com/DaveKeehl/svelte-reveal/blob/develop/CHANGELOG.md) -## 👨🏻‍⚖️  License +## License [MIT](https://github.com/DaveKeehl/svelte-reveal/blob/develop/LICENSE) From 8955123492d2dddf2157d31779688a9cd402f006 Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Fri, 22 Apr 2022 21:27:12 +0200 Subject: [PATCH 33/38] Updated changelog --- CHANGELOG.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0cef17..dde9cfa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,11 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Changed -- Fixed some minor things in README - Version numbers in CHANGELOG now allow to compare changes with previous release -- Fixed some typos in some JSDoc - Separated some business logic into separate modules - Created unit tests for new modules +- Updated README with CSS requirements for the scale and spin transitions + +### Fixed +- Fixed and improved README (emojis have been removed from the headings to fix broken links) +- Fixed some JSDoc typos + +### Removed +- Vendor prefixes are not added anymore ## [0.5.0] - 2022-03-15 ### Changed From 22db1249144b5f9189186684da6940a02de96e56 Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Fri, 22 Apr 2022 21:37:49 +0200 Subject: [PATCH 34/38] Reverted file in order to merge PR --- src/internal/styling/classesGeneration.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/internal/styling/classesGeneration.ts b/src/internal/styling/classesGeneration.ts index ea2c967..9bfd1b2 100644 --- a/src/internal/styling/classesGeneration.ts +++ b/src/internal/styling/classesGeneration.ts @@ -44,15 +44,16 @@ export const createMainCss = (className: string, options: Required): s export const createTransitionCss = (className: string, options: Required) => { const { duration, delay, easing, customEasing } = options; - const styles = ` + let styles = ` display: block; width: fit-content; transition: all ${duration / 1000}s ${delay / 1000}s ${getEasing(easing, customEasing)}; `; + styles = addVendors(styles.trim()); return ` .${className} { - ${styles.trim()} + ${styles} } `; }; From b59c81eefe8eb432317608f32bff5d7ab94b6695 Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Fri, 22 Apr 2022 21:47:56 +0200 Subject: [PATCH 35/38] Removed vendors --- src/internal/styling/classesGeneration.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/internal/styling/classesGeneration.ts b/src/internal/styling/classesGeneration.ts index 5fc1666..c960129 100644 --- a/src/internal/styling/classesGeneration.ts +++ b/src/internal/styling/classesGeneration.ts @@ -44,14 +44,13 @@ export const createMainCss = (className: string, options: Required): s export const createTransitionCss = (className: string, options: Required) => { const { duration, delay, easing, customEasing } = options; - let styles = ` + const styles = ` transition: all ${duration / 1000}s ${delay / 1000}s ${getEasing(easing, customEasing)}; `; - styles = addVendors(styles.trim()); return ` .${className} { - ${styles} + ${styles.trim()} } `; }; From 1d84db0d65b5f50187b805f25c6faf9f33bee317 Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Fri, 22 Apr 2022 21:54:04 +0200 Subject: [PATCH 36/38] Removed unused import --- src/internal/styling/classesGeneration.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/internal/styling/classesGeneration.ts b/src/internal/styling/classesGeneration.ts index c960129..cf9067c 100644 --- a/src/internal/styling/classesGeneration.ts +++ b/src/internal/styling/classesGeneration.ts @@ -1,6 +1,5 @@ import seedrandom from 'seedrandom'; import type { IOptions, Transitions } from '../types'; -import { addVendors } from './stylesGeneration'; import { getCssRules, getEasing } from './stylesRetrieval'; /** From 48480d095d3deae6fc54bcc70c000bde8b01af54 Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Fri, 22 Apr 2022 21:54:32 +0200 Subject: [PATCH 37/38] Improved CHANGELOG --- CHANGELOG.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dde9cfa..82238c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,19 +6,21 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added +- Created unit tests for new modules + ### Changed - Version numbers in CHANGELOG now allow to compare changes with previous release - Separated some business logic into separate modules -- Created unit tests for new modules -- Updated README with CSS requirements for the scale and spin transitions +- Updated README with CSS requirements for scale and spin transitions + +### Removed +- Vendor prefixes are not added anymore ### Fixed - Fixed and improved README (emojis have been removed from the headings to fix broken links) - Fixed some JSDoc typos -### Removed -- Vendor prefixes are not added anymore - ## [0.5.0] - 2022-03-15 ### Changed - Documented how to use svelte-reveal with SvelteKit From 19ea966be25c6689d16b706a70dc2928d260e31a Mon Sep 17 00:00:00 2001 From: Davide Ciulla Date: Fri, 22 Apr 2022 22:02:04 +0200 Subject: [PATCH 38/38] Prepared release (0.6.0) --- CHANGELOG.md | 5 ++++- assets/readme_cover.png | Bin 32577 -> 32645 bytes package.json | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82238c1..65f4d03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] + +## [0.6.0] - 2022-04-22 ### Added - Created unit tests for new modules @@ -81,4 +83,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [0.3.2]: https://github.com/DaveKeehl/svelte-reveal/compare/0.3.1...0.3.2 [0.3.3]: https://github.com/DaveKeehl/svelte-reveal/compare/0.3.2...0.3.3 [0.4.0]: https://github.com/DaveKeehl/svelte-reveal/compare/0.3.3...0.4.0 -[0.5.0]: https://github.com/DaveKeehl/svelte-reveal/compare/0.4.0...0.5.0 \ No newline at end of file +[0.5.0]: https://github.com/DaveKeehl/svelte-reveal/compare/0.4.0...0.5.0 +[0.6.0]: https://github.com/DaveKeehl/svelte-reveal/compare/0.5.0...0.6.0 \ No newline at end of file diff --git a/assets/readme_cover.png b/assets/readme_cover.png index a9cff166228335184de70879cf0ac01da46a1e51..bc1511008ce2d54ba5933ba6d181eda42259b08a 100644 GIT binary patch literal 32645 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 BPQm~H literal 32577 zcmeFZ2T)VryDl6N1VkxPl_v0$j)9iQd`M z7fypfptJgSZkdBXjFBMFNpq%Cz?tX#!&|^FW}iFv{XrlW&f}jGpsZ{@;N%H^bG;j& z%6@@W;0?XAjdd=tKb+uM z`gP{J_|UH#vWs>snRC4!O=w_Aa=O2 zku_>1ng+`ym49^QO}ZrR;o>6Mm#H8&y1F^v;p*`#xgu_1|J^nBr=`PRqhp7voO;gn zDSA%c&C-Mhl@32U$v8Y%pvT##2s^A*a_(0xF(H#^N`k6>e+_CR2{$YFFHg8qj~YIy z;U;z#16Bs+Z|(fby(W{>@-U)w7(WA@L~AQ0ud~f;9^F(H00-Qp#Cm-O51&1-GV6YE z4w$mzmo7W#!i7S6U(iWj_|N9Xr=D*m5FKb>D*{P)eV{|Uf3WEPt zNBUoFHZyZG-+uh~QOT)0(XzNBmaVv|s_NEG=a!=T*e}cCXhya|r=FxsSmhKX>v&fraI?{Htd8=)hY)aIyy5vpVpx zBX0Sfru#j$;IBuP#WO9W+Pr5jLgT{C^9QkBDiJF$4%uez!i)H~5!EZ8<4q2{B%gzh zw>0qjz)tt@ZwH{r8%&WW{(g8`?2fk_nD?a(5PtjRv{dQNtqpl>pCeHa{ zRu3`OD}?%y9|%i6Qg14c|C z&;}6Q6dCgy)HtI}0@Zxx9;$`yx&Wt4^U{}psY;Bx(x`bwVtPq`W%X>`RDRm8q28BA zOSdf6ghphu3aVwhDX-1MOXMT$!wGzmt2y{ZW$C-=*3eLWu_54&q0|H!w@S`CtqH?w&_H>cwj=$wYtO46?1{4VNw%uP2bcqv)3bomo zB7i^8LMs^_vj6QGmO|dwJeO?;W*38(e!2s|hf>-cZ={YWkO)OeS=W2GLX$D((S!Rt z6>Ur1wc!Wcz<$aq-NgohRL&pg??yMcUgwKl*UI?33l;`}qQ3%P6>W5!<8xlzX8=V~ zu}wUn2Tt{>uZQ=FA&^=og&~XwLk{Y_R{E1tb?DL>z`9-bId}zt7 zCU@My=LR(5nE6= z8BP+!RfRx~LyoZ3!WrhGh4!z}s|c!_RaA-3@sb3hj7165o4lz}U~wKQ&b)@FJ(2uJ z#(0A=jT;dabTK&Nf6sqgExG#g;1A|U<_Od zr}cnuKHmaI4>T<&(o{pzL6KiCflfXA(8aQ|(8XJq@Gc=k*1(WQKJ2D~_f<9d-(VN+ zqk8z_L@niqGndwijBjhQt-tPr>Oc7bI_oNg2&5!=Agrglo5pF8aSleyJil>es z<69|rf4kp-9%V5omEUtv@6^NMs<&PPWr4&w9W>mte}AvMG3Z;5&ooQDH(cD4AJ&@E zQwof|e8;PH-`inCi!oiUzTUBhuOT7pe?rZ5q+4(*wVC=&y^*zHYH4;ihZKbNuwfK6|Pl4-N z@BALrxp|`dGkyq7$=K-hS3k)p%GRn2f=xCAJFLY-XcU_iaq`L8?9Gm$|3q7`LM5b6 zubJHu_GIwjs5VQVpKq#I-($2e859g^c9OX9QeC-x{ZLhkF7_2a!QF1B?akr+G}2FY ztT%W@W)Tf;E4z{rB90$-j$Xmr2Zhd(qSyr&DD_Mak6O%R55L3M)}Mc+RR*%2*^Vk| z9FuK1db3w^vq6V!d5sd9?+WbVyHyInhB_%0ALf1!lc~9@nIpNU%TfFD8`>#3qT~&D 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
!xu756=b915npqLrxe`6yX1`ZY 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