From 9def289fd753fb4f2c377a48cbe9f0790d5322b7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 5 Jun 2024 04:35:38 +0000 Subject: [PATCH 01/93] chore(development): release 1.0.0 --- CHANGELOG.md | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..5e0448e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,61 @@ +# Changelog + +## 1.0.0 (2024-06-05) + + +### Features + +* add conventional commits ([9c9366a](https://github.com/ubiquity/ts-template/commit/9c9366ad423cfb450909c36f735aa08c222cd319)) +* add dotenv ([7b7c6f5](https://github.com/ubiquity/ts-template/commit/7b7c6f5decd076cf833352c03906e2dcb514428f)) +* add knip CI configuration ([83b6cb6](https://github.com/ubiquity/ts-template/commit/83b6cb68ce08cd279b315718586ad8f136e065ba)) +* add naming conventions rule ([f3997c9](https://github.com/ubiquity/ts-template/commit/f3997c9b635dc8d027965b65079423bbba268986)) +* add pull request template ([e7fff97](https://github.com/ubiquity/ts-template/commit/e7fff971d1ef38f2fc18516c5ba45322490a4a8c)) +* add TS support ([f9b45ea](https://github.com/ubiquity/ts-template/commit/f9b45eaae8f7e2da76cd9979fd60217f4d4938cc)) +* ban non null assertions ([e674345](https://github.com/ubiquity/ts-template/commit/e6743454269235a4d1b632742fd723287e16a190)) +* cd ([9fbac16](https://github.com/ubiquity/ts-template/commit/9fbac16e59476e56333baa5c7e89fb177ed40313)) +* commit or pr ([dbec9e3](https://github.com/ubiquity/ts-template/commit/dbec9e30f1bbfb9a6514cb68c0507db37dd7cf2b)) +* copy typescript rules ([86cb568](https://github.com/ubiquity/ts-template/commit/86cb56883e02419c919c7646d62fea530a5ff99f)) +* create helloWorld index.html ([d1e8b0b](https://github.com/ubiquity/ts-template/commit/d1e8b0b52130f6cc206675b7e2b8b616da2fda81)) +* **cspell:** support colors ([27786d7](https://github.com/ubiquity/ts-template/commit/27786d7d0ba92c4268395ab38675627bc9bef8ea)) +* cypress testing suite ([92cad2c](https://github.com/ubiquity/ts-template/commit/92cad2c46aabc81b42a926298270adbd38adffdc)) +* default Jest testing configuration ([d7670f4](https://github.com/ubiquity/ts-template/commit/d7670f4d4b7ba307052117a9928540b9d967ec13)) +* default Jest testing configuration ([#19](https://github.com/ubiquity/ts-template/issues/19)) ([f0c06fb](https://github.com/ubiquity/ts-template/commit/f0c06fba5fdcc6919d009f17197b303916608530)) +* easy ui support ([7ffbda1](https://github.com/ubiquity/ts-template/commit/7ffbda1732fbb579cb0f9db0e8e59a8521b02725)) +* easy ui support ([805224f](https://github.com/ubiquity/ts-template/commit/805224f0a3c2fb13205e0d0fe184844e99fab02d)) +* format on lint-staged ([bfcfcda](https://github.com/ubiquity/ts-template/commit/bfcfcdaab8c0aed6fda112e579d9f4f4bb557ee0)) +* initial commit ([080bedf](https://github.com/ubiquity/ts-template/commit/080bedf1c104dd8ace4495edd595fbcee3c22ab9)) +* new github env style ([6eb4ace](https://github.com/ubiquity/ts-template/commit/6eb4ace9aff0ce51d1b09befa1b85e09c6eca81f)) +* prefer named functions ([31825e8](https://github.com/ubiquity/ts-template/commit/31825e82fc48c0e4b8480598f291ce8b1bc88d1a)) +* production deploys ([821f81e](https://github.com/ubiquity/ts-template/commit/821f81e95925b9dcfc8ae6631bae3150b1cfcb27)) +* push action for development branch ([af60573](https://github.com/ubiquity/ts-template/commit/af605734b9a66fa4b1d5b5887704e2940de43cf6)) +* release please Action ([f667d6e](https://github.com/ubiquity/ts-template/commit/f667d6e730e1bfdd68a577f844a66216cd8446cf)) +* reusable deploy script ([4e8bf2b](https://github.com/ubiquity/ts-template/commit/4e8bf2b14aa38ad0e3bcdd82a4e080be86d77179)) +* spell check on commit ([53bfa02](https://github.com/ubiquity/ts-template/commit/53bfa0258251b2e775699bfc6a5120f174ccaf58)) +* update readme ([d2cb9f8](https://github.com/ubiquity/ts-template/commit/d2cb9f89841650c76596a03d0eab4a3026244247)) +* workflow dispatch ([126e819](https://github.com/ubiquity/ts-template/commit/126e819301653d30eede0849d258e44db973f2ba)) +* workflow dispatch ([dc336a9](https://github.com/ubiquity/ts-template/commit/dc336a9d2902a4c425491ac61fbc5325ad6e4826)) + + +### Bug Fixes + +* app installation if ([059487c](https://github.com/ubiquity/ts-template/commit/059487c910fbf671ef99a058631af40ed83ed12c)) +* change dist to static ([783e786](https://github.com/ubiquity/ts-template/commit/783e786dfce63e702672f5a09f58935fad75b1ae)) +* **ci:** cspell ([ea8c924](https://github.com/ubiquity/ts-template/commit/ea8c924d95ef36ef5ece2ac3a5b6e0153c6b816a)) +* **ci:** cspell ([48b4419](https://github.com/ubiquity/ts-template/commit/48b441995dbc0a78b5de5bb2dd353fa77ef804ae)) +* **ci:** on prs ([f2fea11](https://github.com/ubiquity/ts-template/commit/f2fea11b632888bd7f7eebb310905843d6c57f70)) +* commit sha ([2393807](https://github.com/ubiquity/ts-template/commit/23938078cf1e720c714698d6b966dff395153c61)) +* commit-msg script and add lint-staged command ([7c2aa64](https://github.com/ubiquity/ts-template/commit/7c2aa64df980c4937812c09d4038b19de7ea8cda)) +* cspell ci ([8ee208a](https://github.com/ubiquity/ts-template/commit/8ee208a1dd30d5c708a61e636cca29b04b373aac)) +* disabled comments on every push, and added default value for coverage ([419442c](https://github.com/ubiquity/ts-template/commit/419442c644651ec8db72e26f446b56123b284ebf)) +* forgot to include cspell ([4026845](https://github.com/ubiquity/ts-template/commit/4026845606011433d71c78a921ebf1f93d5d83e8)) +* gitignore ([4818b15](https://github.com/ubiquity/ts-template/commit/4818b15f6f0b3cdfe74a96fd8fa94c0f6ed6461c)) +* lint staged ([9cad989](https://github.com/ubiquity/ts-template/commit/9cad989afff96c8786db86cb92df64e808b5f405)) +* lint staged ([937630e](https://github.com/ubiquity/ts-template/commit/937630eb4abf93b7f3055b660e9bebc809d53399)) +* moved eslint from js to json and accept numbers in file names ([b9c377c](https://github.com/ubiquity/ts-template/commit/b9c377c9b1c2dc8840622027c996cf626f996920)) +* prettier for css ([4880237](https://github.com/ubiquity/ts-template/commit/4880237fb5d524e8315638f10bae984f3942999c)) +* rename pull_request_template ([8aa986e](https://github.com/ubiquity/ts-template/commit/8aa986e6885173d56f628ee6d887d3619a19407c)) +* transport secrets ([83c2e29](https://github.com/ubiquity/ts-template/commit/83c2e2948ccce120400f943334a2c3bdb573f175)) +* use regex and ignore e2e.ts ([67e0375](https://github.com/ubiquity/ts-template/commit/67e0375fca861d1d71fdbfac436f667d758b448a)) +* whitespace ([1f80af6](https://github.com/ubiquity/ts-template/commit/1f80af63af8b2c1d97b125fd64b0a248e8d4ded0)) +* workflow cypress ([0499dcb](https://github.com/ubiquity/ts-template/commit/0499dcbe14472c86b0a50169a86f2e6282d6c323)) +* workflow release please ([5dd1302](https://github.com/ubiquity/ts-template/commit/5dd1302a93822de66b216bdd5293b110eeda75c8)) From b355f3a47ecf553dcf42c2ffd80f093c5ebf56d1 Mon Sep 17 00:00:00 2001 From: rndquu Date: Thu, 20 Jun 2024 01:07:19 +0300 Subject: [PATCH 02/93] ci: run knip reporter on failure --- .github/workflows/knip-reporter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/knip-reporter.yml b/.github/workflows/knip-reporter.yml index cf58ea8..282c9a8 100644 --- a/.github/workflows/knip-reporter.yml +++ b/.github/workflows/knip-reporter.yml @@ -9,6 +9,7 @@ on: jobs: knip-reporter: runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion != 'success' }} steps: - uses: actions/download-artifact@v4 with: @@ -24,7 +25,6 @@ jobs: trim: true - name: Report knip results to pull request - if: ${{ github.event.workflow_run.conclusion != 'success' }} uses: gitcoindev/knip-reporter@main with: verbose: true From 079b1abac6e8ca451d62d884894da651b8fa9d19 Mon Sep 17 00:00:00 2001 From: Mentlegen <9807008+gentlementlegen@users.noreply.github.com> Date: Sat, 22 Jun 2024 01:56:03 +0900 Subject: [PATCH 03/93] Update README.md From 51f8dcdf5470c4ee91726da07d25f53fee2c5bc9 Mon Sep 17 00:00:00 2001 From: Mentlegen <9807008+gentlementlegen@users.noreply.github.com> Date: Sat, 22 Jun 2024 02:04:24 +0900 Subject: [PATCH 04/93] Update README.md From 2ef2a062374ab2a8e20e3c39dbdaa4863f91ecde Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Fri, 21 Jun 2024 19:09:23 +0200 Subject: [PATCH 05/93] chore: adding untested function --- static/main.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/static/main.ts b/static/main.ts index b19bfa7..32c548e 100644 --- a/static/main.ts +++ b/static/main.ts @@ -1,6 +1,11 @@ export async function mainModule() { console.log(`Hello from mainModule`); } + +export function myUntestedFunction() { + console.log("hello"); +} + mainModule() .then(() => { console.log("mainModule loaded"); From 1df6e5dcff7d7ac14188a964268e8fcdff89e397 Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Fri, 21 Jun 2024 19:25:28 +0200 Subject: [PATCH 06/93] feat: changed tests to yarn with coverage --- .github/workflows/jest-testing.yml | 11 +++-------- cypress/e2e/main.cy.ts | 1 + 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/jest-testing.yml b/.github/workflows/jest-testing.yml index 8e7886e..73f7ccc 100644 --- a/.github/workflows/jest-testing.yml +++ b/.github/workflows/jest-testing.yml @@ -1,7 +1,7 @@ name: Run Jest testing suite on: workflow_dispatch: - pull_request_target: + pull_request: env: NODE_ENV: "test" @@ -19,10 +19,5 @@ jobs: with: fetch-depth: 0 - - name: Jest With Coverage Comment - # Ensures this step is run even on previous step failure (e.g. test failed) - if: always() - uses: ArtiomTr/jest-coverage-report-action@v2 - with: - package-manager: yarn - prnumber: ${{ github.event.pull_request.number || github.event.workflow_run.pull_requests[0].number }} + - name: Jest With Coverage + run: yarn test diff --git a/cypress/e2e/main.cy.ts b/cypress/e2e/main.cy.ts index 7e96d3d..81df8c5 100644 --- a/cypress/e2e/main.cy.ts +++ b/cypress/e2e/main.cy.ts @@ -7,5 +7,6 @@ describe("Homepage tests", () => { }); cy.get("@consoleError").should("not.be.called"); cy.get("body").should("exist"); + cy.get("h1").should("exist"); }); }); From 6bc92022e608a3eb5dc02948aa4732a1fd43ad94 Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Fri, 21 Jun 2024 19:34:42 +0200 Subject: [PATCH 07/93] chore: added yarn install --- .github/workflows/jest-testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jest-testing.yml b/.github/workflows/jest-testing.yml index 73f7ccc..239a87a 100644 --- a/.github/workflows/jest-testing.yml +++ b/.github/workflows/jest-testing.yml @@ -20,4 +20,4 @@ jobs: fetch-depth: 0 - name: Jest With Coverage - run: yarn test + run: yarn install --immutable --immutable-cache --check-cache && yarn test From 2dd43434ceb85f1e030e4738b5277d0a3afaf1d4 Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Fri, 21 Jun 2024 19:42:14 +0200 Subject: [PATCH 08/93] chore: removed untested function --- static/main.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/static/main.ts b/static/main.ts index 32c548e..780e240 100644 --- a/static/main.ts +++ b/static/main.ts @@ -2,10 +2,6 @@ export async function mainModule() { console.log(`Hello from mainModule`); } -export function myUntestedFunction() { - console.log("hello"); -} - mainModule() .then(() => { console.log("mainModule loaded"); From cecb44ba355075250b4633ffe6c24da8201f3a25 Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Fri, 21 Jun 2024 20:09:13 +0200 Subject: [PATCH 09/93] chore: test report on action --- .github/workflows/jest-testing.yml | 4 + jest.config.json | 2 +- package.json | 1 + yarn.lock | 132 +++++++++++++++++++++++++++-- 4 files changed, 132 insertions(+), 7 deletions(-) diff --git a/.github/workflows/jest-testing.yml b/.github/workflows/jest-testing.yml index 239a87a..7f8747e 100644 --- a/.github/workflows/jest-testing.yml +++ b/.github/workflows/jest-testing.yml @@ -21,3 +21,7 @@ jobs: - name: Jest With Coverage run: yarn install --immutable --immutable-cache --check-cache && yarn test + + - name: Add Jest Report to Summary + if: always() + run: echo "$(cat test-dashboard.md)" >> $GITHUB_STEP_SUMMARY diff --git a/jest.config.json b/jest.config.json index cf62beb..21e90b8 100644 --- a/jest.config.json +++ b/jest.config.json @@ -5,6 +5,6 @@ "coveragePathIgnorePatterns": ["node_modules", "mocks"], "collectCoverage": true, "coverageReporters": ["json", "lcov", "text", "clover", "json-summary"], - "reporters": ["default", "jest-junit"], + "reporters": ["default", "jest-junit", "jest-md-dashboard"], "coverageDirectory": "coverage" } diff --git a/package.json b/package.json index ec1b4ae..6a69069 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "husky": "^9.0.11", "jest": "29.7.0", "jest-junit": "16.0.0", + "jest-md-dashboard": "0.8.0", "knip": "^5.0.1", "lint-staged": "^15.2.2", "npm-run-all": "^4.1.5", diff --git a/yarn.lock b/yarn.lock index 0c43b39..c4f27c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2223,6 +2223,11 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +async-lock@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/async-lock/-/async-lock-1.4.1.tgz#56b8718915a9b68b10fce2f2a9a3dddf765ef53f" + integrity sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ== + async@^3.2.0: version "3.2.5" resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" @@ -2528,6 +2533,11 @@ cjs-module-lexer@^1.0.0: resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== +clean-git-ref@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/clean-git-ref/-/clean-git-ref-2.0.1.tgz#dcc0ca093b90e527e67adb5a5e55b1af6816dcd9" + integrity sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw== + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -2778,6 +2788,11 @@ cosmiconfig@^8.3.6: parse-json "^5.2.0" path-type "^4.0.0" +crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + create-jest@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" @@ -3042,6 +3057,13 @@ decamelize@^1.1.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + dedent@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" @@ -3102,6 +3124,11 @@ diff-sequences@^29.6.3: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== +diff3@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/diff3/-/diff3-0.0.3.tgz#d4e5c3a4cdf4e5fe1211ab42e693fcb4321580fc" + integrity sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g== + dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -4159,7 +4186,7 @@ ieee754@^1.1.13: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore@^5.1.8, ignore@^5.2.0, ignore@^5.2.4: +ignore@^5.1.4, ignore@^5.1.8, ignore@^5.2.0, ignore@^5.2.4: version "5.3.1" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== @@ -4208,7 +4235,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3: +inherits@2, inherits@^2.0.1, inherits@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -4470,6 +4497,23 @@ isexe@^3.1.1: resolved "https://registry.yarnpkg.com/isexe/-/isexe-3.1.1.tgz#4a407e2bd78ddfb14bea0c27c6f7072dde775f0d" integrity sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== +isomorphic-git@^1.25.6: + version "1.25.10" + resolved "https://registry.yarnpkg.com/isomorphic-git/-/isomorphic-git-1.25.10.tgz#59ff7af88773b126f2b273ef3c536c08308b6d36" + integrity sha512-IxGiaKBwAdcgBXwIcxJU6rHLk+NrzYaaPKXXQffcA0GW3IUrQXdUPDXDo+hkGVcYruuz/7JlGBiuaeTCgIgivQ== + dependencies: + async-lock "^1.4.1" + clean-git-ref "^2.0.1" + crc-32 "^1.2.0" + diff3 "0.0.3" + ignore "^5.1.4" + minimisted "^2.0.0" + pako "^1.0.10" + pify "^4.0.1" + readable-stream "^3.4.0" + sha.js "^2.4.9" + simple-get "^4.0.1" + isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -4714,6 +4758,13 @@ jest-matcher-utils@^29.7.0: jest-get-type "^29.6.3" pretty-format "^29.7.0" +jest-md-dashboard@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/jest-md-dashboard/-/jest-md-dashboard-0.8.0.tgz#024eeaf2192cf93f3c6f7dad8fec1dc94e2b05e1" + integrity sha512-CaxG69pKBA9UauMHBxmsxNbbPMe3kcdTY17BUBM1hj3ZKyZSnKDnOqtnjMti4t9XKuf6Hc3Vn1pXBfll3bWn6A== + dependencies: + isomorphic-git "^1.25.6" + jest-message-util@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" @@ -5432,6 +5483,11 @@ mimic-fn@^4.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + min-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -5465,6 +5521,13 @@ minimist@1.2.8, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== +minimisted@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/minimisted/-/minimisted-2.0.1.tgz#d059fb905beecf0774bc3b308468699709805cb1" + integrity sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA== + dependencies: + minimist "^1.2.5" + "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.3: version "7.0.4" resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" @@ -5774,6 +5837,11 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +pako@^1.0.10: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -5925,6 +5993,11 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + pirates@^4.0.4: version "4.0.6" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" @@ -6107,7 +6180,7 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.6.0: +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -6353,6 +6426,14 @@ set-function-name@^2.0.1: functions-have-names "^1.2.3" has-property-descriptors "^1.0.0" +sha.js@^2.4.9: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -6407,6 +6488,20 @@ signal-exit@^4.0.1, signal-exit@^4.1.0: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" + integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== + dependencies: + decompress-response "^6.0.0" + once "^1.3.1" + simple-concat "^1.0.0" + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -6564,7 +6659,16 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -6639,7 +6743,14 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -7173,7 +7284,7 @@ which@^4.0.0: dependencies: isexe "^3.1.1" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -7191,6 +7302,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" From 3c83a8d882cc9bf7731f8d474ac3ec4117c6725c Mon Sep 17 00:00:00 2001 From: Mentlegen <9807008+gentlementlegen@users.noreply.github.com> Date: Thu, 11 Jul 2024 13:58:58 +0900 Subject: [PATCH 10/93] chore: manifest.json --- README.md | 3 ++- manifest.json | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 manifest.json diff --git a/README.md b/README.md index 7b0867a..2910503 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ This template repository includes support for the following: - Environment Variables - Conventional Commits - Automatic deployment to Cloudflare Pages +- `manifest.json` plugin description ## Testing @@ -17,7 +18,7 @@ To test with Cypress Studio UI, run yarn cy:open ``` -Otherwise to simply run the tests through the console, run +Otherwise, to simply run the tests through the console, run ```shell yarn cy:run diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..8975439 --- /dev/null +++ b/manifest.json @@ -0,0 +1,10 @@ +{ + "name": "ts-template", + "description": "ts-template for Ubiquibot plugins.", + "commands": { + "command1": { + "example": "/command1 argument", + "description": "Command 1 with an argument." + } + } +} From 9729b15b01912f1f62749756bc20ef69bdf0d5f9 Mon Sep 17 00:00:00 2001 From: Mentlegen <9807008+gentlementlegen@users.noreply.github.com> Date: Thu, 11 Jul 2024 21:07:43 +0900 Subject: [PATCH 11/93] chore: manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 8975439..d2cf618 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "description": "ts-template for Ubiquibot plugins.", "commands": { "command1": { - "example": "/command1 argument", + "ubiquity:example": "/command1 argument", "description": "Command 1 with an argument." } } From 997e61be6e4c503b17d98c653caadc62b36f0339 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= <4975670+0x4007@users.noreply.github.com> Date: Fri, 19 Jul 2024 13:41:04 +0900 Subject: [PATCH 12/93] Delete CHANGELOG.md @gentlementlegen we shouldn't have this in the template. be sure to remove from any ci etc --- CHANGELOG.md | 61 ---------------------------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 5e0448e..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,61 +0,0 @@ -# Changelog - -## 1.0.0 (2024-06-05) - - -### Features - -* add conventional commits ([9c9366a](https://github.com/ubiquity/ts-template/commit/9c9366ad423cfb450909c36f735aa08c222cd319)) -* add dotenv ([7b7c6f5](https://github.com/ubiquity/ts-template/commit/7b7c6f5decd076cf833352c03906e2dcb514428f)) -* add knip CI configuration ([83b6cb6](https://github.com/ubiquity/ts-template/commit/83b6cb68ce08cd279b315718586ad8f136e065ba)) -* add naming conventions rule ([f3997c9](https://github.com/ubiquity/ts-template/commit/f3997c9b635dc8d027965b65079423bbba268986)) -* add pull request template ([e7fff97](https://github.com/ubiquity/ts-template/commit/e7fff971d1ef38f2fc18516c5ba45322490a4a8c)) -* add TS support ([f9b45ea](https://github.com/ubiquity/ts-template/commit/f9b45eaae8f7e2da76cd9979fd60217f4d4938cc)) -* ban non null assertions ([e674345](https://github.com/ubiquity/ts-template/commit/e6743454269235a4d1b632742fd723287e16a190)) -* cd ([9fbac16](https://github.com/ubiquity/ts-template/commit/9fbac16e59476e56333baa5c7e89fb177ed40313)) -* commit or pr ([dbec9e3](https://github.com/ubiquity/ts-template/commit/dbec9e30f1bbfb9a6514cb68c0507db37dd7cf2b)) -* copy typescript rules ([86cb568](https://github.com/ubiquity/ts-template/commit/86cb56883e02419c919c7646d62fea530a5ff99f)) -* create helloWorld index.html ([d1e8b0b](https://github.com/ubiquity/ts-template/commit/d1e8b0b52130f6cc206675b7e2b8b616da2fda81)) -* **cspell:** support colors ([27786d7](https://github.com/ubiquity/ts-template/commit/27786d7d0ba92c4268395ab38675627bc9bef8ea)) -* cypress testing suite ([92cad2c](https://github.com/ubiquity/ts-template/commit/92cad2c46aabc81b42a926298270adbd38adffdc)) -* default Jest testing configuration ([d7670f4](https://github.com/ubiquity/ts-template/commit/d7670f4d4b7ba307052117a9928540b9d967ec13)) -* default Jest testing configuration ([#19](https://github.com/ubiquity/ts-template/issues/19)) ([f0c06fb](https://github.com/ubiquity/ts-template/commit/f0c06fba5fdcc6919d009f17197b303916608530)) -* easy ui support ([7ffbda1](https://github.com/ubiquity/ts-template/commit/7ffbda1732fbb579cb0f9db0e8e59a8521b02725)) -* easy ui support ([805224f](https://github.com/ubiquity/ts-template/commit/805224f0a3c2fb13205e0d0fe184844e99fab02d)) -* format on lint-staged ([bfcfcda](https://github.com/ubiquity/ts-template/commit/bfcfcdaab8c0aed6fda112e579d9f4f4bb557ee0)) -* initial commit ([080bedf](https://github.com/ubiquity/ts-template/commit/080bedf1c104dd8ace4495edd595fbcee3c22ab9)) -* new github env style ([6eb4ace](https://github.com/ubiquity/ts-template/commit/6eb4ace9aff0ce51d1b09befa1b85e09c6eca81f)) -* prefer named functions ([31825e8](https://github.com/ubiquity/ts-template/commit/31825e82fc48c0e4b8480598f291ce8b1bc88d1a)) -* production deploys ([821f81e](https://github.com/ubiquity/ts-template/commit/821f81e95925b9dcfc8ae6631bae3150b1cfcb27)) -* push action for development branch ([af60573](https://github.com/ubiquity/ts-template/commit/af605734b9a66fa4b1d5b5887704e2940de43cf6)) -* release please Action ([f667d6e](https://github.com/ubiquity/ts-template/commit/f667d6e730e1bfdd68a577f844a66216cd8446cf)) -* reusable deploy script ([4e8bf2b](https://github.com/ubiquity/ts-template/commit/4e8bf2b14aa38ad0e3bcdd82a4e080be86d77179)) -* spell check on commit ([53bfa02](https://github.com/ubiquity/ts-template/commit/53bfa0258251b2e775699bfc6a5120f174ccaf58)) -* update readme ([d2cb9f8](https://github.com/ubiquity/ts-template/commit/d2cb9f89841650c76596a03d0eab4a3026244247)) -* workflow dispatch ([126e819](https://github.com/ubiquity/ts-template/commit/126e819301653d30eede0849d258e44db973f2ba)) -* workflow dispatch ([dc336a9](https://github.com/ubiquity/ts-template/commit/dc336a9d2902a4c425491ac61fbc5325ad6e4826)) - - -### Bug Fixes - -* app installation if ([059487c](https://github.com/ubiquity/ts-template/commit/059487c910fbf671ef99a058631af40ed83ed12c)) -* change dist to static ([783e786](https://github.com/ubiquity/ts-template/commit/783e786dfce63e702672f5a09f58935fad75b1ae)) -* **ci:** cspell ([ea8c924](https://github.com/ubiquity/ts-template/commit/ea8c924d95ef36ef5ece2ac3a5b6e0153c6b816a)) -* **ci:** cspell ([48b4419](https://github.com/ubiquity/ts-template/commit/48b441995dbc0a78b5de5bb2dd353fa77ef804ae)) -* **ci:** on prs ([f2fea11](https://github.com/ubiquity/ts-template/commit/f2fea11b632888bd7f7eebb310905843d6c57f70)) -* commit sha ([2393807](https://github.com/ubiquity/ts-template/commit/23938078cf1e720c714698d6b966dff395153c61)) -* commit-msg script and add lint-staged command ([7c2aa64](https://github.com/ubiquity/ts-template/commit/7c2aa64df980c4937812c09d4038b19de7ea8cda)) -* cspell ci ([8ee208a](https://github.com/ubiquity/ts-template/commit/8ee208a1dd30d5c708a61e636cca29b04b373aac)) -* disabled comments on every push, and added default value for coverage ([419442c](https://github.com/ubiquity/ts-template/commit/419442c644651ec8db72e26f446b56123b284ebf)) -* forgot to include cspell ([4026845](https://github.com/ubiquity/ts-template/commit/4026845606011433d71c78a921ebf1f93d5d83e8)) -* gitignore ([4818b15](https://github.com/ubiquity/ts-template/commit/4818b15f6f0b3cdfe74a96fd8fa94c0f6ed6461c)) -* lint staged ([9cad989](https://github.com/ubiquity/ts-template/commit/9cad989afff96c8786db86cb92df64e808b5f405)) -* lint staged ([937630e](https://github.com/ubiquity/ts-template/commit/937630eb4abf93b7f3055b660e9bebc809d53399)) -* moved eslint from js to json and accept numbers in file names ([b9c377c](https://github.com/ubiquity/ts-template/commit/b9c377c9b1c2dc8840622027c996cf626f996920)) -* prettier for css ([4880237](https://github.com/ubiquity/ts-template/commit/4880237fb5d524e8315638f10bae984f3942999c)) -* rename pull_request_template ([8aa986e](https://github.com/ubiquity/ts-template/commit/8aa986e6885173d56f628ee6d887d3619a19407c)) -* transport secrets ([83c2e29](https://github.com/ubiquity/ts-template/commit/83c2e2948ccce120400f943334a2c3bdb573f175)) -* use regex and ignore e2e.ts ([67e0375](https://github.com/ubiquity/ts-template/commit/67e0375fca861d1d71fdbfac436f667d758b448a)) -* whitespace ([1f80af6](https://github.com/ubiquity/ts-template/commit/1f80af63af8b2c1d97b125fd64b0a248e8d4ded0)) -* workflow cypress ([0499dcb](https://github.com/ubiquity/ts-template/commit/0499dcbe14472c86b0a50169a86f2e6282d6c323)) -* workflow release please ([5dd1302](https://github.com/ubiquity/ts-template/commit/5dd1302a93822de66b216bdd5293b110eeda75c8)) From ef2a56594f65d33d11e3ba47d3c91470566327e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= <4975670+0x4007@users.noreply.github.com> Date: Fri, 19 Jul 2024 14:35:14 +0900 Subject: [PATCH 13/93] Update README.md --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/README.md b/README.md index 7b0867a..4bb0e6a 100644 --- a/README.md +++ b/README.md @@ -30,3 +30,41 @@ To start Jest tests, run ```shell yarn test ``` + +## Sync any repository to latest `ts-template` + +A bash function that can do this for you: + +```bash +sync-branch-to-template() { + local branch_name + branch_name=$(git rev-parse --abbrev-ref HEAD) + local original_remote + original_remote=$(git remote show | head -n 1) + + # Add the template remote + git remote add template https://github.com/ubiquity/ts-template + + # Fetch from the template remote + git fetch template development + + if [ "$branch_name" != "HEAD" ]; then + # Create a new branch and switch to it + git checkout -b "chore/merge-${branch_name}-template" + + # Merge the changes from the template remote + git merge template/development --allow-unrelated-histories + + # Switch back to the original branch + git checkout "$branch_name" + + # Push the changes to the original remote + git push "$original_remote" HEAD:"$branch_name" + else + echo "You are in a detached HEAD state. Please checkout a branch first." + fi + + # Remove the template remote + # git remote remove template +} +``` From 83c9c2172198bce94af98b96d0d255ec99765492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= <4975670+0x4007@users.noreply.github.com> Date: Fri, 19 Jul 2024 13:41:04 +0900 Subject: [PATCH 14/93] Delete CHANGELOG.md @gentlementlegen we shouldn't have this in the template. be sure to remove from any ci etc --- CHANGELOG.md | 61 ---------------------------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 5e0448e..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,61 +0,0 @@ -# Changelog - -## 1.0.0 (2024-06-05) - - -### Features - -* add conventional commits ([9c9366a](https://github.com/ubiquity/ts-template/commit/9c9366ad423cfb450909c36f735aa08c222cd319)) -* add dotenv ([7b7c6f5](https://github.com/ubiquity/ts-template/commit/7b7c6f5decd076cf833352c03906e2dcb514428f)) -* add knip CI configuration ([83b6cb6](https://github.com/ubiquity/ts-template/commit/83b6cb68ce08cd279b315718586ad8f136e065ba)) -* add naming conventions rule ([f3997c9](https://github.com/ubiquity/ts-template/commit/f3997c9b635dc8d027965b65079423bbba268986)) -* add pull request template ([e7fff97](https://github.com/ubiquity/ts-template/commit/e7fff971d1ef38f2fc18516c5ba45322490a4a8c)) -* add TS support ([f9b45ea](https://github.com/ubiquity/ts-template/commit/f9b45eaae8f7e2da76cd9979fd60217f4d4938cc)) -* ban non null assertions ([e674345](https://github.com/ubiquity/ts-template/commit/e6743454269235a4d1b632742fd723287e16a190)) -* cd ([9fbac16](https://github.com/ubiquity/ts-template/commit/9fbac16e59476e56333baa5c7e89fb177ed40313)) -* commit or pr ([dbec9e3](https://github.com/ubiquity/ts-template/commit/dbec9e30f1bbfb9a6514cb68c0507db37dd7cf2b)) -* copy typescript rules ([86cb568](https://github.com/ubiquity/ts-template/commit/86cb56883e02419c919c7646d62fea530a5ff99f)) -* create helloWorld index.html ([d1e8b0b](https://github.com/ubiquity/ts-template/commit/d1e8b0b52130f6cc206675b7e2b8b616da2fda81)) -* **cspell:** support colors ([27786d7](https://github.com/ubiquity/ts-template/commit/27786d7d0ba92c4268395ab38675627bc9bef8ea)) -* cypress testing suite ([92cad2c](https://github.com/ubiquity/ts-template/commit/92cad2c46aabc81b42a926298270adbd38adffdc)) -* default Jest testing configuration ([d7670f4](https://github.com/ubiquity/ts-template/commit/d7670f4d4b7ba307052117a9928540b9d967ec13)) -* default Jest testing configuration ([#19](https://github.com/ubiquity/ts-template/issues/19)) ([f0c06fb](https://github.com/ubiquity/ts-template/commit/f0c06fba5fdcc6919d009f17197b303916608530)) -* easy ui support ([7ffbda1](https://github.com/ubiquity/ts-template/commit/7ffbda1732fbb579cb0f9db0e8e59a8521b02725)) -* easy ui support ([805224f](https://github.com/ubiquity/ts-template/commit/805224f0a3c2fb13205e0d0fe184844e99fab02d)) -* format on lint-staged ([bfcfcda](https://github.com/ubiquity/ts-template/commit/bfcfcdaab8c0aed6fda112e579d9f4f4bb557ee0)) -* initial commit ([080bedf](https://github.com/ubiquity/ts-template/commit/080bedf1c104dd8ace4495edd595fbcee3c22ab9)) -* new github env style ([6eb4ace](https://github.com/ubiquity/ts-template/commit/6eb4ace9aff0ce51d1b09befa1b85e09c6eca81f)) -* prefer named functions ([31825e8](https://github.com/ubiquity/ts-template/commit/31825e82fc48c0e4b8480598f291ce8b1bc88d1a)) -* production deploys ([821f81e](https://github.com/ubiquity/ts-template/commit/821f81e95925b9dcfc8ae6631bae3150b1cfcb27)) -* push action for development branch ([af60573](https://github.com/ubiquity/ts-template/commit/af605734b9a66fa4b1d5b5887704e2940de43cf6)) -* release please Action ([f667d6e](https://github.com/ubiquity/ts-template/commit/f667d6e730e1bfdd68a577f844a66216cd8446cf)) -* reusable deploy script ([4e8bf2b](https://github.com/ubiquity/ts-template/commit/4e8bf2b14aa38ad0e3bcdd82a4e080be86d77179)) -* spell check on commit ([53bfa02](https://github.com/ubiquity/ts-template/commit/53bfa0258251b2e775699bfc6a5120f174ccaf58)) -* update readme ([d2cb9f8](https://github.com/ubiquity/ts-template/commit/d2cb9f89841650c76596a03d0eab4a3026244247)) -* workflow dispatch ([126e819](https://github.com/ubiquity/ts-template/commit/126e819301653d30eede0849d258e44db973f2ba)) -* workflow dispatch ([dc336a9](https://github.com/ubiquity/ts-template/commit/dc336a9d2902a4c425491ac61fbc5325ad6e4826)) - - -### Bug Fixes - -* app installation if ([059487c](https://github.com/ubiquity/ts-template/commit/059487c910fbf671ef99a058631af40ed83ed12c)) -* change dist to static ([783e786](https://github.com/ubiquity/ts-template/commit/783e786dfce63e702672f5a09f58935fad75b1ae)) -* **ci:** cspell ([ea8c924](https://github.com/ubiquity/ts-template/commit/ea8c924d95ef36ef5ece2ac3a5b6e0153c6b816a)) -* **ci:** cspell ([48b4419](https://github.com/ubiquity/ts-template/commit/48b441995dbc0a78b5de5bb2dd353fa77ef804ae)) -* **ci:** on prs ([f2fea11](https://github.com/ubiquity/ts-template/commit/f2fea11b632888bd7f7eebb310905843d6c57f70)) -* commit sha ([2393807](https://github.com/ubiquity/ts-template/commit/23938078cf1e720c714698d6b966dff395153c61)) -* commit-msg script and add lint-staged command ([7c2aa64](https://github.com/ubiquity/ts-template/commit/7c2aa64df980c4937812c09d4038b19de7ea8cda)) -* cspell ci ([8ee208a](https://github.com/ubiquity/ts-template/commit/8ee208a1dd30d5c708a61e636cca29b04b373aac)) -* disabled comments on every push, and added default value for coverage ([419442c](https://github.com/ubiquity/ts-template/commit/419442c644651ec8db72e26f446b56123b284ebf)) -* forgot to include cspell ([4026845](https://github.com/ubiquity/ts-template/commit/4026845606011433d71c78a921ebf1f93d5d83e8)) -* gitignore ([4818b15](https://github.com/ubiquity/ts-template/commit/4818b15f6f0b3cdfe74a96fd8fa94c0f6ed6461c)) -* lint staged ([9cad989](https://github.com/ubiquity/ts-template/commit/9cad989afff96c8786db86cb92df64e808b5f405)) -* lint staged ([937630e](https://github.com/ubiquity/ts-template/commit/937630eb4abf93b7f3055b660e9bebc809d53399)) -* moved eslint from js to json and accept numbers in file names ([b9c377c](https://github.com/ubiquity/ts-template/commit/b9c377c9b1c2dc8840622027c996cf626f996920)) -* prettier for css ([4880237](https://github.com/ubiquity/ts-template/commit/4880237fb5d524e8315638f10bae984f3942999c)) -* rename pull_request_template ([8aa986e](https://github.com/ubiquity/ts-template/commit/8aa986e6885173d56f628ee6d887d3619a19407c)) -* transport secrets ([83c2e29](https://github.com/ubiquity/ts-template/commit/83c2e2948ccce120400f943334a2c3bdb573f175)) -* use regex and ignore e2e.ts ([67e0375](https://github.com/ubiquity/ts-template/commit/67e0375fca861d1d71fdbfac436f667d758b448a)) -* whitespace ([1f80af6](https://github.com/ubiquity/ts-template/commit/1f80af63af8b2c1d97b125fd64b0a248e8d4ded0)) -* workflow cypress ([0499dcb](https://github.com/ubiquity/ts-template/commit/0499dcbe14472c86b0a50169a86f2e6282d6c323)) -* workflow release please ([5dd1302](https://github.com/ubiquity/ts-template/commit/5dd1302a93822de66b216bdd5293b110eeda75c8)) From a952bdd25134e7d24f093569759126dfd8d86e46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= <4975670+0x4007@users.noreply.github.com> Date: Fri, 19 Jul 2024 14:35:14 +0900 Subject: [PATCH 15/93] Update README.md --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/README.md b/README.md index 2910503..bd75c68 100644 --- a/README.md +++ b/README.md @@ -31,3 +31,41 @@ To start Jest tests, run ```shell yarn test ``` + +## Sync any repository to latest `ts-template` + +A bash function that can do this for you: + +```bash +sync-branch-to-template() { + local branch_name + branch_name=$(git rev-parse --abbrev-ref HEAD) + local original_remote + original_remote=$(git remote show | head -n 1) + + # Add the template remote + git remote add template https://github.com/ubiquity/ts-template + + # Fetch from the template remote + git fetch template development + + if [ "$branch_name" != "HEAD" ]; then + # Create a new branch and switch to it + git checkout -b "chore/merge-${branch_name}-template" + + # Merge the changes from the template remote + git merge template/development --allow-unrelated-histories + + # Switch back to the original branch + git checkout "$branch_name" + + # Push the changes to the original remote + git push "$original_remote" HEAD:"$branch_name" + else + echo "You are in a detached HEAD state. Please checkout a branch first." + fi + + # Remove the template remote + # git remote remove template +} +``` From 61aff8aec1f55715c7b6471d0d47ec82757f54cd Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Sun, 18 Aug 2024 15:54:50 +0900 Subject: [PATCH 16/93] fix: release-please.yml uses the latest version of the Action --- .github/workflows/release-please.yml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 5c62600..a38ccee 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -14,13 +14,7 @@ jobs: release-please: runs-on: ubuntu-latest steps: - - uses: google-github-actions/release-please-action@v3 + - uses: googleapis/release-please-action@v4 with: - release-type: node - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: "20.10.0" - registry-url: https://registry.npmjs.org/ - - run: | - yarn install --immutable --immutable-cache --check-cache + release-type: simple + target-branch: main From c7e78abba4a8a84b8ac12635cc386daae4b8386c Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Sun, 18 Aug 2024 15:56:56 +0900 Subject: [PATCH 17/93] fix: conventional-commits.yml uses the latest version of the Action --- .github/workflows/conventional-commits.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/conventional-commits.yml b/.github/workflows/conventional-commits.yml index 6b3066e..8d17568 100644 --- a/.github/workflows/conventional-commits.yml +++ b/.github/workflows/conventional-commits.yml @@ -8,5 +8,5 @@ jobs: name: Conventional Commits runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ubiquity/action-conventional-commits@master From ed76e9567f5fb100543748cbf5b41516f228f7d9 Mon Sep 17 00:00:00 2001 From: gentlementlegen Date: Sun, 18 Aug 2024 16:26:51 +0900 Subject: [PATCH 18/93] chore: removed manifest.json and updated README.md --- README.md | 1 - manifest.json | 10 ---------- 2 files changed, 11 deletions(-) delete mode 100644 manifest.json diff --git a/README.md b/README.md index bd75c68..caace40 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,6 @@ This template repository includes support for the following: - Environment Variables - Conventional Commits - Automatic deployment to Cloudflare Pages -- `manifest.json` plugin description ## Testing diff --git a/manifest.json b/manifest.json deleted file mode 100644 index d2cf618..0000000 --- a/manifest.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "ts-template", - "description": "ts-template for Ubiquibot plugins.", - "commands": { - "command1": { - "ubiquity:example": "/command1 argument", - "description": "Command 1 with an argument." - } - } -} From 0e9b021a89ed70fb4b7b02fa6161dad67d5ca684 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 00:13:53 +0200 Subject: [PATCH 19/93] feat: add sync.yml which runs every month --- .github/workflows/sync.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/sync.yml diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml new file mode 100644 index 0000000..df16280 --- /dev/null +++ b/.github/workflows/sync.yml @@ -0,0 +1,28 @@ +name: Sync branch to template + +on: + workflow_dispatch: + schedule: + - cron: '0 0 1 * *' + +jobs: + sync: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Sync branch to template + run: | + branch_name=$(git rev-parse --abbrev-ref HEAD) + original_remote=$(git remote get-url origin) + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "github-actions[bot]" + git remote add template https://github.com/ubiquity/ts-template + git fetch template development + git update-index --assume-unchanged ".github/workflows/sync.yml" + git merge template/development --allow-unrelated-histories + git push "$original_remote" HEAD:"$branch_name" From a9fde248925f990c0c6d1a451375920655d20897 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 13:39:04 +0200 Subject: [PATCH 20/93] feat: create a pull request --- .github/workflows/sync.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml index df16280..5e59622 100644 --- a/.github/workflows/sync.yml +++ b/.github/workflows/sync.yml @@ -3,7 +3,7 @@ name: Sync branch to template on: workflow_dispatch: schedule: - - cron: '0 0 1 * *' + - cron: '14 0 1 * *' jobs: sync: @@ -16,13 +16,20 @@ jobs: fetch-depth: 0 - name: Sync branch to template + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | branch_name=$(git rev-parse --abbrev-ref HEAD) original_remote=$(git remote get-url origin) + pr_branch="sync/${branch_name}" git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.name "github-actions[bot]" git remote add template https://github.com/ubiquity/ts-template git fetch template development git update-index --assume-unchanged ".github/workflows/sync.yml" - git merge template/development --allow-unrelated-histories - git push "$original_remote" HEAD:"$branch_name" + git merge template/development --allow-unrelated-histories || true + git checkout -b "$pr_branch" + git add . + git push "$original_remote" "$pr_branch" + gh pr create --title "Sync branch to template" --body "This pull request merges changes from the template repository." --head "$pr_branch" --base "$branch_name" + From 4c71cdfee18bc4b539932442eebaa68c3ff24e1b Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 14:27:36 +0200 Subject: [PATCH 21/93] feat: create add-sync-to-repos.yml --- .github/workflows/add-sync-to-repos.yml | 45 +++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .github/workflows/add-sync-to-repos.yml diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml new file mode 100644 index 0000000..a445c38 --- /dev/null +++ b/.github/workflows/add-sync-to-repos.yml @@ -0,0 +1,45 @@ +name: Add Sync Script to Updated Repos + +on: + workflow_dispatch: + +jobs: + update-repos: + runs-on: ubuntu-latest + steps: + - name: Checkout GitHub CLI + uses: actions/checkout@v4 + + - name: Read sync.yml content + id: read-sync-yml + run: | + SYNC_CONTENT=$(cat .github/templates/sync.yml) + echo "SYNC_CONTENT<> $GITHUB_ENV + echo "$SYNC_CONTENT" >> $GITHUB_ENV + echo "EOF" >> $GITHUB_ENV + + - name: List repositories updated in the last month + id: list_repos + run: | + REPOS=$(gh repo list ubiquity --limit 1 --json name,updatedAt -q '.[] | select(.updatedAt > (now - 30*24*60*60)) | .name') + echo "REPOS=$REPOS" >> $GITHUB_ENV + + - name: Add sync.yml to each repo + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + for REPO in ${{ env.REPOS }}; do + echo "Processing $REPO" + gh repo clone ubiquity/$REPO + cd $REPO + branch_name="add-sync-script" + git checkout -b $branch_name + mkdir -p .github/workflows + echo "${{ env.SYNC_CONTENT }}" > .github/workflows/sync.yml + git add .github/workflows/sync.yml + git commit -m "Add sync.yml workflow" + # git push origin $branch_name + # gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "Details: https://github.com/ubiquity/ts-template/issues/54" --head "$branch_name" --base development + cd .. + rm -rf $REPO + done From 5e80ccd51c7ff1f3ae2c10eb88aa42355902d413 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 14:30:09 +0200 Subject: [PATCH 22/93] fix: some typos --- .github/workflows/add-sync-to-repos.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index a445c38..253a3ba 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -1,4 +1,4 @@ -name: Add Sync Script to Updated Repos +name: Add sync.yml to repos on: workflow_dispatch: @@ -7,13 +7,13 @@ jobs: update-repos: runs-on: ubuntu-latest steps: - - name: Checkout GitHub CLI + - name: Checkout uses: actions/checkout@v4 - name: Read sync.yml content id: read-sync-yml run: | - SYNC_CONTENT=$(cat .github/templates/sync.yml) + SYNC_CONTENT=$(cat .github/workflows/sync.yml) echo "SYNC_CONTENT<> $GITHUB_ENV echo "$SYNC_CONTENT" >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV From 0a1343091aab112dbcf8a0fc0494ae3d496dccd1 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 14:31:04 +0200 Subject: [PATCH 23/93] fix: github token --- .github/workflows/add-sync-to-repos.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 253a3ba..9b92a62 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -20,6 +20,8 @@ jobs: - name: List repositories updated in the last month id: list_repos + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | REPOS=$(gh repo list ubiquity --limit 1 --json name,updatedAt -q '.[] | select(.updatedAt > (now - 30*24*60*60)) | .name') echo "REPOS=$REPOS" >> $GITHUB_ENV From 0a23113626571ca5d35dd24e90a4085e96e0d040 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 14:34:40 +0200 Subject: [PATCH 24/93] fix: disable substitution --- .github/workflows/add-sync-to-repos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 9b92a62..3638706 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -15,7 +15,7 @@ jobs: run: | SYNC_CONTENT=$(cat .github/workflows/sync.yml) echo "SYNC_CONTENT<> $GITHUB_ENV - echo "$SYNC_CONTENT" >> $GITHUB_ENV + echo '$SYNC_CONTENT' >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV - name: List repositories updated in the last month @@ -37,7 +37,7 @@ jobs: branch_name="add-sync-script" git checkout -b $branch_name mkdir -p .github/workflows - echo "${{ env.SYNC_CONTENT }}" > .github/workflows/sync.yml + echo '${{ env.SYNC_CONTENT }}' > .github/workflows/sync.yml git add .github/workflows/sync.yml git commit -m "Add sync.yml workflow" # git push origin $branch_name From 7b80b79df0975f40c09f69caead95ac1b4813551 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 14:35:36 +0200 Subject: [PATCH 25/93] fix: git auth --- .github/workflows/add-sync-to-repos.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 3638706..7c7d806 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -30,6 +30,8 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "github-actions[bot]" for REPO in ${{ env.REPOS }}; do echo "Processing $REPO" gh repo clone ubiquity/$REPO From ec9246472ad36d73d9d052f0b54161c4f2c1a310 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 14:37:59 +0200 Subject: [PATCH 26/93] fix: uncomment push and pr --- .github/workflows/add-sync-to-repos.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 7c7d806..d4ad85f 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -15,7 +15,7 @@ jobs: run: | SYNC_CONTENT=$(cat .github/workflows/sync.yml) echo "SYNC_CONTENT<> $GITHUB_ENV - echo '$SYNC_CONTENT' >> $GITHUB_ENV + echo "$SYNC_CONTENT" >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV - name: List repositories updated in the last month @@ -39,11 +39,11 @@ jobs: branch_name="add-sync-script" git checkout -b $branch_name mkdir -p .github/workflows - echo '${{ env.SYNC_CONTENT }}' > .github/workflows/sync.yml + echo ${{env.SYNC_CONTENT}} > .github/workflows/sync.yml git add .github/workflows/sync.yml git commit -m "Add sync.yml workflow" - # git push origin $branch_name - # gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "Details: https://github.com/ubiquity/ts-template/issues/54" --head "$branch_name" --base development + git push origin $branch_name + gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "Details: https://github.com/ubiquity/ts-template/issues/54" --head "$branch_name" --base development cd .. rm -rf $REPO done From 547de5fbef47c7e0e59fc63e4f4f1f4a2e89f1e7 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 14:40:26 +0200 Subject: [PATCH 27/93] fix: use sed --- .github/workflows/add-sync-to-repos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index d4ad85f..fe20b55 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -13,7 +13,7 @@ jobs: - name: Read sync.yml content id: read-sync-yml run: | - SYNC_CONTENT=$(cat .github/workflows/sync.yml) + SYNC_CONTENT=$(cat .github/templates/sync.yml | sed 's/[$()`]/\\&/g') echo "SYNC_CONTENT<> $GITHUB_ENV echo "$SYNC_CONTENT" >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV @@ -39,7 +39,7 @@ jobs: branch_name="add-sync-script" git checkout -b $branch_name mkdir -p .github/workflows - echo ${{env.SYNC_CONTENT}} > .github/workflows/sync.yml + echo "${{ env.SYNC_CONTENT }}" > .github/workflows/sync.yml git add .github/workflows/sync.yml git commit -m "Add sync.yml workflow" git push origin $branch_name From 426e34963a910ac6a944b04ca978270e1f2d956b Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 14:45:20 +0200 Subject: [PATCH 28/93] fix: move git config --- .github/workflows/add-sync-to-repos.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index fe20b55..37a1daf 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -30,8 +30,6 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - git config --global user.email "github-actions[bot]@users.noreply.github.com" - git config --global user.name "github-actions[bot]" for REPO in ${{ env.REPOS }}; do echo "Processing $REPO" gh repo clone ubiquity/$REPO @@ -39,7 +37,10 @@ jobs: branch_name="add-sync-script" git checkout -b $branch_name mkdir -p .github/workflows + echo "${{ env.SYNC_CONTENT }}" echo "${{ env.SYNC_CONTENT }}" > .github/workflows/sync.yml + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "github-actions[bot]" git add .github/workflows/sync.yml git commit -m "Add sync.yml workflow" git push origin $branch_name From 747d03de5e603d2b1bde0d96b8745dbf0952e462 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 14:46:42 +0200 Subject: [PATCH 29/93] fix: change pr title --- .github/workflows/add-sync-to-repos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 37a1daf..fdfebdf 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -44,7 +44,7 @@ jobs: git add .github/workflows/sync.yml git commit -m "Add sync.yml workflow" git push origin $branch_name - gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "Details: https://github.com/ubiquity/ts-template/issues/54" --head "$branch_name" --base development + gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "s" --head "$branch_name" --base development cd .. rm -rf $REPO done From 9b0e70b331ce12d48f7b5da5cb5afa692e0a9baf Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 14:49:53 +0200 Subject: [PATCH 30/93] fix: add original_remote variable --- .github/workflows/add-sync-to-repos.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index fdfebdf..4fcf47d 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -30,6 +30,7 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + original_remote=$(git remote get-url origin) for REPO in ${{ env.REPOS }}; do echo "Processing $REPO" gh repo clone ubiquity/$REPO @@ -43,8 +44,8 @@ jobs: git config --global user.name "github-actions[bot]" git add .github/workflows/sync.yml git commit -m "Add sync.yml workflow" - git push origin $branch_name - gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "s" --head "$branch_name" --base development + git push $original_remote $branch_name + gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "Details: https://github.com/ubiquity/ts-template/issues/54" --head "$branch_name" --base development cd .. rm -rf $REPO done From 3d04254b45622e7ee4efb0bd93ed07d2c9bad912 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 14:51:40 +0200 Subject: [PATCH 31/93] fix: add debug prints --- .github/workflows/add-sync-to-repos.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 4fcf47d..d3174e2 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -38,12 +38,17 @@ jobs: branch_name="add-sync-script" git checkout -b $branch_name mkdir -p .github/workflows + echo "sync.yml content:" echo "${{ env.SYNC_CONTENT }}" + echo "------" echo "${{ env.SYNC_CONTENT }}" > .github/workflows/sync.yml + echo "configuring git" git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.name "github-actions[bot]" git add .github/workflows/sync.yml + echo "commiting" git commit -m "Add sync.yml workflow" + echo "pushing" git push $original_remote $branch_name gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "Details: https://github.com/ubiquity/ts-template/issues/54" --head "$branch_name" --base development cd .. From b006f484f8cfe605f86ec7f87ab1a1b5de6f045b Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 14:56:00 +0200 Subject: [PATCH 32/93] fix: remove push --- .github/workflows/add-sync-to-repos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index d3174e2..6662ee4 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -13,7 +13,7 @@ jobs: - name: Read sync.yml content id: read-sync-yml run: | - SYNC_CONTENT=$(cat .github/templates/sync.yml | sed 's/[$()`]/\\&/g') + SYNC_CONTENT=$(cat .github/templates/sync.yml) echo "SYNC_CONTENT<> $GITHUB_ENV echo "$SYNC_CONTENT" >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV @@ -49,7 +49,7 @@ jobs: echo "commiting" git commit -m "Add sync.yml workflow" echo "pushing" - git push $original_remote $branch_name + # git push $original_remote $branch_name gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "Details: https://github.com/ubiquity/ts-template/issues/54" --head "$branch_name" --base development cd .. rm -rf $REPO From f5e88a81fd1a321a7cafe2d28a074a2d3e14acbd Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 14:56:51 +0200 Subject: [PATCH 33/93] fix: typo --- .github/workflows/add-sync-to-repos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 6662ee4..95e4330 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -13,7 +13,7 @@ jobs: - name: Read sync.yml content id: read-sync-yml run: | - SYNC_CONTENT=$(cat .github/templates/sync.yml) + SYNC_CONTENT=$(cat .github/workflows/sync.yml) echo "SYNC_CONTENT<> $GITHUB_ENV echo "$SYNC_CONTENT" >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV From 42c69b6a1fdcf1ea12dc60f0db316c531b94df1b Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:01:53 +0200 Subject: [PATCH 34/93] fix: copy the file --- .github/workflows/add-sync-to-repos.yml | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 95e4330..86d669d 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -10,27 +10,13 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Read sync.yml content - id: read-sync-yml - run: | - SYNC_CONTENT=$(cat .github/workflows/sync.yml) - echo "SYNC_CONTENT<> $GITHUB_ENV - echo "$SYNC_CONTENT" >> $GITHUB_ENV - echo "EOF" >> $GITHUB_ENV - - - name: List repositories updated in the last month - id: list_repos - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - REPOS=$(gh repo list ubiquity --limit 1 --json name,updatedAt -q '.[] | select(.updatedAt > (now - 30*24*60*60)) | .name') - echo "REPOS=$REPOS" >> $GITHUB_ENV - - name: Add sync.yml to each repo env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + sync_path=$(realpath .github/workflows/sync.yml) original_remote=$(git remote get-url origin) + repos=$(gh repo list ubiquity --limit 1 --json name,updatedAt -q '.[] | select(.updatedAt > (now - 30*24*60*60)) | .name') for REPO in ${{ env.REPOS }}; do echo "Processing $REPO" gh repo clone ubiquity/$REPO @@ -38,11 +24,7 @@ jobs: branch_name="add-sync-script" git checkout -b $branch_name mkdir -p .github/workflows - echo "sync.yml content:" - echo "${{ env.SYNC_CONTENT }}" - echo "------" - echo "${{ env.SYNC_CONTENT }}" > .github/workflows/sync.yml - echo "configuring git" + cp ${{ env.SYNC_YML_PATH }} .github/workflows/sync.yml git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.name "github-actions[bot]" git add .github/workflows/sync.yml From cf09a00669d5811a12e3b1d890647c6608a68d97 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:03:28 +0200 Subject: [PATCH 35/93] fix: typo --- .github/workflows/add-sync-to-repos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 86d669d..8ffe86a 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -17,7 +17,7 @@ jobs: sync_path=$(realpath .github/workflows/sync.yml) original_remote=$(git remote get-url origin) repos=$(gh repo list ubiquity --limit 1 --json name,updatedAt -q '.[] | select(.updatedAt > (now - 30*24*60*60)) | .name') - for REPO in ${{ env.REPOS }}; do + for REPO in $repos; do echo "Processing $REPO" gh repo clone ubiquity/$REPO cd $REPO From a969b8263d73352ed1d49c823f59ff20b56e24e7 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:04:32 +0200 Subject: [PATCH 36/93] fix: typo --- .github/workflows/add-sync-to-repos.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 8ffe86a..1b8175b 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -24,13 +24,11 @@ jobs: branch_name="add-sync-script" git checkout -b $branch_name mkdir -p .github/workflows - cp ${{ env.SYNC_YML_PATH }} .github/workflows/sync.yml + cp $sync_path .github/workflows/sync.yml git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.name "github-actions[bot]" git add .github/workflows/sync.yml - echo "commiting" git commit -m "Add sync.yml workflow" - echo "pushing" # git push $original_remote $branch_name gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "Details: https://github.com/ubiquity/ts-template/issues/54" --head "$branch_name" --base development cd .. From 626269f162a1843a5ae3efc5d056bb91cf3a7f4e Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:15:07 +0200 Subject: [PATCH 37/93] fix: create a branch in this repository --- .github/workflows/add-sync-to-repos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 1b8175b..4286e33 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -29,8 +29,8 @@ jobs: git config --global user.name "github-actions[bot]" git add .github/workflows/sync.yml git commit -m "Add sync.yml workflow" - # git push $original_remote $branch_name - gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "Details: https://github.com/ubiquity/ts-template/issues/54" --head "$branch_name" --base development + git push $original_remote $branch_name + gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "Details: https://github.com/ubiquity/ts-template/issues/54" --head "$original_remote:$branch_name" --base development cd .. rm -rf $REPO done From 1d9a0dc7a3eafdb170053899b3a29dfb2beec30a Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:16:01 +0200 Subject: [PATCH 38/93] fix: typo --- .github/workflows/add-sync-to-repos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 4286e33..2ae624e 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -29,7 +29,7 @@ jobs: git config --global user.name "github-actions[bot]" git add .github/workflows/sync.yml git commit -m "Add sync.yml workflow" - git push $original_remote $branch_name + git push "$original_remote" "$branch_name" gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "Details: https://github.com/ubiquity/ts-template/issues/54" --head "$original_remote:$branch_name" --base development cd .. rm -rf $REPO From 7f261f94066e0f6b0389692788b3ca1a1d15ad25 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:21:56 +0200 Subject: [PATCH 39/93] fix: add git config url --- .github/workflows/add-sync-to-repos.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 2ae624e..53122dc 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -14,6 +14,9 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "github-actions[bot]" + git config --global url."https://${{ secrets.GITHUB_TOKEN }}@github.com/".insteadOf "https://github.com/" sync_path=$(realpath .github/workflows/sync.yml) original_remote=$(git remote get-url origin) repos=$(gh repo list ubiquity --limit 1 --json name,updatedAt -q '.[] | select(.updatedAt > (now - 30*24*60*60)) | .name') @@ -25,8 +28,6 @@ jobs: git checkout -b $branch_name mkdir -p .github/workflows cp $sync_path .github/workflows/sync.yml - git config --global user.email "github-actions[bot]@users.noreply.github.com" - git config --global user.name "github-actions[bot]" git add .github/workflows/sync.yml git commit -m "Add sync.yml workflow" git push "$original_remote" "$branch_name" From edf90e83786964e99bb804de3b1a83f5eecab555 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:25:16 +0200 Subject: [PATCH 40/93] fix: try on this repo --- .github/workflows/add-sync-to-repos.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 53122dc..2f01159 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -21,6 +21,7 @@ jobs: original_remote=$(git remote get-url origin) repos=$(gh repo list ubiquity --limit 1 --json name,updatedAt -q '.[] | select(.updatedAt > (now - 30*24*60*60)) | .name') for REPO in $repos; do + $REPO = https://github.com/zyrafal/ts-template echo "Processing $REPO" gh repo clone ubiquity/$REPO cd $REPO @@ -30,7 +31,8 @@ jobs: cp $sync_path .github/workflows/sync.yml git add .github/workflows/sync.yml git commit -m "Add sync.yml workflow" - git push "$original_remote" "$branch_name" + git remote set-url origin https://${{ secrets.GITHUB_TOKEN }}@github.com/ubiquity/$REPO.git + git push origin "$branch_name" gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "Details: https://github.com/ubiquity/ts-template/issues/54" --head "$original_remote:$branch_name" --base development cd .. rm -rf $REPO From ab9d76d89806609b52fd2f2a12d1e2a07fdddd57 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:26:52 +0200 Subject: [PATCH 41/93] fix: quotes --- .github/workflows/add-sync-to-repos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 2f01159..882f710 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -21,7 +21,7 @@ jobs: original_remote=$(git remote get-url origin) repos=$(gh repo list ubiquity --limit 1 --json name,updatedAt -q '.[] | select(.updatedAt > (now - 30*24*60*60)) | .name') for REPO in $repos; do - $REPO = https://github.com/zyrafal/ts-template + $REPO = "https://github.com/zyrafal/ts-template" echo "Processing $REPO" gh repo clone ubiquity/$REPO cd $REPO From 3174b2050e68c6eec9e9cd764e28b5768841a4d1 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:30:28 +0200 Subject: [PATCH 42/93] fix: replace repo --- .github/workflows/add-sync-to-repos.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 882f710..219e814 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -21,9 +21,8 @@ jobs: original_remote=$(git remote get-url origin) repos=$(gh repo list ubiquity --limit 1 --json name,updatedAt -q '.[] | select(.updatedAt > (now - 30*24*60*60)) | .name') for REPO in $repos; do - $REPO = "https://github.com/zyrafal/ts-template" echo "Processing $REPO" - gh repo clone ubiquity/$REPO + gh repo clone zyrafal/$REPO cd $REPO branch_name="add-sync-script" git checkout -b $branch_name From 63530cc1b0965d3915e73d4ef87c652c78ff7040 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 16:43:06 +0200 Subject: [PATCH 43/93] fix: try forking the repo --- .github/workflows/add-sync-to-repos.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml index 219e814..fc59586 100644 --- a/.github/workflows/add-sync-to-repos.yml +++ b/.github/workflows/add-sync-to-repos.yml @@ -16,23 +16,19 @@ jobs: run: | git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.name "github-actions[bot]" - git config --global url."https://${{ secrets.GITHUB_TOKEN }}@github.com/".insteadOf "https://github.com/" sync_path=$(realpath .github/workflows/sync.yml) original_remote=$(git remote get-url origin) repos=$(gh repo list ubiquity --limit 1 --json name,updatedAt -q '.[] | select(.updatedAt > (now - 30*24*60*60)) | .name') for REPO in $repos; do echo "Processing $REPO" - gh repo clone zyrafal/$REPO + yes | gh repo fork --clone ubiquity/$REPO cd $REPO - branch_name="add-sync-script" - git checkout -b $branch_name mkdir -p .github/workflows cp $sync_path .github/workflows/sync.yml git add .github/workflows/sync.yml git commit -m "Add sync.yml workflow" - git remote set-url origin https://${{ secrets.GITHUB_TOKEN }}@github.com/ubiquity/$REPO.git - git push origin "$branch_name" - gh pr create --title "Add sync.yml workflow that synchronizes the template every month" --body "Details: https://github.com/ubiquity/ts-template/issues/54" --head "$original_remote:$branch_name" --base development + git push + gh pr create --title "Test" --body "Don't mind this, I'm just testing something." --base development cd .. rm -rf $REPO done From fddee05b7806d380171ab3ab9356ffaa387dbda2 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 17:39:13 +0200 Subject: [PATCH 44/93] fix: add write permission to sync.yml --- .github/workflows/sync.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml index 5e59622..c507f1f 100644 --- a/.github/workflows/sync.yml +++ b/.github/workflows/sync.yml @@ -8,7 +8,8 @@ on: jobs: sync: runs-on: ubuntu-latest - + permissions: + contents: write steps: - name: Checkout uses: actions/checkout@v4 From de08e6f0ad43ff50fcaf5eed4e5c1263e2e3a39a Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 17:43:27 +0200 Subject: [PATCH 45/93] fix: delete add-sync-to-repos.yml --- .github/workflows/add-sync-to-repos.yml | 34 ------------------------- 1 file changed, 34 deletions(-) delete mode 100644 .github/workflows/add-sync-to-repos.yml diff --git a/.github/workflows/add-sync-to-repos.yml b/.github/workflows/add-sync-to-repos.yml deleted file mode 100644 index fc59586..0000000 --- a/.github/workflows/add-sync-to-repos.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Add sync.yml to repos - -on: - workflow_dispatch: - -jobs: - update-repos: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Add sync.yml to each repo - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - git config --global user.email "github-actions[bot]@users.noreply.github.com" - git config --global user.name "github-actions[bot]" - sync_path=$(realpath .github/workflows/sync.yml) - original_remote=$(git remote get-url origin) - repos=$(gh repo list ubiquity --limit 1 --json name,updatedAt -q '.[] | select(.updatedAt > (now - 30*24*60*60)) | .name') - for REPO in $repos; do - echo "Processing $REPO" - yes | gh repo fork --clone ubiquity/$REPO - cd $REPO - mkdir -p .github/workflows - cp $sync_path .github/workflows/sync.yml - git add .github/workflows/sync.yml - git commit -m "Add sync.yml workflow" - git push - gh pr create --title "Test" --body "Don't mind this, I'm just testing something." --base development - cd .. - rm -rf $REPO - done From 67f39ba3b71f3a9f23d6e9fd9917b11bf91b3afb Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 21 Aug 2024 17:43:49 +0200 Subject: [PATCH 46/93] fix: add pull-requests permission to sync.yml --- .github/workflows/sync.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml index c507f1f..c90fd3d 100644 --- a/.github/workflows/sync.yml +++ b/.github/workflows/sync.yml @@ -10,6 +10,7 @@ jobs: runs-on: ubuntu-latest permissions: contents: write + pull-requests: write steps: - name: Checkout uses: actions/checkout@v4 From 89a8e54735bc193a83652087bd2952333ea60b63 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Fri, 30 Aug 2024 14:38:56 +0200 Subject: [PATCH 47/93] fix: avoid merge conflicts and rename sync.yml to sync-template.yml --- .github/workflows/{sync.yml => sync-template.yml} | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) rename .github/workflows/{sync.yml => sync-template.yml} (76%) diff --git a/.github/workflows/sync.yml b/.github/workflows/sync-template.yml similarity index 76% rename from .github/workflows/sync.yml rename to .github/workflows/sync-template.yml index c90fd3d..6a658b6 100644 --- a/.github/workflows/sync.yml +++ b/.github/workflows/sync-template.yml @@ -23,15 +23,16 @@ jobs: run: | branch_name=$(git rev-parse --abbrev-ref HEAD) original_remote=$(git remote get-url origin) - pr_branch="sync/${branch_name}" + pr_branch="sync-template/${branch_name}" git config --global user.email "github-actions[bot]@users.noreply.github.com" git config --global user.name "github-actions[bot]" - git remote add template https://github.com/ubiquity/ts-template - git fetch template development - git update-index --assume-unchanged ".github/workflows/sync.yml" - git merge template/development --allow-unrelated-histories || true git checkout -b "$pr_branch" + git clone https://github.com/ubiquity/ts-template + cp -rf ts-template/* . + rm -rf ts-template/ git add . + git commit -m "Sync template" git push "$original_remote" "$pr_branch" gh pr create --title "Sync branch to template" --body "This pull request merges changes from the template repository." --head "$pr_branch" --base "$branch_name" + From b5235dc2f0d1b16932db1fc099669a2deb83ae32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= <4975670+0x4007@users.noreply.github.com> Date: Sun, 1 Sep 2024 16:31:00 +0900 Subject: [PATCH 48/93] Update sync-template.yml Co-authored-by: Mentlegen <9807008+gentlementlegen@users.noreply.github.com> --- .github/workflows/sync-template.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sync-template.yml b/.github/workflows/sync-template.yml index 6a658b6..f92dd60 100644 --- a/.github/workflows/sync-template.yml +++ b/.github/workflows/sync-template.yml @@ -31,7 +31,7 @@ jobs: cp -rf ts-template/* . rm -rf ts-template/ git add . - git commit -m "Sync template" + git commit -m "chore: sync template" git push "$original_remote" "$pr_branch" gh pr create --title "Sync branch to template" --body "This pull request merges changes from the template repository." --head "$pr_branch" --base "$branch_name" From 4356e5c6c3b3059cbe01b3621e7be37355b0d10e Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 4 Sep 2024 12:29:15 +0200 Subject: [PATCH 49/93] feat: add a list of ignored files --- .github/workflows/sync-template.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/sync-template.yml b/.github/workflows/sync-template.yml index f92dd60..28827be 100644 --- a/.github/workflows/sync-template.yml +++ b/.github/workflows/sync-template.yml @@ -20,6 +20,7 @@ jobs: - name: Sync branch to template env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + IGNORE_FILES: "README.md another-file.txt" run: | branch_name=$(git rev-parse --abbrev-ref HEAD) original_remote=$(git remote get-url origin) @@ -28,6 +29,9 @@ jobs: git config --global user.name "github-actions[bot]" git checkout -b "$pr_branch" git clone https://github.com/ubiquity/ts-template + for file in $IGNORE_FILES; do + rm -rf "ts-template/$file" + done cp -rf ts-template/* . rm -rf ts-template/ git add . From 89b942ed3a2d87c00f2bf61057586e0ead5119d3 Mon Sep 17 00:00:00 2001 From: zyrafal <37906205+zyrafal@users.noreply.github.com> Date: Wed, 4 Sep 2024 12:48:29 +0200 Subject: [PATCH 50/93] feat: auth as the bot --- .github/workflows/sync-template.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sync-template.yml b/.github/workflows/sync-template.yml index 28827be..dc92ad5 100644 --- a/.github/workflows/sync-template.yml +++ b/.github/workflows/sync-template.yml @@ -16,10 +16,17 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 + + - name: Get GitHub App token + uses: tibdex/github-app-token@v1.7.0 + id: get_installation_token + with: + app_id: ${{ secrets.APP_ID }} + private_key: ${{ secrets.APP_PRIVATE_KEY }} - name: Sync branch to template env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ steps.get_installation_token.outputs.token }} IGNORE_FILES: "README.md another-file.txt" run: | branch_name=$(git rev-parse --abbrev-ref HEAD) From ed02340529233bdf4179c5aacb0a0c09b5c556b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= <4975670+0x4007@users.noreply.github.com> Date: Tue, 1 Oct 2024 00:18:33 +0900 Subject: [PATCH 51/93] Update deploy.yml --- .github/workflows/deploy.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 2d51792..bb37d39 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -24,3 +24,5 @@ jobs: cloudflare_api_token: ${{ secrets.CLOUDFLARE_API_TOKEN }} commit_sha: ${{ github.event.workflow_run.head_sha }} workflow_run_id: ${{ github.event.workflow_run.id }} + app_id: ${{ secrets.APP_ID }} + private_key: ${{ secrets.APP_PRIVATE_KEY }} From 858ab74ead68d8954a8e32074c9b0eb805c5b6ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= <4975670+0x4007@users.noreply.github.com> Date: Tue, 1 Oct 2024 22:31:32 +0900 Subject: [PATCH 52/93] Update deploy.yml --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index bb37d39..3d6b9a8 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -25,4 +25,4 @@ jobs: commit_sha: ${{ github.event.workflow_run.head_sha }} workflow_run_id: ${{ github.event.workflow_run.id }} app_id: ${{ secrets.APP_ID }} - private_key: ${{ secrets.APP_PRIVATE_KEY }} + app_private_key: ${{ secrets.APP_PRIVATE_KEY }} From 499b57b84247442beff8a89226d1a115fd9edbe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:06:13 +0900 Subject: [PATCH 53/93] refactor: esbuild scripts --- build/esbuild-build.ts | 42 +++++++++++++++++++---------------------- build/esbuild-server.ts | 22 +++++++++++---------- 2 files changed, 31 insertions(+), 33 deletions(-) diff --git a/build/esbuild-build.ts b/build/esbuild-build.ts index 3004b1d..00fc141 100644 --- a/build/esbuild-build.ts +++ b/build/esbuild-build.ts @@ -1,33 +1,29 @@ -import esbuild from "esbuild"; -const typescriptEntries = ["static/main.ts"]; -// const cssEntries = ["static/style.css"]; -const entries = [ - ...typescriptEntries, - // ...cssEntries -]; +import esbuild, { BuildOptions } from "esbuild"; -export const esBuildContext: esbuild.BuildOptions = { +const ENTRY_POINTS = { + typescript: ["static/main.ts"], + // css: ["static/style.css"], +}; + +const DATA_URL_LOADERS = [".png", ".woff", ".woff2", ".eot", ".ttf", ".svg"]; + +export const esbuildOptions: BuildOptions = { sourcemap: true, - entryPoints: entries, + entryPoints: [...ENTRY_POINTS.typescript /* ...ENTRY_POINTS.css */], bundle: true, minify: false, - loader: { - ".png": "dataurl", - ".woff": "dataurl", - ".woff2": "dataurl", - ".eot": "dataurl", - ".ttf": "dataurl", - ".svg": "dataurl", - }, + loader: Object.fromEntries(DATA_URL_LOADERS.map((ext) => [ext, "dataurl"])), outdir: "static/dist", }; -esbuild - .build(esBuildContext) - .then(() => { +async function runBuild() { + try { + await esbuild.build(esbuildOptions); console.log("\tesbuild complete"); - }) - .catch((err) => { + } catch (err) { console.error(err); process.exit(1); - }); + } +} + +void runBuild(); diff --git a/build/esbuild-server.ts b/build/esbuild-server.ts index bb992ae..0ba3c3f 100644 --- a/build/esbuild-server.ts +++ b/build/esbuild-server.ts @@ -1,18 +1,20 @@ import esbuild from "esbuild"; -import { esBuildContext } from "./esbuild-build"; +import { esbuildOptions } from "./esbuild-build"; -(async () => { - await server(); -})().catch((error) => { - console.error("Unhandled error:", error); - process.exit(1); -}); +void (async () => { + try { + await server(); + } catch (error) { + console.error("Unhandled error:", error); + process.exit(1); + } +})(); export async function server() { - const _context = await esbuild.context(esBuildContext); - const { port } = await _context.serve({ + const context = await esbuild.context(esbuildOptions); + const { host, port } = await context.serve({ servedir: "static", port: 8080, }); - console.log(`http://localhost:${port}`); + console.log(`Server running at http://${host}:${port}`); } From 1d45505c77ebfbdb4b0b8e458f848622160610a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:09:27 +0900 Subject: [PATCH 54/93] chore: clean up eslintrc --- .eslintrc | 5 ++--- package.json | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.eslintrc b/.eslintrc index 5fa69fa..7d20576 100644 --- a/.eslintrc +++ b/.eslintrc @@ -8,14 +8,14 @@ "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:sonarjs/recommended"], "ignorePatterns": ["**/*.js"], "rules": { - "filename-rules/match": [2, "/^(e2e\\.ts$|.*\/e2e\\.ts$|[a-z0-9]+(?:[-._a-z0-9]+)*\\.ts|\\.[a-z0-9]+)$/"], + "filename-rules/match": [2, "/^(e2e\\.ts$|.*\\/e2e\\.ts$|[a-z0-9]+(?:[-._a-z0-9]+)*\\.ts|\\.[a-z0-9]+)$/"], "prefer-arrow-callback": ["warn", { "allowNamedFunctions": true }], "func-style": ["warn", "declaration", { "allowArrowFunctions": false }], "@typescript-eslint/no-floating-promises": "error", "@typescript-eslint/no-non-null-assertion": "error", "constructor-super": "error", "no-invalid-this": "off", - "@typescript-eslint/no-invalid-this": ["error"], + "@typescript-eslint/no-invalid-this": "error", "no-restricted-syntax": ["error", "ForInStatement"], "use-isnan": "error", "no-unneeded-ternary": "error", @@ -46,7 +46,6 @@ { "selector": "typeLike", "format": ["StrictPascalCase"] }, { "selector": "typeParameter", "format": ["StrictPascalCase"], "prefix": ["T"] }, { "selector": "variable", "format": ["strictCamelCase", "UPPER_CASE"], "leadingUnderscore": "allow", "trailingUnderscore": "allow" }, - { "selector": "variable", "format": ["strictCamelCase"], "leadingUnderscore": "allow", "trailingUnderscore": "allow" }, { "selector": "variable", "modifiers": ["destructured"], "format": null }, { "selector": "variable", "types": ["boolean"], "format": ["StrictPascalCase"], "prefix": ["is", "should", "has", "can", "did", "will", "does"] }, { "selector": "variableLike", "format": ["strictCamelCase"] }, diff --git a/package.json b/package.json index 6a69069..d40382f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ts-template", - "version": "1.0.0", + "version": "0.0.0", "description": "Template repository with TypeScript support.", "main": "build/index.ts", "author": "Ubiquity DAO", From 0b97b0ee2575d757de01992f2cd9bb0d2d08e023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:15:21 +0900 Subject: [PATCH 55/93] feat: no empty strings --- .github/workflows/no-empty-strings.yml | 71 ++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .github/workflows/no-empty-strings.yml diff --git a/.github/workflows/no-empty-strings.yml b/.github/workflows/no-empty-strings.yml new file mode 100644 index 0000000..41f1f1c --- /dev/null +++ b/.github/workflows/no-empty-strings.yml @@ -0,0 +1,71 @@ +name: Check for Empty Strings + +on: + pull_request: + types: [opened, synchronize, reopened] + +jobs: + check-empty-strings: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Get GitHub App token + uses: tibdex/github-app-token@v1.7.0 + id: get_installation_token + with: + app_id: ${{ secrets.APP_ID }} + private_key: ${{ secrets.APP_PRIVATE_KEY }} + + - name: Find empty strings + id: find-empty-strings + run: | + # Get the base branch (usually main or master) + BASE_BRANCH=$(gh pr view ${{ github.event.pull_request.number }} --json baseRefName --jq .baseRefName) + + # Get the list of changed files in the PR + CHANGED_FILES=$(gh pr diff ${{ github.event.pull_request.number }} --name-only) + + # Initialize empty string for results + EMPTY_STRINGS="" + + # Loop through changed files + for file in $CHANGED_FILES; do + if [[ $file =~ \.(ts|tsx)$ ]]; then + # Get the diff for this file + DIFF=$(gh pr diff ${{ github.event.pull_request.number }} --color never -- $file) + + # Find added lines with empty strings + ADDED_EMPTY=$(echo "$DIFF" | grep -n "^+" | grep -E "(''{2}|\"\"{2})" | sed "s/^+//g" | sed "s/^/${file}:/") + + # Append results + if [ ! -z "$ADDED_EMPTY" ]; then + EMPTY_STRINGS+="$ADDED_EMPTY"$'\n' + fi + fi + done + + # Output results + echo "EMPTY_STRINGS<> $GITHUB_OUTPUT + echo "$EMPTY_STRINGS" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + env: + GH_TOKEN: ${{ steps.get_installation_token.outputs.token }} + + - name: Comment on PR + uses: actions/github-script@v6 + if: steps.find-empty-strings.outputs.EMPTY_STRINGS + with: + github-token: ${{ steps.get_installation_token.outputs.token }} + script: | + const emptyStrings = process.env.EMPTY_STRINGS.trim().split('\n'); + if (emptyStrings.length > 0) { + const body = `### Empty Strings Found\n\nPlease review the following lines containing empty strings:\n\n${emptyStrings.map(line => `- \`${line}\``).join('\n')}`; + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.name, + body: body + }); + } From 1cff7e2149fd0fab0802dbcab00ea293f184fc33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:21:23 +0900 Subject: [PATCH 56/93] chore: empty string test --- build/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/index.ts b/build/index.ts index e1cf0b8..1b0be7a 100644 --- a/build/index.ts +++ b/build/index.ts @@ -2,3 +2,5 @@ import * as dotenv from "dotenv"; // load environment variables (if you have them) dotenv.config(); console.log("Welcome to ts-template"); + +const _EMPTY_STRING_TEST = ""; From 3addf6bcfd90b3890409e24c3088f68415e4c112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:21:59 +0900 Subject: [PATCH 57/93] chore: empty string test --- build/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/build/index.ts b/build/index.ts index 1b0be7a..e1cf0b8 100644 --- a/build/index.ts +++ b/build/index.ts @@ -2,5 +2,3 @@ import * as dotenv from "dotenv"; // load environment variables (if you have them) dotenv.config(); console.log("Welcome to ts-template"); - -const _EMPTY_STRING_TEST = ""; From d2dc0f963321805f098fbc82c9b7329eb69645b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:22:20 +0900 Subject: [PATCH 58/93] chore: empty string test --- build/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/index.ts b/build/index.ts index e1cf0b8..1b0be7a 100644 --- a/build/index.ts +++ b/build/index.ts @@ -2,3 +2,5 @@ import * as dotenv from "dotenv"; // load environment variables (if you have them) dotenv.config(); console.log("Welcome to ts-template"); + +const _EMPTY_STRING_TEST = ""; From 37d8bd4a06774d9a296eec9e013276b5af6213cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:27:02 +0900 Subject: [PATCH 59/93] chore: empty string test --- .github/workflows/no-empty-strings.yml | 12 ++++++++++++ .github/workflows/sync-template.yml | 4 +--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/no-empty-strings.yml b/.github/workflows/no-empty-strings.yml index 41f1f1c..d40b600 100644 --- a/.github/workflows/no-empty-strings.yml +++ b/.github/workflows/no-empty-strings.yml @@ -1,5 +1,9 @@ name: Check for Empty Strings +permissions: + contents: read + id-token: write + on: pull_request: types: [opened, synchronize, reopened] @@ -8,6 +12,14 @@ jobs: check-empty-strings: runs-on: ubuntu-latest steps: + - name: Debug - Check if APP_ID is set + run: | + if [ -n "${{ secrets.APP_ID }}" ]; then + echo "APP_ID is set" + else + echo "APP_ID is not set" + fi + - name: Checkout code uses: actions/checkout@v4 diff --git a/.github/workflows/sync-template.yml b/.github/workflows/sync-template.yml index dc92ad5..274b2ea 100644 --- a/.github/workflows/sync-template.yml +++ b/.github/workflows/sync-template.yml @@ -23,7 +23,7 @@ jobs: with: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.APP_PRIVATE_KEY }} - + - name: Sync branch to template env: GH_TOKEN: ${{ steps.get_installation_token.outputs.token }} @@ -45,5 +45,3 @@ jobs: git commit -m "chore: sync template" git push "$original_remote" "$pr_branch" gh pr create --title "Sync branch to template" --body "This pull request merges changes from the template repository." --head "$pr_branch" --base "$branch_name" - - From f156cbfb45dc5b5c0b6997af0cba5413eb4393d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:30:19 +0900 Subject: [PATCH 60/93] chore: empty string test --- build/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/index.ts b/build/index.ts index 1b0be7a..a7c0eb9 100644 --- a/build/index.ts +++ b/build/index.ts @@ -3,4 +3,5 @@ import * as dotenv from "dotenv"; dotenv.config(); console.log("Welcome to ts-template"); -const _EMPTY_STRING_TEST = ""; +const _EMPTY_STRING_TEST_1 = ""; +const _EMPTY_STRING_TEST_2 = ""; From 3fd489511c9576262b8d0e9d6ba22b7ec08d7f0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:32:36 +0900 Subject: [PATCH 61/93] chore: empty string test --- .github/workflows/no-empty-strings.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/no-empty-strings.yml b/.github/workflows/no-empty-strings.yml index d40b600..e15ae30 100644 --- a/.github/workflows/no-empty-strings.yml +++ b/.github/workflows/no-empty-strings.yml @@ -33,11 +33,20 @@ jobs: - name: Find empty strings id: find-empty-strings run: | + # Set PR number as an environment variable + PR_NUMBER="${{ github.event.pull_request.number }}" + + # Check if PR_NUMBER is set + if [ -z "$PR_NUMBER" ]; then + echo "Error: PR number is not set" + exit 1 + fi + # Get the base branch (usually main or master) - BASE_BRANCH=$(gh pr view ${{ github.event.pull_request.number }} --json baseRefName --jq .baseRefName) + BASE_BRANCH=$(gh pr view "$PR_NUMBER" --json baseRefName --jq .baseRefName) # Get the list of changed files in the PR - CHANGED_FILES=$(gh pr diff ${{ github.event.pull_request.number }} --name-only) + CHANGED_FILES=$(gh pr diff "$PR_NUMBER" --name-only) # Initialize empty string for results EMPTY_STRINGS="" @@ -46,7 +55,7 @@ jobs: for file in $CHANGED_FILES; do if [[ $file =~ \.(ts|tsx)$ ]]; then # Get the diff for this file - DIFF=$(gh pr diff ${{ github.event.pull_request.number }} --color never -- $file) + DIFF=$(gh pr diff "$PR_NUMBER" --color never -- "$file") # Find added lines with empty strings ADDED_EMPTY=$(echo "$DIFF" | grep -n "^+" | grep -E "(''{2}|\"\"{2})" | sed "s/^+//g" | sed "s/^/${file}:/") From 03d926be05d33545df114ea9220d988d81ee15a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:39:24 +0900 Subject: [PATCH 62/93] chore: empty string test --- .github/workflows/no-empty-strings.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/no-empty-strings.yml b/.github/workflows/no-empty-strings.yml index e15ae30..46a39d1 100644 --- a/.github/workflows/no-empty-strings.yml +++ b/.github/workflows/no-empty-strings.yml @@ -30,18 +30,20 @@ jobs: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.APP_PRIVATE_KEY }} - - name: Find empty strings + - name: Check for empty strings in PR id: find-empty-strings run: | - # Set PR number as an environment variable - PR_NUMBER="${{ github.event.pull_request.number }}" + # Get PR number from GitHub event + PR_NUMBER=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH") - # Check if PR_NUMBER is set - if [ -z "$PR_NUMBER" ]; then - echo "Error: PR number is not set" + # Check if PR_NUMBER is set and valid + if [ -z "$PR_NUMBER" ] || [ "$PR_NUMBER" = "null" ]; then + echo "Error: PR number is not set or invalid" exit 1 fi + echo "Checking PR #$PR_NUMBER" + # Get the base branch (usually main or master) BASE_BRANCH=$(gh pr view "$PR_NUMBER" --json baseRefName --jq .baseRefName) @@ -55,7 +57,7 @@ jobs: for file in $CHANGED_FILES; do if [[ $file =~ \.(ts|tsx)$ ]]; then # Get the diff for this file - DIFF=$(gh pr diff "$PR_NUMBER" --color never -- "$file") + DIFF=$(gh pr diff "$PR_NUMBER" --color never "$file") # Find added lines with empty strings ADDED_EMPTY=$(echo "$DIFF" | grep -n "^+" | grep -E "(''{2}|\"\"{2})" | sed "s/^+//g" | sed "s/^/${file}:/") @@ -73,6 +75,7 @@ jobs: echo "EOF" >> $GITHUB_OUTPUT env: GH_TOKEN: ${{ steps.get_installation_token.outputs.token }} + shell: bash - name: Comment on PR uses: actions/github-script@v6 From 2ff231ccc8e7d3a68f9c724b256c6179165ec25a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:44:46 +0900 Subject: [PATCH 63/93] chore: empty string test --- .github/workflows/no-empty-strings.yml | 92 ++--------------- package.json | 1 + yarn.lock | 134 +++++++++++++++++++------ 3 files changed, 115 insertions(+), 112 deletions(-) diff --git a/.github/workflows/no-empty-strings.yml b/.github/workflows/no-empty-strings.yml index 46a39d1..5a7a457 100644 --- a/.github/workflows/no-empty-strings.yml +++ b/.github/workflows/no-empty-strings.yml @@ -1,95 +1,19 @@ -name: Check for Empty Strings - -permissions: - contents: read - id-token: write +name: Empty String Check on: pull_request: types: [opened, synchronize, reopened] jobs: - check-empty-strings: + check-for-empty-strings: runs-on: ubuntu-latest steps: - - name: Debug - Check if APP_ID is set + - uses: actions/checkout@v4 + - name: Install Dependencies run: | - if [ -n "${{ secrets.APP_ID }}" ]; then - echo "APP_ID is set" - else - echo "APP_ID is not set" - fi - - - name: Checkout code - uses: actions/checkout@v4 - - - name: Get GitHub App token - uses: tibdex/github-app-token@v1.7.0 - id: get_installation_token - with: - app_id: ${{ secrets.APP_ID }} - private_key: ${{ secrets.APP_PRIVATE_KEY }} - - - name: Check for empty strings in PR - id: find-empty-strings + yarn install + - name: Check for Empty Strings run: | - # Get PR number from GitHub event - PR_NUMBER=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH") - - # Check if PR_NUMBER is set and valid - if [ -z "$PR_NUMBER" ] || [ "$PR_NUMBER" = "null" ]; then - echo "Error: PR number is not set or invalid" - exit 1 - fi - - echo "Checking PR #$PR_NUMBER" - - # Get the base branch (usually main or master) - BASE_BRANCH=$(gh pr view "$PR_NUMBER" --json baseRefName --jq .baseRefName) - - # Get the list of changed files in the PR - CHANGED_FILES=$(gh pr diff "$PR_NUMBER" --name-only) - - # Initialize empty string for results - EMPTY_STRINGS="" - - # Loop through changed files - for file in $CHANGED_FILES; do - if [[ $file =~ \.(ts|tsx)$ ]]; then - # Get the diff for this file - DIFF=$(gh pr diff "$PR_NUMBER" --color never "$file") - - # Find added lines with empty strings - ADDED_EMPTY=$(echo "$DIFF" | grep -n "^+" | grep -E "(''{2}|\"\"{2})" | sed "s/^+//g" | sed "s/^/${file}:/") - - # Append results - if [ ! -z "$ADDED_EMPTY" ]; then - EMPTY_STRINGS+="$ADDED_EMPTY"$'\n' - fi - fi - done - - # Output results - echo "EMPTY_STRINGS<> $GITHUB_OUTPUT - echo "$EMPTY_STRINGS" >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT + yarn tsx .github/empty-string-checker.ts env: - GH_TOKEN: ${{ steps.get_installation_token.outputs.token }} - shell: bash - - - name: Comment on PR - uses: actions/github-script@v6 - if: steps.find-empty-strings.outputs.EMPTY_STRINGS - with: - github-token: ${{ steps.get_installation_token.outputs.token }} - script: | - const emptyStrings = process.env.EMPTY_STRINGS.trim().split('\n'); - if (emptyStrings.length > 0) { - const body = `### Empty Strings Found\n\nPlease review the following lines containing empty strings:\n\n${emptyStrings.map(line => `- \`${line}\``).join('\n')}`; - github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.name, - body: body - }); - } + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/package.json b/package.json index d40382f..87b1014 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "@cspell/dict-typescript": "^3.1.2", "@jest/globals": "29.7.0", "@mswjs/data": "0.16.1", + "@octokit/rest": "^21.0.2", "@types/jest": "29.5.12", "@types/node": "^20.11.19", "@typescript-eslint/eslint-plugin": "^7.0.1", diff --git a/yarn.lock b/yarn.lock index c4f27c7..61a0a00 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1580,6 +1580,99 @@ dependencies: which "^4.0.0" +"@octokit/auth-token@^5.0.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-5.1.1.tgz#3bbfe905111332a17f72d80bd0b51a3e2fa2cf07" + integrity sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA== + +"@octokit/core@^6.1.2": + version "6.1.2" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-6.1.2.tgz#20442d0a97c411612da206411e356014d1d1bd17" + integrity sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg== + dependencies: + "@octokit/auth-token" "^5.0.0" + "@octokit/graphql" "^8.0.0" + "@octokit/request" "^9.0.0" + "@octokit/request-error" "^6.0.1" + "@octokit/types" "^13.0.0" + before-after-hook "^3.0.2" + universal-user-agent "^7.0.0" + +"@octokit/endpoint@^10.0.0": + version "10.1.1" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-10.1.1.tgz#1a9694e7aef6aa9d854dc78dd062945945869bcc" + integrity sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q== + dependencies: + "@octokit/types" "^13.0.0" + universal-user-agent "^7.0.2" + +"@octokit/graphql@^8.0.0": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-8.1.1.tgz#3cacab5f2e55d91c733e3bf481d3a3f8a5f639c4" + integrity sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg== + dependencies: + "@octokit/request" "^9.0.0" + "@octokit/types" "^13.0.0" + universal-user-agent "^7.0.0" + +"@octokit/openapi-types@^22.2.0": + version "22.2.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-22.2.0.tgz#75aa7dcd440821d99def6a60b5f014207ae4968e" + integrity sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg== + +"@octokit/plugin-paginate-rest@^11.0.0": + version "11.3.5" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.5.tgz#a1929b3ba3dc7b63bc73bb6d3c7a3faf2a9c7649" + integrity sha512-cgwIRtKrpwhLoBi0CUNuY83DPGRMaWVjqVI/bGKsLJ4PzyWZNaEmhHroI2xlrVXkk6nFv0IsZpOp+ZWSWUS2AQ== + dependencies: + "@octokit/types" "^13.6.0" + +"@octokit/plugin-request-log@^5.3.1": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz#ccb75d9705de769b2aa82bcd105cc96eb0c00f69" + integrity sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw== + +"@octokit/plugin-rest-endpoint-methods@^13.0.0": + version "13.2.6" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.6.tgz#b9d343dbe88a6cb70cc7fa16faa98f0a29ffe654" + integrity sha512-wMsdyHMjSfKjGINkdGKki06VEkgdEldIGstIEyGX0wbYHGByOwN/KiM+hAAlUwAtPkP3gvXtVQA9L3ITdV2tVw== + dependencies: + "@octokit/types" "^13.6.1" + +"@octokit/request-error@^6.0.1": + version "6.1.5" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-6.1.5.tgz#907099e341c4e6179db623a0328d678024f54653" + integrity sha512-IlBTfGX8Yn/oFPMwSfvugfncK2EwRLjzbrpifNaMY8o/HTEAFqCA1FZxjD9cWvSKBHgrIhc4CSBIzMxiLsbzFQ== + dependencies: + "@octokit/types" "^13.0.0" + +"@octokit/request@^9.0.0": + version "9.1.3" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-9.1.3.tgz#42b693bc06238f43af3c037ebfd35621c6457838" + integrity sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA== + dependencies: + "@octokit/endpoint" "^10.0.0" + "@octokit/request-error" "^6.0.1" + "@octokit/types" "^13.1.0" + universal-user-agent "^7.0.2" + +"@octokit/rest@^21.0.2": + version "21.0.2" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-21.0.2.tgz#9b767dbc1098daea8310fd8b76bf7a97215d5972" + integrity sha512-+CiLisCoyWmYicH25y1cDfCrv41kRSvTq6pPWtRroRJzhsCZWZyCqGyI8foJT5LmScADSwRAnr/xo+eewL04wQ== + dependencies: + "@octokit/core" "^6.1.2" + "@octokit/plugin-paginate-rest" "^11.0.0" + "@octokit/plugin-request-log" "^5.3.1" + "@octokit/plugin-rest-endpoint-methods" "^13.0.0" + +"@octokit/types@^13.0.0", "@octokit/types@^13.1.0", "@octokit/types@^13.6.0", "@octokit/types@^13.6.1": + version "13.6.1" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-13.6.1.tgz#432fc6c0aaae54318e5b2d3e15c22ac97fc9b15f" + integrity sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g== + dependencies: + "@octokit/openapi-types" "^22.2.0" + "@open-draft/deferred-promise@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz#4a822d10f6f0e316be4d67b4d4f8c9a124b073bd" @@ -2340,6 +2433,11 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +before-after-hook@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-3.0.2.tgz#d5665a5fa8b62294a5aa0a499f933f4a1016195d" + integrity sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A== + blob-util@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" @@ -6659,16 +6757,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -6743,14 +6832,7 @@ string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -7117,6 +7199,11 @@ unique-string@^3.0.0: dependencies: crypto-random-string "^4.0.0" +universal-user-agent@^7.0.0, universal-user-agent@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-7.0.2.tgz#52e7d0e9b3dc4df06cc33cb2b9fd79041a54827e" + integrity sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q== + universalify@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" @@ -7284,7 +7371,7 @@ which@^4.0.0: dependencies: isexe "^3.1.1" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -7302,15 +7389,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" From 1a0963a4ef2f5f2886937f89251572424486bbfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:46:12 +0900 Subject: [PATCH 64/93] chore: empty string test --- .github/workflows/no-empty-strings.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/no-empty-strings.yml b/.github/workflows/no-empty-strings.yml index 5a7a457..3d48e85 100644 --- a/.github/workflows/no-empty-strings.yml +++ b/.github/workflows/no-empty-strings.yml @@ -9,11 +9,15 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20.10.0' - name: Install Dependencies run: | - yarn install + bun install - name: Check for Empty Strings run: | - yarn tsx .github/empty-string-checker.ts + bun run tsx .github/empty-string-checker.ts env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From cfee41214d1c04a622042f6b81f3f8a0ccc32046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:46:54 +0900 Subject: [PATCH 65/93] chore: empty string test --- .github/workflows/no-empty-strings.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/no-empty-strings.yml b/.github/workflows/no-empty-strings.yml index 3d48e85..77cd1a7 100644 --- a/.github/workflows/no-empty-strings.yml +++ b/.github/workflows/no-empty-strings.yml @@ -15,9 +15,9 @@ jobs: node-version: '20.10.0' - name: Install Dependencies run: | - bun install + yarn add tsx - name: Check for Empty Strings run: | - bun run tsx .github/empty-string-checker.ts + yarn tsx .github/empty-string-checker.ts env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From b03f2989331ff0267361a8f460d83478e6e6523a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:47:11 +0900 Subject: [PATCH 66/93] chore: empty string test --- .github/empty-string-checker.ts | 79 +++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 .github/empty-string-checker.ts diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts new file mode 100644 index 0000000..a455e6c --- /dev/null +++ b/.github/empty-string-checker.ts @@ -0,0 +1,79 @@ +import { Octokit } from "@octokit/rest"; +import { execSync } from "child_process"; + +const token = process.env.GITHUB_TOKEN; +const [owner, repo] = process.env.GITHUB_REPOSITORY?.split("/") || []; +const pullNumber = process.env.GITHUB_PR_NUMBER || process.env.PULL_REQUEST_NUMBER || "0"; + +if (!token || !owner || !repo || pullNumber === "0") { + console.error("Missing required environment variables."); + process.exit(1); +} + +const octokit = new Octokit({ auth: token }); + +async function run() { + // Get the diff of the pull request + const diff = execSync(`git diff origin/${process.env.GITHUB_BASE_REF}...HEAD`, { + encoding: "utf8", + }); + + const violations = parseDiffForEmptyStrings(diff); + + if (violations.length > 0) { + await createReview(violations); + process.exit(1); // Exit with error to indicate failure + } else { + console.log("No empty strings found."); + } +} + +function parseDiffForEmptyStrings(diff: string) { + const violations: Array<{ file: string; line: number; content: string }> = []; + const diffLines = diff.split("\n"); + + let currentFile = ""; + let lineNumber = 0; + + diffLines.forEach((line) => { + if (line.startsWith("+++ b/")) { + currentFile = line.replace("+++ b/", ""); + lineNumber = 0; + } else if (line.startsWith("+") && !line.startsWith("+++")) { + lineNumber++; + if (line.includes('""')) { + violations.push({ + file: currentFile, + line: lineNumber, + content: line.substring(1), + }); + } + } else if (!line.startsWith("-")) { + lineNumber++; + } + }); + + return violations; +} + +async function createReview(violations: Array<{ file: string; line: number; content: string }>) { + const reviewComments = violations.map((v) => ({ + path: v.file, + line: v.line, + body: `Warning: Empty string found.\n\`\`\`\n${v.content}\n\`\`\``, + })); + + await octokit.pulls.createReview({ + owner, + repo, + pull_number: parseInt(pullNumber), + event: "REQUEST_CHANGES", + comments: reviewComments, + body: "Empty strings detected in the code. Please review.", + }); +} + +run().catch((error) => { + console.error("Error running empty string check:", error); + process.exit(1); +}); From c27d5e7671fe71a3ce9ac85dea7fe4064087264a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:49:08 +0900 Subject: [PATCH 67/93] chore: empty string test --- .github/workflows/no-empty-strings.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/no-empty-strings.yml b/.github/workflows/no-empty-strings.yml index 77cd1a7..6b1e007 100644 --- a/.github/workflows/no-empty-strings.yml +++ b/.github/workflows/no-empty-strings.yml @@ -20,4 +20,7 @@ jobs: run: | yarn tsx .github/empty-string-checker.ts env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_REPOSITORY: ${{ github.repository }} + GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }} + GITHUB_BASE_REF: ${{ github.base_ref }} \ No newline at end of file From 6fb71320d6bbf5f5a9aed22b62a3e96c141dd648 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:50:57 +0900 Subject: [PATCH 68/93] chore: empty string test --- .github/empty-string-checker.ts | 9 ++++----- .github/workflows/no-empty-strings.yml | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index a455e6c..b482f72 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -1,5 +1,5 @@ import { Octokit } from "@octokit/rest"; -import { execSync } from "child_process"; +import simpleGit from "simple-git"; const token = process.env.GITHUB_TOKEN; const [owner, repo] = process.env.GITHUB_REPOSITORY?.split("/") || []; @@ -11,12 +11,11 @@ if (!token || !owner || !repo || pullNumber === "0") { } const octokit = new Octokit({ auth: token }); +const git = simpleGit(); async function run() { // Get the diff of the pull request - const diff = execSync(`git diff origin/${process.env.GITHUB_BASE_REF}...HEAD`, { - encoding: "utf8", - }); + const diff = await git.diff([`origin/${process.env.GITHUB_BASE_REF}...HEAD`]); const violations = parseDiffForEmptyStrings(diff); @@ -67,7 +66,7 @@ async function createReview(violations: Array<{ file: string; line: number; cont owner, repo, pull_number: parseInt(pullNumber), - event: "REQUEST_CHANGES", + event: "COMMENT", comments: reviewComments, body: "Empty strings detected in the code. Please review.", }); diff --git a/.github/workflows/no-empty-strings.yml b/.github/workflows/no-empty-strings.yml index 6b1e007..02d71ef 100644 --- a/.github/workflows/no-empty-strings.yml +++ b/.github/workflows/no-empty-strings.yml @@ -15,7 +15,7 @@ jobs: node-version: '20.10.0' - name: Install Dependencies run: | - yarn add tsx + yarn add tsx simple-git - name: Check for Empty Strings run: | yarn tsx .github/empty-string-checker.ts From 26e265b49b8ba98cd6736d68b9fa651ce3804638 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:52:23 +0900 Subject: [PATCH 69/93] chore: empty string test --- .github/empty-string-checker.ts | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index b482f72..a903f3e 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -14,16 +14,31 @@ const octokit = new Octokit({ auth: token }); const git = simpleGit(); async function run() { - // Get the diff of the pull request - const diff = await git.diff([`origin/${process.env.GITHUB_BASE_REF}...HEAD`]); + try { + // Get the base and head SHAs for the pull request + const { data: pullRequest } = await octokit.pulls.get({ + owner, + repo, + pull_number: parseInt(pullNumber), + }); - const violations = parseDiffForEmptyStrings(diff); + const baseSha = pullRequest.base.sha; + const headSha = pullRequest.head.sha; - if (violations.length > 0) { - await createReview(violations); - process.exit(1); // Exit with error to indicate failure - } else { - console.log("No empty strings found."); + // Get the diff of the pull request using the SHAs + const diff = await git.diff([`${baseSha}...${headSha}`]); + + const violations = parseDiffForEmptyStrings(diff); + + if (violations.length > 0) { + await createReview(violations); + process.exit(1); // Exit with error to indicate failure + } else { + console.log("No empty strings found."); + } + } catch (error) { + console.error("Error running empty string check:", error); + process.exit(1); } } From 2c8fc075d14d390456e71ad86beed41d42264342 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:56:26 +0900 Subject: [PATCH 70/93] chore: empty string test --- .github/empty-string-checker.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index a903f3e..1c109a0 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -4,8 +4,9 @@ import simpleGit from "simple-git"; const token = process.env.GITHUB_TOKEN; const [owner, repo] = process.env.GITHUB_REPOSITORY?.split("/") || []; const pullNumber = process.env.GITHUB_PR_NUMBER || process.env.PULL_REQUEST_NUMBER || "0"; +const baseRef = process.env.GITHUB_BASE_REF; -if (!token || !owner || !repo || pullNumber === "0") { +if (!token || !owner || !repo || pullNumber === "0" || !baseRef) { console.error("Missing required environment variables."); process.exit(1); } @@ -25,8 +26,11 @@ async function run() { const baseSha = pullRequest.base.sha; const headSha = pullRequest.head.sha; + // Fetch the base branch + await git.fetch(["origin", baseRef]); + // Get the diff of the pull request using the SHAs - const diff = await git.diff([`${baseSha}...${headSha}`]); + const diff = await git.diff([`origin/${baseRef}...${headSha}`]); const violations = parseDiffForEmptyStrings(diff); From c372b6e33a9e5256f374ec78d2bb2be0bbb66973 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 06:59:02 +0900 Subject: [PATCH 71/93] chore: empty string test --- .github/empty-string-checker.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index 1c109a0..166dd08 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -26,8 +26,8 @@ async function run() { const baseSha = pullRequest.base.sha; const headSha = pullRequest.head.sha; - // Fetch the base branch - await git.fetch(["origin", baseRef]); + // Fetch all remote branches and tags + await git.fetch(["--all"]); // Get the diff of the pull request using the SHAs const diff = await git.diff([`origin/${baseRef}...${headSha}`]); From c8eaf0871c44438d3427dd308ba674733378377d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 07:02:18 +0900 Subject: [PATCH 72/93] chore: empty string test --- .github/empty-string-checker.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index 166dd08..406cce7 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -27,10 +27,10 @@ async function run() { const headSha = pullRequest.head.sha; // Fetch all remote branches and tags - await git.fetch(["--all"]); + await git.fetch(["origin", baseSha, headSha]); // Get the diff of the pull request using the SHAs - const diff = await git.diff([`origin/${baseRef}...${headSha}`]); + const diff = await git.diff([`${baseSha}...${headSha}`]); const violations = parseDiffForEmptyStrings(diff); From 629f351f6ad26f5d4d7fad6c58f05c05b8be05c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 07:08:06 +0900 Subject: [PATCH 73/93] chore: empty string test --- .github/empty-string-checker.ts | 21 +++++++++++++-------- package.json | 1 + yarn.lock | 30 +++++++++++++++++++++++++++++- 3 files changed, 43 insertions(+), 9 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index 406cce7..61c4d26 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -14,7 +14,7 @@ if (!token || !owner || !repo || pullNumber === "0" || !baseRef) { const octokit = new Octokit({ auth: token }); const git = simpleGit(); -async function run() { +async function main() { try { // Get the base and head SHAs for the pull request const { data: pullRequest } = await octokit.pulls.get({ @@ -32,17 +32,22 @@ async function run() { // Get the diff of the pull request using the SHAs const diff = await git.diff([`${baseSha}...${headSha}`]); - const violations = parseDiffForEmptyStrings(diff); + console.log("Checking for empty strings..."); + const emptyStrings = parseDiffForEmptyStrings(diff); - if (violations.length > 0) { - await createReview(violations); - process.exit(1); // Exit with error to indicate failure + if (emptyStrings.length > 0) { + console.error("Empty strings found:"); + emptyStrings.forEach(({ file, line }) => { + console.error(`${file}:${line}`); + }); + await createReview(emptyStrings); + process.exit(1); // This line is causing the non-zero exit code } else { console.log("No empty strings found."); } } catch (error) { - console.error("Error running empty string check:", error); - process.exit(1); + console.error("An error occurred:", error); + process.exit(1); // This could also be causing the non-zero exit code } } @@ -91,7 +96,7 @@ async function createReview(violations: Array<{ file: string; line: number; cont }); } -run().catch((error) => { +main().catch((error) => { console.error("Error running empty string check:", error); process.exit(1); }); diff --git a/package.json b/package.json index 87b1014..6665034 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ "lint-staged": "^15.2.2", "npm-run-all": "^4.1.5", "prettier": "^3.2.5", + "simple-git": "^3.27.0", "ts-jest": "29.1.2", "tsx": "^4.7.1", "typescript": "^5.3.3" diff --git a/yarn.lock b/yarn.lock index 61a0a00..b445824 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1451,6 +1451,18 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@kwsites/file-exists@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@kwsites/file-exists/-/file-exists-1.1.1.tgz#ad1efcac13e1987d8dbaf235ef3be5b0d96faa99" + integrity sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw== + dependencies: + debug "^4.1.1" + +"@kwsites/promise-deferred@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919" + integrity sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw== + "@mswjs/cookies@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@mswjs/cookies/-/cookies-1.1.0.tgz#1528eb43630caf83a1d75d5332b30e75e9bb1b5b" @@ -3142,6 +3154,13 @@ debug@^3.1.0: dependencies: ms "^2.1.1" +debug@^4.3.5: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + decamelize-keys@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" @@ -5641,7 +5660,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.1: +ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -6600,6 +6619,15 @@ simple-get@^4.0.1: once "^1.3.1" simple-concat "^1.0.0" +simple-git@^3.27.0: + version "3.27.0" + resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-3.27.0.tgz#f4b09e807bda56a4a3968f635c0e4888d3decbd5" + integrity sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA== + dependencies: + "@kwsites/file-exists" "^1.1.1" + "@kwsites/promise-deferred" "^1.1.1" + debug "^4.3.5" + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" From 6f16e905ed4bc1542772ae3775d84ae166f17c8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 07:19:39 +0900 Subject: [PATCH 74/93] chore: empty string test --- .github/empty-string-checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index 61c4d26..066f061 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -83,7 +83,7 @@ async function createReview(violations: Array<{ file: string; line: number; cont const reviewComments = violations.map((v) => ({ path: v.file, line: v.line, - body: `Warning: Empty string found.\n\`\`\`\n${v.content}\n\`\`\``, + body: `> [!WARNING]\n> Empty string found, consider another approach. [Read more](https://github.com/ubiquity/ts-template/issues/31).`, })); await octokit.pulls.createReview({ From f13fae7277a5ff5876c493198f1194565ac3e8e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 07:25:29 +0900 Subject: [PATCH 75/93] chore: empty string test --- .github/empty-string-checker.ts | 2 +- .github/workflows/no-empty-strings.yml | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index 066f061..4964582 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -92,7 +92,7 @@ async function createReview(violations: Array<{ file: string; line: number; cont pull_number: parseInt(pullNumber), event: "COMMENT", comments: reviewComments, - body: "Empty strings detected in the code. Please review.", + body: "> [!WARNING]\n> Empty strings detected in the code. Please review.", }); } diff --git a/.github/workflows/no-empty-strings.yml b/.github/workflows/no-empty-strings.yml index 02d71ef..c303cc2 100644 --- a/.github/workflows/no-empty-strings.yml +++ b/.github/workflows/no-empty-strings.yml @@ -12,7 +12,13 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '20.10.0' + node-version: "20.10.0" + - name: Get GitHub App token + uses: tibdex/github-app-token@v1.7.0 + id: get_installation_token + with: + app_id: ${{ secrets.APP_ID }} + private_key: ${{ secrets.APP_PRIVATE_KEY }} - name: Install Dependencies run: | yarn add tsx simple-git @@ -20,7 +26,7 @@ jobs: run: | yarn tsx .github/empty-string-checker.ts env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ steps.get_installation_token.outputs.token }} GITHUB_REPOSITORY: ${{ github.repository }} GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }} - GITHUB_BASE_REF: ${{ github.base_ref }} \ No newline at end of file + GITHUB_BASE_REF: ${{ github.base_ref }} From 9c5da5e6766a45621f150069e042e3058a7172a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 07:26:46 +0900 Subject: [PATCH 76/93] fix: ensure no linkback --- .github/empty-string-checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index 4964582..bfe5dbf 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -83,7 +83,7 @@ async function createReview(violations: Array<{ file: string; line: number; cont const reviewComments = violations.map((v) => ({ path: v.file, line: v.line, - body: `> [!WARNING]\n> Empty string found, consider another approach. [Read more](https://github.com/ubiquity/ts-template/issues/31).`, + body: `> [!WARNING]\n> Empty string found, consider another approach. [Read more](https://www.github.com/ubiquity/ts-template/issues/31).`, })); await octokit.pulls.createReview({ From 5813aef825b6030e6b9f14259250ac7ec0c33a51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 07:47:35 +0900 Subject: [PATCH 77/93] fix: knip --- .github/knip.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/knip.ts b/.github/knip.ts index 4c40256..c9f21e8 100644 --- a/.github/knip.ts +++ b/.github/knip.ts @@ -1,7 +1,7 @@ import type { KnipConfig } from "knip"; const config: KnipConfig = { - entry: ["build/index.ts"], + entry: ["build/index.ts", ".github/empty-string-checker.ts"], project: ["src/**/*.ts"], ignore: ["src/types/config.ts", "**/__mocks__/**", "**/__fixtures__/**"], ignoreExportsUsedInFile: true, From 19b73b2fb490f99fa7164fc0649e90cf91537581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 07:54:09 +0900 Subject: [PATCH 78/93] chore: annotations --- .github/empty-string-checker.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index bfe5dbf..e41ddac 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -80,19 +80,16 @@ function parseDiffForEmptyStrings(diff: string) { } async function createReview(violations: Array<{ file: string; line: number; content: string }>) { - const reviewComments = violations.map((v) => ({ - path: v.file, - line: v.line, - body: `> [!WARNING]\n> Empty string found, consider another approach. [Read more](https://www.github.com/ubiquity/ts-template/issues/31).`, - })); + const annotationsBody = violations + .map((v) => `${v.file}#L${v.line}\n\`\`\`suggestion\n${v.content.trim().replace('""', "/* TODO: Replace empty string */")}\n\`\`\``) + .join("\n\n"); await octokit.pulls.createReview({ owner, repo, pull_number: parseInt(pullNumber), event: "COMMENT", - comments: reviewComments, - body: "> [!WARNING]\n> Empty strings detected in the code. Please review.", + body: `> [!WARNING]\n> ${violations.length} empty string${violations.length > 1 ? "s" : ""} detected in the code.\n\n${annotationsBody}\n\n[Read more about empty string issues](https://www.github.com/ubiquity/ts-template/issues/31).`, }); } From 57077f60b1af1e3fae990ab5101edb9b1a797a48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 08:06:18 +0900 Subject: [PATCH 79/93] chore: annotations --- .github/empty-string-checker.ts | 41 +++++++++--------------------- package.json | 1 + yarn.lock | 45 +++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 29 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index e41ddac..5cbcc5a 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -1,5 +1,6 @@ import { Octokit } from "@octokit/rest"; import simpleGit from "simple-git"; +import * as core from "@actions/core"; const token = process.env.GITHUB_TOKEN; const [owner, repo] = process.env.GITHUB_REPOSITORY?.split("/") || []; @@ -7,7 +8,7 @@ const pullNumber = process.env.GITHUB_PR_NUMBER || process.env.PULL_REQUEST_NUMB const baseRef = process.env.GITHUB_BASE_REF; if (!token || !owner || !repo || pullNumber === "0" || !baseRef) { - console.error("Missing required environment variables."); + core.setFailed("Missing required environment variables."); process.exit(1); } @@ -16,7 +17,6 @@ const git = simpleGit(); async function main() { try { - // Get the base and head SHAs for the pull request const { data: pullRequest } = await octokit.pulls.get({ owner, repo, @@ -26,28 +26,26 @@ async function main() { const baseSha = pullRequest.base.sha; const headSha = pullRequest.head.sha; - // Fetch all remote branches and tags await git.fetch(["origin", baseSha, headSha]); - // Get the diff of the pull request using the SHAs const diff = await git.diff([`${baseSha}...${headSha}`]); - console.log("Checking for empty strings..."); + core.info("Checking for empty strings..."); const emptyStrings = parseDiffForEmptyStrings(diff); if (emptyStrings.length > 0) { - console.error("Empty strings found:"); - emptyStrings.forEach(({ file, line }) => { - console.error(`${file}:${line}`); + emptyStrings.forEach(({ file, line, content }) => { + core.warning(`Empty string found: ${content}`, { + file, + startLine: parseInt(line.toString()), + }); }); - await createReview(emptyStrings); - process.exit(1); // This line is causing the non-zero exit code + core.setFailed(`${emptyStrings.length} empty string${emptyStrings.length > 1 ? "s" : ""} detected in the code.`); } else { - console.log("No empty strings found."); + core.info("No empty strings found."); } } catch (error) { - console.error("An error occurred:", error); - process.exit(1); // This could also be causing the non-zero exit code + core.setFailed(`An error occurred: ${error instanceof Error ? error.message : String(error)}`); } } @@ -79,21 +77,6 @@ function parseDiffForEmptyStrings(diff: string) { return violations; } -async function createReview(violations: Array<{ file: string; line: number; content: string }>) { - const annotationsBody = violations - .map((v) => `${v.file}#L${v.line}\n\`\`\`suggestion\n${v.content.trim().replace('""', "/* TODO: Replace empty string */")}\n\`\`\``) - .join("\n\n"); - - await octokit.pulls.createReview({ - owner, - repo, - pull_number: parseInt(pullNumber), - event: "COMMENT", - body: `> [!WARNING]\n> ${violations.length} empty string${violations.length > 1 ? "s" : ""} detected in the code.\n\n${annotationsBody}\n\n[Read more about empty string issues](https://www.github.com/ubiquity/ts-template/issues/31).`, - }); -} - main().catch((error) => { - console.error("Error running empty string check:", error); - process.exit(1); + core.setFailed(`Error running empty string check: ${error instanceof Error ? error.message : String(error)}`); }); diff --git a/package.json b/package.json index 6665034..82632f6 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "dotenv": "^16.4.4" }, "devDependencies": { + "@actions/core": "^1.11.1", "@commitlint/cli": "^18.6.1", "@commitlint/config-conventional": "^18.6.2", "@cspell/dict-node": "^4.0.3", diff --git a/yarn.lock b/yarn.lock index b445824..f6967bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,6 +7,34 @@ resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== +"@actions/core@^1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.11.1.tgz#ae683aac5112438021588030efb53b1adb86f172" + integrity sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A== + dependencies: + "@actions/exec" "^1.1.1" + "@actions/http-client" "^2.0.1" + +"@actions/exec@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@actions/exec/-/exec-1.1.1.tgz#2e43f28c54022537172819a7cf886c844221a611" + integrity sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w== + dependencies: + "@actions/io" "^1.0.1" + +"@actions/http-client@^2.0.1": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.2.3.tgz#31fc0b25c0e665754ed39a9f19a8611fc6dab674" + integrity sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA== + dependencies: + tunnel "^0.0.6" + undici "^5.25.4" + +"@actions/io@^1.0.1": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@actions/io/-/io-1.1.3.tgz#4cdb6254da7962b07473ff5c335f3da485d94d71" + integrity sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q== + "@ampproject/remapping@^2.2.0": version "2.3.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" @@ -1147,6 +1175,11 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== +"@fastify/busboy@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" + integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== + "@humanwhocodes/config-array@^0.11.13": version "0.11.14" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" @@ -7083,6 +7116,11 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +tunnel@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== + tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" @@ -7206,6 +7244,13 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici@^5.25.4: + version "5.28.4" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" + integrity sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g== + dependencies: + "@fastify/busboy" "^2.0.0" + unescape-js@^1.0.5: version "1.1.4" resolved "https://registry.yarnpkg.com/unescape-js/-/unescape-js-1.1.4.tgz#4bc6389c499cb055a98364a0b3094e1c3d5da395" From b003b80e5e3fcb998dc073145677be741d4d4315 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 08:12:16 +0900 Subject: [PATCH 80/93] chore: annotations --- .github/empty-string-checker.ts | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index 5cbcc5a..f611c80 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -31,16 +31,37 @@ async function main() { const diff = await git.diff([`${baseSha}...${headSha}`]); core.info("Checking for empty strings..."); - const emptyStrings = parseDiffForEmptyStrings(diff); + const violations = parseDiffForEmptyStrings(diff); - if (emptyStrings.length > 0) { - emptyStrings.forEach(({ file, line, content }) => { + if (violations.length > 0) { + violations.forEach(({ file, line, content }) => { core.warning(`Empty string found: ${content}`, { file, startLine: parseInt(line.toString()), }); }); - core.setFailed(`${emptyStrings.length} empty string${emptyStrings.length > 1 ? "s" : ""} detected in the code.`); + // core.setFailed(`${emptyStrings.length} empty string${emptyStrings.length > 1 ? "s" : ""} detected in the code.`); + + await octokit.rest.checks.create({ + owner, + repo, + name: "Empty String Check", + head_sha: headSha, + status: "completed", + conclusion: violations.length > 0 ? "failure" : "success", + output: { + title: "Empty String Check Results", + summary: `Found ${violations.length} violations`, + annotations: violations.map((v) => ({ + path: v.file, + start_line: v.line, + end_line: v.line, + annotation_level: "warning", + message: "Empty string found", + raw_details: v.content, + })), + }, + }); } else { core.info("No empty strings found."); } @@ -61,11 +82,10 @@ function parseDiffForEmptyStrings(diff: string) { currentFile = line.replace("+++ b/", ""); lineNumber = 0; } else if (line.startsWith("+") && !line.startsWith("+++")) { - lineNumber++; if (line.includes('""')) { violations.push({ file: currentFile, - line: lineNumber, + line: lineNumber++, content: line.substring(1), }); } From 61261e41d6fadf3f282f7c7d286c8c602d32d90f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 08:17:56 +0900 Subject: [PATCH 81/93] chore: annotations --- .github/empty-string-checker.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index 5cbcc5a..10da833 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -1,6 +1,6 @@ +import * as core from "@actions/core"; import { Octokit } from "@octokit/rest"; import simpleGit from "simple-git"; -import * as core from "@actions/core"; const token = process.env.GITHUB_TOKEN; const [owner, repo] = process.env.GITHUB_REPOSITORY?.split("/") || []; @@ -61,11 +61,11 @@ function parseDiffForEmptyStrings(diff: string) { currentFile = line.replace("+++ b/", ""); lineNumber = 0; } else if (line.startsWith("+") && !line.startsWith("+++")) { - lineNumber++; + ++lineNumber; if (line.includes('""')) { violations.push({ file: currentFile, - line: lineNumber, + line: ++lineNumber, content: line.substring(1), }); } From a9b93e5d8e427c4ee38d1344632bbcd826443239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 08:33:11 +0900 Subject: [PATCH 82/93] chore: fix empty string checker to correctly count violations --- .github/empty-string-checker.ts | 50 ++++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index 74a07ac..67b0894 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -20,7 +20,7 @@ async function main() { const { data: pullRequest } = await octokit.pulls.get({ owner, repo, - pull_number: parseInt(pullNumber), + pull_number: parseInt(pullNumber, 10), }); const baseSha = pullRequest.base.sha; @@ -37,10 +37,11 @@ async function main() { violations.forEach(({ file, line, content }) => { core.warning(`Empty string found: ${content}`, { file, - startLine: parseInt(line.toString()), + startLine: line, }); }); - // core.setFailed(`${emptyStrings.length} empty string${emptyStrings.length > 1 ? "s" : ""} detected in the code.`); + + // core.setFailed(`${violations.length} empty string${violations.length > 1 ? "s" : ""} detected in the code.`); await octokit.rest.checks.create({ owner, @@ -51,7 +52,7 @@ async function main() { conclusion: violations.length > 0 ? "failure" : "success", output: { title: "Empty String Check Results", - summary: `Found ${violations.length} violations`, + summary: `Found ${violations.length} violation${violations.length !== 1 ? "s" : ""}`, annotations: violations.map((v) => ({ path: v.file, start_line: v.line, @@ -75,22 +76,37 @@ function parseDiffForEmptyStrings(diff: string) { const diffLines = diff.split("\n"); let currentFile = ""; - let lineNumber = 0; + let headLine = 0; + let inHunk = false; diffLines.forEach((line) => { - if (line.startsWith("+++ b/")) { - currentFile = line.replace("+++ b/", ""); - lineNumber = 0; - } else if (line.startsWith("+") && !line.startsWith("+++")) { - if (line.includes('""')) { - violations.push({ - file: currentFile, - line: lineNumber++, - content: line.substring(1), - }); + const hunkHeaderMatch = /^@@ -\d+(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(line); + if (hunkHeaderMatch) { + headLine = parseInt(hunkHeaderMatch[1], 10); + inHunk = true; + return; + } + + if (inHunk) { + if (line.startsWith("+++ b/")) { + currentFile = line.replace("+++ b/", ""); + return; + } + + if (line.startsWith("+") && !line.startsWith("+++")) { + if (line.includes('""')) { + violations.push({ + file: currentFile, + line: headLine, + content: line.substring(1), + }); + } + headLine++; + } else if (line.startsWith("-")) { + // Removed line; do not increment headLine + } else { + headLine++; } - } else if (!line.startsWith("-")) { - lineNumber++; } }); From 1f2e6d4ce98ab8367fcd3a6637e044a822a31c39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 08:36:33 +0900 Subject: [PATCH 83/93] chore: fix empty string checker to correctly count violations --- .github/empty-string-checker.ts | 35 +++++++++++++++------------------ 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index 67b0894..5327f0e 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -87,32 +87,29 @@ function parseDiffForEmptyStrings(diff: string) { return; } - if (inHunk) { - if (line.startsWith("+++ b/")) { - currentFile = line.replace("+++ b/", ""); - return; - } + if (line.startsWith("--- a/") || line.startsWith("+++ b/")) { + currentFile = line.slice(6); + inHunk = false; + return; + } - if (line.startsWith("+") && !line.startsWith("+++")) { - if (line.includes('""')) { - violations.push({ - file: currentFile, - line: headLine, - content: line.substring(1), - }); - } - headLine++; - } else if (line.startsWith("-")) { - // Removed line; do not increment headLine - } else { - headLine++; + if (inHunk && line.startsWith("+")) { + // Check for various forms of empty strings, including at the start of the line + if (/^\+.*?(?:=\s*["'`]{2}|["'`]\s*:\s*["'`]|:\s*["'`]{2})/.test(line)) { + violations.push({ + file: currentFile, + line: headLine, + content: line.substring(1).trim(), + }); } + headLine++; + } else if (!line.startsWith("-")) { + headLine++; } }); return violations; } - main().catch((error) => { core.setFailed(`Error running empty string check: ${error instanceof Error ? error.message : String(error)}`); }); From bbfb46fbbd8ef21cd9b6fdf9b991e4fdcc359bbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 08:39:14 +0900 Subject: [PATCH 84/93] chore: fix empty string checker to correctly count violations --- .github/empty-string-checker.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index 5327f0e..f158cbf 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -94,8 +94,14 @@ function parseDiffForEmptyStrings(diff: string) { } if (inHunk && line.startsWith("+")) { - // Check for various forms of empty strings, including at the start of the line - if (/^\+.*?(?:=\s*["'`]{2}|["'`]\s*:\s*["'`]|:\s*["'`]{2})/.test(line)) { + // Ignore package.json version numbers and ternary expressions + if (currentFile.endsWith("package.json") || /\? .+ : .+/.test(line)) { + headLine++; + return; + } + + // Check for various forms of empty strings, excluding version numbers and valid use cases + if (/^\+.*?(?:=\s*["'`]{2}(?!\s*[,;])|["'`]\s*:\s*["'`](?!\s*[,;])|:\s*["'`]{2}(?!\s*[,;]))/.test(line)) { violations.push({ file: currentFile, line: headLine, From e7149c396a26031850fa202497dce7cbe1fb14bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 08:41:59 +0900 Subject: [PATCH 85/93] chore: fix empty string checker to correctly count violations --- .github/empty-string-checker.ts | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index f158cbf..a560d73 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -93,20 +93,25 @@ function parseDiffForEmptyStrings(diff: string) { return; } - if (inHunk && line.startsWith("+")) { - // Ignore package.json version numbers and ternary expressions - if (currentFile.endsWith("package.json") || /\? .+ : .+/.test(line)) { - headLine++; - return; - } + // Only process TypeScript files + if (!currentFile.endsWith(".ts")) { + return; + } - // Check for various forms of empty strings, excluding version numbers and valid use cases - if (/^\+.*?(?:=\s*["'`]{2}(?!\s*[,;])|["'`]\s*:\s*["'`](?!\s*[,;])|:\s*["'`]{2}(?!\s*[,;]))/.test(line)) { - violations.push({ - file: currentFile, - line: headLine, - content: line.substring(1).trim(), - }); + if (inHunk && line.startsWith("+")) { + // Check for empty strings in TypeScript syntax + if (/^\+.*?(?:=\s*["'`]{2}(?!\s*[,;])|:\s*["'`]{2}(?!\s*[,;]))/.test(line)) { + // Ignore empty strings in comments + if (!line.trim().startsWith("//") && !line.trim().startsWith("*")) { + // Ignore empty strings in template literals + if (!/`[^`]*\$\{[^}]*\}[^`]*`/.test(line)) { + violations.push({ + file: currentFile, + line: headLine, + content: line.substring(1).trim(), + }); + } + } } headLine++; } else if (!line.startsWith("-")) { From d7312bf8f0c102fa97783e03d0f26641abd090f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 08:47:41 +0900 Subject: [PATCH 86/93] chore: fix empty string checker to correctly count violations --- .github/empty-string-checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index a560d73..f9e65b2 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -100,7 +100,7 @@ function parseDiffForEmptyStrings(diff: string) { if (inHunk && line.startsWith("+")) { // Check for empty strings in TypeScript syntax - if (/^\+.*?(?:=\s*["'`]{2}(?!\s*[,;])|:\s*["'`]{2}(?!\s*[,;]))/.test(line)) { + if (/^\+.*""/.test(line)) { // Ignore empty strings in comments if (!line.trim().startsWith("//") && !line.trim().startsWith("*")) { // Ignore empty strings in template literals From cdc89caf5195d36f65def7d1edc7f7b6bbfaa3e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 08:51:23 +0900 Subject: [PATCH 87/93] chore: fix empty string checker to correctly count violations --- .github/empty-string-checker.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index f9e65b2..2ae6fa1 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -35,7 +35,7 @@ async function main() { if (violations.length > 0) { violations.forEach(({ file, line, content }) => { - core.warning(`Empty string found: ${content}`, { + core.warning("⚠️ EMPTY STRING DETECTED ⚠️", { file, startLine: line, }); @@ -75,7 +75,7 @@ function parseDiffForEmptyStrings(diff: string) { const violations: Array<{ file: string; line: number; content: string }> = []; const diffLines = diff.split("\n"); - let currentFile = ""; + let currentFile: string; let headLine = 0; let inHunk = false; From ea798ab4cf9a31116c5e66686386ca3e614ea4e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 08:53:43 +0900 Subject: [PATCH 88/93] chore: fix empty string checker to correctly count violations --- .github/empty-string-checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index 2ae6fa1..c7e9c3b 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -94,7 +94,7 @@ function parseDiffForEmptyStrings(diff: string) { } // Only process TypeScript files - if (!currentFile.endsWith(".ts")) { + if (!currentFile?.endsWith(".ts")) { return; } From 9e2370b435f6a17eb6f53380fa5cf91e6c5fa198 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 08:59:00 +0900 Subject: [PATCH 89/93] chore: formatting --- .github/empty-string-checker.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/empty-string-checker.ts b/.github/empty-string-checker.ts index c7e9c3b..ff94e81 100644 --- a/.github/empty-string-checker.ts +++ b/.github/empty-string-checker.ts @@ -35,10 +35,13 @@ async function main() { if (violations.length > 0) { violations.forEach(({ file, line, content }) => { - core.warning("⚠️ EMPTY STRING DETECTED ⚠️", { - file, - startLine: line, - }); + core.warning( + "Detected an empty string.\n\nIf this is during variable initialization, consider using a different approach.\nFor more information, visit: https://www.github.com/ubiquity/ts-template/issues/31", + { + file, + startLine: line, + } + ); }); // core.setFailed(`${violations.length} empty string${violations.length > 1 ? "s" : ""} detected in the code.`); From e956bec9c5f827f90503c2196cfec020862b5372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Wed, 9 Oct 2024 09:04:33 +0900 Subject: [PATCH 90/93] fix: remove dummy empty strings --- build/index.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/build/index.ts b/build/index.ts index a7c0eb9..e1cf0b8 100644 --- a/build/index.ts +++ b/build/index.ts @@ -2,6 +2,3 @@ import * as dotenv from "dotenv"; // load environment variables (if you have them) dotenv.config(); console.log("Welcome to ts-template"); - -const _EMPTY_STRING_TEST_1 = ""; -const _EMPTY_STRING_TEST_2 = ""; From b8c451ba9dc5f71f54396aafed04a1c6487ffbbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Fri, 18 Oct 2024 10:05:08 +0900 Subject: [PATCH 91/93] fix: install missing dependency --- package.json | 2 +- yarn.lock | 2214 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 2191 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 82632f6..99d82f2 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "eslint-config-prettier": "^9.1.0", "eslint-plugin-filename-rules": "^1.3.1", "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-sonarjs": "^0.24.0", + "eslint-plugin-sonarjs": "^2.0.3", "husky": "^9.0.11", "jest": "29.7.0", "jest-junit": "16.0.0", diff --git a/yarn.lock b/yarn.lock index f6967bb..ceb0533 100644 --- a/yarn.lock +++ b/yarn.lock @@ -51,11 +51,45 @@ "@babel/highlight" "^7.23.4" chalk "^2.4.2" +"@babel/code-frame@^7.24.7", "@babel/code-frame@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.25.7.tgz#438f2c524071531d643c6f0188e1e28f130cebc7" + integrity sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g== + dependencies: + "@babel/highlight" "^7.25.7" + picocolors "^1.0.0" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.4", "@babel/compat-data@^7.25.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.8.tgz#0376e83df5ab0eb0da18885c0140041f0747a402" + integrity sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA== + "@babel/compat-data@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== +"@babel/core@7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" + integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.25.0" + "@babel/helper-compilation-targets" "^7.25.2" + "@babel/helper-module-transforms" "^7.25.2" + "@babel/helpers" "^7.25.0" + "@babel/parser" "^7.25.0" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.2" + "@babel/types" "^7.25.2" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.0.tgz#56cbda6b185ae9d9bed369816a8f4423c5f2ff1b" @@ -77,6 +111,15 @@ json5 "^2.2.3" semver "^6.3.1" +"@babel/eslint-parser@7.25.1": + version "7.25.1" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz#469cee4bd18a88ff3edbdfbd227bd20e82aa9b82" + integrity sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg== + dependencies: + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" + eslint-visitor-keys "^2.1.0" + semver "^6.3.1" + "@babel/generator@^7.23.6", "@babel/generator@^7.7.2": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" @@ -87,6 +130,42 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.25.0", "@babel/generator@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.7.tgz#de86acbeb975a3e11ee92dd52223e6b03b479c56" + integrity sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA== + dependencies: + "@babel/types" "^7.25.7" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + +"@babel/helper-annotate-as-pure@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz#63f02dbfa1f7cb75a9bdb832f300582f30bb8972" + integrity sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA== + dependencies: + "@babel/types" "^7.25.7" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.7.tgz#d721650c1f595371e0a23ee816f1c3c488c0d622" + integrity sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.2", "@babel/helper-compilation-targets@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz#11260ac3322dda0ef53edfae6e97b961449f5fa4" + integrity sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A== + dependencies: + "@babel/compat-data" "^7.25.7" + "@babel/helper-validator-option" "^7.25.7" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-compilation-targets@^7.23.6": version "7.23.6" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" @@ -98,6 +177,39 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-create-class-features-plugin@^7.24.7", "@babel/helper-create-class-features-plugin@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz#5d65074c76cae75607421c00d6bd517fe1892d6b" + integrity sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-member-expression-to-functions" "^7.25.7" + "@babel/helper-optimise-call-expression" "^7.25.7" + "@babel/helper-replace-supers" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" + "@babel/traverse" "^7.25.7" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.7.tgz#dcb464f0e2cdfe0c25cc2a0a59c37ab940ce894e" + integrity sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.7" + regexpu-core "^6.1.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.6.2": + version "0.6.2" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" + integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + "@babel/helper-environment-visitor@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" @@ -118,6 +230,14 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-member-expression-to-functions@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz#541a33b071f0355a63a0fa4bdf9ac360116b8574" + integrity sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/helper-module-imports@^7.22.15": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" @@ -125,6 +245,14 @@ dependencies: "@babel/types" "^7.22.15" +"@babel/helper-module-imports@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz#dba00d9523539152906ba49263e36d7261040472" + integrity sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/helper-module-transforms@^7.23.3": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" @@ -136,11 +264,51 @@ "@babel/helper-split-export-declaration" "^7.22.6" "@babel/helper-validator-identifier" "^7.22.20" +"@babel/helper-module-transforms@^7.25.2", "@babel/helper-module-transforms@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz#2ac9372c5e001b19bc62f1fe7d96a18cb0901d1a" + integrity sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ== + dependencies: + "@babel/helper-module-imports" "^7.25.7" + "@babel/helper-simple-access" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + "@babel/traverse" "^7.25.7" + +"@babel/helper-optimise-call-expression@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz#1de1b99688e987af723eed44fa7fc0ee7b97d77a" + integrity sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng== + dependencies: + "@babel/types" "^7.25.7" + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== +"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.25.7", "@babel/helper-plugin-utils@^7.8.3": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz#8ec5b21812d992e1ef88a9b068260537b6f0e36c" + integrity sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw== + +"@babel/helper-remap-async-to-generator@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.7.tgz#9efdc39df5f489bcd15533c912b6c723a0a65021" + integrity sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-wrap-function" "^7.25.7" + "@babel/traverse" "^7.25.7" + +"@babel/helper-replace-supers@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz#38cfda3b6e990879c71d08d0fef9236b62bd75f5" + integrity sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.25.7" + "@babel/helper-optimise-call-expression" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/helper-simple-access@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" @@ -148,6 +316,22 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-simple-access@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz#5eb9f6a60c5d6b2e0f76057004f8dacbddfae1c0" + integrity sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + +"@babel/helper-skip-transparent-expression-wrappers@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz#382831c91038b1a6d32643f5f49505b8442cb87c" + integrity sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/helper-split-export-declaration@^7.22.6": version "7.22.6" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" @@ -160,16 +344,40 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== +"@babel/helper-string-parser@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz#d50e8d37b1176207b4fe9acedec386c565a44a54" + integrity sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g== + "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@babel/helper-validator-identifier@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz#77b7f60c40b15c97df735b38a66ba1d7c3e93da5" + integrity sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg== + "@babel/helper-validator-option@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== +"@babel/helper-validator-option@^7.24.7", "@babel/helper-validator-option@^7.24.8", "@babel/helper-validator-option@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz#97d1d684448228b30b506d90cace495d6f492729" + integrity sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ== + +"@babel/helper-wrap-function@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.7.tgz#9f6021dd1c4fdf4ad515c809967fc4bac9a70fe7" + integrity sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg== + dependencies: + "@babel/template" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/helpers@^7.24.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.0.tgz#a3dd462b41769c95db8091e49cfe019389a9409b" @@ -179,6 +387,14 @@ "@babel/traverse" "^7.24.0" "@babel/types" "^7.24.0" +"@babel/helpers@^7.25.0": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.7.tgz#091b52cb697a171fe0136ab62e54e407211f09c2" + integrity sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA== + dependencies: + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/highlight@^7.23.4": version "7.23.4" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" @@ -188,11 +404,81 @@ chalk "^2.4.2" js-tokens "^4.0.0" +"@babel/highlight@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.7.tgz#20383b5f442aa606e7b5e3043b0b1aafe9f37de5" + integrity sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw== + dependencies: + "@babel/helper-validator-identifier" "^7.25.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.0.tgz#26a3d1ff49031c53a97d03b604375f028746a9ac" integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg== +"@babel/parser@^7.25.0", "@babel/parser@^7.25.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.8.tgz#f6aaf38e80c36129460c1657c0762db584c9d5e2" + integrity sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ== + dependencies: + "@babel/types" "^7.25.8" + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.3": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.7.tgz#93969ac50ef4d68b2504b01b758af714e4cbdd64" + integrity sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/traverse" "^7.25.7" + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.0": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.7.tgz#a338d611adb9dcd599b8b1efa200c88ebeffe046" + integrity sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.0": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.7.tgz#c5f755e911dfac7ef6957300c0f9c4a8c18c06f4" + integrity sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.7.tgz#3b7ea04492ded990978b6deaa1dfca120ad4455a" + integrity sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" + "@babel/plugin-transform-optional-chaining" "^7.25.7" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.0": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.7.tgz#9622b1d597a703aa3a921e6f58c9c2d9a028d2c5" + integrity sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/traverse" "^7.25.7" + +"@babel/plugin-proposal-decorators@7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz#7e2dcfeda4a42596b57c4c9de1f5176bbfc532e3" + integrity sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.24.7" + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-syntax-decorators" "^7.24.7" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -207,14 +493,63 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.8.3": +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-import-meta@^7.8.3": +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.7.tgz#cf26fdde4e750688e133c0e33ead2506377e88f7" + integrity sha512-oXduHo642ZhstLVYTe2z2GSJIruU0c/W3/Ghr6A5yGMsVrvdnxO1z+3pbTcT7f3/Clnt+1z8D/w1r1f1SHaCHw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-flow@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.25.7.tgz#7d1255201b55d7644c57e0eb354aaf9f8b8d2d02" + integrity sha512-fyoj6/YdVtlv2ROig/J0fP7hh/wNO1MJGm1NR70Pg7jbkF+jOUL9joorqaCOQh06Y+LfgTagHzC8KqZ3MF782w== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-syntax-import-assertions@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz#8ce248f9f4ed4b7ed4cb2e0eb4ed9efd9f52921f" + integrity sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-syntax-import-attributes@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz#d78dd0499d30df19a598e63ab895e21b909bc43f" + integrity sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== @@ -228,6 +563,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz#5352d398d11ea5e7ef330c854dea1dae0bf18165" + integrity sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/plugin-syntax-jsx@^7.7.2": version "7.23.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" @@ -235,7 +577,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== @@ -249,7 +591,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.8.3": +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== @@ -277,7 +619,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.8.3": +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== @@ -291,6 +640,555 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz#1b9ed22e6890a0e9ff470371c73b8c749bcec386" + integrity sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-async-generator-functions@^7.25.4": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.8.tgz#3331de02f52cc1f2c75b396bec52188c85b0b1ec" + integrity sha512-9ypqkozyzpG+HxlH4o4gdctalFGIjjdufzo7I2XPda0iBnZ6a+FO0rIEQcdSPXp02CkvGsII1exJhmROPQd5oA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-remap-async-to-generator" "^7.25.7" + "@babel/traverse" "^7.25.7" + +"@babel/plugin-transform-async-to-generator@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.7.tgz#a44c7323f8d4285a6c568dd43c5c361d6367ec52" + integrity sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg== + dependencies: + "@babel/helper-module-imports" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-remap-async-to-generator" "^7.25.7" + +"@babel/plugin-transform-block-scoped-functions@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz#e0b8843d5571719a2f1bf7e284117a3379fcc17c" + integrity sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-block-scoping@^7.25.0": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.7.tgz#6dab95e98adf780ceef1b1c3ab0e55cd20dd410a" + integrity sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-class-properties@^7.25.4": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.7.tgz#a389cfca7a10ac80e3ff4c75fca08bd097ad1523" + integrity sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-class-static-block@^7.24.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.8.tgz#a8af22028920fe404668031eceb4c3aadccb5262" + integrity sha512-e82gl3TCorath6YLf9xUwFehVvjvfqFhdOo4+0iVIVju+6XOi5XHkqB3P2AXnSwoeTX0HBoXq5gJFtvotJzFnQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-classes@^7.25.4": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.7.tgz#5103206cf80d02283bbbd044509ea3b65d0906bb" + integrity sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-replace-supers" "^7.25.7" + "@babel/traverse" "^7.25.7" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.7.tgz#7f621f0aa1354b5348a935ab12e3903842466f65" + integrity sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/template" "^7.25.7" + +"@babel/plugin-transform-destructuring@^7.24.8": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz#f6f26a9feefb5aa41fd45b6f5838901b5333d560" + integrity sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-dotall-regex@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.7.tgz#9d775c4a3ff1aea64045300fcd4309b4a610ef02" + integrity sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-duplicate-keys@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.7.tgz#fbba7d1155eab76bd4f2a038cbd5d65883bd7a93" + integrity sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.0": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.7.tgz#102b31608dcc22c08fbca1894e104686029dc141" + integrity sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-dynamic-import@^7.24.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.8.tgz#f1edbe75b248cf44c70c8ca8ed3818a668753aaa" + integrity sha512-gznWY+mr4ZQL/EWPcbBQUP3BXS5FwZp8RUOw06BaRn8tQLzN4XLIxXejpHN9Qo8x8jjBmAAKp6FoS51AgkSA/A== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-exponentiation-operator@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.7.tgz#5961a3a23a398faccd6cddb34a2182807d75fb5f" + integrity sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-export-namespace-from@^7.24.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.8.tgz#d1988c3019a380b417e0516418b02804d3858145" + integrity sha512-sPtYrduWINTQTW7FtOy99VCTWp4H23UX7vYcut7S4CIMEXU+54zKX9uCoGkLsWXteyaMXzVHgzWbLfQ1w4GZgw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-flow-strip-types@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.7.tgz#32be871a80e10bbe6d8b1c8a7eeedbbc896d5e80" + integrity sha512-q8Td2PPc6/6I73g96SreSUCKEcwMXCwcXSIAVTyTTN6CpJe0dMj8coxu1fg1T9vfBLi6Rsi6a4ECcFBbKabS5w== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/plugin-syntax-flow" "^7.25.7" + +"@babel/plugin-transform-for-of@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.7.tgz#0acfea0f27aa290818b5b48a5a44b3f03fc13669" + integrity sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" + +"@babel/plugin-transform-function-name@^7.25.1": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.7.tgz#7e394ccea3693902a8b50ded8b6ae1fa7b8519fd" + integrity sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ== + dependencies: + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/traverse" "^7.25.7" + +"@babel/plugin-transform-json-strings@^7.24.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.8.tgz#6fb3ec383a2ea92652289fdba653e3f9de722694" + integrity sha512-4OMNv7eHTmJ2YXs3tvxAfa/I43di+VcF+M4Wt66c88EAED1RoGaf1D64cL5FkRpNL+Vx9Hds84lksWvd/wMIdA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-literals@^7.25.2": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.7.tgz#70cbdc742f2cfdb1a63ea2cbd018d12a60b213c3" + integrity sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-logical-assignment-operators@^7.24.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.8.tgz#01868ff92daa9e525b4c7902aa51979082a05710" + integrity sha512-f5W0AhSbbI+yY6VakT04jmxdxz+WsID0neG7+kQZbCOjuyJNdL5Nn4WIBm4hRpKnUcO9lP0eipUhFN12JpoH8g== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-member-expression-literals@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz#0a36c3fbd450cc9e6485c507f005fa3d1bc8fca5" + integrity sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-modules-amd@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.7.tgz#bb4e543b5611f6c8c685a2fd485408713a3adf3d" + integrity sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA== + dependencies: + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-modules-commonjs@^7.24.8": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.7.tgz#173f0c791bb7407c092ce6d77ee90eb3f2d1d2fd" + integrity sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg== + dependencies: + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-simple-access" "^7.25.7" + +"@babel/plugin-transform-modules-systemjs@^7.25.0": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.7.tgz#8b14d319a177cc9c85ef8b0512afd429d9e2e60b" + integrity sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g== + dependencies: + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + "@babel/traverse" "^7.25.7" + +"@babel/plugin-transform-modules-umd@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.7.tgz#00ee7a7e124289549381bfb0e24d87fd7f848367" + integrity sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw== + dependencies: + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.7.tgz#a2f3f6d7f38693b462542951748f0a72a34d196d" + integrity sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-new-target@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.7.tgz#52b2bde523b76c548749f38dc3054f1f45e82bc9" + integrity sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.24.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.8.tgz#befb4900c130bd52fccf2b926314557987f1b552" + integrity sha512-Z7WJJWdQc8yCWgAmjI3hyC+5PXIubH9yRKzkl9ZEG647O9szl9zvmKLzpbItlijBnVhTUf1cpyWBsZ3+2wjWPQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-numeric-separator@^7.24.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.8.tgz#91e370486371637bd42161052f2602c701386891" + integrity sha512-rm9a5iEFPS4iMIy+/A/PiS0QN0UyjPIeVvbU5EMZFKJZHt8vQnasbpo3T3EFcxzCeYO0BHfc4RqooCZc51J86Q== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-object-rest-spread@^7.24.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.8.tgz#0904ac16bcce41df4db12d915d6780f85c7fb04b" + integrity sha512-LkUu0O2hnUKHKE7/zYOIjByMa4VRaV2CD/cdGz0AxU9we+VA3kDDggKEzI0Oz1IroG+6gUP6UmWEHBMWZU316g== + dependencies: + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/plugin-transform-parameters" "^7.25.7" + +"@babel/plugin-transform-object-super@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz#582a9cea8cf0a1e02732be5b5a703a38dedf5661" + integrity sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-replace-supers" "^7.25.7" + +"@babel/plugin-transform-optional-catch-binding@^7.24.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.8.tgz#2649b86a3bb202c6894ec81a6ddf41b94d8f3103" + integrity sha512-EbQYweoMAHOn7iJ9GgZo14ghhb9tTjgOc88xFgYngifx7Z9u580cENCV159M4xDh3q/irbhSjZVpuhpC2gKBbg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-optional-chaining@^7.24.8", "@babel/plugin-transform-optional-chaining@^7.25.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.8.tgz#f46283b78adcc5b6ab988a952f989e7dce70653f" + integrity sha512-q05Bk7gXOxpTHoQ8RSzGSh/LHVB9JEIkKnk3myAWwZHnYiTGYtbdrYkIsS8Xyh4ltKf7GNUSgzs/6P2bJtBAQg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" + +"@babel/plugin-transform-parameters@^7.24.7", "@babel/plugin-transform-parameters@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz#80c38b03ef580f6d6bffe1c5254bb35986859ac7" + integrity sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-private-methods@^7.25.4": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz#c790a04f837b4bd61d6b0317b43aa11ff67dce80" + integrity sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-private-property-in-object@^7.24.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.8.tgz#1234f856ce85e061f9688764194e51ea7577c434" + integrity sha512-8Uh966svuB4V8RHHg0QJOB32QK287NBksJOByoKmHMp1TAobNniNalIkI2i5IPj5+S9NYCG4VIjbEuiSN8r+ow== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-create-class-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-property-literals@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz#a8612b4ea4e10430f00012ecf0155662c7d6550d" + integrity sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-react-display-name@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.7.tgz#2753e875a1b702fb1d806c4f5d4c194d64cadd88" + integrity sha512-r0QY7NVU8OnrwE+w2IWiRom0wwsTbjx4+xH2RTd7AVdof3uurXOF+/mXHQDRk+2jIvWgSaCHKMgggfvM4dyUGA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-react-jsx-development@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.7.tgz#2fbd77887b8fa2942d7cb61edf1029ea1b048554" + integrity sha512-5yd3lH1PWxzW6IZj+p+Y4OLQzz0/LzlOG8vGqonHfVR3euf1vyzyMUJk9Ac+m97BH46mFc/98t9PmYLyvgL3qg== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.25.7" + +"@babel/plugin-transform-react-jsx@^7.24.7", "@babel/plugin-transform-react-jsx@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.7.tgz#f5e2af6020a562fe048dd343e571c4428e6c5632" + integrity sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-module-imports" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/plugin-syntax-jsx" "^7.25.7" + "@babel/types" "^7.25.7" + +"@babel/plugin-transform-react-pure-annotations@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.7.tgz#6d0b8dadb2d3c5cbb8ade68c5efd49470b0d65f7" + integrity sha512-6YTHJ7yjjgYqGc8S+CbEXhLICODk0Tn92j+vNJo07HFk9t3bjFgAKxPLFhHwF2NjmQVSI1zBRfBWUeVBa2osfA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-regenerator@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.7.tgz#6eb006e6d26f627bc2f7844a9f19770721ad6f3e" + integrity sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.7.tgz#dc56b25e02afaabef3ce0c5b06b0916e8523e995" + integrity sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-shorthand-properties@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.7.tgz#92690a9c671915602d91533c278cc8f6bf12275f" + integrity sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-spread@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.7.tgz#df83e899a9fc66284ee601a7b738568435b92998" + integrity sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" + +"@babel/plugin-transform-sticky-regex@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.7.tgz#341c7002bef7f29037be7fb9684e374442dd0d17" + integrity sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-template-literals@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz#e566c581bb16d8541dd8701093bb3457adfce16b" + integrity sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-typeof-symbol@^7.24.8": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.7.tgz#debb1287182efd20488f126be343328c679b66eb" + integrity sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-unicode-escapes@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.7.tgz#973592b6d13a914794e1de8cf1383e50e0f87f81" + integrity sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-unicode-property-regex@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.7.tgz#25349197cce964b1343f74fa7cfdf791a1b1919e" + integrity sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-unicode-regex@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.7.tgz#f93a93441baf61f713b6d5552aaa856bfab34809" + integrity sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-unicode-sets-regex@^7.25.4": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.7.tgz#d1b3295d29e0f8f4df76abc909ad1ebee919560c" + integrity sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/preset-env@7.25.4": + version "7.25.4" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.25.4.tgz#be23043d43a34a2721cd0f676c7ba6f1481f6af6" + integrity sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw== + dependencies: + "@babel/compat-data" "^7.25.4" + "@babel/helper-compilation-targets" "^7.25.2" + "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-validator-option" "^7.24.8" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.3" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.0" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.0" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.0" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.24.7" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.24.7" + "@babel/plugin-transform-async-generator-functions" "^7.25.4" + "@babel/plugin-transform-async-to-generator" "^7.24.7" + "@babel/plugin-transform-block-scoped-functions" "^7.24.7" + "@babel/plugin-transform-block-scoping" "^7.25.0" + "@babel/plugin-transform-class-properties" "^7.25.4" + "@babel/plugin-transform-class-static-block" "^7.24.7" + "@babel/plugin-transform-classes" "^7.25.4" + "@babel/plugin-transform-computed-properties" "^7.24.7" + "@babel/plugin-transform-destructuring" "^7.24.8" + "@babel/plugin-transform-dotall-regex" "^7.24.7" + "@babel/plugin-transform-duplicate-keys" "^7.24.7" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.0" + "@babel/plugin-transform-dynamic-import" "^7.24.7" + "@babel/plugin-transform-exponentiation-operator" "^7.24.7" + "@babel/plugin-transform-export-namespace-from" "^7.24.7" + "@babel/plugin-transform-for-of" "^7.24.7" + "@babel/plugin-transform-function-name" "^7.25.1" + "@babel/plugin-transform-json-strings" "^7.24.7" + "@babel/plugin-transform-literals" "^7.25.2" + "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" + "@babel/plugin-transform-member-expression-literals" "^7.24.7" + "@babel/plugin-transform-modules-amd" "^7.24.7" + "@babel/plugin-transform-modules-commonjs" "^7.24.8" + "@babel/plugin-transform-modules-systemjs" "^7.25.0" + "@babel/plugin-transform-modules-umd" "^7.24.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" + "@babel/plugin-transform-new-target" "^7.24.7" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7" + "@babel/plugin-transform-numeric-separator" "^7.24.7" + "@babel/plugin-transform-object-rest-spread" "^7.24.7" + "@babel/plugin-transform-object-super" "^7.24.7" + "@babel/plugin-transform-optional-catch-binding" "^7.24.7" + "@babel/plugin-transform-optional-chaining" "^7.24.8" + "@babel/plugin-transform-parameters" "^7.24.7" + "@babel/plugin-transform-private-methods" "^7.25.4" + "@babel/plugin-transform-private-property-in-object" "^7.24.7" + "@babel/plugin-transform-property-literals" "^7.24.7" + "@babel/plugin-transform-regenerator" "^7.24.7" + "@babel/plugin-transform-reserved-words" "^7.24.7" + "@babel/plugin-transform-shorthand-properties" "^7.24.7" + "@babel/plugin-transform-spread" "^7.24.7" + "@babel/plugin-transform-sticky-regex" "^7.24.7" + "@babel/plugin-transform-template-literals" "^7.24.7" + "@babel/plugin-transform-typeof-symbol" "^7.24.8" + "@babel/plugin-transform-unicode-escapes" "^7.24.7" + "@babel/plugin-transform-unicode-property-regex" "^7.24.7" + "@babel/plugin-transform-unicode-regex" "^7.24.7" + "@babel/plugin-transform-unicode-sets-regex" "^7.25.4" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.6" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.37.1" + semver "^6.3.1" + +"@babel/preset-flow@7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.24.7.tgz#eef5cb8e05e97a448fc50c16826f5612fe512c06" + integrity sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-validator-option" "^7.24.7" + "@babel/plugin-transform-flow-strip-types" "^7.24.7" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.24.7.tgz#480aeb389b2a798880bf1f889199e3641cbb22dc" + integrity sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-validator-option" "^7.24.7" + "@babel/plugin-transform-react-display-name" "^7.24.7" + "@babel/plugin-transform-react-jsx" "^7.24.7" + "@babel/plugin-transform-react-jsx-development" "^7.24.7" + "@babel/plugin-transform-react-pure-annotations" "^7.24.7" + "@babel/runtime@^7.21.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.0.tgz#584c450063ffda59697021430cb47101b085951e" @@ -298,6 +1196,13 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.8.4": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.7.tgz#7ffb53c37a8f247c8c4d335e89cdf16a2e0d0fb6" + integrity sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.3.3": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" @@ -307,6 +1212,15 @@ "@babel/parser" "^7.24.0" "@babel/types" "^7.24.0" +"@babel/template@^7.25.0", "@babel/template@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.7.tgz#27f69ce382855d915b14ab0fe5fb4cbf88fa0769" + integrity sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/traverse@^7.24.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.0.tgz#4a408fbf364ff73135c714a2ab46a5eab2831b1e" @@ -323,6 +1237,19 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.25.2", "@babel/traverse@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.7.tgz#83e367619be1cab8e4f2892ef30ba04c26a40fa8" + integrity sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.24.0", "@babel/types@^7.3.3": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" @@ -332,6 +1259,15 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.25.2", "@babel/types@^7.25.7", "@babel/types@^7.25.8", "@babel/types@^7.4.4": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.8.tgz#5cf6037258e8a9bcad533f4979025140cb9993e1" + integrity sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg== + dependencies: + "@babel/helper-string-parser" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1150,6 +2086,11 @@ dependencies: eslint-visitor-keys "^3.3.0" +"@eslint-community/regexpp@4.11.1", "@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.8.0": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.1.tgz#a547badfc719eb3e5f4b556325e542fbe9d7a18f" + integrity sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q== + "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": version "4.10.0" resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" @@ -1476,7 +2417,7 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24": +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== @@ -1534,6 +2475,13 @@ outvariant "^1.2.1" strict-event-emitter "^0.5.1" +"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": + version "5.1.1-v1" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" + integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== + dependencies: + eslint-scope "5.1.1" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -1853,6 +2801,11 @@ "@pnpm/resolve-workspace-range" "5.0.1" ramda "npm:@pnpm/ramda@0.28.1" +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== + "@sinclair/typebox@^0.27.8": version "0.27.8" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" @@ -1958,6 +2911,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + "@types/lodash@^4.14.172": version "4.14.202" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" @@ -2063,6 +3021,21 @@ dependencies: "@types/node" "*" +"@typescript-eslint/eslint-plugin@7.16.1": + version "7.16.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.1.tgz#f5f5da52db674b1f2cdb9d5f3644e5b2ec750465" + integrity sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "7.16.1" + "@typescript-eslint/type-utils" "7.16.1" + "@typescript-eslint/utils" "7.16.1" + "@typescript-eslint/visitor-keys" "7.16.1" + graphemer "^1.4.0" + ignore "^5.3.1" + natural-compare "^1.4.0" + ts-api-utils "^1.3.0" + "@typescript-eslint/eslint-plugin@^7.0.1": version "7.0.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.0.1.tgz#407daffe09d964d57aceaf3ac51846359fbe61b0" @@ -2099,6 +3072,22 @@ "@typescript-eslint/types" "7.0.1" "@typescript-eslint/visitor-keys" "7.0.1" +"@typescript-eslint/scope-manager@7.16.1": + version "7.16.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz#2b43041caabf8ddd74512b8b550b9fc53ca3afa1" + integrity sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw== + dependencies: + "@typescript-eslint/types" "7.16.1" + "@typescript-eslint/visitor-keys" "7.16.1" + +"@typescript-eslint/scope-manager@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz#c928e7a9fc2c0b3ed92ab3112c614d6bd9951c83" + integrity sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA== + dependencies: + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" + "@typescript-eslint/type-utils@7.0.1": version "7.0.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.0.1.tgz#0fba92c1f81cad561d7b3adc812aa1cc0e35cdae" @@ -2109,11 +3098,31 @@ debug "^4.3.4" ts-api-utils "^1.0.1" +"@typescript-eslint/type-utils@7.16.1": + version "7.16.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.16.1.tgz#4d7ae4f3d9e3c8cbdabae91609b1a431de6aa6ca" + integrity sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA== + dependencies: + "@typescript-eslint/typescript-estree" "7.16.1" + "@typescript-eslint/utils" "7.16.1" + debug "^4.3.4" + ts-api-utils "^1.3.0" + "@typescript-eslint/types@7.0.1": version "7.0.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.0.1.tgz#dcfabce192db5b8bf77ea3c82cfaabe6e6a3c901" integrity sha512-uJDfmirz4FHib6ENju/7cz9SdMSkeVvJDK3VcMFvf/hAShg8C74FW+06MaQPODHfDJp/z/zHfgawIJRjlu0RLg== +"@typescript-eslint/types@7.16.1": + version "7.16.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.16.1.tgz#bbab066276d18e398bc64067b23f1ce84dfc6d8c" + integrity sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ== + +"@typescript-eslint/types@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9" + integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ== + "@typescript-eslint/typescript-estree@7.0.1": version "7.0.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.0.1.tgz#1d52ac03da541693fa5bcdc13ad655def5046faf" @@ -2128,6 +3137,34 @@ semver "^7.5.4" ts-api-utils "^1.0.1" +"@typescript-eslint/typescript-estree@7.16.1": + version "7.16.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz#9b145ba4fd1dde1986697e1ce57dc501a1736dd3" + integrity sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ== + dependencies: + "@typescript-eslint/types" "7.16.1" + "@typescript-eslint/visitor-keys" "7.16.1" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/typescript-estree@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz#b5868d486c51ce8f312309ba79bdb9f331b37931" + integrity sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA== + dependencies: + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + "@typescript-eslint/utils@7.0.1": version "7.0.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.0.1.tgz#b8ceac0ba5fef362b4a03a33c0e1fedeea3734ed" @@ -2141,6 +3178,26 @@ "@typescript-eslint/typescript-estree" "7.0.1" semver "^7.5.4" +"@typescript-eslint/utils@7.16.1": + version "7.16.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.16.1.tgz#df42dc8ca5a4603016fd102db0346cdab415cdb7" + integrity sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "7.16.1" + "@typescript-eslint/types" "7.16.1" + "@typescript-eslint/typescript-estree" "7.16.1" + +"@typescript-eslint/utils@^7.16.1": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f" + integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/typescript-estree" "7.18.0" + "@typescript-eslint/visitor-keys@7.0.1": version "7.0.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.0.1.tgz#864680ac5a8010ec4814f8a818e57595f79f464e" @@ -2149,6 +3206,22 @@ "@typescript-eslint/types" "7.0.1" eslint-visitor-keys "^3.4.1" +"@typescript-eslint/visitor-keys@7.16.1": + version "7.16.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz#4287bcf44c34df811ff3bb4d269be6cfc7d8c74b" + integrity sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg== + dependencies: + "@typescript-eslint/types" "7.16.1" + eslint-visitor-keys "^3.4.3" + +"@typescript-eslint/visitor-keys@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz#0564629b6124d67607378d0f0332a0495b25e7d7" + integrity sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg== + dependencies: + "@typescript-eslint/types" "7.18.0" + eslint-visitor-keys "^3.4.3" + "@ungap/structured-clone@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" @@ -2290,12 +3363,19 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +aria-query@~5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + arity-n@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" integrity sha512-fExL2kFDC1Q2DUOx3whE/9KoN66IzkY4b4zUHUBFM1ojEYjZZYDcUW3bek/ufGionX9giIKDC5redH2IlGqcQQ== -array-buffer-byte-length@^1.0.1: +array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== @@ -2308,6 +3388,18 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== +array-includes@^3.1.6, array-includes@^3.1.8: + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + is-string "^1.0.7" + array-last@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" @@ -2325,6 +3417,61 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array.prototype.findlast@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" + integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.findlastindex@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" + integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" + integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" + arraybuffer.prototype.slice@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" @@ -2356,6 +3503,11 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== +ast-types-flow@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" + integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== + astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" @@ -2386,6 +3538,13 @@ available-typed-arrays@^1.0.5, available-typed-arrays@^1.0.6: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz#ac812d8ce5a6b976d738e1c45f08d0b00bc7d725" integrity sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg== +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -2396,6 +3555,16 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== +axe-core@^4.10.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.1.tgz#7d2589b0183f05b0f23e55c2f4cdf97b5bdc66d9" + integrity sha512-qPC9o+kD8Tir0lzNGLeghbOrWMr3ZJpaRlCIb6Uobt/7N4FiEDvqUMnxzCHRHmg8vOg14kr5gVNyScRmbMaJ9g== + +axobject-query@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.1.0.tgz#28768c76d0e3cff21bc62a9e2d0b6ac30042a1ee" + integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ== + babel-jest@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" @@ -2430,6 +3599,30 @@ babel-plugin-jest-hoist@^29.6.3: "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" +babel-plugin-polyfill-corejs2@^0.4.10: + version "0.4.11" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33" + integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.6.2" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.10.6: + version "0.10.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz#2deda57caef50f59c525aeb4964d3b2f867710c7" + integrity sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.2" + core-js-compat "^3.38.0" + +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz#addc47e240edd1da1058ebda03021f382bba785e" + integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.2" + babel-preset-current-node-syntax@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" @@ -2533,6 +3726,16 @@ browserslist@^4.22.2: node-releases "^2.0.14" update-browserslist-db "^1.0.13" +browserslist@^4.23.3, browserslist@^4.24.0: + version "4.24.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.0.tgz#a1325fe4bc80b64fda169629fc01b3d6cecd38d4" + integrity sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A== + dependencies: + caniuse-lite "^1.0.30001663" + electron-to-chromium "^1.5.28" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" + bs-logger@0.x: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -2565,6 +3768,11 @@ buffer@^5.7.1: base64-js "^1.3.1" ieee754 "^1.1.13" +builtin-modules@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + builtins@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" @@ -2572,6 +3780,11 @@ builtins@^5.0.0: dependencies: semver "^7.0.0" +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + cachedir@^2.3.0: version "2.4.0" resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.4.0.tgz#7fef9cf7367233d7c88068fe6e34ed0d355a610d" @@ -2617,6 +3830,11 @@ caniuse-lite@^1.0.30001587: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001593.tgz#7cda1d9e5b0cad6ebab4133b1f239d4ea44fe659" integrity sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ== +caniuse-lite@^1.0.30001663: + version "1.0.30001669" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz#fda8f1d29a8bfdc42de0c170d7f34a9cf19ed7a3" + integrity sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -2904,6 +4122,13 @@ cookie@^0.5.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== +core-js-compat@^3.37.1, core-js-compat@^3.38.0: + version "3.38.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.38.1.tgz#2bc7a298746ca5a7bcb9c164bcb120f2ebc09a09" + integrity sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw== + dependencies: + browserslist "^4.23.3" + core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -3144,6 +4369,11 @@ cypress@13.6.6: untildify "^4.0.0" yauzl "^2.10.0" +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + dargs@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" @@ -3161,6 +4391,33 @@ data-uri-to-buffer@^3.0.1: resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + date-fns@^2.21.1: version "2.30.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" @@ -3180,7 +4437,7 @@ debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3. dependencies: ms "2.1.2" -debug@^3.1.0: +debug@^3.1.0, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -3219,6 +4476,30 @@ dedent@^1.0.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== +deep-equal@^2.0.5: + version "2.2.3" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" + integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.5" + es-get-iterator "^1.1.3" + get-intrinsic "^1.2.2" + is-arguments "^1.1.1" + is-array-buffer "^3.0.2" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.13" + deep-freeze@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/deep-freeze/-/deep-freeze-0.0.1.tgz#3a0b0005de18672819dfd38cd31f91179c893e84" @@ -3241,7 +4522,7 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -define-data-property@^1.0.1, define-data-property@^1.1.2: +define-data-property@^1.0.1, define-data-property@^1.1.2, define-data-property@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== @@ -3286,6 +4567,13 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -3339,6 +4627,11 @@ electron-to-chromium@^1.4.668: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.690.tgz#dd5145d45c49c08a9a6f7454127e660bdf9a3fa7" integrity sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA== +electron-to-chromium@^1.5.28: + version "1.5.41" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz#eae1ba6c49a1a61d84cf8263351d3513b2bcc534" + integrity sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ== + emittery@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" @@ -3393,6 +4686,58 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +es-abstract@^1.17.5, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + es-abstract@^1.22.1, es-abstract@^1.22.3: version "1.22.4" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.4.tgz#26eb2e7538c3271141f5754d31aabfdb215f27bf" @@ -3452,6 +4797,48 @@ es-errors@^1.2.1, es-errors@^1.3.0: resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== +es-get-iterator@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + +es-iterator-helpers@^1.0.19: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz#f6d745d342aea214fe09497e7152170dc333a7a6" + integrity sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.3" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + globalthis "^1.0.4" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + iterator.prototype "^1.1.3" + safe-array-concat "^1.1.2" + +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + es-set-tostringtag@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" @@ -3461,6 +4848,22 @@ es-set-tostringtag@^2.0.2: has-tostringtag "^1.0.0" hasown "^2.0.0" +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -3533,6 +4936,11 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -3553,11 +4961,74 @@ eslint-config-prettier@^9.1.0: resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-module-utils@^2.12.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" + integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== + dependencies: + debug "^3.2.7" + eslint-plugin-filename-rules@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/eslint-plugin-filename-rules/-/eslint-plugin-filename-rules-1.3.1.tgz#8fb769f2c19dc832b43c13d76c1442bca4a2f4a4" integrity sha512-kBMxGFvK3QrRBHMurhFSNa+PFdszezVtBV6egg39TDzlj6D4jL3Xx6oyNjm5xE4C+TdQUBzWwymHJHBPyxOreA== +eslint-plugin-import@^2.30.0: + version "2.31.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" + integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== + dependencies: + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.8" + array.prototype.findlastindex "^1.2.5" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.12.0" + hasown "^2.0.2" + is-core-module "^2.15.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.0" + semver "^6.3.1" + string.prototype.trimend "^1.0.8" + tsconfig-paths "^3.15.0" + +eslint-plugin-jsx-a11y@^6.10.0: + version "6.10.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz#36fb9dead91cafd085ddbe3829602fb10ef28339" + integrity sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg== + dependencies: + aria-query "~5.1.3" + array-includes "^3.1.8" + array.prototype.flatmap "^1.3.2" + ast-types-flow "^0.0.8" + axe-core "^4.10.0" + axobject-query "^4.1.0" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + es-iterator-helpers "^1.0.19" + hasown "^2.0.2" + jsx-ast-utils "^3.3.5" + language-tags "^1.0.9" + minimatch "^3.1.2" + object.fromentries "^2.0.8" + safe-regex-test "^1.0.3" + string.prototype.includes "^2.0.0" + eslint-plugin-prettier@^5.1.3: version "5.1.3" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz#17cfade9e732cef32b5f5be53bd4e07afd8e67e1" @@ -3566,12 +5037,81 @@ eslint-plugin-prettier@^5.1.3: prettier-linter-helpers "^1.0.0" synckit "^0.8.6" -eslint-plugin-sonarjs@^0.24.0: - version "0.24.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.24.0.tgz#b594ccb9b1d6123edd3c3fe3a45b4392e14932d7" - integrity sha512-87zp50mbbNrSTuoEOebdRQBPa0mdejA5UEjyuScyIw8hEpEjfWP89Qhkq5xVZfVyVSRQKZc9alVm7yRKQvvUmg== +eslint-plugin-react-hooks@4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" + integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== + +eslint-plugin-react@^7.36.1: + version "7.37.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz#56493d7d69174d0d828bc83afeffe96903fdadbd" + integrity sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg== + dependencies: + array-includes "^3.1.8" + array.prototype.findlast "^1.2.5" + array.prototype.flatmap "^1.3.2" + array.prototype.tosorted "^1.1.4" + doctrine "^2.1.0" + es-iterator-helpers "^1.0.19" + estraverse "^5.3.0" + hasown "^2.0.2" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.8" + object.fromentries "^2.0.8" + object.values "^1.2.0" + prop-types "^15.8.1" + resolve "^2.0.0-next.5" + semver "^6.3.1" + string.prototype.matchall "^4.0.11" + string.prototype.repeat "^1.0.0" -eslint-scope@^7.2.2: +eslint-plugin-sonarjs@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-2.0.3.tgz#e3ddb22ecbf950a03a95a1f60de4dd3a53a83247" + integrity sha512-Xsy+x5xNxc/h+M/B2s8XMPoKw0o4gUL0cqT8gl6SiEtA6qKX6/SlOjj4Avp7bT7UIguHbjKv/RACy3AxIGOvwA== + dependencies: + "@babel/core" "7.25.2" + "@babel/eslint-parser" "7.25.1" + "@babel/plugin-proposal-decorators" "7.24.7" + "@babel/preset-env" "7.25.4" + "@babel/preset-flow" "7.24.7" + "@babel/preset-react" "7.24.7" + "@eslint-community/regexpp" "4.11.1" + "@typescript-eslint/eslint-plugin" "7.16.1" + "@typescript-eslint/utils" "^7.16.1" + builtin-modules "3.3.0" + bytes "3.1.2" + eslint-plugin-import "^2.30.0" + eslint-plugin-jsx-a11y "^6.10.0" + eslint-plugin-react "^7.36.1" + eslint-plugin-react-hooks "4.6.2" + eslint-scope "8.0.2" + functional-red-black-tree "1.0.1" + jsx-ast-utils "^3.3.5" + minimatch "^10.0.1" + scslre "0.3.0" + semver "7.6.3" + typescript "*" + vue-eslint-parser "9.4.3" + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.2.tgz#5cbb33d4384c9136083a71190d548158fe128f94" + integrity sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-scope@^7.1.1, eslint-scope@^7.2.2: version "7.2.2" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== @@ -3579,6 +5119,11 @@ eslint-scope@^7.2.2: esrecurse "^4.3.0" estraverse "^5.2.0" +eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" @@ -3628,7 +5173,7 @@ eslint@^8.56.0: strip-ansi "^6.0.1" text-table "^0.2.0" -espree@^9.6.0, espree@^9.6.1: +espree@^9.3.1, espree@^9.6.0, espree@^9.6.1: version "9.6.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== @@ -3642,6 +5187,13 @@ esprima@^4.0.0, esprima@^4.0.1: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== +esquery@^1.4.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== + dependencies: + estraverse "^5.1.0" + esquery@^1.4.2: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" @@ -3656,7 +5208,12 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^5.1.0, estraverse@^5.2.0: +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== @@ -3992,6 +5549,11 @@ function.prototype.name@^1.1.6: es-abstract "^1.22.1" functions-have-names "^1.2.3" +functional-red-black-tree@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + functions-have-names@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" @@ -4173,6 +5735,14 @@ globalthis@^1.0.3: dependencies: define-properties "^1.1.3" +globalthis@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== + dependencies: + define-properties "^1.2.1" + gopd "^1.0.1" + globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -4249,12 +5819,17 @@ has-proto@^1.0.1: resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== +has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0, has-tostringtag@^1.0.1: +has-tostringtag@^1.0.0, has-tostringtag@^1.0.1, has-tostringtag@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== @@ -4268,6 +5843,13 @@ hasown@^2.0.0, hasown@^2.0.1: dependencies: function-bind "^1.1.2" +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + headers-polyfill@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-4.0.2.tgz#9115a76eee3ce8fbf95b6e3c6bf82d936785b44a" @@ -4341,6 +5923,11 @@ ignore@^5.1.4, ignore@^5.1.8, ignore@^5.2.0, ignore@^5.2.4: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== +ignore@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -4405,7 +5992,7 @@ ini@^1.3.4: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -internal-slot@^1.0.7: +internal-slot@^1.0.4, internal-slot@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== @@ -4414,7 +6001,15 @@ internal-slot@^1.0.7: hasown "^2.0.0" side-channel "^1.0.4" -is-array-buffer@^3.0.4: +is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== @@ -4427,6 +6022,13 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== +is-async-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" + integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + dependencies: + has-tostringtag "^1.0.0" + is-bigint@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" @@ -4466,7 +6068,21 @@ is-core-module@^2.13.0, is-core-module@^2.5.0, is-core-module@^2.8.1: dependencies: hasown "^2.0.0" -is-date-object@^1.0.1: +is-core-module@^2.15.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== + dependencies: + hasown "^2.0.2" + +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + +is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== @@ -4478,6 +6094,13 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== +is-finalizationregistry@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" + integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== + dependencies: + call-bind "^1.0.2" + is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" @@ -4500,6 +6123,13 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== +is-generator-function@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -4520,11 +6150,21 @@ is-iterable@^1.1.0: resolved "https://registry.yarnpkg.com/is-iterable/-/is-iterable-1.1.1.tgz#71f9aa6f113e1d968ebe1d41cff4c8fb23a817bc" integrity sha512-EdOZCr0NsGE00Pot+x1ZFx9MJK3C6wy91geZpXwvwexDLJvA4nzYyZf7r+EIwSeVsOLDdBz7ATg9NqKTzuNYuQ== +is-map@^2.0.2, is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + is-node-process@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/is-node-process/-/is-node-process-1.2.0.tgz#ea02a1b90ddb3934a19aea414e88edef7e11d134" @@ -4570,6 +6210,11 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-set@^2.0.2, is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + is-shared-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" @@ -4577,6 +6222,13 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" +is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -4625,6 +6277,11 @@ is-unicode-supported@^0.1.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -4632,6 +6289,14 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" +is-weakset@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.3.tgz#e801519df8c0c43e12ff2834eead84ec9e624007" + integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" @@ -4727,6 +6392,17 @@ iterable-lookahead@^1.0.0: resolved "https://registry.yarnpkg.com/iterable-lookahead/-/iterable-lookahead-1.0.0.tgz#896dfcb78680bdb50036e97edb034c8b68a9737f" integrity sha512-hJnEP2Xk4+44DDwJqUQGdXal5VbyeWLaPyDl2AQc242Zr7iqz4DgpQOrEzglWVMGHMDCkguLHEKxd1+rOsmgSQ== +iterator.prototype@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.3.tgz#016c2abe0be3bbdb8319852884f60908ac62bf9c" + integrity sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ== + dependencies: + define-properties "^1.2.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + reflect.getprototypeof "^1.0.4" + set-function-name "^2.0.1" + jackspeak@^2.3.5: version "2.3.6" resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" @@ -5116,7 +6792,7 @@ jiti@1.21.0, jiti@^1.19.1: resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== -js-tokens@^4.0.0: +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== @@ -5146,6 +6822,11 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2, jsesc@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + json-buffer@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" @@ -5191,6 +6872,13 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" @@ -5220,6 +6908,16 @@ jsprim@^2.0.2: json-schema "0.4.0" verror "1.10.0" +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: + version "3.3.5" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + keyv@^4.5.3, keyv@^4.5.4: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" @@ -5266,6 +6964,18 @@ knip@^5.0.1: zod "3.22.4" zod-validation-error "3.0.0" +language-subtag-registry@^0.3.20: + version "0.3.23" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz#23529e04d9e3b74679d70142df3fd2eb6ec572e7" + integrity sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ== + +language-tags@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" + integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== + dependencies: + language-subtag-registry "^0.3.20" + lazy-ass@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" @@ -5380,6 +7090,11 @@ lodash.curry@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + lodash.isfunction@^3.0.9: version "3.0.9" resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" @@ -5469,6 +7184,13 @@ log-update@^6.0.0: strip-ansi "^7.1.0" wrap-ansi "^9.0.0" +loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + lru-cache@^10.0.1, lru-cache@^10.0.2, "lru-cache@^9.1.1 || ^10.0.0": version "10.2.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" @@ -5650,6 +7372,13 @@ minimatch@9.0.3, minimatch@^9.0.0, minimatch@^9.0.1: dependencies: brace-expansion "^2.0.1" +minimatch@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.0.1.tgz#ce0521856b453c86e25f2c4c0d03e6ff7ddc440b" + integrity sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ== + dependencies: + brace-expansion "^2.0.1" + minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -5657,6 +7386,13 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -5666,7 +7402,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@1.2.8, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: +minimist@1.2.8, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -5765,6 +7501,11 @@ node-releases@^2.0.14: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -5861,11 +7602,24 @@ npm-run-path@^5.1.0: dependencies: path-key "^4.0.0" +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + object-inspect@^1.13.1: version "1.13.1" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== +object-is@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -5881,7 +7635,7 @@ object-values@^1.0.0: resolved "https://registry.yarnpkg.com/object-values/-/object-values-1.0.0.tgz#72af839630119e5b98c3b02bb8c27e3237158105" integrity sha512-+8hwcz/JnQ9EpLIXzN0Rs7DLsBpJNT/xYehtB/jU93tHYr5BFEO8E+JGQNOSqE7opVzz5cGksKFHt7uUJVLSjQ== -object.assign@^4.1.5: +object.assign@^4.1.4, object.assign@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== @@ -5891,6 +7645,43 @@ object.assign@^4.1.5: has-symbols "^1.0.3" object-keys "^1.1.1" +object.entries@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" + integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +object.fromentries@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.groupby@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + +object.values@^1.1.6, object.values@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -6113,6 +7904,11 @@ picocolors@1.0.0, picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + picomatch@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.1.tgz#68c26c8837399e5819edce48590412ea07f17a07" @@ -6165,6 +7961,11 @@ pluralize@^8.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -6234,6 +8035,15 @@ prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.5" +prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + proxy-from-env@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" @@ -6289,6 +8099,11 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/@pnpm/ramda/-/ramda-0.28.1.tgz#0f32abc5275d586a03e0dc1dd90a009ac668ff33" integrity sha512-zcAG+lvU0fMziNeGXpPyCyCJYp5ZVrPElEE4t14jAmViaihohocZ+dDkcRIyAomox8pQsuZnv1EyHR+pOhmUWw== +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + react-is@^18.0.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" @@ -6347,11 +8162,68 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" +refa@^0.12.0, refa@^0.12.1: + version "0.12.1" + resolved "https://registry.yarnpkg.com/refa/-/refa-0.12.1.tgz#dac13c4782dc22b6bae6cce81a2b863888ea39c6" + integrity sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g== + dependencies: + "@eslint-community/regexpp" "^4.8.0" + +reflect.getprototypeof@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859" + integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.1" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + globalthis "^1.0.3" + which-builtin-type "^1.1.3" + +regenerate-unicode-properties@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" + integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + regenerator-runtime@^0.14.0: version "0.14.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexp-ast-analysis@^0.7.0: + version "0.7.1" + resolved "https://registry.yarnpkg.com/regexp-ast-analysis/-/regexp-ast-analysis-0.7.1.tgz#c0e24cb2a90f6eadd4cbaaba129317e29d29c482" + integrity sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A== + dependencies: + "@eslint-community/regexpp" "^4.8.0" + refa "^0.12.1" + +regexp.prototype.flags@^1.5.1: + version "1.5.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" + integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.2" + regexp.prototype.flags@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" @@ -6362,6 +8234,30 @@ regexp.prototype.flags@^1.5.2: es-errors "^1.3.0" set-function-name "^2.0.1" +regexpu-core@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.1.1.tgz#b469b245594cb2d088ceebc6369dceb8c00becac" + integrity sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.2.0" + regjsgen "^0.8.0" + regjsparser "^0.11.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsgen@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" + integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== + +regjsparser@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.11.1.tgz#ae55c74f646db0c8fcb922d4da635e33da405149" + integrity sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ== + dependencies: + jsesc "~3.0.2" + rename-overwrite@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/rename-overwrite/-/rename-overwrite-5.0.0.tgz#ccd1f85aef47d41647ccc1c681d9b6d054cf5fc8" @@ -6431,7 +8327,7 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.10.0, resolve@^1.20.0: +resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -6440,6 +8336,15 @@ resolve@^1.10.0, resolve@^1.20.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^2.0.0-next.5: + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -6519,6 +8424,16 @@ safe-array-concat@^1.1.0: has-symbols "^1.0.3" isarray "^2.0.5" +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -6538,6 +8453,15 @@ safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +scslre@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/scslre/-/scslre-0.3.0.tgz#c3211e9bfc5547fc86b1eabaa34ed1a657060155" + integrity sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ== + dependencies: + "@eslint-community/regexpp" "^4.8.0" + refa "^0.12.0" + regexp-ast-analysis "^0.7.0" + "semver@2 || 3 || 4 || 5", semver@^5.5.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" @@ -6550,6 +8474,11 @@ semver@7.6.0, semver@^7.0.0, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver dependencies: lru-cache "^6.0.0" +semver@7.6.3, semver@^7.3.6: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + semver@^6.1.0, semver@^6.3.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" @@ -6576,6 +8505,16 @@ set-function-name@^2.0.1: functions-have-names "^1.2.3" has-property-descriptors "^1.0.0" +set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + sha.js@^2.4.9: version "2.4.11" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" @@ -6628,6 +8567,16 @@ side-channel@^1.0.4: get-intrinsic "^1.2.4" object-inspect "^1.13.1" +side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" @@ -6800,6 +8749,13 @@ statuses@^2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + strict-event-emitter@^0.5.0, strict-event-emitter@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz#1602ece81c51574ca39c6815e09f1a3e8550bd93" @@ -6850,6 +8806,33 @@ string.fromcodepoint@^0.2.1: resolved "https://registry.yarnpkg.com/string.fromcodepoint/-/string.fromcodepoint-0.2.1.tgz#8d978333c0bc92538f50f383e4888f3e5619d653" integrity sha512-n69H31OnxSGSZyZbgBlvYIXlrMhJQ0dQAX1js1QDhpaUH6zmU3QYlj07bCwCNlPOu3oRXIubGPl2gDGnHsiCqg== +string.prototype.includes@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz#eceef21283640761a81dbe16d6c7171a4edf7d92" + integrity sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + +string.prototype.matchall@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" + integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + regexp.prototype.flags "^1.5.2" + set-function-name "^2.0.2" + side-channel "^1.0.6" + string.prototype.padend@^3.0.0: version "3.1.5" resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.5.tgz#311ef3a4e3c557dd999cdf88fbdde223f2ac0f95" @@ -6859,6 +8842,14 @@ string.prototype.padend@^3.0.0: define-properties "^1.2.0" es-abstract "^1.22.1" +string.prototype.repeat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" + integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trim@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" @@ -6868,6 +8859,16 @@ string.prototype.trim@^1.2.8: define-properties "^1.2.0" es-abstract "^1.22.1" +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" + string.prototype.trimend@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" @@ -6877,6 +8878,15 @@ string.prototype.trimend@^1.0.7: define-properties "^1.2.0" es-abstract "^1.22.1" +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + string.prototype.trimstart@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" @@ -6886,6 +8896,15 @@ string.prototype.trimstart@^1.0.7: define-properties "^1.2.0" es-abstract "^1.22.1" +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -7080,6 +9099,11 @@ ts-api-utils@^1.0.1: resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.2.1.tgz#f716c7e027494629485b21c0df6180f4d08f5e8b" integrity sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA== +ts-api-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + ts-jest@29.1.2: version "29.1.2" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.2.tgz#7613d8c81c43c8cb312c6904027257e814c40e09" @@ -7094,6 +9118,16 @@ ts-jest@29.1.2: semver "^7.5.3" yargs-parser "^21.0.1" +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + tslib@^2.1.0, tslib@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" @@ -7187,6 +9221,15 @@ typed-array-buffer@^1.0.1: es-errors "^1.3.0" is-typed-array "^1.1.13" +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + typed-array-byte-length@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" @@ -7197,6 +9240,17 @@ typed-array-byte-length@^1.0.0: has-proto "^1.0.1" is-typed-array "^1.1.10" +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + typed-array-byte-offset@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" @@ -7208,6 +9262,18 @@ typed-array-byte-offset@^1.0.0: has-proto "^1.0.1" is-typed-array "^1.1.10" +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + typed-array-length@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" @@ -7217,6 +9283,18 @@ typed-array-length@^1.0.4: for-each "^0.3.3" is-typed-array "^1.1.9" +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -7224,6 +9302,11 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" +typescript@*: + version "5.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" + integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== + typescript@^5.3.3: version "5.3.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" @@ -7258,6 +9341,29 @@ unescape-js@^1.0.5: dependencies: string.fromcodepoint "^0.2.1" +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" + integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + unique-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" @@ -7300,6 +9406,14 @@ update-browserslist-db@^1.0.13: escalade "^3.1.1" picocolors "^1.0.0" +update-browserslist-db@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.0" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -7387,6 +9501,19 @@ vscode-uri@^3.0.8: resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.8.tgz#1770938d3e72588659a172d0fd4642780083ff9f" integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== +vue-eslint-parser@9.4.3: + version "9.4.3" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz#9b04b22c71401f1e8bca9be7c3e3416a4bde76a8" + integrity sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg== + dependencies: + debug "^4.3.4" + eslint-scope "^7.1.1" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^7.3.6" + walker@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" @@ -7412,6 +9539,45 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" +which-builtin-type@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.4.tgz#592796260602fc3514a1b5ee7fa29319b72380c3" + integrity sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w== + dependencies: + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" + is-async-function "^2.0.0" + is-date-object "^1.0.5" + is-finalizationregistry "^1.0.2" + is-generator-function "^1.0.10" + is-regex "^1.1.4" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.2" + which-typed-array "^1.1.15" + +which-collection@^1.0.1, which-collection@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-typed-array@^1.1.13, which-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + which-typed-array@^1.1.14: version "1.1.14" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06" From dcc834d72f31b0feee7472fb7b8aa8890ae8a24c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= <4975670+0x4007@users.noreply.github.com> Date: Tue, 22 Oct 2024 18:57:16 +0900 Subject: [PATCH 92/93] Revert "PR #56" --- revert-pr-56.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 revert-pr-56.txt diff --git a/revert-pr-56.txt b/revert-pr-56.txt new file mode 100644 index 0000000..8b3814f --- /dev/null +++ b/revert-pr-56.txt @@ -0,0 +1 @@ +This file was created to revert PR #56 \ No newline at end of file From 8c32cd07d67773f4544db2eac8ff365a2b1c6745 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A2=E3=83=AC=E3=82=AF=E3=82=B5=E3=83=B3=E3=83=80?= =?UTF-8?q?=E3=83=BC=2Eeth?= Date: Tue, 22 Oct 2024 19:27:41 +0900 Subject: [PATCH 93/93] revert: remove sync-template https://github.com/ubiquity/ts-template/issues/54#issuecomment-2428842723 --- .github/workflows/sync-template.yml | 47 ----------------------------- revert-pr-56.txt | 1 - 2 files changed, 48 deletions(-) delete mode 100644 .github/workflows/sync-template.yml delete mode 100644 revert-pr-56.txt diff --git a/.github/workflows/sync-template.yml b/.github/workflows/sync-template.yml deleted file mode 100644 index 274b2ea..0000000 --- a/.github/workflows/sync-template.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Sync branch to template - -on: - workflow_dispatch: - schedule: - - cron: '14 0 1 * *' - -jobs: - sync: - runs-on: ubuntu-latest - permissions: - contents: write - pull-requests: write - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Get GitHub App token - uses: tibdex/github-app-token@v1.7.0 - id: get_installation_token - with: - app_id: ${{ secrets.APP_ID }} - private_key: ${{ secrets.APP_PRIVATE_KEY }} - - - name: Sync branch to template - env: - GH_TOKEN: ${{ steps.get_installation_token.outputs.token }} - IGNORE_FILES: "README.md another-file.txt" - run: | - branch_name=$(git rev-parse --abbrev-ref HEAD) - original_remote=$(git remote get-url origin) - pr_branch="sync-template/${branch_name}" - git config --global user.email "github-actions[bot]@users.noreply.github.com" - git config --global user.name "github-actions[bot]" - git checkout -b "$pr_branch" - git clone https://github.com/ubiquity/ts-template - for file in $IGNORE_FILES; do - rm -rf "ts-template/$file" - done - cp -rf ts-template/* . - rm -rf ts-template/ - git add . - git commit -m "chore: sync template" - git push "$original_remote" "$pr_branch" - gh pr create --title "Sync branch to template" --body "This pull request merges changes from the template repository." --head "$pr_branch" --base "$branch_name" diff --git a/revert-pr-56.txt b/revert-pr-56.txt deleted file mode 100644 index 8b3814f..0000000 --- a/revert-pr-56.txt +++ /dev/null @@ -1 +0,0 @@ -This file was created to revert PR #56 \ No newline at end of file