From c915dabaf447f8e63585d32f1c5f458d18b45aee Mon Sep 17 00:00:00 2001 From: Harry Brundage Date: Mon, 30 Oct 2023 10:46:50 -0400 Subject: [PATCH 1/9] Upgrade playwright --- package.json | 2 +- packages/fastify-renderer/package.json | 2 +- packages/test-apps/simple-react/package.json | 2 +- pnpm-lock.yaml | 40 ++++++++++---------- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/package.json b/package.json index 47ca5f1d..3f99d862 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "expect-playwright": "^0.8.0", "fs-extra": "^10.1.0", "jest": "^28.1.3", - "playwright-chromium": "^1.25.0", + "playwright-chromium": "^1.39.0", "prettier": "^2.7.1", "prettier-plugin-organize-imports": "^2.3.4", "wds": "^0.18.1" diff --git a/packages/fastify-renderer/package.json b/packages/fastify-renderer/package.json index 069a474f..43ff842c 100644 --- a/packages/fastify-renderer/package.json +++ b/packages/fastify-renderer/package.json @@ -57,7 +57,7 @@ "node": ">= 12.0.0" }, "dependencies": { - "@opentelemetry/api": "^1.4.0", + "@opentelemetry/api": "^1.6.0", "@vitejs/plugin-react-refresh": "^1.3.6", "@fastify/accepts": "^3.0.0", "@fastify/static": "^5.0.0", diff --git a/packages/test-apps/simple-react/package.json b/packages/test-apps/simple-react/package.json index fae492ca..9ec2afed 100644 --- a/packages/test-apps/simple-react/package.json +++ b/packages/test-apps/simple-react/package.json @@ -17,7 +17,7 @@ "path-to-regexp": "^6.2.1" }, "devDependencies": { - "@playwright/test": "^1.25.0", + "@playwright/test": "^1.39.0", "@swc/core": "^1.3.95", "@swc/jest": "^0.2.29", "html-validator": "^5.1.18" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6b71f860..c4604257 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,8 +49,8 @@ importers: specifier: ^28.1.3 version: 28.1.3(@types/node@14.18.61) playwright-chromium: - specifier: ^1.25.0 - version: 1.25.0 + specifier: ^1.39.0 + version: 1.39.0 prettier: specifier: ^2.7.1 version: 2.8.8 @@ -70,8 +70,8 @@ importers: specifier: ^5.0.0 version: 5.0.2 '@opentelemetry/api': - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.6.0 + version: 1.6.0 '@vitejs/plugin-react-refresh': specifier: ^1.3.6 version: 1.3.6 @@ -189,8 +189,8 @@ importers: version: 2.7.5(react@0.0.0-experimental-4ead6b530) devDependencies: '@playwright/test': - specifier: ^1.25.0 - version: 1.38.0 + specifier: ^1.39.0 + version: 1.39.0 '@swc/core': specifier: ^1.3.95 version: 1.3.95 @@ -984,17 +984,17 @@ packages: fastq: 1.11.0 dev: true - /@opentelemetry/api@1.4.0: - resolution: {integrity: sha512-IgMK9i3sFGNUqPMbjABm0G26g0QCKCUBfglhQ7rQq6WcxbKfEHRcmwsoER4hZcuYqJgkYn2OeuoJIv7Jsftp7g==} + /@opentelemetry/api@1.6.0: + resolution: {integrity: sha512-OWlrQAnWn9577PhVgqjUvMr1pg57Bc4jv0iL4w0PRuOSRvq67rvHW9Ie/dZVMvCzhSCB+UxhcY/PmCmFj33Q+g==} engines: {node: '>=8.0.0'} dev: false - /@playwright/test@1.38.0: - resolution: {integrity: sha512-xis/RXXsLxwThKnlIXouxmIvvT3zvQj1JE39GsNieMUrMpb3/GySHDh2j8itCG22qKVD4MYLBp7xB73cUW/UUw==} + /@playwright/test@1.39.0: + resolution: {integrity: sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ==} engines: {node: '>=16'} hasBin: true dependencies: - playwright: 1.38.0 + playwright: 1.39.0 dev: true /@rollup/pluginutils@4.1.1: @@ -5476,13 +5476,13 @@ packages: find-up: 5.0.0 dev: true - /playwright-chromium@1.25.0: - resolution: {integrity: sha512-FH9ho3noAWVStCJx4XW78+D8QW0A99WDp53DDkYeVdEpJqCmAIKHCSE6dl5XtaDKrZPYC1ZG5hGXQh1K5H/p+g==} - engines: {node: '>=14'} + /playwright-chromium@1.39.0: + resolution: {integrity: sha512-0WVmvn9ppPbcyb2PQherIpzsvJlyjqziCZiAiexTEYSz8k6/+/3wljmFaMRMP1lcv2xKyHDn9yWd/lHb7IzYyA==} + engines: {node: '>=16'} hasBin: true requiresBuild: true dependencies: - playwright-core: 1.25.0 + playwright-core: 1.39.0 dev: true /playwright-core@1.25.0: @@ -5491,18 +5491,18 @@ packages: hasBin: true dev: true - /playwright-core@1.38.0: - resolution: {integrity: sha512-f8z1y8J9zvmHoEhKgspmCvOExF2XdcxMW8jNRuX4vkQFrzV4MlZ55iwb5QeyiFQgOFCUolXiRHgpjSEnqvO48g==} + /playwright-core@1.39.0: + resolution: {integrity: sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==} engines: {node: '>=16'} hasBin: true dev: true - /playwright@1.38.0: - resolution: {integrity: sha512-fJGw+HO0YY+fU/F1N57DMO+TmXHTrmr905J05zwAQE9xkuwP/QLDk63rVhmyxh03dYnEhnRbsdbH9B0UVVRB3A==} + /playwright@1.39.0: + resolution: {integrity: sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw==} engines: {node: '>=16'} hasBin: true dependencies: - playwright-core: 1.38.0 + playwright-core: 1.39.0 optionalDependencies: fsevents: 2.3.2 dev: true From 9e545576791b9fe6017e8da14294596df2b61e12 Mon Sep 17 00:00:00 2001 From: Harry Brundage Date: Mon, 30 Oct 2023 10:50:27 -0400 Subject: [PATCH 2/9] Upgrade lints --- package.json | 16 +-- pnpm-lock.yaml | 311 +++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 257 insertions(+), 70 deletions(-) diff --git a/package.json b/package.json index 3f99d862..bb2df51c 100644 --- a/package.json +++ b/package.json @@ -38,18 +38,18 @@ }, "devDependencies": { "cross-env": "^7.0.3", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-prettier": "^3.4.1", - "eslint-plugin-react": "^7.31.7", + "eslint": "^8.52.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-import": "^2.29.0", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "expect-playwright": "^0.8.0", - "fs-extra": "^10.1.0", + "fs-extra": "^11.1.0", "jest": "^28.1.3", "playwright-chromium": "^1.39.0", - "prettier": "^2.7.1", - "prettier-plugin-organize-imports": "^2.3.4", + "prettier": "^2.8.8", + "prettier-plugin-organize-imports": "^3.2.3", "wds": "^0.18.1" }, "pnpm": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c4604257..bacc0411 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,29 +22,29 @@ importers: specifier: ^7.0.3 version: 7.0.3 eslint: - specifier: ^7.32.0 - version: 7.32.0 + specifier: ^8.52.0 + version: 8.52.0 eslint-config-prettier: - specifier: ^8.5.0 - version: 8.10.0(eslint@7.32.0) + specifier: ^9.0.0 + version: 9.0.0(eslint@8.52.0) eslint-plugin-import: - specifier: ^2.26.0 - version: 2.28.1(eslint@7.32.0) + specifier: ^2.29.0 + version: 2.29.0(eslint@8.52.0) eslint-plugin-prettier: - specifier: ^3.4.1 - version: 3.4.1(eslint-config-prettier@8.10.0)(eslint@7.32.0)(prettier@2.8.8) + specifier: ^4.2.1 + version: 4.2.1(eslint-config-prettier@9.0.0)(eslint@8.52.0)(prettier@2.8.8) eslint-plugin-react: - specifier: ^7.31.7 - version: 7.33.2(eslint@7.32.0) + specifier: ^7.33.2 + version: 7.33.2(eslint@8.52.0) eslint-plugin-react-hooks: specifier: ^4.6.0 - version: 4.6.0(eslint@7.32.0) + version: 4.6.0(eslint@8.52.0) expect-playwright: specifier: ^0.8.0 version: 0.8.0 fs-extra: - specifier: ^10.1.0 - version: 10.1.0 + specifier: ^11.1.0 + version: 11.1.1 jest: specifier: ^28.1.3 version: 28.1.3(@types/node@14.18.61) @@ -52,11 +52,11 @@ importers: specifier: ^1.39.0 version: 1.39.0 prettier: - specifier: ^2.7.1 + specifier: ^2.8.8 version: 2.8.8 prettier-plugin-organize-imports: - specifier: ^2.3.4 - version: 2.3.4(prettier@2.8.8)(typescript@4.9.5) + specifier: ^3.2.3 + version: 3.2.3(prettier@2.8.8)(typescript@4.9.5) wds: specifier: ^0.18.1 version: 0.18.1 @@ -129,10 +129,10 @@ importers: version: 1.6.3 '@typescript-eslint/eslint-plugin': specifier: ^5.40.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@4.9.5) + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.52.0)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ^5.40.0 - version: 5.62.0(eslint@7.32.0)(typescript@4.9.5) + version: 5.62.0(eslint@8.52.0)(typescript@4.9.5) cheerio: specifier: ^1.0.0-rc.12 version: 1.0.0-rc.12 @@ -574,13 +574,13 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@eslint-community/eslint-utils@4.4.0(eslint@7.32.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.52.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 7.32.0 + eslint: 8.52.0 eslint-visitor-keys: 3.4.3 dev: true @@ -606,6 +606,28 @@ packages: - supports-color dev: true + /@eslint/eslintrc@2.1.2: + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.21.0 + ignore: 5.2.0 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.52.0: + resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@fastify/accepts@3.0.0: resolution: {integrity: sha512-+ldBB3O59p/z9Uc1LSZqAA4/oZaNbRtCVMwjgJOahl+PKmx4ciRRoWVht77kFOb36lRE5MPEba4Vt78H7PKfQw==} engines: {node: '>=10'} @@ -650,6 +672,17 @@ packages: '@hapi/hoek': 9.3.0 dev: true + /@humanwhocodes/config-array@0.11.13: + resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + /@humanwhocodes/config-array@0.5.0: resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} engines: {node: '>=10.10.0'} @@ -661,10 +694,19 @@ packages: - supports-color dev: true + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true + /@humanwhocodes/object-schema@2.0.1: + resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + dev: true + /@istanbuljs/load-nyc-config@1.1.0: resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -971,11 +1013,24 @@ packages: run-parallel: 1.2.0 dev: true + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + /@nodelib/fs.stat@2.0.4: resolution: {integrity: sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==} engines: {node: '>= 8'} dev: true + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + /@nodelib/fs.walk@1.2.6: resolution: {integrity: sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==} engines: {node: '>= 8'} @@ -984,6 +1039,14 @@ packages: fastq: 1.11.0 dev: true + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.11.0 + dev: true + /@opentelemetry/api@1.6.0: resolution: {integrity: sha512-OWlrQAnWn9577PhVgqjUvMr1pg57Bc4jv0iL4w0PRuOSRvq67rvHW9Ie/dZVMvCzhSCB+UxhcY/PmCmFj33Q+g==} engines: {node: '>=8.0.0'} @@ -1328,7 +1391,7 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.52.0)(typescript@4.9.5): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1340,12 +1403,12 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.8.1 - '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.62.0(eslint@8.52.0)(typescript@4.9.5) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@7.32.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.52.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@4.9.5) debug: 4.3.4 - eslint: 7.32.0 + eslint: 8.52.0 graphemer: 1.4.0 ignore: 5.2.0 natural-compare-lite: 1.4.0 @@ -1356,7 +1419,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/parser@5.62.0(eslint@8.52.0)(typescript@4.9.5): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1370,7 +1433,7 @@ packages: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) debug: 4.3.4 - eslint: 7.32.0 + eslint: 8.52.0 typescript: 4.9.5 transitivePeerDependencies: - supports-color @@ -1384,7 +1447,7 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/type-utils@5.62.0(eslint@8.52.0)(typescript@4.9.5): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1395,9 +1458,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@4.9.5) debug: 4.3.4 - eslint: 7.32.0 + eslint: 8.52.0 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: @@ -1430,19 +1493,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@7.32.0)(typescript@4.9.5): + /@typescript-eslint/utils@5.62.0(eslint@8.52.0)(typescript@4.9.5): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@7.32.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) '@types/json-schema': 7.0.13 '@types/semver': 7.5.2 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - eslint: 7.32.0 + eslint: 8.52.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: @@ -1458,6 +1521,10 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + /@vitejs/plugin-react-refresh@1.3.6: resolution: {integrity: sha512-iNR/UqhUOmFFxiezt0em9CgmiJBdWR+5jGxB2FihaoJfqGt76kiwaKoVOJVU5NYcDWMdN06LbyN2VIGIoYdsEA==} engines: {node: '>=12.0.0'} @@ -1491,6 +1558,14 @@ packages: acorn: 7.4.1 dev: true + /acorn-jsx@5.3.2(acorn@8.11.2): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.2 + dev: true + /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} @@ -1502,6 +1577,12 @@ packages: hasBin: true dev: true + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + /aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} @@ -1585,6 +1666,10 @@ packages: sprintf-js: 1.0.3 dev: true + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + /args@5.0.3: resolution: {integrity: sha512-h6k/zfFgusnv3i5TU08KQkVKuCPBtL/PWQbWkHUxvJrZ2nAyeaUupneemcrgn1xmqxPQsPIzwkUhOpoqPDRZuA==} engines: {node: '>= 6.0.0'} @@ -2791,26 +2876,26 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier@8.10.0(eslint@7.32.0): - resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} + /eslint-config-prettier@9.0.0(eslint@8.52.0): + resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 7.32.0 + eslint: 8.52.0 dev: true /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 - is-core-module: 2.13.0 + is-core-module: 2.13.1 resolve: 1.22.6 transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils@2.8.0(eslint-import-resolver-node@0.3.9)(eslint@7.32.0): + /eslint-module-utils@2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.52.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2832,14 +2917,14 @@ packages: optional: true dependencies: debug: 3.2.7 - eslint: 7.32.0 + eslint: 8.52.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.28.1(eslint@7.32.0): - resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} + /eslint-plugin-import@2.29.0(eslint@8.52.0): + resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -2854,11 +2939,11 @@ packages: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 7.32.0 + eslint: 8.52.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(eslint-import-resolver-node@0.3.9)(eslint@7.32.0) - has: 1.0.3 - is-core-module: 2.13.0 + eslint-module-utils: 2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.52.0) + hasown: 2.0.0 + is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.7 @@ -2872,33 +2957,33 @@ packages: - supports-color dev: true - /eslint-plugin-prettier@3.4.1(eslint-config-prettier@8.10.0)(eslint@7.32.0)(prettier@2.8.8): - resolution: {integrity: sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==} - engines: {node: '>=6.0.0'} + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@9.0.0)(eslint@8.52.0)(prettier@2.8.8): + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} peerDependencies: - eslint: '>=5.0.0' + eslint: '>=7.28.0' eslint-config-prettier: '*' - prettier: '>=1.13.0' + prettier: '>=2.0.0' peerDependenciesMeta: eslint-config-prettier: optional: true dependencies: - eslint: 7.32.0 - eslint-config-prettier: 8.10.0(eslint@7.32.0) + eslint: 8.52.0 + eslint-config-prettier: 9.0.0(eslint@8.52.0) prettier: 2.8.8 prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@7.32.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.52.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 7.32.0 + eslint: 8.52.0 dev: true - /eslint-plugin-react@7.33.2(eslint@7.32.0): + /eslint-plugin-react@7.33.2(eslint@8.52.0): resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: @@ -2909,7 +2994,7 @@ packages: array.prototype.tosorted: 1.1.2 doctrine: 2.1.0 es-iterator-helpers: 1.0.15 - eslint: 7.32.0 + eslint: 8.52.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 @@ -2931,6 +3016,14 @@ packages: estraverse: 4.3.0 dev: true + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + /eslint-utils@2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} @@ -3002,6 +3095,53 @@ packages: - supports-color dev: true + /eslint@8.52.0: + resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/regexpp': 4.8.1 + '@eslint/eslintrc': 2.1.2 + '@eslint/js': 8.52.0 + '@humanwhocodes/config-array': 0.11.13 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.21.0 + graphemer: 1.4.0 + ignore: 5.2.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + /espree@7.3.1: resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} engines: {node: ^10.12.0 || >=12.0.0} @@ -3011,6 +3151,15 @@ packages: eslint-visitor-keys: 1.3.0 dev: true + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) + eslint-visitor-keys: 3.4.3 + dev: true + /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -3429,9 +3578,9 @@ packages: engines: {node: '>=0.10.0'} dev: true - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + /fs-extra@11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} dependencies: graceful-fs: 4.2.10 jsonfile: 6.1.0 @@ -3451,6 +3600,10 @@ packages: /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + /function.prototype.name@1.1.6: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} @@ -3549,6 +3702,13 @@ packages: is-glob: 4.0.3 dev: true + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -3687,6 +3847,13 @@ packages: type-fest: 0.8.1 dev: true + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + /homedir-polyfill@1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -3921,6 +4088,12 @@ packages: dependencies: has: 1.0.3 + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + dev: true + /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} @@ -4675,6 +4848,13 @@ packages: esprima: 4.0.1 dev: true + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + /jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} dev: true @@ -5528,11 +5708,18 @@ packages: fast-diff: 1.3.0 dev: true - /prettier-plugin-organize-imports@2.3.4(prettier@2.8.8)(typescript@4.9.5): - resolution: {integrity: sha512-R8o23sf5iVL/U71h9SFUdhdOEPsi3nm42FD/oDYIZ2PQa4TNWWuWecxln6jlIQzpZTDMUeO1NicJP6lLn2TtRw==} + /prettier-plugin-organize-imports@3.2.3(prettier@2.8.8)(typescript@4.9.5): + resolution: {integrity: sha512-KFvk8C/zGyvUaE3RvxN2MhCLwzV6OBbFSkwZ2OamCrs9ZY4i5L77jQ/w4UmUr+lqX8qbaqVq6bZZkApn+IgJSg==} peerDependencies: + '@volar/vue-language-plugin-pug': ^1.0.4 + '@volar/vue-typescript': ^1.0.4 prettier: '>=2.0' typescript: '>=2.9' + peerDependenciesMeta: + '@volar/vue-language-plugin-pug': + optional: true + '@volar/vue-typescript': + optional: true dependencies: prettier: 2.8.8 typescript: 4.9.5 @@ -5839,7 +6026,7 @@ packages: resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} hasBin: true dependencies: - is-core-module: 2.13.0 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true From 45b64db1af92e4e0cd85cc038debef2bc169f91f Mon Sep 17 00:00:00 2001 From: Harry Brundage Date: Mon, 30 Oct 2023 11:04:41 -0400 Subject: [PATCH 3/9] Upgrade lint and move test tsconfig to proper spot --- .eslintrc.js | 2 +- packages/fastify-renderer/package.json | 5 +- .../simple-react/NavigationHistoryTest.tsx | 2 +- .../test-apps/{ => simple-react}/helpers.ts | 7 +- packages/test-apps/simple-react/package.json | 8 +- .../simple-react/test/boot-props.spec.ts | 2 +- .../test/imperative-rendering.spec.ts | 2 +- .../test/navigation-details.spec.ts | 2 +- .../test/navigation-history.spec.ts | 2 +- .../test-apps/simple-react/test/serve.spec.ts | 2 +- .../test/switching-contexts.spec.ts | 2 +- .../test/use-custom-template.spec.ts | 2 +- packages/test-apps/simple-react/tsconfig.json | 18 ++ packages/test-apps/tsconfig.json | 13 -- pnpm-lock.yaml | 165 ++++++++++-------- 15 files changed, 128 insertions(+), 106 deletions(-) rename packages/test-apps/{ => simple-react}/helpers.ts (90%) create mode 100644 packages/test-apps/simple-react/tsconfig.json delete mode 100644 packages/test-apps/tsconfig.json diff --git a/.eslintrc.js b/.eslintrc.js index dce6318a..86ffe26f 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -2,7 +2,7 @@ module.exports = { parser: '@typescript-eslint/parser', parserOptions: { tsconfigRootDir: __dirname, - project: ['./packages/fastify-renderer/tsconfig.eslint.json', './packages/test-apps/tsconfig.json'], + project: ['./packages/fastify-renderer/tsconfig.eslint.json', './packages/test-apps/simple-react/tsconfig.json'], }, settings: { react: { diff --git a/packages/fastify-renderer/package.json b/packages/fastify-renderer/package.json index 43ff842c..752ba7c8 100644 --- a/packages/fastify-renderer/package.json +++ b/packages/fastify-renderer/package.json @@ -81,7 +81,7 @@ "@swc/jest": "^0.2.29", "@types/connect": "^3.4.35", "@types/jest": "^26.0.24", - "@types/node": "^14.17.20", + "@types/node": "^18.11.9", "@types/react": "^17.0.43", "@types/react-dom": "^17.0.11", "@types/sanitize-filename": "^1.6.3", @@ -91,13 +91,12 @@ "fastify": "^3.29.0", "gitpkg": "^1.0.0-beta.2", "jest": "^28.1.3", - "jest-playwright-preset": "^2.0.0", "npm-run-all": "^4.1.5", "pino-pretty": "^4.8.0", "react": "0.0.0-experimental-4ead6b530", "react-dom": "0.0.0-experimental-4ead6b530", "rimraf": "^3.0.2", - "typescript": "^4.7.4" + "typescript": "^5.2.2" }, "files": [ "client", diff --git a/packages/test-apps/simple-react/NavigationHistoryTest.tsx b/packages/test-apps/simple-react/NavigationHistoryTest.tsx index ad97b091..8daac8a8 100644 --- a/packages/test-apps/simple-react/NavigationHistoryTest.tsx +++ b/packages/test-apps/simple-react/NavigationHistoryTest.tsx @@ -2,7 +2,7 @@ import React from 'react' import { Link, useLocation } from 'fastify-renderer/client/react' const NavigationHistoryTest = () => { - const [path, navigate] = useLocation() + const [_path, navigate] = useLocation() return ( <> diff --git a/packages/test-apps/helpers.ts b/packages/test-apps/simple-react/helpers.ts similarity index 90% rename from packages/test-apps/helpers.ts rename to packages/test-apps/simple-react/helpers.ts index ec3d7d8d..df3c37df 100644 --- a/packages/test-apps/helpers.ts +++ b/packages/test-apps/simple-react/helpers.ts @@ -20,17 +20,14 @@ export const port = 3000 + parseInt(process.env.JEST_WORKER_ID!) - 1 export const rootURL = `http://localhost:${port}` beforeAll(async () => { - const testPath = expect.getState().testPath as string + const testPath = expect.getState().testPath // eslint-disable-next-line @typescript-eslint/prefer-regexp-exec const testName = slash(testPath).match(/test-apps\/([\w-]+)\//)?.[1] // if this is a test placed under test-apps/xxx/test/ // start a fastify server in that directory. if (testName) { - const testAppsRoot = resolve(__dirname, './') - const srcDir = resolve(testAppsRoot, testName) - - const serverEntrypoint = resolve(srcDir, 'server.ts') + const serverEntrypoint = resolve(__dirname, 'server.ts') if (!fs.existsSync(serverEntrypoint)) { throw Error(`Missing server entrypoint file at: ${serverEntrypoint}`) } diff --git a/packages/test-apps/simple-react/package.json b/packages/test-apps/simple-react/package.json index 9ec2afed..e2998c09 100644 --- a/packages/test-apps/simple-react/package.json +++ b/packages/test-apps/simple-react/package.json @@ -20,6 +20,12 @@ "@playwright/test": "^1.39.0", "@swc/core": "^1.3.95", "@swc/jest": "^0.2.29", - "html-validator": "^5.1.18" + "@types/jest": "^26.0.24", + "@types/node": "^18.11.9", + "@types/react": "^17.0.43", + "@types/react-dom": "^17.0.11", + "html-validator": "^5.1.18", + "jest-playwright-preset": "^2.0.0", + "typescript": "^5.2.2" } } diff --git a/packages/test-apps/simple-react/test/boot-props.spec.ts b/packages/test-apps/simple-react/test/boot-props.spec.ts index 357c4a7c..357339f2 100644 --- a/packages/test-apps/simple-react/test/boot-props.spec.ts +++ b/packages/test-apps/simple-react/test/boot-props.spec.ts @@ -1,6 +1,6 @@ import { expect } from '@playwright/test' import { Page } from 'playwright-chromium' -import { newTestPage, reactReady, rootURL } from '../../helpers' +import { newTestPage, reactReady, rootURL } from '../helpers' describe('boot props', () => { let page: Page diff --git a/packages/test-apps/simple-react/test/imperative-rendering.spec.ts b/packages/test-apps/simple-react/test/imperative-rendering.spec.ts index e2add947..b9136e3f 100644 --- a/packages/test-apps/simple-react/test/imperative-rendering.spec.ts +++ b/packages/test-apps/simple-react/test/imperative-rendering.spec.ts @@ -1,5 +1,5 @@ import { Page } from 'playwright-chromium' -import { newTestPage, reactReady, rootURL } from '../../helpers' +import { newTestPage, reactReady, rootURL } from '../helpers' describe('imperative rendering', () => { let page: Page diff --git a/packages/test-apps/simple-react/test/navigation-details.spec.ts b/packages/test-apps/simple-react/test/navigation-details.spec.ts index 7f0ef86e..ed7e4326 100644 --- a/packages/test-apps/simple-react/test/navigation-details.spec.ts +++ b/packages/test-apps/simple-react/test/navigation-details.spec.ts @@ -1,5 +1,5 @@ import { Page } from 'playwright-chromium' -import { newTestPage, reactReady, rootURL } from '../../helpers' +import { newTestPage, reactReady, rootURL } from '../helpers' describe('navigation details', () => { let page: Page diff --git a/packages/test-apps/simple-react/test/navigation-history.spec.ts b/packages/test-apps/simple-react/test/navigation-history.spec.ts index cc6b98f0..8604ece7 100644 --- a/packages/test-apps/simple-react/test/navigation-history.spec.ts +++ b/packages/test-apps/simple-react/test/navigation-history.spec.ts @@ -1,5 +1,5 @@ import { Page } from 'playwright-chromium' -import { newTestPage, reactReady, rootURL } from '../../helpers' +import { newTestPage, reactReady, rootURL } from '../helpers' describe('navigation details', () => { let page: Page diff --git a/packages/test-apps/simple-react/test/serve.spec.ts b/packages/test-apps/simple-react/test/serve.spec.ts index 6e85cd4d..4e97aeee 100644 --- a/packages/test-apps/simple-react/test/serve.spec.ts +++ b/packages/test-apps/simple-react/test/serve.spec.ts @@ -1,6 +1,6 @@ import validator from 'html-validator' import { Page } from 'playwright-chromium' -import { newTestPage, reactReady, rootURL } from '../../helpers' +import { newTestPage, reactReady, rootURL } from '../helpers' describe('simple-react', () => { let page: Page diff --git a/packages/test-apps/simple-react/test/switching-contexts.spec.ts b/packages/test-apps/simple-react/test/switching-contexts.spec.ts index a4f16298..0f4e0f11 100644 --- a/packages/test-apps/simple-react/test/switching-contexts.spec.ts +++ b/packages/test-apps/simple-react/test/switching-contexts.spec.ts @@ -1,5 +1,5 @@ import { Page } from 'playwright-chromium' -import { newTestPage, reactReady, rootURL } from '../../helpers' +import { newTestPage, reactReady, rootURL } from '../helpers' describe('navigation details', () => { let page: Page diff --git a/packages/test-apps/simple-react/test/use-custom-template.spec.ts b/packages/test-apps/simple-react/test/use-custom-template.spec.ts index e71ca45f..f1607af2 100644 --- a/packages/test-apps/simple-react/test/use-custom-template.spec.ts +++ b/packages/test-apps/simple-react/test/use-custom-template.spec.ts @@ -1,5 +1,5 @@ import { Page } from 'playwright-chromium' -import { newTestPage, reactReady, rootURL } from '../../helpers' +import { newTestPage, reactReady, rootURL } from '../helpers' describe('Custom Template', () => { let page: Page diff --git a/packages/test-apps/simple-react/tsconfig.json b/packages/test-apps/simple-react/tsconfig.json new file mode 100644 index 00000000..d4fcd741 --- /dev/null +++ b/packages/test-apps/simple-react/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../../tsconfig.json", + "include": ["."], + "exclude": ["**/node_modules", "**/dist/**"], + "compilerOptions": { + "target": "ES2019", + "module": "commonjs", + "lib": ["ES2020", "dom"], + "sourceMap": true, + "types": [ + "jest", + "node", + "jest-playwright-preset", + "expect-playwright", + "../../fastify-renderer/src/node/stream-template.d.ts" + ] + } +} diff --git a/packages/test-apps/tsconfig.json b/packages/test-apps/tsconfig.json deleted file mode 100644 index 49907007..00000000 --- a/packages/test-apps/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": ["."], - "exclude": ["**/node_modules", "**/dist/**"], - "compilerOptions": { - "target": "ES2019", - "outDir": "../../node", - "module": "commonjs", - "lib": ["ES2020", "dom"], - "sourceMap": true, - "types": ["jest", "node", "jest-playwright-preset", "expect-playwright"] - } -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bacc0411..039b1dd8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -47,7 +47,7 @@ importers: version: 11.1.1 jest: specifier: ^28.1.3 - version: 28.1.3(@types/node@14.18.61) + version: 28.1.3(@types/node@18.18.7) playwright-chromium: specifier: ^1.39.0 version: 1.39.0 @@ -56,7 +56,7 @@ importers: version: 2.8.8 prettier-plugin-organize-imports: specifier: ^3.2.3 - version: 3.2.3(prettier@2.8.8)(typescript@4.9.5) + version: 3.2.3(prettier@2.8.8)(typescript@5.2.2) wds: specifier: ^0.18.1 version: 0.18.1 @@ -116,8 +116,8 @@ importers: specifier: ^26.0.24 version: 26.0.24 '@types/node': - specifier: ^14.17.20 - version: 14.18.61 + specifier: ^18.11.9 + version: 18.18.7 '@types/react': specifier: 17.0.4 version: 17.0.4 @@ -129,10 +129,10 @@ importers: version: 1.6.3 '@typescript-eslint/eslint-plugin': specifier: ^5.40.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.52.0)(typescript@4.9.5) + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': specifier: ^5.40.0 - version: 5.62.0(eslint@8.52.0)(typescript@4.9.5) + version: 5.62.0(eslint@8.52.0)(typescript@5.2.2) cheerio: specifier: ^1.0.0-rc.12 version: 1.0.0-rc.12 @@ -144,10 +144,7 @@ importers: version: 1.0.0-beta.4 jest: specifier: ^28.1.3 - version: 28.1.3(@types/node@14.18.61) - jest-playwright-preset: - specifier: ^2.0.0 - version: 2.0.0(jest-circus@28.1.3)(jest-environment-node@28.1.3)(jest-runner@28.1.3)(jest@28.1.3) + version: 28.1.3(@types/node@18.18.7) npm-run-all: specifier: ^4.1.5 version: 4.1.5 @@ -164,8 +161,8 @@ importers: specifier: ^3.0.2 version: 3.0.2 typescript: - specifier: ^4.7.4 - version: 4.9.5 + specifier: ^5.2.2 + version: 5.2.2 packages/test-apps/simple-react: dependencies: @@ -197,9 +194,27 @@ importers: '@swc/jest': specifier: ^0.2.29 version: 0.2.29(@swc/core@1.3.95) + '@types/jest': + specifier: ^26.0.24 + version: 26.0.24 + '@types/node': + specifier: ^18.11.9 + version: 18.18.7 + '@types/react': + specifier: 17.0.4 + version: 17.0.4 + '@types/react-dom': + specifier: 17.0.4 + version: 17.0.4 html-validator: specifier: ^5.1.18 version: 5.1.18 + jest-playwright-preset: + specifier: ^2.0.0 + version: 2.0.0(jest-circus@28.1.3)(jest-environment-node@28.1.3)(jest-runner@28.1.3)(jest@28.1.3) + typescript: + specifier: ^5.2.2 + version: 5.2.2 packages: @@ -728,7 +743,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 - '@types/node': 14.18.61 + '@types/node': 18.18.7 chalk: 4.1.2 jest-message-util: 28.1.3 jest-util: 28.1.3 @@ -749,14 +764,14 @@ packages: '@jest/test-result': 28.1.3 '@jest/transform': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 14.18.61 + '@types/node': 18.18.7 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.8.0 exit: 0.1.2 graceful-fs: 4.2.10 jest-changed-files: 28.1.3 - jest-config: 28.1.3(@types/node@14.18.61) + jest-config: 28.1.3(@types/node@18.18.7) jest-haste-map: 28.1.3 jest-message-util: 28.1.3 jest-regex-util: 28.0.2 @@ -791,7 +806,7 @@ packages: dependencies: '@jest/fake-timers': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 14.18.61 + '@types/node': 18.18.7 jest-mock: 28.1.3 dev: true @@ -818,7 +833,7 @@ packages: dependencies: '@jest/types': 28.1.3 '@sinonjs/fake-timers': 9.1.2 - '@types/node': 14.18.61 + '@types/node': 18.18.7 jest-message-util: 28.1.3 jest-mock: 28.1.3 jest-util: 28.1.3 @@ -850,7 +865,7 @@ packages: '@jest/transform': 28.1.3 '@jest/types': 28.1.3 '@jridgewell/trace-mapping': 0.3.14 - '@types/node': 14.18.61 + '@types/node': 18.18.7 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -938,7 +953,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 14.18.61 + '@types/node': 18.18.7 '@types/yargs': 15.0.15 chalk: 4.1.2 dev: true @@ -949,7 +964,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 14.18.61 + '@types/node': 18.18.7 '@types/yargs': 16.0.5 chalk: 4.1.2 dev: true @@ -961,7 +976,7 @@ packages: '@jest/schemas': 28.1.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 14.18.61 + '@types/node': 18.18.7 '@types/yargs': 17.0.24 chalk: 4.1.2 dev: true @@ -1278,13 +1293,13 @@ packages: /@types/connect@3.4.36: resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} dependencies: - '@types/node': 14.18.61 + '@types/node': 18.18.7 dev: true /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: - '@types/node': 14.18.61 + '@types/node': 18.18.7 dev: true /@types/istanbul-lib-coverage@2.0.4: @@ -1318,8 +1333,10 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true - /@types/node@14.18.61: - resolution: {integrity: sha512-1mFT4DqS4/s9tlZbdkwEB/EnSykA9MDeDLIk3FHApGvIMGY//qgstB2gu9GKGESWyW/qiRUO+jhlLJ9bBJ8j+Q==} + /@types/node@18.18.7: + resolution: {integrity: sha512-bw+lEsxis6eqJYW8Ql6+yTqkE6RuFtsQPSe5JxXbqYRFQEER5aJA9a5UH9igqDWm3X4iLHIKOHlnAXLM4mi7uQ==} + dependencies: + undici-types: 5.26.5 dev: true /@types/prettier@2.7.3: @@ -1366,7 +1383,7 @@ packages: /@types/wait-on@5.3.1: resolution: {integrity: sha512-2FFOKCF/YydrMUaqg+fkk49qf0e5rDgwt6aQsMzFQzbS419h2gNOXyiwp/o2yYy27bi/C1z+HgfncryjGzlvgQ==} dependencies: - '@types/node': 14.18.61 + '@types/node': 18.18.7 dev: true /@types/yargs-parser@21.0.0: @@ -1391,7 +1408,7 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.52.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.52.0)(typescript@5.2.2): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1403,23 +1420,23 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.8.1 - '@typescript-eslint/parser': 5.62.0(eslint@8.52.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.62.0(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.52.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@4.9.5) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.52.0 graphemer: 1.4.0 ignore: 5.2.0 natural-compare-lite: 1.4.0 semver: 7.5.4 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.2.2) + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.52.0)(typescript@4.9.5): + /@typescript-eslint/parser@5.62.0(eslint@8.52.0)(typescript@5.2.2): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1431,10 +1448,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) debug: 4.3.4 eslint: 8.52.0 - typescript: 4.9.5 + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true @@ -1447,7 +1464,7 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.52.0)(typescript@4.9.5): + /@typescript-eslint/type-utils@5.62.0(eslint@8.52.0)(typescript@5.2.2): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1457,12 +1474,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.52.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.2.2) + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true @@ -1472,7 +1489,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1487,13 +1504,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.2.2) + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.52.0)(typescript@4.9.5): + /@typescript-eslint/utils@5.62.0(eslint@8.52.0)(typescript@5.2.2): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1504,7 +1521,7 @@ packages: '@types/semver': 7.5.2 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) eslint: 8.52.0 eslint-scope: 5.1.1 semver: 7.5.4 @@ -4287,7 +4304,7 @@ packages: '@babel/core': 7.18.9 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true @@ -4371,7 +4388,7 @@ packages: '@jest/expect': 28.1.3 '@jest/test-result': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 14.18.61 + '@types/node': 18.18.7 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -4390,7 +4407,7 @@ packages: - supports-color dev: true - /jest-cli@28.1.3(@types/node@14.18.61): + /jest-cli@28.1.3(@types/node@18.18.7): resolution: {integrity: sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} hasBin: true @@ -4407,7 +4424,7 @@ packages: exit: 0.1.2 graceful-fs: 4.2.10 import-local: 3.1.0 - jest-config: 28.1.3(@types/node@14.18.61) + jest-config: 28.1.3(@types/node@18.18.7) jest-util: 28.1.3 jest-validate: 28.1.3 prompts: 2.4.2 @@ -4418,7 +4435,7 @@ packages: - ts-node dev: true - /jest-config@28.1.3(@types/node@14.18.61): + /jest-config@28.1.3(@types/node@18.18.7): resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: @@ -4433,7 +4450,7 @@ packages: '@babel/core': 7.18.9 '@jest/test-sequencer': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 14.18.61 + '@types/node': 18.18.7 babel-jest: 28.1.3(@babel/core@7.18.9) chalk: 4.1.2 ci-info: 3.8.0 @@ -4502,7 +4519,7 @@ packages: '@jest/environment': 28.1.3 '@jest/fake-timers': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 14.18.61 + '@types/node': 18.18.7 jest-mock: 28.1.3 jest-util: 28.1.3 dev: true @@ -4523,7 +4540,7 @@ packages: dependencies: '@jest/types': 28.1.3 '@types/graceful-fs': 4.1.6 - '@types/node': 14.18.61 + '@types/node': 18.18.7 anymatch: 3.1.2 fb-watchman: 2.0.2 graceful-fs: 4.2.10 @@ -4574,7 +4591,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 - '@types/node': 14.18.61 + '@types/node': 18.18.7 dev: true /jest-playwright-preset@2.0.0(jest-circus@28.1.3)(jest-environment-node@28.1.3)(jest-runner@28.1.3)(jest@28.1.3): @@ -4586,13 +4603,13 @@ packages: jest-runner: ^28.0.0 dependencies: expect-playwright: 0.8.0 - jest: 28.1.3(@types/node@14.18.61) + jest: 28.1.3(@types/node@18.18.7) jest-circus: 28.1.3 jest-environment-node: 28.1.3 jest-process-manager: 0.3.1 jest-runner: 28.1.3 nyc: 15.1.0 - playwright-core: 1.25.0 + playwright-core: 1.39.0 rimraf: 3.0.2 uuid: 8.3.2 transitivePeerDependencies: @@ -4669,7 +4686,7 @@ packages: '@jest/test-result': 28.1.3 '@jest/transform': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 14.18.61 + '@types/node': 18.18.7 chalk: 4.1.2 emittery: 0.10.2 graceful-fs: 4.2.10 @@ -4755,7 +4772,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 - '@types/node': 14.18.61 + '@types/node': 18.18.7 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.10 @@ -4780,7 +4797,7 @@ packages: dependencies: '@jest/test-result': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 14.18.61 + '@types/node': 18.18.7 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.10.2 @@ -4792,12 +4809,12 @@ packages: resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@types/node': 14.18.61 + '@types/node': 18.18.7 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@28.1.3(@types/node@14.18.61): + /jest@28.1.3(@types/node@18.18.7): resolution: {integrity: sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} hasBin: true @@ -4810,7 +4827,7 @@ packages: '@jest/core': 28.1.3 '@jest/types': 28.1.3 import-local: 3.1.0 - jest-cli: 28.1.3(@types/node@14.18.61) + jest-cli: 28.1.3(@types/node@18.18.7) transitivePeerDependencies: - '@types/node' - supports-color @@ -5665,12 +5682,6 @@ packages: playwright-core: 1.39.0 dev: true - /playwright-core@1.25.0: - resolution: {integrity: sha512-kZ3Jwaf3wlu0GgU0nB8UMQ+mXFTqBIFz9h1svTlNduNKjnbPXFxw7mJanLVjqxHJRn62uBfmgBj93YHidk2N5Q==} - engines: {node: '>=14'} - hasBin: true - dev: true - /playwright-core@1.39.0: resolution: {integrity: sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw==} engines: {node: '>=16'} @@ -5708,7 +5719,7 @@ packages: fast-diff: 1.3.0 dev: true - /prettier-plugin-organize-imports@3.2.3(prettier@2.8.8)(typescript@4.9.5): + /prettier-plugin-organize-imports@3.2.3(prettier@2.8.8)(typescript@5.2.2): resolution: {integrity: sha512-KFvk8C/zGyvUaE3RvxN2MhCLwzV6OBbFSkwZ2OamCrs9ZY4i5L77jQ/w4UmUr+lqX8qbaqVq6bZZkApn+IgJSg==} peerDependencies: '@volar/vue-language-plugin-pug': ^1.0.4 @@ -5722,7 +5733,7 @@ packages: optional: true dependencies: prettier: 2.8.8 - typescript: 4.9.5 + typescript: 5.2.2 dev: true /prettier@2.8.8: @@ -6669,14 +6680,14 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tsutils@3.21.0(typescript@4.9.5): + /tsutils@3.21.0(typescript@5.2.2): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 5.2.2 dev: true /tunnel-agent@0.6.0: @@ -6768,9 +6779,9 @@ packages: is-typedarray: 1.0.0 dev: true - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} hasBin: true dev: true @@ -6783,6 +6794,10 @@ packages: which-boxed-primitive: 1.0.2 dev: true + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} From 33b48eb9825bc86196c142b4ada65b4fdcd5b31e Mon Sep 17 00:00:00 2001 From: Harry Brundage Date: Mon, 30 Oct 2023 11:14:25 -0400 Subject: [PATCH 4/9] Make minimum supported node version 18 --- .github/workflows/ci.yml | 2 +- packages/fastify-renderer/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c1c82c78..50af5f07 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: strategy: matrix: - node-version: [16.x, 18.x, 20.x] + node-version: [18.x, 20.x] os: [ubuntu-latest] steps: diff --git a/packages/fastify-renderer/package.json b/packages/fastify-renderer/package.json index 752ba7c8..970f47f8 100644 --- a/packages/fastify-renderer/package.json +++ b/packages/fastify-renderer/package.json @@ -54,7 +54,7 @@ "url": "https://github.com/fastify/fastify-renderer/issues" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 18.0.0" }, "dependencies": { "@opentelemetry/api": "^1.6.0", From 2d6cb1c9c1aeff8cc3509b1a0ec01aa81a39868d Mon Sep 17 00:00:00 2001 From: Harry Brundage Date: Mon, 30 Oct 2023 11:17:19 -0400 Subject: [PATCH 5/9] Upgrade jest --- .github/actions/setup-test-env/action.yml | 4 +- package.json | 2 +- packages/fastify-renderer/jest.config.js | 2 +- packages/fastify-renderer/package.json | 4 +- packages/test-apps/simple-react/helpers.ts | 2 +- .../test-apps/simple-react/jest.config.js | 2 +- packages/test-apps/simple-react/package.json | 4 +- pnpm-lock.yaml | 899 +++++++++--------- 8 files changed, 458 insertions(+), 461 deletions(-) diff --git a/.github/actions/setup-test-env/action.yml b/.github/actions/setup-test-env/action.yml index 51202d5b..5ecc0401 100644 --- a/.github/actions/setup-test-env/action.yml +++ b/.github/actions/setup-test-env/action.yml @@ -26,4 +26,6 @@ runs: - name: Install dependencies shell: bash - run: pnpm install + run: | + pnpm install + pnpm exec playwright install diff --git a/package.json b/package.json index bb2df51c..f7ae2b22 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "eslint-plugin-react-hooks": "^4.6.0", "expect-playwright": "^0.8.0", "fs-extra": "^11.1.0", - "jest": "^28.1.3", + "jest": "^29.7.0", "playwright-chromium": "^1.39.0", "prettier": "^2.8.8", "prettier-plugin-organize-imports": "^3.2.3", diff --git a/packages/fastify-renderer/jest.config.js b/packages/fastify-renderer/jest.config.js index 930e100d..4b42437c 100644 --- a/packages/fastify-renderer/jest.config.js +++ b/packages/fastify-renderer/jest.config.js @@ -31,7 +31,7 @@ module.exports = { // ], // Indicates which provider should be used to instrument code for coverage - coverageProvider: 'v8', + // coverageProvider: 'v8', // A list of reporter names that Jest uses when writing coverage reports // coverageReporters: [ diff --git a/packages/fastify-renderer/package.json b/packages/fastify-renderer/package.json index 970f47f8..4928cd27 100644 --- a/packages/fastify-renderer/package.json +++ b/packages/fastify-renderer/package.json @@ -80,7 +80,7 @@ "@swc/core": "^1.3.95", "@swc/jest": "^0.2.29", "@types/connect": "^3.4.35", - "@types/jest": "^26.0.24", + "@types/jest": "^29.5.6", "@types/node": "^18.11.9", "@types/react": "^17.0.43", "@types/react-dom": "^17.0.11", @@ -90,7 +90,7 @@ "cheerio": "^1.0.0-rc.12", "fastify": "^3.29.0", "gitpkg": "^1.0.0-beta.2", - "jest": "^28.1.3", + "jest": "^29.7.0", "npm-run-all": "^4.1.5", "pino-pretty": "^4.8.0", "react": "0.0.0-experimental-4ead6b530", diff --git a/packages/test-apps/simple-react/helpers.ts b/packages/test-apps/simple-react/helpers.ts index df3c37df..8f8e31c0 100644 --- a/packages/test-apps/simple-react/helpers.ts +++ b/packages/test-apps/simple-react/helpers.ts @@ -20,7 +20,7 @@ export const port = 3000 + parseInt(process.env.JEST_WORKER_ID!) - 1 export const rootURL = `http://localhost:${port}` beforeAll(async () => { - const testPath = expect.getState().testPath + const testPath = expect.getState().testPath! // eslint-disable-next-line @typescript-eslint/prefer-regexp-exec const testName = slash(testPath).match(/test-apps\/([\w-]+)\//)?.[1] diff --git a/packages/test-apps/simple-react/jest.config.js b/packages/test-apps/simple-react/jest.config.js index f43470a0..85c5fc8e 100644 --- a/packages/test-apps/simple-react/jest.config.js +++ b/packages/test-apps/simple-react/jest.config.js @@ -31,7 +31,7 @@ module.exports = { // ], // Indicates which provider should be used to instrument code for coverage - coverageProvider: 'v8', + // coverageProvider: 'v8', // A list of reporter names that Jest uses when writing coverage reports // coverageReporters: [ diff --git a/packages/test-apps/simple-react/package.json b/packages/test-apps/simple-react/package.json index e2998c09..e87d8833 100644 --- a/packages/test-apps/simple-react/package.json +++ b/packages/test-apps/simple-react/package.json @@ -20,12 +20,12 @@ "@playwright/test": "^1.39.0", "@swc/core": "^1.3.95", "@swc/jest": "^0.2.29", - "@types/jest": "^26.0.24", + "@types/jest": "^29.5.6", "@types/node": "^18.11.9", "@types/react": "^17.0.43", "@types/react-dom": "^17.0.11", "html-validator": "^5.1.18", - "jest-playwright-preset": "^2.0.0", + "jest-playwright-preset": "^3.0.1", "typescript": "^5.2.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 039b1dd8..ab435f6c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,8 +46,8 @@ importers: specifier: ^11.1.0 version: 11.1.1 jest: - specifier: ^28.1.3 - version: 28.1.3(@types/node@18.18.7) + specifier: ^29.7.0 + version: 29.7.0(@types/node@18.18.7) playwright-chromium: specifier: ^1.39.0 version: 1.39.0 @@ -113,8 +113,8 @@ importers: specifier: ^3.4.35 version: 3.4.36 '@types/jest': - specifier: ^26.0.24 - version: 26.0.24 + specifier: ^29.5.6 + version: 29.5.6 '@types/node': specifier: ^18.11.9 version: 18.18.7 @@ -143,8 +143,8 @@ importers: specifier: ^1.0.0-beta.2 version: 1.0.0-beta.4 jest: - specifier: ^28.1.3 - version: 28.1.3(@types/node@18.18.7) + specifier: ^29.7.0 + version: 29.7.0(@types/node@18.18.7) npm-run-all: specifier: ^4.1.5 version: 4.1.5 @@ -195,8 +195,8 @@ importers: specifier: ^0.2.29 version: 0.2.29(@swc/core@1.3.95) '@types/jest': - specifier: ^26.0.24 - version: 26.0.24 + specifier: ^29.5.6 + version: 29.5.6 '@types/node': specifier: ^18.11.9 version: 18.18.7 @@ -210,8 +210,8 @@ importers: specifier: ^5.1.18 version: 5.1.18 jest-playwright-preset: - specifier: ^2.0.0 - version: 2.0.0(jest-circus@28.1.3)(jest-environment-node@28.1.3)(jest-runner@28.1.3)(jest@28.1.3) + specifier: ^3.0.1 + version: 3.0.1(jest-circus@29.7.0)(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0) typescript: specifier: ^5.2.2 version: 5.2.2 @@ -329,6 +329,7 @@ packages: /@babel/helper-plugin-utils@7.14.5: resolution: {integrity: sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==} engines: {node: '>=6.9.0'} + dev: false /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} @@ -404,7 +405,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.9 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.18.9): @@ -413,7 +414,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.9 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.18.9): @@ -422,7 +423,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.9 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.18.9): @@ -431,7 +432,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.9 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.18.9): @@ -440,7 +441,17 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.9 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.18.9): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.18.9): @@ -449,7 +460,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.9 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.18.9): @@ -458,7 +469,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.9 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.18.9): @@ -467,7 +478,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.9 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.18.9): @@ -476,7 +487,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.9 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.18.9): @@ -485,7 +496,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.9 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.18.9): @@ -494,7 +505,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.9 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.18.9): @@ -504,7 +515,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.18.9 - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.18.9): @@ -738,57 +749,57 @@ packages: engines: {node: '>=8'} dev: true - /@jest/console@28.1.3: - resolution: {integrity: sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/console@29.7.0: + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/node': 18.18.7 chalk: 4.1.2 - jest-message-util: 28.1.3 - jest-util: 28.1.3 + jest-message-util: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 dev: true - /@jest/core@28.1.3: - resolution: {integrity: sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/core@29.7.0: + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true dependencies: - '@jest/console': 28.1.3 - '@jest/reporters': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.18.7 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.8.0 exit: 0.1.2 graceful-fs: 4.2.10 - jest-changed-files: 28.1.3 - jest-config: 28.1.3(@types/node@18.18.7) - jest-haste-map: 28.1.3 - jest-message-util: 28.1.3 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-resolve-dependencies: 28.1.3 - jest-runner: 28.1.3 - jest-runtime: 28.1.3 - jest-snapshot: 28.1.3 - jest-util: 28.1.3 - jest-validate: 28.1.3 - jest-watcher: 28.1.3 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@18.18.7) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 micromatch: 4.0.4 - pretty-format: 28.1.3 - rimraf: 3.0.2 + pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 transitivePeerDependencies: + - babel-plugin-macros - supports-color - ts-node dev: true @@ -800,59 +811,60 @@ packages: '@jest/types': 27.5.1 dev: true - /@jest/environment@28.1.3: - resolution: {integrity: sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/environment@29.7.0: + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/fake-timers': 28.1.3 - '@jest/types': 28.1.3 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.18.7 - jest-mock: 28.1.3 + jest-mock: 29.7.0 dev: true - /@jest/expect-utils@28.1.3: - resolution: {integrity: sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/expect-utils@29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 28.0.2 + jest-get-type: 29.6.3 dev: true - /@jest/expect@28.1.3: - resolution: {integrity: sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/expect@29.7.0: + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - expect: 28.1.3 - jest-snapshot: 28.1.3 + expect: 29.7.0 + jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color dev: true - /@jest/fake-timers@28.1.3: - resolution: {integrity: sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/fake-timers@29.7.0: + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 - '@sinonjs/fake-timers': 9.1.2 + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 '@types/node': 18.18.7 - jest-message-util: 28.1.3 - jest-mock: 28.1.3 - jest-util: 28.1.3 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 dev: true - /@jest/globals@28.1.3: - resolution: {integrity: sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/globals@29.7.0: + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 28.1.3 - '@jest/expect': 28.1.3 - '@jest/types': 28.1.3 + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 transitivePeerDependencies: - supports-color dev: true - /@jest/reporters@28.1.3: - resolution: {integrity: sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/reporters@29.7.0: + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -860,11 +872,11 @@ packages: optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 - '@jridgewell/trace-mapping': 0.3.14 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.20 '@types/node': 18.18.7 chalk: 4.1.2 collect-v8-coverage: 1.0.2 @@ -872,73 +884,72 @@ packages: glob: 7.2.3 graceful-fs: 4.2.10 istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.2.1 + istanbul-lib-instrument: 6.0.1 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.6 - jest-message-util: 28.1.3 - jest-util: 28.1.3 - jest-worker: 28.1.3 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 - terminal-link: 2.1.1 v8-to-istanbul: 9.1.0 transitivePeerDependencies: - supports-color dev: true - /@jest/schemas@28.1.3: - resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@sinclair/typebox': 0.24.51 + '@sinclair/typebox': 0.27.8 dev: true - /@jest/source-map@28.1.2: - resolution: {integrity: sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/source-map@29.6.3: + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jridgewell/trace-mapping': 0.3.14 + '@jridgewell/trace-mapping': 0.3.20 callsites: 3.1.0 graceful-fs: 4.2.10 dev: true - /@jest/test-result@28.1.3: - resolution: {integrity: sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/test-result@29.7.0: + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 28.1.3 - '@jest/types': 28.1.3 + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.2 dev: true - /@jest/test-sequencer@28.1.3: - resolution: {integrity: sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/test-sequencer@29.7.0: + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 28.1.3 + '@jest/test-result': 29.7.0 graceful-fs: 4.2.10 - jest-haste-map: 28.1.3 + jest-haste-map: 29.7.0 slash: 3.0.0 dev: true - /@jest/transform@28.1.3: - resolution: {integrity: sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/transform@29.7.0: + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.18.9 - '@jest/types': 28.1.3 - '@jridgewell/trace-mapping': 0.3.14 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.20 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 - convert-source-map: 1.7.0 + convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.10 - jest-haste-map: 28.1.3 - jest-regex-util: 28.0.2 - jest-util: 28.1.3 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 micromatch: 4.0.4 pirates: 4.0.6 slash: 3.0.0 @@ -947,17 +958,6 @@ packages: - supports-color dev: true - /@jest/types@26.6.2: - resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 18.18.7 - '@types/yargs': 15.0.15 - chalk: 4.1.2 - dev: true - /@jest/types@27.5.1: resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -969,11 +969,11 @@ packages: chalk: 4.1.2 dev: true - /@jest/types@28.1.3: - resolution: {integrity: sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 28.1.3 + '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 '@types/node': 18.18.7 @@ -1013,6 +1013,13 @@ packages: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 + /@jridgewell/trace-mapping@0.3.20: + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: @@ -1111,20 +1118,20 @@ packages: leven: 3.1.0 dev: true - /@sinclair/typebox@0.24.51: - resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@sinonjs/commons@1.8.6: - resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + /@sinonjs/commons@3.0.0: + resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} dependencies: type-detect: 4.0.8 dev: true - /@sinonjs/fake-timers@9.1.2: - resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==} + /@sinonjs/fake-timers@10.3.0: + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} dependencies: - '@sinonjs/commons': 1.8.6 + '@sinonjs/commons': 3.0.0 dev: true /@swc/core-darwin-arm64@1.3.95: @@ -1318,11 +1325,11 @@ packages: '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/jest@26.0.24: - resolution: {integrity: sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==} + /@types/jest@29.5.6: + resolution: {integrity: sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==} dependencies: - jest-diff: 26.6.2 - pretty-format: 26.6.2 + expect: 29.7.0 + pretty-format: 29.7.0 dev: true /@types/json-schema@7.0.13: @@ -1339,10 +1346,6 @@ packages: undici-types: 5.26.5 dev: true - /@types/prettier@2.7.3: - resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - dev: true - /@types/prop-types@15.7.6: resolution: {integrity: sha512-RK/kBbYOQQHLYj9Z95eh7S6t7gq4Ojt/NT8HTk8bWVhA5DaF+5SMnxHKkP4gPNN3wAZkKP+VjAf0ebtYzf+fxg==} dev: true @@ -1390,12 +1393,6 @@ packages: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} dev: true - /@types/yargs@15.0.15: - resolution: {integrity: sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true - /@types/yargs@16.0.5: resolution: {integrity: sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==} dependencies: @@ -1839,17 +1836,17 @@ packages: - debug dev: true - /babel-jest@28.1.3(@babel/core@7.18.9): - resolution: {integrity: sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /babel-jest@29.7.0(@babel/core@7.18.9): + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: '@babel/core': 7.18.9 - '@jest/transform': 28.1.3 + '@jest/transform': 29.7.0 '@types/babel__core': 7.20.2 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 28.1.3(@babel/core@7.18.9) + babel-preset-jest: 29.6.3(@babel/core@7.18.9) chalk: 4.1.2 graceful-fs: 4.2.10 slash: 3.0.0 @@ -1861,7 +1858,7 @@ packages: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-plugin-utils': 7.22.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -1870,12 +1867,12 @@ packages: - supports-color dev: true - /babel-plugin-jest-hoist@28.1.3: - resolution: {integrity: sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.18.6 - '@babel/types': 7.18.9 + '@babel/types': 7.22.19 '@types/babel__core': 7.20.2 '@types/babel__traverse': 7.20.2 dev: true @@ -1900,14 +1897,14 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.18.9) dev: true - /babel-preset-jest@28.1.3(@babel/core@7.18.9): - resolution: {integrity: sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /babel-preset-jest@29.6.3(@babel/core@7.18.9): + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.18.9 - babel-plugin-jest-hoist: 28.1.3 + babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.18.9) dev: true @@ -2255,6 +2252,10 @@ packages: dependencies: safe-buffer: 5.1.2 + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: false @@ -2266,6 +2267,25 @@ packages: /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + /create-jest@29.7.0(@types/node@18.18.7): + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.10 + jest-config: 29.7.0(@types/node@18.18.7) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + /cross-env@7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} @@ -2370,8 +2390,13 @@ packages: engines: {node: '>=0.10.0'} dev: true - /dedent@0.7.0: - resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + /dedent@1.5.1: + resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true dev: true /deep-is@0.1.4: @@ -2456,14 +2481,9 @@ packages: engines: {node: '>=8'} dev: true - /diff-sequences@26.6.2: - resolution: {integrity: sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==} - engines: {node: '>= 10.14.2'} - dev: true - - /diff-sequences@28.1.1: - resolution: {integrity: sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /dir-glob@3.0.1: @@ -2528,8 +2548,8 @@ packages: /electron-to-chromium@1.4.201: resolution: {integrity: sha512-87D0gEHbhLZgZxZl2e9/rC/I2BicPC/y9wR/cuaJSqvkgN41s5EImi89S7YExHc7F0OBXiKsABZt9mmb9bqFcQ==} - /emittery@0.10.2: - resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} dev: true @@ -3252,15 +3272,15 @@ packages: resolution: {integrity: sha512-+kn8561vHAY+dt+0gMqqj1oY+g5xWrsuGMk4QGxotT2WS545nVqqjs37z6hrYfIuucwqthzwJfCJUEYqixyljg==} dev: true - /expect@28.1.3: - resolution: {integrity: sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/expect-utils': 28.1.3 - jest-get-type: 28.0.2 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-util: 28.1.3 + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 dev: true /express@4.18.2: @@ -4314,10 +4334,23 @@ packages: engines: {node: '>=8'} dependencies: '@babel/core': 7.18.9 - '@babel/parser': 7.18.9 + '@babel/parser': 7.22.16 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-instrument@6.0.1: + resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.18.9 + '@babel/parser': 7.22.16 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true @@ -4372,44 +4405,47 @@ packages: set-function-name: 2.0.1 dev: true - /jest-changed-files@28.1.3: - resolution: {integrity: sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: execa: 5.1.1 + jest-util: 29.7.0 p-limit: 3.1.0 dev: true - /jest-circus@28.1.3: - resolution: {integrity: sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 28.1.3 - '@jest/expect': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.18.7 chalk: 4.1.2 co: 4.6.0 - dedent: 0.7.0 + dedent: 1.5.1 is-generator-fn: 2.1.0 - jest-each: 28.1.3 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-runtime: 28.1.3 - jest-snapshot: 28.1.3 - jest-util: 28.1.3 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 p-limit: 3.1.0 - pretty-format: 28.1.3 + pretty-format: 29.7.0 + pure-rand: 6.0.4 slash: 3.0.0 stack-utils: 2.0.6 transitivePeerDependencies: + - babel-plugin-macros - supports-color dev: true - /jest-cli@28.1.3(@types/node@18.18.7): - resolution: {integrity: sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-cli@29.7.0(@types/node@18.18.7): + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -4417,27 +4453,27 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 + '@jest/core': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 chalk: 4.1.2 + create-jest: 29.7.0(@types/node@18.18.7) exit: 0.1.2 - graceful-fs: 4.2.10 import-local: 3.1.0 - jest-config: 28.1.3(@types/node@18.18.7) - jest-util: 28.1.3 - jest-validate: 28.1.3 - prompts: 2.4.2 + jest-config: 29.7.0(@types/node@18.18.7) + jest-util: 29.7.0 + jest-validate: 29.7.0 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' + - babel-plugin-macros - supports-color - ts-node dev: true - /jest-config@28.1.3(@types/node@18.18.7): - resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-config@29.7.0(@types/node@18.18.7): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' ts-node: '>=9.0.0' @@ -4448,166 +4484,153 @@ packages: optional: true dependencies: '@babel/core': 7.18.9 - '@jest/test-sequencer': 28.1.3 - '@jest/types': 28.1.3 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.18.7 - babel-jest: 28.1.3(@babel/core@7.18.9) + babel-jest: 29.7.0(@babel/core@7.18.9) chalk: 4.1.2 ci-info: 3.8.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.10 - jest-circus: 28.1.3 - jest-environment-node: 28.1.3 - jest-get-type: 28.0.2 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-runner: 28.1.3 - jest-util: 28.1.3 - jest-validate: 28.1.3 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 micromatch: 4.0.4 parse-json: 5.2.0 - pretty-format: 28.1.3 + pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 transitivePeerDependencies: + - babel-plugin-macros - supports-color dev: true - /jest-diff@26.6.2: - resolution: {integrity: sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==} - engines: {node: '>= 10.14.2'} - dependencies: - chalk: 4.1.2 - diff-sequences: 26.6.2 - jest-get-type: 26.3.0 - pretty-format: 26.6.2 - dev: true - - /jest-diff@28.1.3: - resolution: {integrity: sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - diff-sequences: 28.1.1 - jest-get-type: 28.0.2 - pretty-format: 28.1.3 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true - /jest-docblock@28.1.1: - resolution: {integrity: sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: detect-newline: 3.1.0 dev: true - /jest-each@28.1.3: - resolution: {integrity: sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 chalk: 4.1.2 - jest-get-type: 28.0.2 - jest-util: 28.1.3 - pretty-format: 28.1.3 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 dev: true - /jest-environment-node@28.1.3: - resolution: {integrity: sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 28.1.3 - '@jest/fake-timers': 28.1.3 - '@jest/types': 28.1.3 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.18.7 - jest-mock: 28.1.3 - jest-util: 28.1.3 + jest-mock: 29.7.0 + jest-util: 29.7.0 dev: true - /jest-get-type@26.3.0: - resolution: {integrity: sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==} - engines: {node: '>= 10.14.2'} + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-get-type@28.0.2: - resolution: {integrity: sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - dev: true - - /jest-haste-map@28.1.3: - resolution: {integrity: sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.6 '@types/node': 18.18.7 anymatch: 3.1.2 fb-watchman: 2.0.2 graceful-fs: 4.2.10 - jest-regex-util: 28.0.2 - jest-util: 28.1.3 - jest-worker: 28.1.3 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 micromatch: 4.0.4 walker: 1.0.8 optionalDependencies: fsevents: 2.3.2 dev: true - /jest-leak-detector@28.1.3: - resolution: {integrity: sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-get-type: 28.0.2 - pretty-format: 28.1.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true - /jest-matcher-utils@28.1.3: - resolution: {integrity: sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 - jest-diff: 28.1.3 - jest-get-type: 28.0.2 - pretty-format: 28.1.3 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 dev: true - /jest-message-util@28.1.3: - resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/code-frame': 7.18.6 - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.10 micromatch: 4.0.4 - pretty-format: 28.1.3 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 dev: true - /jest-mock@28.1.3: - resolution: {integrity: sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/node': 18.18.7 + jest-util: 29.7.0 dev: true - /jest-playwright-preset@2.0.0(jest-circus@28.1.3)(jest-environment-node@28.1.3)(jest-runner@28.1.3)(jest@28.1.3): - resolution: {integrity: sha512-pV5ruTJJMen3lwshUL4dlSqLlP8z4q9MXqWJkmy+sB6HYfzXoqBHzhl+5hslznhnSVTe4Dwu+reiiwcUJpYUbw==} + /jest-playwright-preset@3.0.1(jest-circus@29.7.0)(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0): + resolution: {integrity: sha512-tHqv+JUmheNMZpmH7XyT5CAMHr3ExTUIY9baMPzcJiLYPvCaPTwig9YvuGGnXV2n+Epmch0Ld4429g6py0nq0w==} peerDependencies: - jest: ^28.0.0 - jest-circus: ^28.0.0 - jest-environment-node: ^28.0.0 - jest-runner: ^28.0.0 + jest: ^29.3.1 + jest-circus: ^29.3.1 + jest-environment-node: ^29.3.1 + jest-runner: ^29.3.1 dependencies: expect-playwright: 0.8.0 - jest: 28.1.3(@types/node@18.18.7) - jest-circus: 28.1.3 - jest-environment-node: 28.1.3 + jest: 29.7.0(@types/node@18.18.7) + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 jest-process-manager: 0.3.1 - jest-runner: 28.1.3 + jest-runner: 29.7.0 nyc: 15.1.0 playwright-core: 1.39.0 rimraf: 3.0.2 @@ -4617,7 +4640,7 @@ packages: - supports-color dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@28.1.3): + /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} peerDependencies: @@ -4626,7 +4649,7 @@ packages: jest-resolve: optional: true dependencies: - jest-resolve: 28.1.3 + jest-resolve: 29.7.0 dev: true /jest-process-manager@0.3.1: @@ -4647,131 +4670,128 @@ packages: - supports-color dev: true - /jest-regex-util@28.0.2: - resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-resolve-dependencies@28.1.3: - resolution: {integrity: sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - jest-regex-util: 28.0.2 - jest-snapshot: 28.1.3 + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color dev: true - /jest-resolve@28.1.3: - resolution: {integrity: sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 graceful-fs: 4.2.10 - jest-haste-map: 28.1.3 - jest-pnp-resolver: 1.2.3(jest-resolve@28.1.3) - jest-util: 28.1.3 - jest-validate: 28.1.3 - resolve: 1.22.0 - resolve.exports: 1.1.1 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.6 + resolve.exports: 2.0.2 slash: 3.0.0 dev: true - /jest-runner@28.1.3: - resolution: {integrity: sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/console': 28.1.3 - '@jest/environment': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.18.7 chalk: 4.1.2 - emittery: 0.10.2 + emittery: 0.13.1 graceful-fs: 4.2.10 - jest-docblock: 28.1.1 - jest-environment-node: 28.1.3 - jest-haste-map: 28.1.3 - jest-leak-detector: 28.1.3 - jest-message-util: 28.1.3 - jest-resolve: 28.1.3 - jest-runtime: 28.1.3 - jest-util: 28.1.3 - jest-watcher: 28.1.3 - jest-worker: 28.1.3 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 p-limit: 3.1.0 source-map-support: 0.5.13 transitivePeerDependencies: - supports-color dev: true - /jest-runtime@28.1.3: - resolution: {integrity: sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/environment': 28.1.3 - '@jest/fake-timers': 28.1.3 - '@jest/globals': 28.1.3 - '@jest/source-map': 28.1.2 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.18.7 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2 - execa: 5.1.1 glob: 7.2.3 graceful-fs: 4.2.10 - jest-haste-map: 28.1.3 - jest-message-util: 28.1.3 - jest-mock: 28.1.3 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-snapshot: 28.1.3 - jest-util: 28.1.3 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: - supports-color dev: true - /jest-snapshot@28.1.3: - resolution: {integrity: sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.18.9 '@babel/generator': 7.18.9 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.18.9) '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.18.9) - '@babel/traverse': 7.18.9 '@babel/types': 7.22.19 - '@jest/expect-utils': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 - '@types/babel__traverse': 7.20.2 - '@types/prettier': 2.7.3 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.18.9) chalk: 4.1.2 - expect: 28.1.3 + expect: 29.7.0 graceful-fs: 4.2.10 - jest-diff: 28.1.3 - jest-get-type: 28.0.2 - jest-haste-map: 28.1.3 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-util: 28.1.3 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 natural-compare: 1.4.0 - pretty-format: 28.1.3 + pretty-format: 29.7.0 semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true - /jest-util@28.1.3: - resolution: {integrity: sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/node': 18.18.7 chalk: 4.1.2 ci-info: 3.8.0 @@ -4779,44 +4799,45 @@ packages: picomatch: 2.3.0 dev: true - /jest-validate@28.1.3: - resolution: {integrity: sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 camelcase: 6.3.0 chalk: 4.1.2 - jest-get-type: 28.0.2 + jest-get-type: 29.6.3 leven: 3.1.0 - pretty-format: 28.1.3 + pretty-format: 29.7.0 dev: true - /jest-watcher@28.1.3: - resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.18.7 ansi-escapes: 4.3.2 chalk: 4.1.2 - emittery: 0.10.2 - jest-util: 28.1.3 + emittery: 0.13.1 + jest-util: 29.7.0 string-length: 4.0.2 dev: true - /jest-worker@28.1.3: - resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@types/node': 18.18.7 + jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@28.1.3(@types/node@18.18.7): - resolution: {integrity: sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /jest@29.7.0(@types/node@18.18.7): + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -4824,12 +4845,13 @@ packages: node-notifier: optional: true dependencies: - '@jest/core': 28.1.3 - '@jest/types': 28.1.3 + '@jest/core': 29.7.0 + '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 28.1.3(@types/node@18.18.7) + jest-cli: 29.7.0(@types/node@18.18.7) transitivePeerDependencies: - '@types/node' + - babel-plugin-macros - supports-color - ts-node dev: true @@ -5742,22 +5764,11 @@ packages: hasBin: true dev: true - /pretty-format@26.6.2: - resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} - engines: {node: '>= 10'} - dependencies: - '@jest/types': 26.6.2 - ansi-regex: 5.0.1 - ansi-styles: 4.3.0 - react-is: 17.0.2 - dev: true - - /pretty-format@28.1.3: - resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jest/schemas': 28.1.3 - ansi-regex: 5.0.1 + '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 dev: true @@ -5819,6 +5830,10 @@ packages: resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} engines: {node: '>=6'} + /pure-rand@6.0.4: + resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} + dev: true + /qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} @@ -5866,10 +5881,6 @@ packages: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true - /react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - dev: true - /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true @@ -6020,8 +6031,8 @@ packages: engines: {node: '>=8'} dev: true - /resolve.exports@1.1.1: - resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} + /resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} dev: true @@ -6550,14 +6561,6 @@ packages: has-flag: 4.0.0 dev: true - /supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -6593,14 +6596,6 @@ packages: readable-stream: 3.6.2 dev: true - /terminal-link@2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.3.0 - dev: true - /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -6853,7 +6848,7 @@ packages: resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.14 + '@jridgewell/trace-mapping': 0.3.20 '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.7.0 dev: true From 66feb639c64d799422d209bd56f45b85e825a711 Mon Sep 17 00:00:00 2001 From: Harry Brundage Date: Thu, 2 Nov 2023 00:11:14 -0400 Subject: [PATCH 6/9] Reduce test flakiness by awaiting all test navigations --- .../test-apps/simple-react/test/navigation-details.spec.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/test-apps/simple-react/test/navigation-details.spec.ts b/packages/test-apps/simple-react/test/navigation-details.spec.ts index ed7e4326..996d19ac 100644 --- a/packages/test-apps/simple-react/test/navigation-details.spec.ts +++ b/packages/test-apps/simple-react/test/navigation-details.spec.ts @@ -14,6 +14,9 @@ describe('navigation details', () => { await page.click('#home-link') const testCalls: any[] = await page.evaluate('window.test') + + await page.waitForFunction(() => window.test.length === 2) + expect(testCalls).toBeDefined() expect(testCalls).toHaveLength(2) expect(testCalls[0].isNavigating).toBe(false) @@ -31,6 +34,8 @@ describe('navigation details', () => { await page.click('#section-link') + await page.waitForFunction(() => window.test.length === 3) + const testCalls: any[] = await page.evaluate('window.test') expect(testCalls).toBeDefined() expect(testCalls[0].isNavigating).toBe(false) @@ -46,6 +51,8 @@ describe('navigation details', () => { await page.goto(`${rootURL}/navigation-test?foo=bar#section`) await reactReady(page) + await page.waitForFunction(() => window.test.length === 3) + const testCalls: any[] = await page.evaluate('window.test') expect(testCalls).toBeDefined() expect(testCalls).toHaveLength(3) From 5f29972765f1e7933b04291980ef98ca15103284 Mon Sep 17 00:00:00 2001 From: Harry Brundage Date: Thu, 2 Nov 2023 00:18:07 -0400 Subject: [PATCH 7/9] Wait for networkidle to reduce test flakiness --- packages/test-apps/simple-react/test/switching-contexts.spec.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/test-apps/simple-react/test/switching-contexts.spec.ts b/packages/test-apps/simple-react/test/switching-contexts.spec.ts index 0f4e0f11..907685e2 100644 --- a/packages/test-apps/simple-react/test/switching-contexts.spec.ts +++ b/packages/test-apps/simple-react/test/switching-contexts.spec.ts @@ -8,6 +8,7 @@ describe('navigation details', () => { page = await newTestPage() await page.goto(`${rootURL}`) await reactReady(page) + await page.waitForLoadState('networkidle') }) test('navigating between pages of the same context doesnt trigger a server side render request', async () => { From 8d96b6c3b15ee0c94e5e570e17b03b182d2c46d5 Mon Sep 17 00:00:00 2001 From: Harry Brundage Date: Thu, 2 Nov 2023 00:20:49 -0400 Subject: [PATCH 8/9] Run lint as a separate job to not run it more than once --- .github/workflows/ci.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 50af5f07..9ef8ce66 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,11 +18,17 @@ jobs: run: pnpm build - name: Run Tests run: pnpm run test + + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/setup-test-env - name: Run Lint run: pnpm run lint automerge: - needs: build + needs: [build, lint] runs-on: ubuntu-latest steps: - uses: fastify/github-action-merge-dependabot@v1 From 36e8a44518e370e429039e60656d236ac81471bc Mon Sep 17 00:00:00 2001 From: Harry Brundage Date: Thu, 2 Nov 2023 00:24:57 -0400 Subject: [PATCH 9/9] Upgrade outdated checkout github action --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9ef8ce66..c886831a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: os: [ubuntu-latest] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: ./.github/actions/setup-test-env - name: Build JS run: pnpm build @@ -22,7 +22,7 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: ./.github/actions/setup-test-env - name: Run Lint run: pnpm run lint