diff --git a/package.json b/package.json index df07c9fabd2..8410c29b698 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "format-util": "1.0.5", "globby": "14.0.1", "jsdom": "24.0.0", - "lerna": "8.1.2", + "lerna": "7.4.2", "markdownlint-cli2": "0.12.1", "prettier": "3.2.5", "pretty-quick": "4.0.0", diff --git a/packages/create-toolpad-app/tests/index.spec.ts b/packages/create-toolpad-app/tests/index.spec.ts index f47ff624210..9a02276ee7c 100644 --- a/packages/create-toolpad-app/tests/index.spec.ts +++ b/packages/create-toolpad-app/tests/index.spec.ts @@ -35,8 +35,7 @@ async function waitForMatch(input: Readable, regex: RegExp): Promise { testDir = await fs.mkdtemp(path.resolve(os.tmpdir(), './test-app-')); diff --git a/packages/toolpad-studio/src/runtime/SignInPage.tsx b/packages/toolpad-studio/src/runtime/SignInPage.tsx index 3856b0c13e3..ba3a92178c4 100644 --- a/packages/toolpad-studio/src/runtime/SignInPage.tsx +++ b/packages/toolpad-studio/src/runtime/SignInPage.tsx @@ -70,7 +70,7 @@ export default function SignInPage() { React.useEffect(() => { const authError = urlParams.get(AUTH_ERROR_URL_PARAM); - if (authError === 'AuthorizedCallbackError') { + if (authError === 'AuthorizedCallbackError' || authError === 'CredentialsSignin') { setErrorSnackbarMessage('Access unauthorized.'); } else if (authError === 'CallbackRouteError') { setErrorSnackbarMessage( diff --git a/packages/toolpad-studio/src/server/auth.ts b/packages/toolpad-studio/src/server/auth.ts index 143b1b0a514..9067c75e244 100644 --- a/packages/toolpad-studio/src/server/auth.ts +++ b/packages/toolpad-studio/src/server/auth.ts @@ -279,9 +279,16 @@ export async function createRequireAuthMiddleware(project: ToolpadProject) { const isPageRequest = req.get('sec-fetch-dest') === 'document'; const signInPath = `${base}/signin`; + const editorPath = `${base}/editor`; + + const requestPath = req.originalUrl.split('?')[0]; let isAuthorized = true; - if ((!project.options.dev || isPageRequest) && req.originalUrl.split('?')[0] !== signInPath) { + if ( + (!project.options.dev || isPageRequest) && + !requestPath.startsWith(signInPath) && + !requestPath.startsWith(editorPath) + ) { const token = await getUserToken(req); if (!token) { isAuthorized = false; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3f65886ea63..c231fe993f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -142,8 +142,8 @@ importers: specifier: 24.0.0 version: 24.0.0 lerna: - specifier: 8.1.2 - version: 8.1.2 + specifier: 7.4.2 + version: 7.4.2 markdownlint-cli2: specifier: 0.12.1 version: 0.12.1 @@ -2401,6 +2401,10 @@ packages: /@floating-ui/utils@0.2.1: resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} + /@gar/promisify@1.1.3: + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + dev: true + /@googleapis/drive@8.6.0: resolution: {integrity: sha512-Af3/5i6h7gbjHnwFuO9zMTpYOy2yhhfZlNciUEjb14L3ZdT1WNIDM038viIAb9ovFzkrIDqLSfUbFCgh1pywkw==} engines: {node: '>=12.0.0'} @@ -2518,12 +2522,22 @@ packages: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - /@lerna/create@8.1.2(typescript@5.4.2): - resolution: {integrity: sha512-GzScCIkAW3tg3+Yn/MKCH9963bzG+zpjGz2NdfYDlYWI7p0f/SH46v1dqpPpYmZ2E/m3JK8HjTNNNL8eIm8/YQ==} - engines: {node: '>=18.0.0'} + /@lerna/child-process@7.4.2: + resolution: {integrity: sha512-je+kkrfcvPcwL5Tg8JRENRqlbzjdlZXyaR88UcnCdNW0AJ1jX9IfHRys1X7AwSroU2ug8ESNC+suoBw1vX833Q==} + engines: {node: '>=16.0.0'} dependencies: - '@npmcli/run-script': 7.0.2 - '@nx/devkit': 18.0.7(nx@17.2.6) + chalk: 4.1.2 + execa: 5.1.1 + strong-log-transformer: 2.1.0 + dev: true + + /@lerna/create@7.4.2(typescript@5.4.2): + resolution: {integrity: sha512-1wplFbQ52K8E/unnqB0Tq39Z4e+NEoNrpovEnl6GpsTUrC6WDp8+w0Le2uCBV0hXyemxChduCkLz4/y1H1wTeg==} + engines: {node: '>=16.0.0'} + dependencies: + '@lerna/child-process': 7.4.2 + '@npmcli/run-script': 6.0.2 + '@nx/devkit': 16.10.0(nx@16.10.0) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11 byte-size: 8.1.1 @@ -2560,12 +2574,12 @@ packages: npm-packlist: 5.1.1 npm-registry-fetch: 14.0.5 npmlog: 6.0.2 - nx: 17.2.6 + nx: 16.10.0 p-map: 4.0.0 p-map-series: 2.1.0 p-queue: 6.6.2 p-reduce: 2.1.0 - pacote: 17.0.6 + pacote: 15.2.0 pify: 5.0.0 read-cmd-shim: 4.0.0 read-package-json: 6.0.4 @@ -2584,8 +2598,8 @@ packages: validate-npm-package-name: 5.0.0 write-file-atomic: 5.0.1 write-pkg: 4.0.0 - yargs: 17.7.2 - yargs-parser: 21.1.1 + yargs: 16.2.0 + yargs-parser: 20.2.4 transitivePeerDependencies: - '@swc-node/register' - '@swc/core' @@ -3454,17 +3468,12 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - /@npmcli/agent@2.2.1: - resolution: {integrity: sha512-H4FrOVtNyWC8MUwL3UfjOsAihHvT1Pe8POj3JvjXhSTJipsZMtgUALCT4mGyYZNxymkUfOw3PUj6dE4QPp6osQ==} - engines: {node: ^16.14.0 || >=18.0.0} + /@npmcli/fs@2.1.2: + resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: - agent-base: 7.1.0 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 - lru-cache: 10.2.0 - socks-proxy-agent: 8.0.2 - transitivePeerDependencies: - - supports-color + '@gar/promisify': 1.1.3 + semver: 7.5.4 dev: true /@npmcli/fs@3.1.0: @@ -3474,18 +3483,18 @@ packages: semver: 7.5.4 dev: true - /@npmcli/git@5.0.4: - resolution: {integrity: sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==} - engines: {node: ^16.14.0 || >=18.0.0} + /@npmcli/git@4.1.0: + resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - '@npmcli/promise-spawn': 7.0.1 - lru-cache: 10.2.0 - npm-pick-manifest: 9.0.0 + '@npmcli/promise-spawn': 6.0.2 + lru-cache: 7.18.3 + npm-pick-manifest: 8.0.2 proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 semver: 7.5.4 - which: 4.0.0 + which: 3.0.1 transitivePeerDependencies: - bluebird dev: true @@ -3499,44 +3508,54 @@ packages: npm-normalize-package-bin: 3.0.1 dev: true + /@npmcli/move-file@2.0.1: + resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + deprecated: This functionality has been moved to @npmcli/fs + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + dev: true + /@npmcli/node-gyp@3.0.0: resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /@npmcli/promise-spawn@7.0.1: - resolution: {integrity: sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==} - engines: {node: ^16.14.0 || >=18.0.0} + /@npmcli/promise-spawn@6.0.2: + resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - which: 4.0.0 + which: 3.0.1 dev: true - /@npmcli/run-script@7.0.2: - resolution: {integrity: sha512-Omu0rpA8WXvcGeY6DDzyRoY1i5DkCBkzyJ+m2u7PD6quzb0TvSqdIPOkTn8ZBOj7LbbcbMfZ3c5skwSu6m8y2w==} - engines: {node: ^16.14.0 || >=18.0.0} + /@npmcli/run-script@6.0.2: + resolution: {integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/node-gyp': 3.0.0 - '@npmcli/promise-spawn': 7.0.1 - node-gyp: 10.0.1 + '@npmcli/promise-spawn': 6.0.2 + node-gyp: 9.4.1 read-package-json-fast: 3.0.2 - which: 4.0.0 + which: 3.0.1 transitivePeerDependencies: + - bluebird - supports-color dev: true - /@nrwl/devkit@18.0.7(nx@17.2.6): - resolution: {integrity: sha512-oUhwGI6JkrH9HHP+Uw8rV7uEV6o4uzrHASnhrRfs4CiaPLvSnO0fheomyIRdEuXWI3/ME9Q7Q5GvrGyqSjk+CA==} + /@nrwl/devkit@16.10.0(nx@16.10.0): + resolution: {integrity: sha512-fRloARtsDQoQgQ7HKEy0RJiusg/HSygnmg4gX/0n/Z+SUS+4KoZzvHjXc6T5ZdEiSjvLypJ+HBM8dQzIcVACPQ==} dependencies: - '@nx/devkit': 18.0.7(nx@17.2.6) + '@nx/devkit': 16.10.0(nx@16.10.0) transitivePeerDependencies: - nx dev: true - /@nrwl/tao@17.2.6: - resolution: {integrity: sha512-cgtUKTRSxDZ94S9IpC27/qYZJ1YttJDET+veKrtRYvwnHFgkq1peyeTTtnM25yJon7PRdm2lYrlIVdPm0vXupw==} + /@nrwl/tao@16.10.0: + resolution: {integrity: sha512-QNAanpINbr+Pod6e1xNgFbzK1x5wmZl+jMocgiEFXZ67KHvmbD6MAQQr0MMz+GPhIu7EE4QCTLTyCEMlAG+K5Q==} hasBin: true dependencies: - nx: 17.2.6 + nx: 16.10.0 tslib: 2.6.2 transitivePeerDependencies: - '@swc-node/register' @@ -3544,24 +3563,23 @@ packages: - debug dev: true - /@nx/devkit@18.0.7(nx@17.2.6): - resolution: {integrity: sha512-Xm+o4pbSNQ5YL0LJk4Gfbws0qIZhqa7H8I6z7rRQuxP9tqei7Q+cTaI4WJG7Y5l8lbgzScM4WeW2sGMvLFtITA==} + /@nx/devkit@16.10.0(nx@16.10.0): + resolution: {integrity: sha512-IvKQqRJFDDiaj33SPfGd3ckNHhHi6ceEoqCbAP4UuMXOPPVOX6H0KVk+9tknkPb48B7jWIw6/AgOeWkBxPRO5w==} peerDependencies: - nx: '>= 16 <= 18' + nx: '>= 15 <= 17' dependencies: - '@nrwl/devkit': 18.0.7(nx@17.2.6) + '@nrwl/devkit': 16.10.0(nx@16.10.0) ejs: 3.1.9 enquirer: 2.3.6 ignore: 5.3.1 - nx: 17.2.6 - semver: 7.5.4 + nx: 16.10.0 + semver: 7.5.3 tmp: 0.2.3 tslib: 2.6.2 - yargs-parser: 21.1.1 dev: true - /@nx/nx-darwin-arm64@17.2.6: - resolution: {integrity: sha512-ezU5u7hkEwI2xzsFSjyr53uNURBvga40LQlpEnS/CbqRifHHhTKisCy+r2+kRhiOwTeR+I+/2D3zPyIyN3aEHQ==} + /@nx/nx-darwin-arm64@16.10.0: + resolution: {integrity: sha512-YF+MIpeuwFkyvM5OwgY/rTNRpgVAI/YiR0yTYCZR+X3AAvP775IVlusNgQ3oedTBRUzyRnI4Tknj1WniENFsvQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -3569,8 +3587,8 @@ packages: dev: true optional: true - /@nx/nx-darwin-x64@17.2.6: - resolution: {integrity: sha512-wUIwbM/7LMxlFkEOlbxR/s2qaRuD69yXc70f2rtxsskwJ4GOF5kfc1jk2YaDs9qswI+FgQVgbeZu8pgF+slY7Q==} + /@nx/nx-darwin-x64@16.10.0: + resolution: {integrity: sha512-ypi6YxwXgb0kg2ixKXE3pwf5myVNUgWf1CsV5OzVccCM8NzheMO51KDXTDmEpXdzUsfT0AkO1sk5GZeCjhVONg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -3578,8 +3596,8 @@ packages: dev: true optional: true - /@nx/nx-freebsd-x64@17.2.6: - resolution: {integrity: sha512-uBKEGqG4txVCpBirRzt1QwuOLzfA0s9dlUP7n5t4qJuaf9OXuVcDXay8g84WT1jx4PPtipyv/wyIFu3r7v8kZw==} + /@nx/nx-freebsd-x64@16.10.0: + resolution: {integrity: sha512-UeEYFDmdbbDkTQamqvtU8ibgu5jQLgFF1ruNb/U4Ywvwutw2d4ruOMl2e0u9hiNja9NFFAnDbvzrDcMo7jYqYw==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] @@ -3587,8 +3605,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm-gnueabihf@17.2.6: - resolution: {integrity: sha512-dSDVz2BktaPHMkrJojFCx+V+QFLDF0KzoHorESzZmHZTfumr0xtJ1COWCU+gYmLptc+8OgwCzCPWXHhcDgji/A==} + /@nx/nx-linux-arm-gnueabihf@16.10.0: + resolution: {integrity: sha512-WV3XUC2DB6/+bz1sx+d1Ai9q2Cdr+kTZRN50SOkfmZUQyEBaF6DRYpx/a4ahhxH3ktpNfyY8Maa9OEYxGCBkQA==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -3596,8 +3614,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm64-gnu@17.2.6: - resolution: {integrity: sha512-AD99Kk47Yxn3IJ89aCT1oVpNX1XNECAYay97yhqf2tiBsDv9hC43PppOdjI0dNP5VRBTrr6EsWdhvE0uNJ3RJw==} + /@nx/nx-linux-arm64-gnu@16.10.0: + resolution: {integrity: sha512-aWIkOUw995V3ItfpAi5FuxQ+1e9EWLS1cjWM1jmeuo+5WtaKToJn5itgQOkvSlPz+HSLgM3VfXMvOFALNk125g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -3605,8 +3623,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm64-musl@17.2.6: - resolution: {integrity: sha512-MOX/EJyzseEnzbFxY7V6es/xta6WQ0cDDrl6i6qjCRnoRTFFVMsL0Fb4dtVbv7fd75O41P+OBGpG70MYx2SOxw==} + /@nx/nx-linux-arm64-musl@16.10.0: + resolution: {integrity: sha512-uO6Gg+irqpVcCKMcEPIQcTFZ+tDI02AZkqkP7koQAjniLEappd8DnUBSQdcn53T086pHpdc264X/ZEpXFfrKWQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -3614,8 +3632,8 @@ packages: dev: true optional: true - /@nx/nx-linux-x64-gnu@17.2.6: - resolution: {integrity: sha512-16xTSszGPY25INDUr4pzLXWcO3va1764iVFiHRTuJr5siDymY7zSj+DPKFmewzqF2358Y5m8AtMotY0FqKciYg==} + /@nx/nx-linux-x64-gnu@16.10.0: + resolution: {integrity: sha512-134PW/u/arNFAQKpqMJniC7irbChMPz+W+qtyKPAUXE0XFKPa7c1GtlI/wK2dvP9qJDZ6bKf0KtA0U/m2HMUOA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -3623,8 +3641,8 @@ packages: dev: true optional: true - /@nx/nx-linux-x64-musl@17.2.6: - resolution: {integrity: sha512-F/nIq8bcZd2cNuBiQbyJwur7CpeRBCt0qKDF38HQ2l3HhQv+jwk4T6115LMQqwZb9e6kt6BAFsY+6O7I6t3pCw==} + /@nx/nx-linux-x64-musl@16.10.0: + resolution: {integrity: sha512-q8sINYLdIJxK/iUx9vRk5jWAWb/2O0PAbOJFwv4qkxBv4rLoN7y+otgCZ5v0xfx/zztFgk/oNY4lg5xYjIso2Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -3632,8 +3650,8 @@ packages: dev: true optional: true - /@nx/nx-win32-arm64-msvc@17.2.6: - resolution: {integrity: sha512-1lAKKKiH7eduzqcPDB03iPz38yNXn3Y4Q/3jULjaRc3EFAplfBsYVwJ9kGjXPZSrpt/AY7w5ATY55/r5B3gQnA==} + /@nx/nx-win32-arm64-msvc@16.10.0: + resolution: {integrity: sha512-moJkL9kcqxUdJSRpG7dET3UeLIciwrfP08mzBQ12ewo8K8FzxU8ZUsTIVVdNrwt01CXOdXoweGfdQLjJ4qTURA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -3641,8 +3659,8 @@ packages: dev: true optional: true - /@nx/nx-win32-x64-msvc@17.2.6: - resolution: {integrity: sha512-LrJySMWrO5oWMrP4VOWM1hr3c4rtxHGCcRy19VwqvaAPDrnsg0qfPjv4q1C9YyIU8sj+T3oJs1yZdnNntlN8ew==} + /@nx/nx-win32-x64-msvc@16.10.0: + resolution: {integrity: sha512-5iV2NKZnzxJwZZ4DM5JVbRG/nkhAbzEskKaLBB82PmYGKzaDHuMHP1lcPoD/rtYMlowZgNA/RQndfKvPBPwmXA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -3782,6 +3800,15 @@ packages: resolution: {integrity: sha512-dhPeilub1NuIG0X5Kvhh9lH4iW3ZsHlnzwgwbOlgwQ2wG1IqFzsgHqmKPk3WzsdWAeaxKJxgM0+W433RmN45GA==} dev: false + /@parcel/watcher@2.0.4: + resolution: {integrity: sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==} + engines: {node: '>= 10.0.0'} + requiresBuild: true + dependencies: + node-addon-api: 3.2.1 + node-gyp-build: 4.8.0 + dev: true + /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -3973,28 +4000,11 @@ packages: '@sigstore/protobuf-specs': 0.2.1 dev: true - /@sigstore/bundle@2.2.0: - resolution: {integrity: sha512-5VI58qgNs76RDrwXNhpmyN/jKpq9evV/7f1XrcqcAfvxDl5SeVY/I5Rmfe96ULAV7/FK5dge9RBKGBJPhL1WsQ==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/protobuf-specs': 0.3.0 - dev: true - - /@sigstore/core@1.0.0: - resolution: {integrity: sha512-dW2qjbWLRKGu6MIDUTBuJwXCnR8zivcSpf5inUzk7y84zqy/dji0/uahppoIgMoKeR+6pUZucrwHfkQQtiG9Rw==} - engines: {node: ^16.14.0 || >=18.0.0} - dev: true - /@sigstore/protobuf-specs@0.2.1: resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /@sigstore/protobuf-specs@0.3.0: - resolution: {integrity: sha512-zxiQ66JFOjVvP9hbhGj/F/qNdsZfkGb/dVXSanNRNuAzMlr4MC95voPUBX8//ZNnmv3uSYzdfR/JSkrgvZTGxA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - /@sigstore/sign@1.0.0: resolution: {integrity: sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -4006,18 +4016,6 @@ packages: - supports-color dev: true - /@sigstore/sign@2.2.3: - resolution: {integrity: sha512-LqlA+ffyN02yC7RKszCdMTS6bldZnIodiox+IkT8B2f8oRYXCB3LQ9roXeiEL21m64CVH1wyveYAORfD65WoSw==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/bundle': 2.2.0 - '@sigstore/core': 1.0.0 - '@sigstore/protobuf-specs': 0.3.0 - make-fetch-happen: 13.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /@sigstore/tuf@1.0.3: resolution: {integrity: sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -4028,25 +4026,6 @@ packages: - supports-color dev: true - /@sigstore/tuf@2.3.1: - resolution: {integrity: sha512-9Iv40z652td/QbV0o5n/x25H9w6IYRt2pIGbTX55yFDYlApDQn/6YZomjz6+KBx69rXHLzHcbtTS586mDdFD+Q==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/protobuf-specs': 0.3.0 - tuf-js: 2.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@sigstore/verify@1.1.0: - resolution: {integrity: sha512-1fTqnqyTBWvV7cftUUFtDcHPdSox0N3Ub7C0lRyReYx4zZUlNTZjCV+HPy4Lre+r45dV7Qx5JLKvqqsgxuyYfg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/bundle': 2.2.0 - '@sigstore/core': 1.0.0 - '@sigstore/protobuf-specs': 0.3.0 - dev: true - /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -4233,11 +4212,6 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /@tufjs/canonical-json@2.0.0: - resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} - engines: {node: ^16.14.0 || >=18.0.0} - dev: true - /@tufjs/models@1.0.4: resolution: {integrity: sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -4246,14 +4220,6 @@ packages: minimatch: 9.0.3 dev: true - /@tufjs/models@2.0.0: - resolution: {integrity: sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@tufjs/canonical-json': 2.0.0 - minimatch: 9.0.3 - dev: true - /@types/archiver@6.0.2: resolution: {integrity: sha512-KmROQqbQzKGuaAbmK+ZcytkJ51+YqDa7NmbXjmtC5YBLSyQYo21YaUnQ3HbaPFKL1ooo6RQ6OPYPIDyxfpDDXw==} dependencies: @@ -5160,9 +5126,8 @@ packages: through: 2.3.8 dev: true - /abbrev@2.0.0: - resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true /abort-controller@3.0.0: @@ -6108,34 +6073,42 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - /cacache@17.1.4: - resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /cacache@16.1.3: + resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: - '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.3 - glob: 10.3.10 + '@npmcli/fs': 2.1.2 + '@npmcli/move-file': 2.0.1 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 8.1.0 + infer-owner: 1.0.4 lru-cache: 7.18.3 - minipass: 7.0.4 + minipass: 3.3.6 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 p-map: 4.0.0 - ssri: 10.0.5 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 9.0.1 tar: 6.2.0 - unique-filename: 3.0.0 + unique-filename: 2.0.1 + transitivePeerDependencies: + - bluebird dev: true - /cacache@18.0.2: - resolution: {integrity: sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==} - engines: {node: ^16.14.0 || >=18.0.0} + /cacache@17.1.4: + resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.3 glob: 10.3.10 - lru-cache: 10.2.0 + lru-cache: 7.18.3 minipass: 7.0.4 - minipass-collect: 2.0.1 + minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 p-map: 4.0.0 @@ -9070,13 +9043,6 @@ packages: lru-cache: 7.18.3 dev: true - /hosted-git-info@7.0.1: - resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - lru-cache: 10.2.0 - dev: true - /html-encoding-sniffer@4.0.0: resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} engines: {node: '>=18'} @@ -9287,6 +9253,10 @@ packages: engines: {node: '>=12'} dev: true + /infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + dev: true + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: @@ -9676,11 +9646,6 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - /isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} - dev: true - /isobject@3.0.1: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} @@ -10074,14 +10039,15 @@ packages: readable-stream: 2.3.8 dev: false - /lerna@8.1.2: - resolution: {integrity: sha512-RCyBAn3XsqqvHbz3TxLfD7ylqzCi1A2UJnFEZmhURgx589vM3qYWQa/uOMeEEf565q6cAdtmulITciX1wgkAtw==} - engines: {node: '>=18.0.0'} + /lerna@7.4.2: + resolution: {integrity: sha512-gxavfzHfJ4JL30OvMunmlm4Anw7d7Tq6tdVHzUukLdS9nWnxCN/QB21qR+VJYp5tcyXogHKbdUEGh6qmeyzxSA==} + engines: {node: '>=16.0.0'} hasBin: true dependencies: - '@lerna/create': 8.1.2(typescript@5.4.2) - '@npmcli/run-script': 7.0.2 - '@nx/devkit': 18.0.7(nx@17.2.6) + '@lerna/child-process': 7.4.2 + '@lerna/create': 7.4.2(typescript@5.4.2) + '@npmcli/run-script': 6.0.2 + '@nx/devkit': 16.10.0(nx@16.10.0) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11 byte-size: 8.1.1 @@ -10124,14 +10090,14 @@ packages: npm-packlist: 5.1.1 npm-registry-fetch: 14.0.5 npmlog: 6.0.2 - nx: 17.2.6 + nx: 16.10.0 p-map: 4.0.0 p-map-series: 2.1.0 p-pipe: 3.1.0 p-queue: 6.6.2 p-reduce: 2.1.0 p-waterfall: 2.1.1 - pacote: 17.0.6 + pacote: 15.2.0 pify: 5.0.0 read-cmd-shim: 4.0.0 read-package-json: 6.0.4 @@ -10151,8 +10117,8 @@ packages: validate-npm-package-name: 5.0.0 write-file-atomic: 5.0.1 write-pkg: 4.0.0 - yargs: 17.7.2 - yargs-parser: 21.1.1 + yargs: 16.2.0 + yargs-parser: 20.2.4 transitivePeerDependencies: - '@swc-node/register' - '@swc/core' @@ -10511,43 +10477,49 @@ packages: semver: 7.5.4 dev: true - /make-fetch-happen@11.1.1: - resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /make-fetch-happen@10.2.1: + resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: agentkeepalive: 4.5.0 - cacache: 17.1.4 + cacache: 16.1.3 http-cache-semantics: 4.1.1 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 7.18.3 - minipass: 5.0.0 - minipass-fetch: 3.0.4 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 2.1.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 negotiator: 0.6.3 promise-retry: 2.0.1 socks-proxy-agent: 7.0.0 - ssri: 10.0.5 + ssri: 9.0.1 transitivePeerDependencies: + - bluebird - supports-color dev: true - /make-fetch-happen@13.0.0: - resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} - engines: {node: ^16.14.0 || >=18.0.0} + /make-fetch-happen@11.1.1: + resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - '@npmcli/agent': 2.2.1 - cacache: 18.0.2 + agentkeepalive: 4.5.0 + cacache: 17.1.4 http-cache-semantics: 4.1.1 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 is-lambda: 1.0.1 - minipass: 7.0.4 + lru-cache: 7.18.3 + minipass: 5.0.0 minipass-fetch: 3.0.4 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 negotiator: 0.6.3 promise-retry: 2.0.1 + socks-proxy-agent: 7.0.0 ssri: 10.0.5 transitivePeerDependencies: - supports-color @@ -10801,11 +10773,15 @@ packages: minipass: 3.3.6 dev: true - /minipass-collect@2.0.1: - resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} - engines: {node: '>=16 || 14 >=14.17'} + /minipass-fetch@2.1.2: + resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: - minipass: 7.0.4 + minipass: 3.3.6 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 dev: true /minipass-fetch@3.0.4: @@ -11072,8 +11048,6 @@ packages: /node-addon-api@3.2.1: resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} requiresBuild: true - dev: false - optional: true /node-addon-api@6.1.0: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} @@ -11118,25 +11092,25 @@ packages: resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} hasBin: true requiresBuild: true - dev: false - optional: true - /node-gyp@10.0.1: - resolution: {integrity: sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==} - engines: {node: ^16.14.0 || >=18.0.0} + /node-gyp@9.4.1: + resolution: {integrity: sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==} + engines: {node: ^12.13 || ^14.13 || >=16} hasBin: true dependencies: env-paths: 2.2.1 exponential-backoff: 3.1.1 - glob: 10.3.10 + glob: 7.2.3 graceful-fs: 4.2.11 - make-fetch-happen: 13.0.0 - nopt: 7.2.0 - proc-log: 3.0.0 + make-fetch-happen: 10.2.1 + nopt: 6.0.0 + npmlog: 6.0.2 + rimraf: 3.0.2 semver: 7.5.4 tar: 6.2.0 - which: 4.0.0 + which: 2.0.2 transitivePeerDependencies: + - bluebird - supports-color dev: true @@ -11180,12 +11154,12 @@ packages: vm-browserify: 1.1.2 dev: true - /nopt@7.2.0: - resolution: {integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /nopt@6.0.0: + resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} hasBin: true dependencies: - abbrev: 2.0.0 + abbrev: 1.1.1 dev: true /normalize-package-data@2.5.0: @@ -11217,16 +11191,6 @@ packages: validate-npm-package-license: 3.0.4 dev: true - /normalize-package-data@6.0.0: - resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - hosted-git-info: 7.0.1 - is-core-module: 2.13.1 - semver: 7.5.4 - validate-npm-package-license: 3.0.4 - dev: true - /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -11276,16 +11240,6 @@ packages: validate-npm-package-name: 5.0.0 dev: true - /npm-package-arg@11.0.1: - resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - hosted-git-info: 7.0.1 - proc-log: 3.0.0 - semver: 7.5.4 - validate-npm-package-name: 5.0.0 - dev: true - /npm-package-arg@8.1.1: resolution: {integrity: sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==} engines: {node: '>=10'} @@ -11306,20 +11260,20 @@ packages: npm-normalize-package-bin: 1.0.1 dev: true - /npm-packlist@8.0.2: - resolution: {integrity: sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==} + /npm-packlist@7.0.4: + resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: ignore-walk: 6.0.4 dev: true - /npm-pick-manifest@9.0.0: - resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} - engines: {node: ^16.14.0 || >=18.0.0} + /npm-pick-manifest@8.0.2: + resolution: {integrity: sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 - npm-package-arg: 11.0.1 + npm-package-arg: 10.1.0 semver: 7.5.4 dev: true @@ -11338,21 +11292,6 @@ packages: - supports-color dev: true - /npm-registry-fetch@16.1.0: - resolution: {integrity: sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - make-fetch-happen: 13.0.0 - minipass: 7.0.4 - minipass-fetch: 3.0.4 - minipass-json-stream: 1.0.1 - minizlib: 2.1.2 - npm-package-arg: 11.0.1 - proc-log: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /npm-run-path@2.0.2: resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} engines: {node: '>=4'} @@ -11389,8 +11328,8 @@ packages: /nwsapi@2.2.7: resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} - /nx@17.2.6: - resolution: {integrity: sha512-lBHp0e0AMBwYwpT44a8b0j29szspmYUhY1okqNctz/3ifuonNFG9WGfbzRO4YKOrVkfNsuaomHVAE6gtqo55ng==} + /nx@16.10.0: + resolution: {integrity: sha512-gZl4iCC0Hx0Qe1VWmO4Bkeul2nttuXdPpfnlcDKSACGu3ZIo+uySqwOF8yBAxSTIf8xe2JRhgzJN1aFkuezEBg==} hasBin: true requiresBuild: true peerDependencies: @@ -11402,7 +11341,8 @@ packages: '@swc/core': optional: true dependencies: - '@nrwl/tao': 17.2.6 + '@nrwl/tao': 16.10.0 + '@parcel/watcher': 2.0.4 '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.6 @@ -11434,19 +11374,20 @@ packages: tmp: 0.2.3 tsconfig-paths: 4.2.0 tslib: 2.6.2 + v8-compile-cache: 2.3.0 yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 17.2.6 - '@nx/nx-darwin-x64': 17.2.6 - '@nx/nx-freebsd-x64': 17.2.6 - '@nx/nx-linux-arm-gnueabihf': 17.2.6 - '@nx/nx-linux-arm64-gnu': 17.2.6 - '@nx/nx-linux-arm64-musl': 17.2.6 - '@nx/nx-linux-x64-gnu': 17.2.6 - '@nx/nx-linux-x64-musl': 17.2.6 - '@nx/nx-win32-arm64-msvc': 17.2.6 - '@nx/nx-win32-x64-msvc': 17.2.6 + '@nx/nx-darwin-arm64': 16.10.0 + '@nx/nx-darwin-x64': 16.10.0 + '@nx/nx-freebsd-x64': 16.10.0 + '@nx/nx-linux-arm-gnueabihf': 16.10.0 + '@nx/nx-linux-arm64-gnu': 16.10.0 + '@nx/nx-linux-arm64-musl': 16.10.0 + '@nx/nx-linux-x64-gnu': 16.10.0 + '@nx/nx-linux-x64-musl': 16.10.0 + '@nx/nx-win32-arm64-msvc': 16.10.0 + '@nx/nx-win32-x64-msvc': 16.10.0 transitivePeerDependencies: - debug dev: true @@ -11812,27 +11753,27 @@ packages: resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} dev: false - /pacote@17.0.6: - resolution: {integrity: sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==} - engines: {node: ^16.14.0 || >=18.0.0} + /pacote@15.2.0: + resolution: {integrity: sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: - '@npmcli/git': 5.0.4 + '@npmcli/git': 4.1.0 '@npmcli/installed-package-contents': 2.0.2 - '@npmcli/promise-spawn': 7.0.1 - '@npmcli/run-script': 7.0.2 - cacache: 18.0.2 + '@npmcli/promise-spawn': 6.0.2 + '@npmcli/run-script': 6.0.2 + cacache: 17.1.4 fs-minipass: 3.0.3 - minipass: 7.0.4 - npm-package-arg: 11.0.1 - npm-packlist: 8.0.2 - npm-pick-manifest: 9.0.0 - npm-registry-fetch: 16.1.0 + minipass: 5.0.0 + npm-package-arg: 10.1.0 + npm-packlist: 7.0.4 + npm-pick-manifest: 8.0.2 + npm-registry-fetch: 14.0.5 proc-log: 3.0.0 promise-retry: 2.0.1 - read-package-json: 7.0.0 + read-package-json: 6.0.4 read-package-json-fast: 3.0.2 - sigstore: 2.2.2 + sigstore: 1.9.0 ssri: 10.0.5 tar: 6.2.0 transitivePeerDependencies: @@ -12823,16 +12764,6 @@ packages: npm-normalize-package-bin: 3.0.1 dev: true - /read-package-json@7.0.0: - resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - glob: 10.3.10 - json-parse-even-better-errors: 3.0.1 - normalize-package-data: 6.0.0 - npm-normalize-package-bin: 3.0.1 - dev: true - /read-pkg-up@3.0.0: resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} engines: {node: '>=4'} @@ -13480,20 +13411,6 @@ packages: - supports-color dev: true - /sigstore@2.2.2: - resolution: {integrity: sha512-2A3WvXkQurhuMgORgT60r6pOWiCOO5LlEqY2ADxGBDGVYLSo5HN0uLtb68YpVpuL/Vi8mLTe7+0Dx2Fq8lLqEg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@sigstore/bundle': 2.2.0 - '@sigstore/core': 1.0.0 - '@sigstore/protobuf-specs': 0.3.0 - '@sigstore/sign': 2.2.3 - '@sigstore/tuf': 2.3.1 - '@sigstore/verify': 1.1.0 - transitivePeerDependencies: - - supports-color - dev: true - /simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} dev: true @@ -13555,17 +13472,6 @@ packages: - supports-color dev: true - /socks-proxy-agent@8.0.2: - resolution: {integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - socks: 2.8.1 - transitivePeerDependencies: - - supports-color - dev: true - /socks@2.8.1: resolution: {integrity: sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} @@ -14426,17 +14332,6 @@ packages: - supports-color dev: true - /tuf-js@2.2.0: - resolution: {integrity: sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - '@tufjs/models': 2.0.0 - debug: 4.3.4 - make-fetch-happen: 13.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: @@ -14601,6 +14496,13 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} + /unique-filename@2.0.1: + resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + unique-slug: 3.0.0 + dev: true + /unique-filename@3.0.0: resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -14608,6 +14510,13 @@ packages: unique-slug: 4.0.0 dev: true + /unique-slug@3.0.0: + resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + imurmurhash: 0.1.4 + dev: true + /unique-slug@4.0.0: resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -14709,6 +14618,10 @@ packages: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true + /v8-compile-cache@2.3.0: + resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} + dev: true + /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -15267,12 +15180,12 @@ packages: dependencies: isexe: 2.0.0 - /which@4.0.0: - resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} - engines: {node: ^16.13.0 || >=18.0.0} + /which@3.0.1: + resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: - isexe: 3.1.1 + isexe: 2.0.0 dev: true /why-is-node-running@2.2.2: @@ -15430,6 +15343,11 @@ packages: resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} engines: {node: '>= 14'} + /yargs-parser@20.2.4: + resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} + engines: {node: '>=10'} + dev: true + /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} diff --git a/test/integration/auth/domain.spec.ts b/test/integration/auth/domain.spec.ts index 1de9c69d3d4..3a6a77b0a2c 100644 --- a/test/integration/auth/domain.spec.ts +++ b/test/integration/auth/domain.spec.ts @@ -29,33 +29,41 @@ test.use({ test('Must be authenticated with valid domain to access app', async ({ page, request }) => { // Is redirected when unauthenticated await page.goto('/prod/pages/mypage'); - await expect(page).toHaveURL(/\/prod\/signin/); + await page.waitForURL(/\/prod\/signin/); // Access is blocked to API route const res = await request.post('/prod/api/data/page/hello'); expect(res.status()).toBe(401); + // Sign in with non-existing user + await tryCredentialsSignIn(page, 'nobody', 'nobody'); + await page.waitForURL(/\/prod\/signin/); + await expect(page.getByText('Access unauthorized.')).toBeVisible(); + // Sign in with invalid domain await tryCredentialsSignIn(page, 'test', 'test'); - await expect(page).toHaveURL(/\/prod\/signin/); + await page.waitForURL(/\/prod\/signin/); await expect(page.getByText('Access unauthorized.')).toBeVisible(); // Sign in with valid domain await tryCredentialsSignIn(page, 'mui', 'mui'); - await expect(page).toHaveURL(/\/prod\/pages\/mypage/); + await page.waitForURL(/\/prod\/pages\/mypage/); await expect(page.getByText('my email: test@mui.com')).toBeVisible(); // Is not redirected when authenticated await page.goto('/prod/pages/mypage'); - await expect(page).toHaveURL(/\/prod\/pages\/mypage/); + await page.waitForURL(/\/prod\/pages\/mypage/); // Sign out await page.getByText('Mr. MUI 2024').click(); await page.getByText('Sign out').click(); - await expect(page).toHaveURL(/\/prod\/signin/); + await page.waitForURL(/\/prod\/signin/); + + // Wait for page content to render so that next CSRF request does not collide with ongoing auth requests + await expect(page.getByRole('button', { name: 'Sign in' })).toBeVisible(); // Is redirected when unauthenticated await page.goto('/prod/pages/mypage'); - await expect(page).toHaveURL(/\/prod\/signin/); + await page.waitForURL(/\/prod\/signin/); }); diff --git a/test/integration/auth/fixture-domain/toolpad/application.yml b/test/integration/auth/fixture-domain/toolpad/application.yml index 0a6f88374e7..4874c33693f 100644 --- a/test/integration/auth/fixture-domain/toolpad/application.yml +++ b/test/integration/auth/fixture-domain/toolpad/application.yml @@ -5,3 +5,4 @@ spec: providers: [{ provider: credentials }] restrictedDomains: - mui.com + authorization: {} diff --git a/test/integration/auth/fixture-domain/toolpad/pages/mypage/page.yml b/test/integration/auth/fixture-domain/toolpad/pages/mypage/page.yml index d58fd663f57..59d8a47aa4a 100644 --- a/test/integration/auth/fixture-domain/toolpad/pages/mypage/page.yml +++ b/test/integration/auth/fixture-domain/toolpad/pages/mypage/page.yml @@ -1,20 +1,21 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/mui/mui-toolpad/v0.1.52/docs/schemas/v1/definitions.json#properties/Page + apiVersion: v1 kind: page spec: - id: 5q1xd0t title: Page content: - - component: PageRow - name: pageRow - children: - - component: Text - name: typography - props: - value: - $$jsExpression: | - `my email: ${getMySession.data.user.email}` + - component: Text + name: typography + layout: + columnSize: 1 + props: + value: + $$jsExpression: "`my email: ${getMySession.data?.user.email ?? ''}`" queries: - name: getMySession query: function: getMySession kind: local + alias: + - 5q1xd0t