From d3f6c8af4df668f80827310416aac4f25ab6e05b Mon Sep 17 00:00:00 2001 From: MapleLeaf <19603573+itsMapleLeaf@users.noreply.github.com> Date: Mon, 10 Jan 2022 23:03:29 -0600 Subject: [PATCH] write test script for cypress to properly kill the process --- packages/docs/package.json | 4 +++- packages/docs/scripts/package.json | 3 +++ packages/docs/scripts/test.ts | 9 +++++++++ pnpm-lock.yaml | 25 +++++++++++++++++-------- 4 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 packages/docs/scripts/package.json create mode 100644 packages/docs/scripts/test.ts diff --git a/packages/docs/package.json b/packages/docs/package.json index 9858f9f..0ad7dd4 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -4,7 +4,7 @@ "scripts": { "prepare": "remix setup node", "dev": "concurrently 'typedoc --watch' 'remix dev'", - "test": "pnpm build && pnpm start & wait-on http-get://localhost:3000 && cypress run && exit 0", + "test": "esmo ./scripts/test.ts", "test-dev": "pnpm dev & wait-on http-get://localhost:3000 && cypress open", "build": "typedoc && remix build", "start": "remix-serve build", @@ -37,6 +37,8 @@ "@types/tailwindcss": "^3.0.2", "concurrently": "^7.0.0", "cypress": "^9.2.1", + "esno": "^0.13.0", + "execa": "^6.0.0", "rehype-prism-plus": "^1.3.0", "typedoc": "^0.22.10", "typescript": "^4.5.4", diff --git a/packages/docs/scripts/package.json b/packages/docs/scripts/package.json new file mode 100644 index 0000000..3dbc1ca --- /dev/null +++ b/packages/docs/scripts/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/packages/docs/scripts/test.ts b/packages/docs/scripts/test.ts new file mode 100644 index 0000000..d5a715d --- /dev/null +++ b/packages/docs/scripts/test.ts @@ -0,0 +1,9 @@ +import cypress from "cypress" +import { execa } from "execa" +import waitOn from "wait-on" + +await execa("pnpm", ["build"], { stdio: "inherit" }) +const app = execa("pnpm", ["start"], { stdio: "inherit" }) +await waitOn({ resources: ["http-get://localhost:3000"] }) +await cypress.run() +app.kill() diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a4adfeb..cdfac66 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,6 +53,8 @@ importers: clsx: ^1.1.1 concurrently: ^7.0.0 cypress: ^9.2.1 + esno: ^0.13.0 + execa: ^6.0.0 fast-glob: ^3.2.10 gray-matter: ^4.0.3 postcss: ^8.4.5 @@ -92,6 +94,8 @@ importers: '@types/tailwindcss': 3.0.2 concurrently: 7.0.0 cypress: 9.2.1 + esno: 0.13.0_typescript@4.5.4 + execa: 6.0.0 rehype-prism-plus: 1.3.0 typedoc: 0.22.10_typescript@4.5.4 typescript: 4.5.4 @@ -3522,6 +3526,19 @@ packages: - typescript dev: true + /esno/0.13.0_typescript@4.5.4: + resolution: {integrity: sha512-rgVOc/t+4QgAHTsQiFKX2olzJLIcBOYGYUb/moEDLXcz0pIf8NxwuFu5nOAMmOsNiFfhSrfgcLgVCOtmBIBeuQ==} + hasBin: true + dependencies: + cross-spawn: 7.0.3 + esbuild: 0.14.11 + esbuild-node-loader: 0.6.3_typescript@4.5.4 + esbuild-register: 3.3.1_esbuild@0.14.11 + import-meta-resolve: 1.1.1 + transitivePeerDependencies: + - typescript + dev: true + /espree/9.3.0: resolution: {integrity: sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3682,7 +3699,6 @@ packages: onetime: 6.0.0 signal-exit: 3.0.6 strip-final-newline: 3.0.0 - dev: false /executable/4.1.1: resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} @@ -4491,7 +4507,6 @@ packages: /human-signals/3.0.1: resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} engines: {node: '>=12.20.0'} - dev: false /iconv-lite/0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} @@ -4911,7 +4926,6 @@ packages: /is-stream/3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false /is-string/1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} @@ -5928,7 +5942,6 @@ packages: /mimic-fn/4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - dev: false /mimic-response/1.0.1: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} @@ -6194,7 +6207,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 - dev: false /object-assign/4.1.1: resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} @@ -6303,7 +6315,6 @@ packages: engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 - dev: false /open/7.4.2: resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} @@ -6591,7 +6602,6 @@ packages: /path-key/4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} - dev: false /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -7763,7 +7773,6 @@ packages: /strip-final-newline/3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - dev: false /strip-indent/3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}